| // 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_ |