summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-17 18:42:22 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-17 18:42:22 +0000
commitc63cedf228f9390647cafed05b64d0fc1fdf3e54 (patch)
treee9c179d0030a2360c877e18d326c6a99ec45ce9e /chrome/browser/chromeos
parenta12ce8b2f53218843671aefec951e7bcc935d0fc (diff)
downloadchromium_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.cc3
-rw-r--r--chrome/browser/chromeos/login/webui_login_view.cc3
-rw-r--r--chrome/browser/chromeos/login/webui_screen_locker.cc10
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);
}