diff options
Diffstat (limited to 'chrome/browser/ui')
-rw-r--r-- | chrome/browser/ui/browser.cc | 2 | ||||
-rw-r--r-- | chrome/browser/ui/browser_dialogs.h | 1 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/web_dialog_window_controller.mm | 4 | ||||
-rw-r--r-- | chrome/browser/ui/gtk/web_dialog_gtk.cc | 4 | ||||
-rw-r--r-- | chrome/browser/ui/views/keyboard_overlay_dialog_view.cc | 2 | ||||
-rw-r--r-- | chrome/browser/ui/views/web_dialog_view.cc | 8 | ||||
-rw-r--r-- | chrome/browser/ui/views/web_dialog_view.h | 8 | ||||
-rw-r--r-- | chrome/browser/ui/views/web_dialog_view_browsertest.cc | 7 | ||||
-rw-r--r-- | chrome/browser/ui/webui/chromeos/mobile_setup_dialog.cc | 1 | ||||
-rw-r--r-- | chrome/browser/ui/webui/task_manager/task_manager_dialog.cc | 1 | ||||
-rw-r--r-- | chrome/browser/ui/webui/web_dialog_controller_browsertest.cc | 11 |
11 files changed, 24 insertions, 25 deletions
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc index fc6c6f2..92ddcf00 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc @@ -1209,7 +1209,7 @@ gfx::NativeWindow Browser::BrowserShowWebDialog( if (!parent_window) parent_window = window_->GetNativeWindow(); - return browser::ShowWebDialog(parent_window, profile_, this, delegate); + return browser::ShowWebDialog(parent_window, profile_, delegate); } void Browser::BrowserRenderWidgetShowing() { diff --git a/chrome/browser/ui/browser_dialogs.h b/chrome/browser/ui/browser_dialogs.h index 2d61db2..7d7ca56 100644 --- a/chrome/browser/ui/browser_dialogs.h +++ b/chrome/browser/ui/browser_dialogs.h @@ -49,7 +49,6 @@ void ShowAboutIPCDialog(); // to do so, i.e. before OnDialogClosed() is called on the delegate. gfx::NativeWindow ShowWebDialog(gfx::NativeWindow parent, Profile* profile, - Browser* browser, ui::WebDialogDelegate* delegate); // Shows the collected cookies dialog box. diff --git a/chrome/browser/ui/cocoa/web_dialog_window_controller.mm b/chrome/browser/ui/cocoa/web_dialog_window_controller.mm index 7b2fcf7..1a52c15 100644 --- a/chrome/browser/ui/cocoa/web_dialog_window_controller.mm +++ b/chrome/browser/ui/cocoa/web_dialog_window_controller.mm @@ -10,6 +10,7 @@ #include "base/sys_string_conversions.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_finder.h" #import "chrome/browser/ui/browser_dialogs.h" #import "chrome/browser/ui/cocoa/browser_command_executor.h" #import "chrome/browser/ui/cocoa/chrome_event_processing_window.h" @@ -101,8 +102,9 @@ namespace browser { gfx::NativeWindow ShowWebDialog(gfx::NativeWindow parent, Profile* profile, - Browser* browser, WebDialogDelegate* delegate) { + // TODO(mazda): Remove the dependency on Browser. + Browser* browser = browser::FindLastActiveWithProfile(profile); return [WebDialogWindowController showWebDialog:delegate profile:profile browser:browser]; diff --git a/chrome/browser/ui/gtk/web_dialog_gtk.cc b/chrome/browser/ui/gtk/web_dialog_gtk.cc index f5a0bb9..abd879f 100644 --- a/chrome/browser/ui/gtk/web_dialog_gtk.cc +++ b/chrome/browser/ui/gtk/web_dialog_gtk.cc @@ -11,6 +11,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_dialogs.h" +#include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/gtk/gtk_util.h" #include "chrome/browser/ui/gtk/tab_contents_container_gtk.h" @@ -30,8 +31,9 @@ namespace browser { gfx::NativeWindow ShowWebDialog(gfx::NativeWindow parent, Profile* profile, - Browser* browser, WebDialogDelegate* delegate) { + // TODO(mazda): Remove the dependency on Browser. + Browser* browser = browser::FindLastActiveWithProfile(profile); WebDialogGtk* web_dialog = new WebDialogGtk(profile, browser, delegate, parent); return web_dialog->InitDialog(); diff --git a/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc b/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc index 4456cdd..2873e5e 100644 --- a/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc +++ b/chrome/browser/ui/views/keyboard_overlay_dialog_view.cc @@ -29,7 +29,7 @@ KeyboardOverlayDialogView* g_instance = NULL; KeyboardOverlayDialogView::KeyboardOverlayDialogView( Profile* profile, WebDialogDelegate* delegate) - : WebDialogView(profile, NULL, delegate) { + : WebDialogView(profile, delegate) { } KeyboardOverlayDialogView::~KeyboardOverlayDialogView() { diff --git a/chrome/browser/ui/views/web_dialog_view.cc b/chrome/browser/ui/views/web_dialog_view.cc index 6158aeb..c141077 100644 --- a/chrome/browser/ui/views/web_dialog_view.cc +++ b/chrome/browser/ui/views/web_dialog_view.cc @@ -10,7 +10,6 @@ #include "base/utf_string_conversions.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser_dialogs.h" -#include "chrome/browser/ui/webui/web_dialog_controller.h" #include "content/public/browser/native_web_keyboard_event.h" #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_source.h" @@ -22,6 +21,8 @@ #include "ui/views/layout/fill_layout.h" #include "ui/views/widget/root_view.h" #include "ui/views/widget/widget.h" +#include "ui/web_dialogs/web_dialog_delegate.h" +#include "ui/web_dialogs/web_dialog_ui.h" #if defined(USE_AURA) #include "ui/aura/event.h" @@ -39,10 +40,9 @@ namespace browser { // Declared in browser_dialogs.h so that others don't need to depend on our .h. gfx::NativeWindow ShowWebDialog(gfx::NativeWindow parent, Profile* profile, - Browser* browser, WebDialogDelegate* delegate) { views::Widget* widget = views::Widget::CreateWindowWithParent( - new WebDialogView(profile, browser, delegate), parent); + new WebDialogView(profile, delegate), parent); widget->Show(); return widget->GetNativeWindow(); } @@ -53,13 +53,11 @@ gfx::NativeWindow ShowWebDialog(gfx::NativeWindow parent, // WebDialogView, public: WebDialogView::WebDialogView(Profile* profile, - Browser* browser, WebDialogDelegate* delegate) : ClientView(NULL, NULL), WebDialogWebContentsDelegate(profile), initialized_(false), delegate_(delegate), - dialog_controller_(new WebDialogController(this, profile, browser)), web_view_(new views::WebView(profile)) { web_view_->set_allow_accelerators(true); AddChildView(web_view_); diff --git a/chrome/browser/ui/views/web_dialog_view.h b/chrome/browser/ui/views/web_dialog_view.h index 915d2dc..e6a718c4 100644 --- a/chrome/browser/ui/views/web_dialog_view.h +++ b/chrome/browser/ui/views/web_dialog_view.h @@ -18,8 +18,6 @@ #include "ui/views/window/client_view.h" #include "ui/web_dialogs/web_dialog_delegate.h" -class Browser; -class WebDialogController; class Profile; namespace views { @@ -39,7 +37,7 @@ class WebView; // TODO(akalin): Make WebDialogView contain an WebDialogWebContentsDelegate // instead of inheriting from it to avoid violating the "no multiple // inheritance" rule. -// TODO(beng): This class should not depend on Browser or Profile, only +// TODO(beng): This class should not depend on Profile, only // content::BrowserContext. class WebDialogView : public views::ClientView, @@ -49,7 +47,6 @@ class WebDialogView public TabRenderWatcher::Delegate { public: WebDialogView(Profile* profile, - Browser* browser, ui::WebDialogDelegate* delegate); virtual ~WebDialogView(); @@ -139,9 +136,6 @@ class WebDialogView // using this variable. ui::WebDialogDelegate* delegate_; - // Controls lifetime of dialog. - scoped_ptr<WebDialogController> dialog_controller_; - views::WebView* web_view_; DISALLOW_COPY_AND_ASSIGN(WebDialogView); diff --git a/chrome/browser/ui/views/web_dialog_view_browsertest.cc b/chrome/browser/ui/views/web_dialog_view_browsertest.cc index 3526970..4086563 100644 --- a/chrome/browser/ui/views/web_dialog_view_browsertest.cc +++ b/chrome/browser/ui/views/web_dialog_view_browsertest.cc @@ -34,9 +34,8 @@ const int kInitialHeight = 40; class TestWebDialogView : public WebDialogView { public: TestWebDialogView(Profile* profile, - Browser* browser, WebDialogDelegate* delegate) - : WebDialogView(profile, browser, delegate), + : WebDialogView(profile, delegate), painted_(false), should_quit_on_size_change_(false) { delegate->GetDialogSize(&last_size_); @@ -111,7 +110,7 @@ IN_PROC_BROWSER_TEST_F(WebDialogBrowserTest, MAYBE_SizeWindow) { delegate->set_size(kInitialWidth, kInitialHeight); TestWebDialogView* view = - new TestWebDialogView(browser()->profile(), browser(), delegate); + new TestWebDialogView(browser()->profile(), delegate); WebContents* web_contents = browser()->GetActiveWebContents(); ASSERT_TRUE(web_contents != NULL); views::Widget::CreateWindowWithParent( @@ -191,7 +190,7 @@ IN_PROC_BROWSER_TEST_F(WebDialogBrowserTest, DISABLED_WebContentRendered) { GURL(chrome::kChromeUIChromeURLsURL)); TestWebDialogView* view = - new TestWebDialogView(browser()->profile(), browser(), delegate); + new TestWebDialogView(browser()->profile(), delegate); WebContents* web_contents = browser()->GetActiveWebContents(); ASSERT_TRUE(web_contents != NULL); views::Widget::CreateWindowWithParent( diff --git a/chrome/browser/ui/webui/chromeos/mobile_setup_dialog.cc b/chrome/browser/ui/webui/chromeos/mobile_setup_dialog.cc index 12e1adf..ab29f41 100644 --- a/chrome/browser/ui/webui/chromeos/mobile_setup_dialog.cc +++ b/chrome/browser/ui/webui/chromeos/mobile_setup_dialog.cc @@ -96,7 +96,6 @@ void MobileSetupDialogDelegate::ShowDialog(const std::string& service_path) { dialog_window_ = browser::ShowWebDialog( NULL, ProfileManager::GetDefaultProfileOrOffTheRecord(), - NULL, this); } diff --git a/chrome/browser/ui/webui/task_manager/task_manager_dialog.cc b/chrome/browser/ui/webui/task_manager/task_manager_dialog.cc index f017d82..f2914b4 100644 --- a/chrome/browser/ui/webui/task_manager/task_manager_dialog.cc +++ b/chrome/browser/ui/webui/task_manager/task_manager_dialog.cc @@ -196,7 +196,6 @@ void TaskManagerDialogImpl::OnCloseDialog() { void TaskManagerDialogImpl::OpenWebDialog() { window_ = browser::ShowWebDialog(NULL, ProfileManager::GetDefaultProfile(), - NULL, this); } diff --git a/chrome/browser/ui/webui/web_dialog_controller_browsertest.cc b/chrome/browser/ui/webui/web_dialog_controller_browsertest.cc index a5b32b0..7d34bf4 100644 --- a/chrome/browser/ui/webui/web_dialog_controller_browsertest.cc +++ b/chrome/browser/ui/webui/web_dialog_controller_browsertest.cc @@ -5,6 +5,7 @@ #include "base/memory/scoped_ptr.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/webui/test_web_dialog_delegate.h" +#include "chrome/browser/ui/webui/web_dialog_controller.h" #include "chrome/common/url_constants.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" @@ -15,10 +16,14 @@ namespace { class TestDialogClosedDelegate : public test::TestWebDialogDelegate { public: - TestDialogClosedDelegate() + explicit TestDialogClosedDelegate(Browser* browser) : test::TestWebDialogDelegate( GURL(chrome::kChromeUIChromeURLsURL)), dialog_closed_(false) { + if (browser) { + web_dialog_controller_.reset( + new WebDialogController(this, browser->profile(), browser)); + } } bool dialog_closed() const { return dialog_closed_; } @@ -32,6 +37,7 @@ class TestDialogClosedDelegate : public test::TestWebDialogDelegate { } private: + scoped_ptr<WebDialogController> web_dialog_controller_; bool dialog_closed_; DISALLOW_COPY_AND_ASSIGN(TestDialogClosedDelegate); @@ -48,7 +54,8 @@ class WebDialogControllerBrowserTest : public InProcessBrowserTest { // that browser is closed the dialog created by that browser is closed. IN_PROC_BROWSER_TEST_F(WebDialogControllerBrowserTest, IncognitoBrowser) { Browser* browser = CreateIncognitoBrowser(); - scoped_ptr<TestDialogClosedDelegate> delegate(new TestDialogClosedDelegate()); + scoped_ptr<TestDialogClosedDelegate> delegate( + new TestDialogClosedDelegate(browser)); // Create the dialog and make sure the initial "closed" state is what we // expect. |