15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_CHROME_PAGES_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_UI_CHROME_PAGES_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string> 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "chrome/browser/signin/signin_promo.h" 111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#include "chrome/browser/ui/host_desktop.h" 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "components/content_settings/core/common/content_settings_types.h" 13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "url/gurl.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Browser; 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class WebContents; 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Sources of requests to show the help tab. 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum HelpSource { 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Keyboard accelerators. 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HELP_SOURCE_KEYBOARD, 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Menus (e.g. wrench menu or Chrome OS system menu). 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HELP_SOURCE_MENU, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // WebUI (the "About" page). 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HELP_SOURCE_WEBUI, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowBookmarkManager(Browser* browser); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowBookmarkManagerForNode(Browser* browser, int64 node_id); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowHistory(Browser* browser); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowDownloads(Browser* browser); 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void ShowExtensions(Browser* browser, 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& extension_to_highlight); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowConflicts(Browser* browser); 431e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 441e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// ShowFeedbackPage() uses |browser| to determine the URL of the current tab. 451e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// |browser| should be NULL if there are no currently open browser windows. 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowFeedbackPage(Browser* browser, 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& description_template, 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& category_tag); 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowHelp(Browser* browser, HelpSource source); 511e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)void ShowHelpForProfile(Profile* profile, 521e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) HostDesktopType host_desktop_type, 531e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) HelpSource source); 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void ShowPolicy(Browser* browser); 55ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochvoid ShowSlow(Browser* browser); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 57effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Constructs a settings GURL for the specified |sub_page|. 58effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochGURL GetSettingsUrl(const std::string& sub_page); 59effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 600529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Returns true if |browser| is a trusted popup window containing a page with 610529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// matching |scheme| (or any trusted popup if |scheme| is empty). 620529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochbool IsTrustedPopupWindowWithScheme(const Browser* browser, 630529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch const std::string& scheme); 640529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Various things that open in a settings UI. 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowSettings(Browser* browser); 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowSettingsSubPage(Browser* browser, const std::string& sub_page); 68effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochvoid ShowSettingsSubPageForProfile(Profile* profile, 69effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch const std::string& sub_page); 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowContentSettings(Browser* browser, 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ContentSettingsType content_settings_type); 72effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochvoid ShowSettingsSubPageInTabbedBrowser(Browser* browser, 73effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch const std::string& sub_page); 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowClearBrowsingDataDialog(Browser* browser); 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowPasswordManager(Browser* browser); 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowImportDialog(Browser* browser); 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowAboutChrome(Browser* browser); 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ShowSearchEngineSettings(Browser* browser); 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// If the user is already signed in, shows the "Signin" portion of Settings, 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// otherwise initiates signin. 81a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)void ShowBrowserSignin(Browser* browser, signin::Source source); 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // CHROME_BROWSER_UI_CHROME_PAGES_H_ 86