Chromium Code Reviews| Index: chrome/browser/ui/webui/options2/options_ui2.cc |
| diff --git a/chrome/browser/ui/webui/options2/options_ui2.cc b/chrome/browser/ui/webui/options2/options_ui2.cc |
| index 50b39003a501954062d9667c53d958b3404f6ae2..9dd1aa44c9b20b57f1fdd64e158896fd650bc8d6 100644 |
| --- a/chrome/browser/ui/webui/options2/options_ui2.cc |
| +++ b/chrome/browser/ui/webui/options2/options_ui2.cc |
| @@ -207,8 +207,7 @@ void OptionsPageUIHandler::RegisterTitle(DictionaryValue* localized_strings, |
| //////////////////////////////////////////////////////////////////////////////// |
| OptionsUI::OptionsUI(content::WebUI* web_ui) |
| - : WebUIController(web_ui), |
| - initialized_handlers_(false) { |
| + : WebUIController(web_ui) { |
| DictionaryValue* localized_strings = new DictionaryValue(); |
| CoreOptionsHandler* core_handler; |
| @@ -293,6 +292,7 @@ OptionsUI::OptionsUI(content::WebUI* web_ui) |
| // Set up the chrome://settings-frame/ source. |
| Profile* profile = Profile::FromWebUI(web_ui); |
| + DCHECK(!profile->IsOffTheRecord() || Profile::IsGuestSession()); |
|
Dan Beam
2012/04/06 03:38:16
what's this from?
Tyler Breisacher (Chromium)
2012/04/06 16:59:44
It was in the old InitializeHandlers method. I'm n
|
| profile->GetChromeURLDataManager()->AddDataSource(html_source); |
| // Set up the chrome://theme/ source. |
| @@ -309,6 +309,7 @@ OptionsUI::OptionsUI(content::WebUI* web_ui) |
| new chromeos::system::PointerDeviceObserver()); |
| pointer_device_observer_->AddObserver(browser_options_handler); |
| pointer_device_observer_->AddObserver(pointer_handler); |
| + pointer_device_observer_->Init(); |
| #endif |
| } |
| @@ -326,16 +327,6 @@ void OptionsUI::RenderViewReused(RenderViewHost* render_view_host) { |
| SetCommandLineString(render_view_host); |
| } |
| -void OptionsUI::DidBecomeActiveForReusedRenderView() { |
| - // When the renderer is re-used (e.g., for back/forward navigation within |
| - // options), the handlers are torn down and rebuilt, so are no longer |
| - // initialized, but the web page's DOM may remain intact, in which case onload |
| - // won't fire to initilize the handlers. To make sure initialization always |
| - // happens, call reinitializeCore (which is a no-op unless the DOM was already |
| - // initialized). |
| - web_ui()->CallJavascriptFunction("OptionsPage.reinitializeCore"); |
| -} |
| - |
| // static |
| void OptionsUI::ProcessAutocompleteSuggestions( |
| const AutocompleteResult& autocompleteResult, |
| @@ -363,28 +354,11 @@ RefCountedMemory* OptionsUI::GetFaviconResourceBytes() { |
| LoadDataResourceBytes(IDR_SETTINGS_FAVICON); |
| } |
| -void OptionsUI::InitializeHandlers() { |
| - Profile* profile = Profile::FromWebUI(web_ui()); |
| - DCHECK(!profile->IsOffTheRecord() || Profile::IsGuestSession()); |
| - |
| - // The reinitialize call from DidBecomeActiveForReusedRenderView end up being |
| - // delivered after a new web page DOM has been brought up in an existing |
| - // renderer (due to IPC delays), causing this method to be called twice. If |
| - // that happens, ignore the second call. |
| - if (!initialized_handlers_) { |
| - for (size_t i = 0; i < handlers_.size(); ++i) |
| - handlers_[i]->InitializeHandler(); |
| - initialized_handlers_ = true; |
| - } |
| - |
| +void OptionsUI::InitializePages() { |
| // Always initialize the page as when handlers are left over we still need to |
| // do various things like show/hide sections and send data to the Javascript. |
| for (size_t i = 0; i < handlers_.size(); ++i) |
| handlers_[i]->InitializePage(); |
| - |
| -#if defined(OS_CHROMEOS) |
| - pointer_device_observer_->Init(); |
| -#endif |
| } |
| void OptionsUI::AddOptionsPageUIHandler(DictionaryValue* localized_strings, |
| @@ -393,8 +367,9 @@ void OptionsUI::AddOptionsPageUIHandler(DictionaryValue* localized_strings, |
| DCHECK(handler.get()); |
| // Add only if handler's service is enabled. |
| if (handler->IsEnabled()) { |
| - // Add handler to the list and also pass the ownership. |
| + // Add handler to the list |
| web_ui()->AddMessageHandler(handler.release()); |
| + handler_raw->InitializeHandler(); |
| handler_raw->GetLocalizedValues(localized_strings); |
| handlers_.push_back(handler_raw); |
| } |