diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-17 18:42:22 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-17 18:42:22 +0000 |
commit | c63cedf228f9390647cafed05b64d0fc1fdf3e54 (patch) | |
tree | e9c179d0030a2360c877e18d326c6a99ec45ce9e /chrome/browser/chromeos | |
parent | a12ce8b2f53218843671aefec951e7bcc935d0fc (diff) | |
download | chromium_src-c63cedf228f9390647cafed05b64d0fc1fdf3e54.zip chromium_src-c63cedf228f9390647cafed05b64d0fc1fdf3e54.tar.gz chromium_src-c63cedf228f9390647cafed05b64d0fc1fdf3e54.tar.bz2 |
Make WebUI objects not derive from WebUI. WebUI objects own the controller. This is the ownership model since otherwise we'd have to make the interface class delete it, which is better avoided since it's supposed to be an interface. The controller has a pointer to the WebUI object.
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/9224002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117925 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r-- | chrome/browser/chromeos/login/webui_login_display_host.cc | 3 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/webui_login_view.cc | 3 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/webui_screen_locker.cc | 10 |
3 files changed, 11 insertions, 5 deletions
diff --git a/chrome/browser/chromeos/login/webui_login_display_host.cc b/chrome/browser/chromeos/login/webui_login_display_host.cc index 46a636e..faaaba2 100644 --- a/chrome/browser/chromeos/login/webui_login_display_host.cc +++ b/chrome/browser/chromeos/login/webui_login_display_host.cc @@ -11,6 +11,7 @@ #include "chrome/browser/chromeos/login/webui_login_view.h" #include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" +#include "content/browser/webui/web_ui.h" #include "ui/views/widget/widget.h" #if defined(USE_AURA) @@ -149,7 +150,7 @@ void WebUILoginDisplayHost::LoadURL(const GURL& url) { } OobeUI* WebUILoginDisplayHost::GetOobeUI() const { - return static_cast<OobeUI*>(login_view_->GetWebUI()); + return static_cast<OobeUI*>(login_view_->GetWebUI()->GetController()); } WizardController* WebUILoginDisplayHost::CreateWizardController() { diff --git a/chrome/browser/chromeos/login/webui_login_view.cc b/chrome/browser/chromeos/login/webui_login_view.cc index 42b81fd..0d70f84 100644 --- a/chrome/browser/chromeos/login/webui_login_view.cc +++ b/chrome/browser/chromeos/login/webui_login_view.cc @@ -21,6 +21,7 @@ #include "chrome/browser/ui/views/dom_view.h" #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" #include "chrome/common/render_messages.h" +#include "content/browser/webui/web_ui.h" #include "content/public/browser/render_view_host_observer.h" #include "content/public/browser/web_contents.h" #include "ui/gfx/rect.h" @@ -317,7 +318,7 @@ void WebUILoginView::OnTabMainFrameFirstRender() { chromeos::DBusThreadManager::Get()->GetSessionManagerClient() ->EmitLoginPromptVisible(); - OobeUI* oobe_ui = static_cast<OobeUI*>(GetWebUI()); + OobeUI* oobe_ui = static_cast<OobeUI*>(GetWebUI()->GetController()); // Notify OOBE that the login frame has been rendered. Currently // this is used to start camera presence check. oobe_ui->OnLoginPromptVisible(); diff --git a/chrome/browser/chromeos/login/webui_screen_locker.cc b/chrome/browser/chromeos/login/webui_screen_locker.cc index 9e5a308..ed149a6 100644 --- a/chrome/browser/chromeos/login/webui_screen_locker.cc +++ b/chrome/browser/chromeos/login/webui_screen_locker.cc @@ -18,6 +18,7 @@ #include "chrome/common/chrome_notification_types.h" #include "chrome/common/url_constants.h" #include "content/browser/renderer_host/render_widget_host_view.h" +#include "content/browser/webui/web_ui.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_types.h" #include "ui/base/l10n/l10n_util.h" @@ -61,7 +62,8 @@ void WebUIScreenLocker::LockScreen(bool unlock_on_input) { login_display_->set_background_bounds(bounds); login_display_->Init(users, false, true, false); - static_cast<OobeUI*>(GetWebUI())->ShowSigninScreen(login_display_.get()); + static_cast<OobeUI*>(GetWebUI()->GetController())->ShowSigninScreen( + login_display_.get()); registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, @@ -119,8 +121,10 @@ WebUIScreenLocker::~WebUIScreenLocker() { lock_window_->Close(); // If LockScreen() was called, we need to clear the signin screen handler // delegate set in ShowSigninScreen so that it no longer points to us. - if (login_display_.get()) - static_cast<OobeUI*>(GetWebUI())->ResetSigninScreenHandlerDelegate(); + if (login_display_.get()) { + static_cast<OobeUI*>(GetWebUI()->GetController())-> + ResetSigninScreenHandlerDelegate(); + } SetStatusAreaEnabled(true); } |