blob: c683ea1409e728f0cf8536c214ef1476c3466ef1 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_COMMERCE_BROWSER_UTILS_H_
#define CHROME_BROWSER_COMMERCE_BROWSER_UTILS_H_
#include <vector>
class Profile;
class GURL;
namespace content {
class WebContents;
} // namespace content
namespace commerce {
// Minimum number of tabs required for product specifications experience menu.
extern const int kProductSpecificationsMinTabsCount;
// Extracts the list of URLs that can be used for ProductSpecs experience from
// |web_contents|
const std::vector<GURL> GetListOfProductSpecsEligibleUrls(
const std::vector<content::WebContents*>& web_contents_list);
// Returns true if |web_contents_list| has enough eligible URLs for
// ProductSpecs.
bool IsWebContentsListEligibleForProductSpecs(
const std::vector<content::WebContents*>& web_contents_list);
// Returns true if |url| is eligible to be added to a comparison table.
bool IsUrlEligibleForProductSpecs(const GURL& url);
// Returns true the multi-selection context menu should be enabled for |profile|
// and |web_contents|
bool IsProductSpecsMultiSelectMenuEnabled(Profile* profile,
content::WebContents* web_contents);
} // namespace commerce
#endif // CHROME_BROWSER_COMMERCE_BROWSER_UTILS_H_