| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/options2/options_ui2.h" | 5 #include "chrome/browser/ui/webui/options2/options_ui2.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 l10n_util::GetStringUTF16(title_id))); | 189 l10n_util::GetStringUTF16(title_id))); |
| 190 } | 190 } |
| 191 | 191 |
| 192 //////////////////////////////////////////////////////////////////////////////// | 192 //////////////////////////////////////////////////////////////////////////////// |
| 193 // | 193 // |
| 194 // OptionsUI | 194 // OptionsUI |
| 195 // | 195 // |
| 196 //////////////////////////////////////////////////////////////////////////////// | 196 //////////////////////////////////////////////////////////////////////////////// |
| 197 | 197 |
| 198 OptionsUI::OptionsUI(WebContents* contents) | 198 OptionsUI::OptionsUI(WebContents* contents) |
| 199 : WebUI(contents), | 199 : WebUI(contents, this), |
| 200 initialized_handlers_(false) { | 200 initialized_handlers_(false) { |
| 201 DictionaryValue* localized_strings = new DictionaryValue(); | 201 DictionaryValue* localized_strings = new DictionaryValue(); |
| 202 | 202 |
| 203 CoreOptionsHandler* core_handler; | 203 CoreOptionsHandler* core_handler; |
| 204 #if defined(OS_CHROMEOS) | 204 #if defined(OS_CHROMEOS) |
| 205 core_handler = new chromeos::options2::CoreChromeOSOptionsHandler(); | 205 core_handler = new chromeos::options2::CoreChromeOSOptionsHandler(); |
| 206 #else | 206 #else |
| 207 core_handler = new CoreOptionsHandler(); | 207 core_handler = new CoreOptionsHandler(); |
| 208 #endif | 208 #endif |
| 209 core_handler->set_handlers_host(this); | 209 core_handler->set_handlers_host(this); |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 OptionsUI::~OptionsUI() { | 288 OptionsUI::~OptionsUI() { |
| 289 // Uninitialize all registered handlers. The base class owns them and it will | 289 // Uninitialize all registered handlers. The base class owns them and it will |
| 290 // eventually delete them. Skip over the generic handler. | 290 // eventually delete them. Skip over the generic handler. |
| 291 for (std::vector<WebUIMessageHandler*>::iterator iter = handlers_.begin() + 1; | 291 for (std::vector<WebUIMessageHandler*>::iterator iter = handlers_.begin() + 1; |
| 292 iter != handlers_.end(); | 292 iter != handlers_.end(); |
| 293 ++iter) { | 293 ++iter) { |
| 294 static_cast<OptionsPageUIHandler*>(*iter)->Uninitialize(); | 294 static_cast<OptionsPageUIHandler*>(*iter)->Uninitialize(); |
| 295 } | 295 } |
| 296 } | 296 } |
| 297 | 297 |
| 298 // Override. | |
| 299 void OptionsUI::RenderViewCreated(RenderViewHost* render_view_host) { | 298 void OptionsUI::RenderViewCreated(RenderViewHost* render_view_host) { |
| 300 SetCommandLineString(render_view_host); | 299 SetCommandLineString(render_view_host); |
| 301 WebUI::RenderViewCreated(render_view_host); | |
| 302 } | 300 } |
| 303 | 301 |
| 304 void OptionsUI::RenderViewReused(RenderViewHost* render_view_host) { | 302 void OptionsUI::RenderViewReused(RenderViewHost* render_view_host) { |
| 305 SetCommandLineString(render_view_host); | 303 SetCommandLineString(render_view_host); |
| 306 WebUI::RenderViewReused(render_view_host); | |
| 307 } | 304 } |
| 308 | 305 |
| 309 void OptionsUI::DidBecomeActiveForReusedRenderView() { | 306 void OptionsUI::DidBecomeActiveForReusedRenderView() { |
| 310 // When the renderer is re-used (e.g., for back/forward navigation within | 307 // When the renderer is re-used (e.g., for back/forward navigation within |
| 311 // options), the handlers are torn down and rebuilt, so are no longer | 308 // options), the handlers are torn down and rebuilt, so are no longer |
| 312 // initialized, but the web page's DOM may remain intact, in which case onload | 309 // initialized, but the web page's DOM may remain intact, in which case onload |
| 313 // won't fire to initilize the handlers. To make sure initialization always | 310 // won't fire to initilize the handlers. To make sure initialization always |
| 314 // happens, call reinitializeCore (which is a no-op unless the DOM was already | 311 // happens, call reinitializeCore (which is a no-op unless the DOM was already |
| 315 // initialized). | 312 // initialized). |
| 316 CallJavascriptFunction("OptionsPage.reinitializeCore"); | 313 CallJavascriptFunction("OptionsPage.reinitializeCore"); |
| 317 | |
| 318 WebUI::DidBecomeActiveForReusedRenderView(); | |
| 319 } | 314 } |
| 320 | 315 |
| 321 // static | 316 // static |
| 322 RefCountedMemory* OptionsUI::GetFaviconResourceBytes() { | 317 RefCountedMemory* OptionsUI::GetFaviconResourceBytes() { |
| 323 return ResourceBundle::GetSharedInstance(). | 318 return ResourceBundle::GetSharedInstance(). |
| 324 LoadDataResourceBytes(IDR_SETTINGS_FAVICON); | 319 LoadDataResourceBytes(IDR_SETTINGS_FAVICON); |
| 325 } | 320 } |
| 326 | 321 |
| 327 void OptionsUI::InitializeHandlers() { | 322 void OptionsUI::InitializeHandlers() { |
| 328 Profile* profile = | 323 Profile* profile = |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 WideToASCII(CommandLine::ForCurrentProcess()->GetCommandLineString()); | 359 WideToASCII(CommandLine::ForCurrentProcess()->GetCommandLineString()); |
| 365 #else | 360 #else |
| 366 command_line_string = | 361 command_line_string = |
| 367 CommandLine::ForCurrentProcess()->GetCommandLineString(); | 362 CommandLine::ForCurrentProcess()->GetCommandLineString(); |
| 368 #endif | 363 #endif |
| 369 | 364 |
| 370 render_view_host->SetWebUIProperty("commandLineString", command_line_string); | 365 render_view_host->SetWebUIProperty("commandLineString", command_line_string); |
| 371 } | 366 } |
| 372 | 367 |
| 373 } // namespace options2 | 368 } // namespace options2 |
| OLD | NEW |