1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_CHROME_PAGES_H_ 6 #define CHROME_BROWSER_UI_CHROME_PAGES_H_ 7 8 #include <string> 9 10 #include "chrome/browser/signin/signin_promo.h" 11 #include "chrome/browser/ui/host_desktop.h" 12 #include "components/content_settings/core/common/content_settings_types.h" 13 #include "url/gurl.h" 14 15 class Browser; 16 17 namespace content { 18 class WebContents; 19 } 20 21 namespace chrome { 22 23 // Sources of requests to show the help tab. 24 enum HelpSource { 25 // Keyboard accelerators. 26 HELP_SOURCE_KEYBOARD, 27 28 // Menus (e.g. wrench menu or Chrome OS system menu). 29 HELP_SOURCE_MENU, 30 31 // WebUI (the "About" page). 32 HELP_SOURCE_WEBUI, 33 }; 34 35 36 void ShowBookmarkManager(Browser* browser); 37 void ShowBookmarkManagerForNode(Browser* browser, int64 node_id); 38 void ShowHistory(Browser* browser); 39 void ShowDownloads(Browser* browser); 40 void ShowExtensions(Browser* browser, 41 const std::string& extension_to_highlight); 42 void ShowConflicts(Browser* browser); 43 44 // ShowFeedbackPage() uses |browser| to determine the URL of the current tab. 45 // |browser| should be NULL if there are no currently open browser windows. 46 void ShowFeedbackPage(Browser* browser, 47 const std::string& description_template, 48 const std::string& category_tag); 49 50 void ShowHelp(Browser* browser, HelpSource source); 51 void ShowHelpForProfile(Profile* profile, 52 HostDesktopType host_desktop_type, 53 HelpSource source); 54 void ShowPolicy(Browser* browser); 55 void ShowSlow(Browser* browser); 56 57 // Constructs a settings GURL for the specified |sub_page|. 58 GURL GetSettingsUrl(const std::string& sub_page); 59 60 // Returns true if |browser| is a trusted popup window containing a page with 61 // matching |scheme| (or any trusted popup if |scheme| is empty). 62 bool IsTrustedPopupWindowWithScheme(const Browser* browser, 63 const std::string& scheme); 64 65 // Various things that open in a settings UI. 66 void ShowSettings(Browser* browser); 67 void ShowSettingsSubPage(Browser* browser, const std::string& sub_page); 68 void ShowSettingsSubPageForProfile(Profile* profile, 69 const std::string& sub_page); 70 void ShowContentSettings(Browser* browser, 71 ContentSettingsType content_settings_type); 72 void ShowSettingsSubPageInTabbedBrowser(Browser* browser, 73 const std::string& sub_page); 74 void ShowClearBrowsingDataDialog(Browser* browser); 75 void ShowPasswordManager(Browser* browser); 76 void ShowImportDialog(Browser* browser); 77 void ShowAboutChrome(Browser* browser); 78 void ShowSearchEngineSettings(Browser* browser); 79 // If the user is already signed in, shows the "Signin" portion of Settings, 80 // otherwise initiates signin. 81 void ShowBrowserSignin(Browser* browser, signin::Source source); 82 83 } // namespace chrome 84 85 #endif // CHROME_BROWSER_UI_CHROME_PAGES_H_ 86