Home | History | Annotate | Download | only in ui
      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