#include "base/threading/thread.h"
#include "base/time/time.h"
#include "base/values.h"
-#include "chrome/browser/autocomplete/autocomplete_match.h"
-#include "chrome/browser/autocomplete/autocomplete_result.h"
#include "chrome/browser/browser_about_handler.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/webui/metrics_handler.h"
#include "chrome/browser/ui/webui/options/autofill_options_handler.h"
+#include "chrome/browser/ui/webui/options/automatic_settings_reset_handler.h"
#include "chrome/browser/ui/webui/options/browser_options_handler.h"
#include "chrome/browser/ui/webui/options/clear_browser_data_handler.h"
#include "chrome/browser/ui/webui/options/content_settings_handler.h"
#include "chrome/browser/ui/webui/options/cookies_view_handler.h"
#include "chrome/browser/ui/webui/options/core_options_handler.h"
#include "chrome/browser/ui/webui/options/create_profile_handler.h"
+#include "chrome/browser/ui/webui/options/easy_unlock_handler.h"
#include "chrome/browser/ui/webui/options/font_settings_handler.h"
#include "chrome/browser/ui/webui/options/handler_options_handler.h"
#include "chrome/browser/ui/webui/options/home_page_overlay_handler.h"
#include "chrome/browser/ui/webui/options/language_dictionary_overlay_handler.h"
#include "chrome/browser/ui/webui/options/language_options_handler.h"
#include "chrome/browser/ui/webui/options/manage_profile_handler.h"
-#include "chrome/browser/ui/webui/options/managed_user_create_confirm_handler.h"
-#include "chrome/browser/ui/webui/options/managed_user_import_handler.h"
-#include "chrome/browser/ui/webui/options/managed_user_learn_more_handler.h"
#include "chrome/browser/ui/webui/options/media_devices_selection_handler.h"
-#include "chrome/browser/ui/webui/options/media_galleries_handler.h"
#include "chrome/browser/ui/webui/options/password_manager_handler.h"
#include "chrome/browser/ui/webui/options/reset_profile_settings_handler.h"
#include "chrome/browser/ui/webui/options/search_engine_manager_handler.h"
#include "chrome/browser/ui/webui/options/startup_pages_handler.h"
+#include "chrome/browser/ui/webui/options/supervised_user_create_confirm_handler.h"
+#include "chrome/browser/ui/webui/options/supervised_user_import_handler.h"
+#include "chrome/browser/ui/webui/options/supervised_user_learn_more_handler.h"
+#include "chrome/browser/ui/webui/options/website_settings_handler.h"
#include "chrome/browser/ui/webui/sync_setup_handler.h"
#include "chrome/browser/ui/webui/theme_source.h"
#include "chrome/common/url_constants.h"
+#include "components/omnibox/autocomplete_match.h"
+#include "components/omnibox/autocomplete_result.h"
#include "content/public/browser/notification_types.h"
-#include "content/public/browser/render_view_host.h"
+#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/url_data_source.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_delegate.h"
#include "url/gurl.h"
#if defined(OS_CHROMEOS)
+#include "chrome/browser/browser_process_platform_part.h"
+#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
+#include "chrome/browser/chromeos/policy/consumer_management_service.h"
#include "chrome/browser/chromeos/system/pointer_device_observer.h"
#include "chrome/browser/ui/webui/options/chromeos/accounts_options_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/bluetooth_options_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.h"
+#include "chrome/browser/ui/webui/options/chromeos/consumer_management_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/core_chromeos_options_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/cros_language_options_handler.h"
+#include "chrome/browser/ui/webui/options/chromeos/date_time_options_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/display_options_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/display_overscan_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/internet_options_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/proxy_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/stats_options_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/user_image_source.h"
+#include "chrome/browser/ui/webui/options/help_overlay_handler.h"
#endif
#if defined(USE_NSS)
class OptionsUIHTMLSource : public content::URLDataSource {
public:
// The constructor takes over ownership of |localized_strings|.
- explicit OptionsUIHTMLSource(DictionaryValue* localized_strings);
+ explicit OptionsUIHTMLSource(base::DictionaryValue* localized_strings);
// content::URLDataSource implementation.
virtual std::string GetSource() const OVERRIDE;
virtual void StartDataRequest(
const std::string& path,
int render_process_id,
- int render_view_id,
+ int render_frame_id,
const content::URLDataSource::GotDataCallback& callback) OVERRIDE;
virtual std::string GetMimeType(const std::string&) const OVERRIDE;
virtual bool ShouldDenyXFrameOptions() const OVERRIDE;
virtual ~OptionsUIHTMLSource();
// Localized strings collection.
- scoped_ptr<DictionaryValue> localized_strings_;
+ scoped_ptr<base::DictionaryValue> localized_strings_;
DISALLOW_COPY_AND_ASSIGN(OptionsUIHTMLSource);
};
-OptionsUIHTMLSource::OptionsUIHTMLSource(DictionaryValue* localized_strings) {
+OptionsUIHTMLSource::OptionsUIHTMLSource(
+ base::DictionaryValue* localized_strings) {
DCHECK(localized_strings);
localized_strings_.reset(localized_strings);
}
void OptionsUIHTMLSource::StartDataRequest(
const std::string& path,
int render_process_id,
- int render_view_id,
+ int render_frame_id,
const content::URLDataSource::GotDataCallback& callback) {
scoped_refptr<base::RefCountedMemory> response_bytes;
webui::SetFontAndTextDirection(localized_strings_.get());
// static
void OptionsPageUIHandler::RegisterStrings(
- DictionaryValue* localized_strings,
+ base::DictionaryValue* localized_strings,
const OptionsStringResource* resources,
size_t length) {
for (size_t i = 0; i < length; ++i) {
- string16 value;
+ base::string16 value;
if (resources[i].substitution_id == 0) {
value = l10n_util::GetStringUTF16(resources[i].id);
} else {
}
}
-void OptionsPageUIHandler::RegisterTitle(DictionaryValue* localized_strings,
- const std::string& variable_name,
- int title_id) {
+void OptionsPageUIHandler::RegisterTitle(
+ base::DictionaryValue* localized_strings,
+ const std::string& variable_name,
+ int title_id) {
localized_strings->SetString(variable_name,
l10n_util::GetStringUTF16(title_id));
localized_strings->SetString(variable_name + "TabTitle",
: WebUIController(web_ui),
WebContentsObserver(web_ui->GetWebContents()),
initialized_handlers_(false) {
- DictionaryValue* localized_strings = new DictionaryValue();
+ base::DictionaryValue* localized_strings = new base::DictionaryValue();
localized_strings->Set(OptionsPageUIHandler::kSettingsAppKey,
- new DictionaryValue());
+ new base::DictionaryValue());
CoreOptionsHandler* core_handler;
#if defined(OS_CHROMEOS)
AddOptionsPageUIHandler(localized_strings, core_handler);
AddOptionsPageUIHandler(localized_strings, new AutofillOptionsHandler());
+ AddOptionsPageUIHandler(localized_strings,
+ new AutomaticSettingsResetHandler());
BrowserOptionsHandler* browser_options_handler = new BrowserOptionsHandler();
AddOptionsPageUIHandler(localized_strings, browser_options_handler);
AddOptionsPageUIHandler(localized_strings, new ContentSettingsHandler());
AddOptionsPageUIHandler(localized_strings, new CookiesViewHandler());
AddOptionsPageUIHandler(localized_strings, new CreateProfileHandler());
+ AddOptionsPageUIHandler(localized_strings, new EasyUnlockHandler());
AddOptionsPageUIHandler(localized_strings, new FontSettingsHandler());
#if defined(ENABLE_GOOGLE_NOW)
AddOptionsPageUIHandler(localized_strings, new GeolocationOptionsHandler());
AddOptionsPageUIHandler(localized_strings, new HomePageOverlayHandler());
AddOptionsPageUIHandler(localized_strings,
new MediaDevicesSelectionHandler());
- AddOptionsPageUIHandler(localized_strings, new MediaGalleriesHandler());
#if defined(OS_CHROMEOS)
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::CrosLanguageOptionsHandler());
AddOptionsPageUIHandler(localized_strings,
new LanguageDictionaryOverlayHandler());
AddOptionsPageUIHandler(localized_strings, new ManageProfileHandler());
- AddOptionsPageUIHandler(localized_strings,
- new ManagedUserCreateConfirmHandler());
- AddOptionsPageUIHandler(localized_strings, new ManagedUserImportHandler());
- AddOptionsPageUIHandler(localized_strings, new ManagedUserLearnMoreHandler());
AddOptionsPageUIHandler(localized_strings, new PasswordManagerHandler());
AddOptionsPageUIHandler(localized_strings, new ResetProfileSettingsHandler());
AddOptionsPageUIHandler(localized_strings, new SearchEngineManagerHandler());
AddOptionsPageUIHandler(localized_strings, new ImportDataHandler());
AddOptionsPageUIHandler(localized_strings, new StartupPagesHandler());
+ AddOptionsPageUIHandler(localized_strings,
+ new SupervisedUserCreateConfirmHandler());
+ AddOptionsPageUIHandler(localized_strings, new SupervisedUserImportHandler());
+ AddOptionsPageUIHandler(localized_strings,
+ new SupervisedUserLearnMoreHandler());
AddOptionsPageUIHandler(localized_strings, new SyncSetupHandler(
g_browser_process->profile_manager()));
+ AddOptionsPageUIHandler(localized_strings, new WebsiteSettingsHandler());
#if defined(OS_CHROMEOS)
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::AccountsOptionsHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::BluetoothOptionsHandler());
AddOptionsPageUIHandler(localized_strings,
+ new chromeos::options::DateTimeOptionsHandler());
+ AddOptionsPageUIHandler(localized_strings,
new chromeos::options::DisplayOptionsHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::DisplayOverscanHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::InternetOptionsHandler());
+ AddOptionsPageUIHandler(localized_strings, new options::HelpOverlayHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::KeyboardHandler());
new chromeos::options::ChangePictureOptionsHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::StatsOptionsHandler());
+
+ policy::ConsumerManagementService* consumer_management =
+ g_browser_process->platform_part()->browser_policy_connector_chromeos()->
+ GetConsumerManagementService();
+ chromeos::options::ConsumerManagementHandler* consumer_management_handler =
+ new chromeos::options::ConsumerManagementHandler(consumer_management);
+ AddOptionsPageUIHandler(localized_strings, consumer_management_handler);
#endif
#if defined(USE_NSS)
- AddOptionsPageUIHandler(localized_strings, new CertificateManagerHandler());
+ AddOptionsPageUIHandler(localized_strings,
+ new CertificateManagerHandler(false));
#endif
AddOptionsPageUIHandler(localized_strings, new HandlerOptionsHandler());
+ web_ui->AddMessageHandler(new MetricsHandler());
+
// |localized_strings| ownership is taken over by this constructor.
OptionsUIHTMLSource* html_source =
new OptionsUIHTMLSource(localized_strings);
handlers_[i]->Uninitialize();
}
+scoped_ptr<OptionsUI::OnFinishedLoadingCallbackList::Subscription>
+OptionsUI::RegisterOnFinishedLoadingCallback(const base::Closure& callback) {
+ return on_finished_loading_callbacks_.Add(callback);
+}
+
// static
void OptionsUI::ProcessAutocompleteSuggestions(
const AutocompleteResult& result,
type != AutocompleteMatchType::HISTORY_TITLE &&
type != AutocompleteMatchType::HISTORY_BODY &&
type != AutocompleteMatchType::HISTORY_KEYWORD &&
- type != AutocompleteMatchType::NAVSUGGEST)
+ type != AutocompleteMatchType::NAVSUGGEST &&
+ type != AutocompleteMatchType::NAVSUGGEST_PERSONALIZED) {
continue;
+ }
base::DictionaryValue* entry = new base::DictionaryValue();
entry->SetString("title", match.description);
entry->SetString("displayURL", match.contents);
}
void OptionsUI::DidStartProvisionalLoadForFrame(
- int64 frame_id,
- int64 parent_frame_id,
- bool is_main_frame,
+ content::RenderFrameHost* render_frame_host,
const GURL& validated_url,
bool is_error_page,
- bool is_iframe_srcdoc,
- content::RenderViewHost* render_view_host) {
- if (render_view_host == web_ui()->GetWebContents()->GetRenderViewHost() &&
+ bool is_iframe_srcdoc) {
+ if (render_frame_host->GetRenderViewHost() ==
+ web_ui()->GetWebContents()->GetRenderViewHost() &&
validated_url.host() == chrome::kChromeUISettingsFrameHost) {
for (size_t i = 0; i < handlers_.size(); ++i)
handlers_[i]->PageLoadStarted();
"BrowserOptions.notifyInitializationComplete");
}
-void OptionsUI::AddOptionsPageUIHandler(DictionaryValue* localized_strings,
- OptionsPageUIHandler* handler_raw) {
+void OptionsUI::OnFinishedLoading() {
+ on_finished_loading_callbacks_.Notify();
+}
+
+void OptionsUI::AddOptionsPageUIHandler(
+ base::DictionaryValue* localized_strings,
+ OptionsPageUIHandler* handler_raw) {
scoped_ptr<OptionsPageUIHandler> handler(handler_raw);
DCHECK(handler.get());
// Add only if handler's service is enabled.