summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui
diff options
context:
space:
mode:
authorapacible <apacible@chromium.org>2015-11-13 11:13:52 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-13 19:14:28 +0000
commit5acf85a4aebf309d5cb11c6774ef3a067d12a21a (patch)
tree9f1d97f109d542761e624f93749b01e186bc465d /chrome/browser/ui
parent6c65b9ada7990e322be4accae2c628ce494adc12 (diff)
downloadchromium_src-5acf85a4aebf309d5cb11c6774ef3a067d12a21a.zip
chromium_src-5acf85a4aebf309d5cb11c6774ef3a067d12a21a.tar.gz
chromium_src-5acf85a4aebf309d5cb11c6774ef3a067d12a21a.tar.bz2
Revert of Enable AutoResize for Constrained Web Dialogs for Mac. (patchset #4 id:650001 of https://codereview.chromium.org/1430023002/ )
Reason for revert: This is breaking Mac10.9 browser_tests (flaky): https://build.chromium.org/p/chromium.mac/builders/Mac10.9%20Tests/builds/11410 https://build.chromium.org/p/chromium.mac/builders/Mac10.9%20Tests/builds/11410/steps/browser_tests%20on%20Mac-10.9/logs/ConstrainedWebDialogBrowserTest.ContentResizeInAutoResizingDialog Original issue's description: > Enable AutoResize for Constrained Web Dialogs for Mac. > > Currently only constrained web dialogs for views (Linux/Windows) are able to > autoresize. This change implements the option to pass in minimum and maximum > sizes and enabling autoresizing functionality for OSX. > > This change adds two static functions for options on whether to create a > ConstrainedWindowsMac that autoresizes or is of fixed size. > > BUG=217034 > > Committed: https://crrev.com/0dbc8ff6d68291773b8b233a19e399d00f9262b0 > Cr-Commit-Position: refs/heads/master@{#359497} TBR=thakis@chromium.org,erikchen@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=217034 Review URL: https://codereview.chromium.org/1440173003 Cr-Commit-Position: refs/heads/master@{#359593}
Diffstat (limited to 'chrome/browser/ui')
-rw-r--r--chrome/browser/ui/cocoa/autofill/autofill_dialog_cocoa.mm2
-rw-r--r--chrome/browser/ui/cocoa/autofill/card_unmask_prompt_view_bridge.mm2
-rw-r--r--chrome/browser/ui/cocoa/certificate_viewer_mac.mm6
-rw-r--r--chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm154
-rw-r--r--chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sheet.mm4
-rw-r--r--chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h25
-rw-r--r--chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm41
-rw-r--r--chrome/browser/ui/cocoa/constrained_window/constrained_window_mac_browsertest.mm19
-rw-r--r--chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h2
-rw-r--r--chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm4
-rw-r--r--chrome/browser/ui/cocoa/constrained_window/constrained_window_web_dialog_sheet.mm10
-rw-r--r--chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm3
-rw-r--r--chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm2
-rw-r--r--chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm2
-rw-r--r--chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa.mm2
-rw-r--r--chrome/browser/ui/cocoa/login_prompt_cocoa.mm2
-rw-r--r--chrome/browser/ui/cocoa/one_click_signin_dialog_controller.mm6
-rw-r--r--chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_dialog_cocoa.mm2
-rw-r--r--chrome/browser/ui/cocoa/profiles/user_manager_mac.mm4
-rw-r--r--chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.mm6
-rw-r--r--chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm2
-rw-r--r--chrome/browser/ui/cocoa/web_contents_modal_dialog_manager_views_mac.mm4
-rw-r--r--chrome/browser/ui/webui/constrained_web_dialog_delegate_base.cc5
-rw-r--r--chrome/browser/ui/webui/constrained_web_dialog_delegate_base.h5
-rw-r--r--chrome/browser/ui/webui/constrained_web_dialog_ui.h2
-rw-r--r--chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc6
26 files changed, 55 insertions, 267 deletions
diff --git a/chrome/browser/ui/cocoa/autofill/autofill_dialog_cocoa.mm b/chrome/browser/ui/cocoa/autofill/autofill_dialog_cocoa.mm
index 99a645f..4a80bbd 100644
--- a/chrome/browser/ui/cocoa/autofill/autofill_dialog_cocoa.mm
+++ b/chrome/browser/ui/cocoa/autofill/autofill_dialog_cocoa.mm
@@ -39,7 +39,7 @@ void AutofillDialogCocoa::Show() {
[[CustomConstrainedWindowSheet alloc]
initWithCustomWindow:[sheet_delegate_ window]]);
constrained_window_.reset(
- CreateAndShowWebModalDialogMac(this, delegate_->GetWebContents(), sheet));
+ new ConstrainedWindowMac(this, delegate_->GetWebContents(), sheet));
[sheet_delegate_ show];
}
diff --git a/chrome/browser/ui/cocoa/autofill/card_unmask_prompt_view_bridge.mm b/chrome/browser/ui/cocoa/autofill/card_unmask_prompt_view_bridge.mm
index 11c985a..c8a666b 100644
--- a/chrome/browser/ui/cocoa/autofill/card_unmask_prompt_view_bridge.mm
+++ b/chrome/browser/ui/cocoa/autofill/card_unmask_prompt_view_bridge.mm
@@ -88,7 +88,7 @@ void CardUnmaskPromptViewBridge::Show() {
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc] initWithCustomWindow:window]);
constrained_window_.reset(
- CreateAndShowWebModalDialogMac(this, web_contents_, sheet));
+ new ConstrainedWindowMac(this, web_contents_, sheet));
}
void CardUnmaskPromptViewBridge::ControllerGone() {
diff --git a/chrome/browser/ui/cocoa/certificate_viewer_mac.mm b/chrome/browser/ui/cocoa/certificate_viewer_mac.mm
index a6159bf..e5f6a9a 100644
--- a/chrome/browser/ui/cocoa/certificate_viewer_mac.mm
+++ b/chrome/browser/ui/cocoa/certificate_viewer_mac.mm
@@ -134,7 +134,7 @@ void ShowCertificateViewer(content::WebContents* web_contents,
[panel_ setPolicies:(id) policies.get()];
constrainedWindow_.reset(
- CreateAndShowWebModalDialogMac(observer_.get(), webContents, self));
+ new ConstrainedWindowMac(observer_.get(), webContents, self));
}
- (NSWindow*)overlayWindow {
@@ -197,10 +197,6 @@ void ShowCertificateViewer(content::WebContents* web_contents,
// NOOP
}
-- (void)resizeWithNewSize:(NSSize)preferredSize {
- // NOOP
-}
-
- (NSWindow*)sheetWindow {
return panel_;
}
diff --git a/chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm b/chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm
index bd517bc..220299f 100644
--- a/chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm
+++ b/chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm
@@ -10,10 +10,7 @@
#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_window.h"
#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h"
#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_web_dialog_sheet.h"
-#include "chrome/browser/ui/webui/chrome_web_contents_handler.h"
-#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_observer.h"
#include "ui/gfx/geometry/size.h"
#include "ui/web_dialogs/web_dialog_delegate.h"
#include "ui/web_dialogs/web_dialog_ui.h"
@@ -25,61 +22,19 @@ using ui::WebDialogWebContentsDelegate;
namespace {
-class ConstrainedWebDialogDelegateMac;
-
-// This class is to trigger a resize to the dialog window when
-// ResizeDueToAutoResize() is invoked.
-class WebDialogWebContentsDelegateMac
- : public ui::WebDialogWebContentsDelegate {
- public:
- WebDialogWebContentsDelegateMac(content::BrowserContext* browser_context,
- content::WebContentsObserver* observer,
- ConstrainedWebDialogDelegateBase* delegate)
- : ui::WebDialogWebContentsDelegate(browser_context,
- new ChromeWebContentsHandler()),
- observer_(observer),
- delegate_(delegate) {
- }
- ~WebDialogWebContentsDelegateMac() override {}
-
- void ResizeDueToAutoResize(content::WebContents* source,
- const gfx::Size& preferred_size) override {
- if (!observer_->web_contents())
- return;
- delegate_->ResizeToGivenSize(preferred_size);
- }
-
- private:
- // These members must outlive the instance.
- content::WebContentsObserver* const observer_;
- ConstrainedWebDialogDelegateBase* delegate_;
-
- DISALLOW_COPY_AND_ASSIGN(WebDialogWebContentsDelegateMac);
-};
-
class ConstrainedWebDialogDelegateMac
: public ConstrainedWebDialogDelegateBase {
public:
ConstrainedWebDialogDelegateMac(
content::BrowserContext* browser_context,
- WebDialogDelegate* delegate,
- content::WebContentsObserver* observer)
- : ConstrainedWebDialogDelegateBase(browser_context, delegate,
- new WebDialogWebContentsDelegateMac(browser_context, observer,
- this)) {}
+ WebDialogDelegate* delegate)
+ : ConstrainedWebDialogDelegateBase(browser_context, delegate, NULL) {}
// WebDialogWebContentsDelegate interface.
void CloseContents(WebContents* source) override {
window_->CloseWebContentsModalDialog();
}
- // ConstrainedWebDialogDelegateBase:
- void ResizeToGivenSize(const gfx::Size size) override {
- NSSize updated_preferred_size = NSMakeSize(size.width(),
- size.height());
- [window_->sheet() resizeWithNewSize:updated_preferred_size];
- }
-
void set_window(ConstrainedWindowMac* window) { window_ = window; }
ConstrainedWindowMac* window() const { return window_; }
@@ -94,16 +49,13 @@ class ConstrainedWebDialogDelegateMac
class ConstrainedWebDialogDelegateViewMac :
public ConstrainedWindowMacDelegate,
- public ConstrainedWebDialogDelegate,
- public content::WebContentsObserver {
+ public ConstrainedWebDialogDelegate {
public:
ConstrainedWebDialogDelegateViewMac(
content::BrowserContext* browser_context,
WebDialogDelegate* delegate,
- content::WebContents* web_contents,
- const gfx::Size& min_size,
- const gfx::Size& max_size);
+ content::WebContents* web_contents);
~ConstrainedWebDialogDelegateViewMac() override {}
// ConstrainedWebDialogDelegate interface
@@ -122,37 +74,16 @@ class ConstrainedWebDialogDelegateViewMac :
gfx::NativeWindow GetNativeDialog() override { return window_; }
WebContents* GetWebContents() override { return impl_->GetWebContents(); }
gfx::Size GetMinimumSize() const override {
- return min_size_;
+ NOTIMPLEMENTED();
+ return gfx::Size();
}
gfx::Size GetMaximumSize() const override {
- return max_size_;
+ NOTIMPLEMENTED();
+ return gfx::Size();
}
gfx::Size GetPreferredSize() const override {
- gfx::Size size;
- if (!impl_->closed_via_webui()) {
- NSRect frame = [window_ frame];
- size = gfx::Size(frame.size.width, frame.size.height);
- }
- return size;
- }
-
- // content::WebContentsObserver:
- void RenderViewCreated(content::RenderViewHost* render_view_host) override {
- if (IsDialogAutoResizable())
- EnableAutoResize();
- }
- void RenderViewHostChanged(content::RenderViewHost* old_host,
- content::RenderViewHost* new_host) override {
- if (IsDialogAutoResizable())
- EnableAutoResize();
- }
- void DocumentOnLoadCompletedInMainFrame() override {
- if (!IsDialogAutoResizable())
- return;
-
- EnableAutoResize();
- if (GetWebContents())
- constrained_window_->ShowWebContentsModalDialog();
+ NOTIMPLEMENTED();
+ return gfx::Size();
}
// ConstrainedWindowMacDelegate interface
@@ -163,53 +94,25 @@ class ConstrainedWebDialogDelegateViewMac :
}
private:
- void EnableAutoResize() {
- if (!GetWebContents())
- return;
-
- content::RenderViewHost* render_view_host =
- GetWebContents()->GetRenderViewHost();
- render_view_host->EnableAutoResize(min_size_, max_size_);
- }
-
- // Whether or not the dialog is autoresizable is determined based on whether
- // |max_size_| was specified.
- bool IsDialogAutoResizable() {
- return !max_size_.IsEmpty();
- }
-
scoped_ptr<ConstrainedWebDialogDelegateMac> impl_;
scoped_ptr<ConstrainedWindowMac> constrained_window_;
base::scoped_nsobject<NSWindow> window_;
- // Minimum and maximum sizes to determine dialog bounds for auto-resizing.
- const gfx::Size min_size_;
- const gfx::Size max_size_;
-
DISALLOW_COPY_AND_ASSIGN(ConstrainedWebDialogDelegateViewMac);
};
ConstrainedWebDialogDelegateViewMac::ConstrainedWebDialogDelegateViewMac(
content::BrowserContext* browser_context,
WebDialogDelegate* delegate,
- content::WebContents* web_contents,
- const gfx::Size& min_size,
- const gfx::Size& max_size)
- : content::WebContentsObserver(web_contents),
- impl_(new ConstrainedWebDialogDelegateMac(browser_context, delegate,
- this)),
- min_size_(min_size),
- max_size_(max_size) {
- if (IsDialogAutoResizable())
- Observe(GetWebContents());
-
+ content::WebContents* web_contents)
+ : impl_(new ConstrainedWebDialogDelegateMac(browser_context, delegate)) {
// Create a window to hold web_contents in the constrained sheet:
gfx::Size size;
delegate->GetDialogSize(&size);
NSRect frame = NSMakeRect(0, 0, size.width(), size.height());
- window_.reset([[ConstrainedWindowCustomWindow alloc]
- initWithContentRect:frame]);
+ window_.reset(
+ [[ConstrainedWindowCustomWindow alloc] initWithContentRect:frame]);
[GetWebContents()->GetNativeView() setFrame:frame];
[GetWebContents()->GetNativeView() setAutoresizingMask:
NSViewWidthSizable|NSViewHeightSizable];
@@ -218,14 +121,8 @@ ConstrainedWebDialogDelegateViewMac::ConstrainedWebDialogDelegateViewMac(
base::scoped_nsobject<WebDialogConstrainedWindowSheet> sheet(
[[WebDialogConstrainedWindowSheet alloc] initWithCustomWindow:window_
webDialogDelegate:delegate]);
-
- if (IsDialogAutoResizable()) {
- constrained_window_.reset(CreateWebModalDialogMac(
- this, web_contents, sheet));
- } else {
- constrained_window_.reset(CreateAndShowWebModalDialogMac(
- this, web_contents, sheet));
- }
+ constrained_window_.reset(new ConstrainedWindowMac(
+ this, web_contents, sheet));
impl_->set_window(constrained_window_.get());
}
@@ -237,23 +134,6 @@ ConstrainedWebDialogDelegate* ShowConstrainedWebDialog(
// Deleted when the dialog closes.
ConstrainedWebDialogDelegateViewMac* constrained_delegate =
new ConstrainedWebDialogDelegateViewMac(
- browser_context, delegate, web_contents,
- gfx::Size(), gfx::Size());
- return constrained_delegate;
-}
-
-ConstrainedWebDialogDelegate* ShowConstrainedWebDialogWithAutoResize(
- content::BrowserContext* browser_context,
- WebDialogDelegate* delegate,
- content::WebContents* web_contents,
- const gfx::Size& min_size,
- const gfx::Size& max_size) {
- DCHECK(!min_size.IsEmpty());
- DCHECK(!max_size.IsEmpty());
- // Deleted when the dialog closes.
- ConstrainedWebDialogDelegateViewMac* constrained_delegate =
- new ConstrainedWebDialogDelegateViewMac(
- browser_context, delegate, web_contents,
- min_size, max_size);
+ browser_context, delegate, web_contents);
return constrained_delegate;
}
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sheet.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sheet.mm
index ab67fc6..aac5946 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sheet.mm
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_sheet.mm
@@ -73,10 +73,6 @@
[customWindow_ setFrameOrigin:origin];
}
-- (void)resizeWithNewSize:(NSSize)size {
- // NOOP
-}
-
- (NSWindow*)sheetWindow {
return customWindow_;
}
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h
index 2a3b5a6..e3d981e 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h
@@ -7,9 +7,6 @@
#import <Cocoa/Cocoa.h>
-#include "base/mac/scoped_nsobject.h"
-#include "components/web_modal/web_contents_modal_dialog_manager.h"
-
namespace content {
class WebContents;
}
@@ -24,18 +21,6 @@ class ConstrainedWindowMacDelegate {
virtual void OnConstrainedWindowClosed(ConstrainedWindowMac* window) = 0;
};
-// Creates a ConstrainedWindowMac, shows the dialog, and returns it.
-ConstrainedWindowMac* CreateAndShowWebModalDialogMac(
- ConstrainedWindowMacDelegate* delegate,
- content::WebContents* web_contents,
- id<ConstrainedWindowSheet> sheet);
-
-// Creates a ConstrainedWindowMac and returns it.
-ConstrainedWindowMac* CreateWebModalDialogMac(
- ConstrainedWindowMacDelegate* delegate,
- content::WebContents* web_contents,
- id<ConstrainedWindowSheet> sheet);
-
// Constrained window implementation for Mac.
// Normally an instance of this class is owned by the delegate. The delegate
// should delete the instance when the window is closed.
@@ -46,9 +31,6 @@ class ConstrainedWindowMac {
id<ConstrainedWindowSheet> sheet);
~ConstrainedWindowMac();
- // Shows the constrained window.
- void ShowWebContentsModalDialog();
-
// Closes the constrained window.
void CloseWebContentsModalDialog();
@@ -56,20 +38,13 @@ class ConstrainedWindowMac {
void set_manager(SingleWebContentsDialogManagerCocoa* manager) {
manager_ = manager;
}
- id<ConstrainedWindowSheet> sheet() const { return sheet_.get(); }
// Called by |manager_| when the dialog is closing.
void OnDialogClosing();
- // Gets the dialog manager for |web_contents_|.
- web_modal::WebContentsModalDialogManager* GetDialogManager();
-
private:
ConstrainedWindowMacDelegate* delegate_; // weak, owns us.
SingleWebContentsDialogManagerCocoa* manager_; // weak, owned by WCMDM.
- content::WebContents* web_contents_; // weak, owned by dialog initiator.
- base::scoped_nsprotocol<id<ConstrainedWindowSheet>> sheet_;
- scoped_ptr<SingleWebContentsDialogManagerCocoa> native_manager_;
};
#endif // CHROME_BROWSER_UI_COCOA_CONSTRAINED_WINDOW_CONSTRAINED_WINDOW_MAC_
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
index c3b9a2c..f043fad 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
@@ -9,56 +9,34 @@
#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h"
#import "chrome/browser/ui/cocoa/single_web_contents_dialog_manager_cocoa.h"
#include "components/guest_view/browser/guest_view_base.h"
+#include "components/web_modal/web_contents_modal_dialog_manager.h"
#include "content/public/browser/browser_thread.h"
using web_modal::WebContentsModalDialogManager;
-ConstrainedWindowMac* CreateAndShowWebModalDialogMac(
- ConstrainedWindowMacDelegate* delegate,
- content::WebContents* web_contents,
- id<ConstrainedWindowSheet> sheet) {
- ConstrainedWindowMac* window =
- new ConstrainedWindowMac(delegate, web_contents, sheet);
- window->ShowWebContentsModalDialog();
- return window;
-}
-
-ConstrainedWindowMac* CreateWebModalDialogMac(
- ConstrainedWindowMacDelegate* delegate,
- content::WebContents* web_contents,
- id<ConstrainedWindowSheet> sheet) {
- return new ConstrainedWindowMac(delegate, web_contents, sheet);
-}
-
ConstrainedWindowMac::ConstrainedWindowMac(
ConstrainedWindowMacDelegate* delegate,
content::WebContents* web_contents,
id<ConstrainedWindowSheet> sheet)
- : delegate_(delegate),
- sheet_([sheet retain]) {
+ : delegate_(delegate) {
DCHECK(sheet);
// |web_contents| may be embedded within a chain of nested GuestViews. If it
// is, follow the chain of embedders to the outermost WebContents and use it.
- web_contents_ =
+ web_contents =
guest_view::GuestViewBase::GetTopLevelWebContents(web_contents);
- native_manager_.reset(
- new SingleWebContentsDialogManagerCocoa(this, sheet_.get(),
- GetDialogManager()));
+ auto manager = WebContentsModalDialogManager::FromWebContents(web_contents);
+ scoped_ptr<SingleWebContentsDialogManagerCocoa> native_manager(
+ new SingleWebContentsDialogManagerCocoa(this, sheet, manager));
+ manager->ShowDialogWithManager([sheet sheetWindow], native_manager.Pass());
}
ConstrainedWindowMac::~ConstrainedWindowMac() {
CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- native_manager_.reset();
DCHECK(!manager_);
}
-void ConstrainedWindowMac::ShowWebContentsModalDialog() {
- GetDialogManager()->ShowDialogWithManager(
- [sheet_.get() sheetWindow], native_manager_.Pass());
-}
-
void ConstrainedWindowMac::CloseWebContentsModalDialog() {
if (manager_)
manager_->Close();
@@ -68,8 +46,3 @@ void ConstrainedWindowMac::OnDialogClosing() {
if (delegate_)
delegate_->OnConstrainedWindowClosed(this);
}
-
-WebContentsModalDialogManager* ConstrainedWindowMac::GetDialogManager() {
- DCHECK(web_contents_);
- return WebContentsModalDialogManager::FromWebContents(web_contents_);
-}
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac_browsertest.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac_browsertest.mm
index f5712aa..5456a25 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac_browsertest.mm
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac_browsertest.mm
@@ -77,15 +77,14 @@ class ConstrainedWindowMacTest : public InProcessBrowserTest {
IN_PROC_BROWSER_TEST_F(ConstrainedWindowMacTest, ShowInInactiveTab) {
// Show dialog in non active tab.
NiceMock<ConstrainedWindowDelegateMock> delegate;
- ConstrainedWindowMac* dialog =
- CreateAndShowWebModalDialogMac(&delegate, tab0_, sheet_);
+ ConstrainedWindowMac dialog(&delegate, tab0_, sheet_);
EXPECT_EQ(0.0, [sheet_window_ alphaValue]);
// Switch to inactive tab.
browser()->tab_strip_model()->ActivateTabAt(0, true);
EXPECT_EQ(1.0, [sheet_window_ alphaValue]);
- dialog->CloseWebContentsModalDialog();
+ dialog.CloseWebContentsModalDialog();
}
// If a tab has never been shown then the associated tab view for the web
@@ -104,8 +103,7 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWindowMacTest, ShowInUninitializedTab) {
// Show dialog and verify that it's not visible yet.
NiceMock<ConstrainedWindowDelegateMock> delegate;
- ConstrainedWindowMac* dialog =
- CreateAndShowWebModalDialogMac(&delegate, tab2, sheet_);
+ ConstrainedWindowMac dialog(&delegate, tab2, sheet_);
EXPECT_FALSE([sheet_window_ isVisible]);
// Activate the tab and verify that the constrained window is shown.
@@ -114,26 +112,25 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWindowMacTest, ShowInUninitializedTab) {
EXPECT_TRUE([sheet_window_ isVisible]);
EXPECT_EQ(1.0, [sheet_window_ alphaValue]);
- dialog->CloseWebContentsModalDialog();
+ dialog.CloseWebContentsModalDialog();
}
// Test that adding a sheet disables tab dragging.
IN_PROC_BROWSER_TEST_F(ConstrainedWindowMacTest, TabDragging) {
NiceMock<ConstrainedWindowDelegateMock> delegate;
- ConstrainedWindowMac* dialog =
- CreateAndShowWebModalDialogMac(&delegate, tab1_, sheet_);
+ ConstrainedWindowMac dialog(&delegate, tab1_, sheet_);
// Verify that the dialog disables dragging.
EXPECT_TRUE([controller_ isTabDraggable:tab_view0_]);
EXPECT_FALSE([controller_ isTabDraggable:tab_view1_]);
- dialog->CloseWebContentsModalDialog();
+ dialog.CloseWebContentsModalDialog();
}
// Test that closing a browser window with a sheet works.
IN_PROC_BROWSER_TEST_F(ConstrainedWindowMacTest, BrowserWindowClose) {
NiceMock<ConstrainedWindowDelegateMock> delegate;
- CreateAndShowWebModalDialogMac(&delegate, tab1_, sheet_);
+ ConstrainedWindowMac dialog(&delegate, tab1_, sheet_);
EXPECT_EQ(1.0, [sheet_window_ alphaValue]);
// Close the browser window.
@@ -147,7 +144,7 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWindowMacTest, BrowserWindowClose) {
// Test that closing a tab with a sheet works.
IN_PROC_BROWSER_TEST_F(ConstrainedWindowMacTest, TabClose) {
NiceMock<ConstrainedWindowDelegateMock> delegate;
- CreateAndShowWebModalDialogMac(&delegate, tab1_, sheet_);
+ ConstrainedWindowMac dialog(&delegate, tab1_, sheet_);
EXPECT_EQ(1.0, [sheet_window_ alphaValue]);
// Close the tab.
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h b/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h
index cf24f7d..4549556 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h
@@ -24,8 +24,6 @@
- (void)updateSheetPosition;
-- (void)resizeWithNewSize:(NSSize)size;
-
@property(readonly, nonatomic) NSWindow* sheetWindow;
@end
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm
index 6cbccc7..efa051f 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm
@@ -56,10 +56,6 @@ const int kSystemSheetReturnCode = 77;
- (void)updateSheetPosition {
}
-- (void)resizeWithNewSize:(NSSize)size {
- // NOOP
-}
-
- (NSWindow*)sheetWindow {
return [alert_ window];
}
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_web_dialog_sheet.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_web_dialog_sheet.mm
index 6e7d3f1..3c71f00 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_web_dialog_sheet.mm
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_web_dialog_sheet.mm
@@ -27,14 +27,4 @@
[super updateSheetPosition];
}
-- (void)resizeWithNewSize:(NSSize)size {
- [customWindow_ setContentSize:size];
-
- // self's updateSheetPosition() sets |customWindow_|'s contentSize to a
- // fixed dialog size. Here, we want to resize to |size| instead. Use
- // super rather than self to bypass the setContentSize() call for the fixed
- // size.
- [super updateSheetPosition];
-}
-
@end
diff --git a/chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm b/chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm
index 65c9182..5cc1a6b6 100644
--- a/chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm
+++ b/chrome/browser/ui/cocoa/content_settings/collected_cookies_mac.mm
@@ -66,7 +66,8 @@ CollectedCookiesMac::CollectedCookiesMac(content::WebContents* web_contents) {
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc]
initWithCustomWindow:[sheet_controller_ window]]);
- window_.reset(CreateAndShowWebModalDialogMac(this, web_contents, sheet));
+ window_.reset(new ConstrainedWindowMac(
+ this, web_contents, sheet));
}
CollectedCookiesMac::~CollectedCookiesMac() {
diff --git a/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm b/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm
index a03c00f..6babaf2 100644
--- a/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm
+++ b/chrome/browser/ui/cocoa/extensions/device_permissions_dialog_controller.mm
@@ -34,7 +34,7 @@ DevicePermissionsDialogController::DevicePermissionsDialogController(
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc] initWithCustomWindow:window]);
constrained_window_.reset(
- CreateAndShowWebModalDialogMac(this, web_contents, sheet));
+ new ConstrainedWindowMac(this, web_contents, sheet));
}
DevicePermissionsDialogController::~DevicePermissionsDialogController() {
diff --git a/chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm b/chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm
index c4e94a9..c901e17 100644
--- a/chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm
+++ b/chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm
@@ -55,7 +55,7 @@ ExtensionInstallDialogController::ExtensionInstallDialogController(
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc] initWithCustomWindow:window]);
- constrained_window_.reset(CreateAndShowWebModalDialogMac(
+ constrained_window_.reset(new ConstrainedWindowMac(
this, show_params->GetParentWebContents(), sheet));
std::string event_name = ExperienceSamplingEvent::kExtensionInstallDialog;
diff --git a/chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa.mm b/chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa.mm
index 05c2567..976d672 100644
--- a/chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa.mm
+++ b/chrome/browser/ui/cocoa/extensions/media_galleries_dialog_cocoa.mm
@@ -100,7 +100,7 @@ MediaGalleriesDialogCocoa::MediaGalleriesDialogCocoa(
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc]
initWithCustomWindow:[alert_ window]]);
- window_.reset(CreateAndShowWebModalDialogMac(
+ window_.reset(new ConstrainedWindowMac(
this, controller->WebContents(), sheet));
}
}
diff --git a/chrome/browser/ui/cocoa/login_prompt_cocoa.mm b/chrome/browser/ui/cocoa/login_prompt_cocoa.mm
index 5706eb6..4ba6292 100644
--- a/chrome/browser/ui/cocoa/login_prompt_cocoa.mm
+++ b/chrome/browser/ui/cocoa/login_prompt_cocoa.mm
@@ -77,7 +77,7 @@ class LoginHandlerMac : public LoginHandler,
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc]
initWithCustomWindow:[sheet_controller_ window]]);
- constrained_window_.reset(CreateAndShowWebModalDialogMac(
+ constrained_window_.reset(new ConstrainedWindowMac(
this, requesting_contents, sheet));
NotifyAuthNeeded();
diff --git a/chrome/browser/ui/cocoa/one_click_signin_dialog_controller.mm b/chrome/browser/ui/cocoa/one_click_signin_dialog_controller.mm
index 480dfcf..f0156f2 100644
--- a/chrome/browser/ui/cocoa/one_click_signin_dialog_controller.mm
+++ b/chrome/browser/ui/cocoa/one_click_signin_dialog_controller.mm
@@ -30,15 +30,15 @@ OneClickSigninDialogController::OneClickSigninDialogController(
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc] initWithCustomWindow:window]);
- constrained_window_.reset(
- CreateAndShowWebModalDialogMac(this, web_contents, sheet));
+ constrained_window_.reset(new ConstrainedWindowMac(
+ this, web_contents, sheet));
}
OneClickSigninDialogController::~OneClickSigninDialogController() {
}
void OneClickSigninDialogController::OnConstrainedWindowClosed(
- ConstrainedWindowMac* window) {
+ ConstrainedWindowMac* window) {
[view_controller_ viewWillClose];
base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
}
diff --git a/chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_dialog_cocoa.mm b/chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_dialog_cocoa.mm
index c58ba64..a46b4eb 100644
--- a/chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_dialog_cocoa.mm
+++ b/chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_dialog_cocoa.mm
@@ -59,7 +59,7 @@ ProfileSigninConfirmationDialogCocoa::ProfileSigninConfirmationDialogCocoa(
[[window contentView] addSubview:[controller_ view]];
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc] initWithCustomWindow:window]);
- window_.reset(CreateAndShowWebModalDialogMac(this, web_contents, sheet));
+ window_.reset(new ConstrainedWindowMac(this, web_contents, sheet));
}
ProfileSigninConfirmationDialogCocoa::~ProfileSigninConfirmationDialogCocoa() {
diff --git a/chrome/browser/ui/cocoa/profiles/user_manager_mac.mm b/chrome/browser/ui/cocoa/profiles/user_manager_mac.mm
index 8cf1c97..e5bf1c2 100644
--- a/chrome/browser/ui/cocoa/profiles/user_manager_mac.mm
+++ b/chrome/browser/ui/cocoa/profiles/user_manager_mac.mm
@@ -203,8 +203,8 @@ class ReauthDialogDelegate : public UserManager::ReauthDialogObserver,
[[CustomConstrainedWindowSheet alloc]
initWithCustomWindow:[self window]]);
constrained_window_.reset(
- CreateAndShowWebModalDialogMac(
- webContentsDelegate_.get(), webContents_, sheet));
+ new ConstrainedWindowMac(
+ webContentsDelegate_.get(), webContents_, sheet));
// The close button needs to call CloseWebContentsModalDialog() on the
// constrained window isntead of just [window close] so grab a reference to
diff --git a/chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.mm b/chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.mm
index f634d11..6e2703d 100644
--- a/chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.mm
+++ b/chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.mm
@@ -176,7 +176,7 @@ void ShowSSLClientCertificateSelector(
}
constrainedWindow_.reset(
- CreateAndShowWebModalDialogMac(observer_.get(), webContents, self));
+ new ConstrainedWindowMac(observer_.get(), webContents, self));
observer_->StartObserving();
}
@@ -256,10 +256,6 @@ void ShowSSLClientCertificateSelector(
// NOOP
}
-- (void)resizeWithNewSize:(NSSize)size {
- // NOOP
-}
-
- (NSWindow*)sheetWindow {
return panel_;
}
diff --git a/chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm b/chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm
index 7b78d81..abddcf9 100644
--- a/chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm
+++ b/chrome/browser/ui/cocoa/tab_modal_confirm_dialog_mac.mm
@@ -92,7 +92,7 @@ TabModalConfirmDialogMac::TabModalConfirmDialogMac(
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet(
[[CustomConstrainedWindowSheet alloc]
initWithCustomWindow:[alert_ window]]);
- window_.reset(CreateAndShowWebModalDialogMac(this, web_contents, sheet));
+ window_.reset(new ConstrainedWindowMac(this, web_contents, sheet));
delegate_->set_close_delegate(this);
}
diff --git a/chrome/browser/ui/cocoa/web_contents_modal_dialog_manager_views_mac.mm b/chrome/browser/ui/cocoa/web_contents_modal_dialog_manager_views_mac.mm
index 31f057f..1eefbd1 100644
--- a/chrome/browser/ui/cocoa/web_contents_modal_dialog_manager_views_mac.mm
+++ b/chrome/browser/ui/cocoa/web_contents_modal_dialog_manager_views_mac.mm
@@ -96,10 +96,6 @@
[customWindow_ setFrameOrigin:origin];
}
-- (void)resizeWithNewSize:(NSSize)size {
- // NOOP
-}
-
- (NSWindow*)sheetWindow {
return customWindow_;
}
diff --git a/chrome/browser/ui/webui/constrained_web_dialog_delegate_base.cc b/chrome/browser/ui/webui/constrained_web_dialog_delegate_base.cc
index db4c547..fd60a4b 100644
--- a/chrome/browser/ui/webui/constrained_web_dialog_delegate_base.cc
+++ b/chrome/browser/ui/webui/constrained_web_dialog_delegate_base.cc
@@ -113,8 +113,3 @@ gfx::Size ConstrainedWebDialogDelegateBase::GetPreferredSize() const {
NOTREACHED();
return gfx::Size();
}
-
-void ConstrainedWebDialogDelegateBase::ResizeToGivenSize(
- const gfx::Size size) {
- NOTREACHED();
-}
diff --git a/chrome/browser/ui/webui/constrained_web_dialog_delegate_base.h b/chrome/browser/ui/webui/constrained_web_dialog_delegate_base.h
index 2fac4b5..973608f 100644
--- a/chrome/browser/ui/webui/constrained_web_dialog_delegate_base.h
+++ b/chrome/browser/ui/webui/constrained_web_dialog_delegate_base.h
@@ -23,8 +23,6 @@ class ConstrainedWebDialogDelegateBase
: public ConstrainedWebDialogDelegate,
public ui::WebDialogWebContentsDelegate {
public:
- // |browser_context| and |delegate| must outlive |this| instance, whereas
- // |this| will take ownership of |tab_delegate|.
ConstrainedWebDialogDelegateBase(content::BrowserContext* browser_context,
ui::WebDialogDelegate* delegate,
WebDialogWebContentsDelegate* tab_delegate);
@@ -48,9 +46,6 @@ class ConstrainedWebDialogDelegateBase
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) override;
- // Resize the dialog to the given size.
- virtual void ResizeToGivenSize(const gfx::Size size);
-
private:
scoped_ptr<ui::WebDialogDelegate> web_dialog_delegate_;
diff --git a/chrome/browser/ui/webui/constrained_web_dialog_ui.h b/chrome/browser/ui/webui/constrained_web_dialog_ui.h
index c0e883c..62c9a8b 100644
--- a/chrome/browser/ui/webui/constrained_web_dialog_ui.h
+++ b/chrome/browser/ui/webui/constrained_web_dialog_ui.h
@@ -50,8 +50,6 @@ class ConstrainedWebDialogDelegate {
// Returns the maximum size for the dialog.
virtual gfx::Size GetMaximumSize() const = 0;
- // Returns the preferred size for the dialog, or an empty size if
- // the dialog has been closed.
virtual gfx::Size GetPreferredSize() const = 0;
protected:
diff --git a/chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc b/chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc
index 88f6c7f..08fec2d 100644
--- a/chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc
+++ b/chrome/browser/ui/webui/constrained_web_dialog_ui_browsertest.cc
@@ -25,6 +25,7 @@ using web_modal::WebContentsModalDialogManager;
namespace {
+#if !defined(OS_MACOSX)
static const char kTestDataURL[] = "data:text/html,<!doctype html>"
"<body></body>"
"<style>"
@@ -40,6 +41,7 @@ std::string GetChangeDimensionsScript(int dimension) {
return base::StringPrintf("window.document.body.style.width = %d + 'px';"
"window.document.body.style.height = %d + 'px';", dimension, dimension);
}
+#endif
class ConstrainedWebDialogBrowserTestObserver
: public content::WebContentsObserver {
@@ -133,6 +135,7 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest,
EXPECT_TRUE(observer.contents_destroyed());
}
+#if !defined(OS_MACOSX)
// Tests that dialog autoresizes based on web contents when autoresizing
// is enabled.
IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest,
@@ -171,6 +174,7 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest,
EXPECT_EQ(max_size, dialog_delegate->GetMaximumSize());
// Check for initial sizing. Dialog was created as a 400x400 dialog.
+ EXPECT_EQ(gfx::Size(), web_contents->GetPreferredSize());
ASSERT_EQ(initial_dialog_size, dialog_delegate->GetPreferredSize());
observer.Wait();
@@ -234,6 +238,7 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest,
delegate->GetDialogSize(&initial_dialog_size);
// Check for initial sizing. Dialog was created as a 400x400 dialog.
+ EXPECT_EQ(gfx::Size(), web_contents->GetPreferredSize());
ASSERT_EQ(initial_dialog_size, dialog_delegate->GetPreferredSize());
// Resize <body> to dimension smaller than dialog.
@@ -252,3 +257,4 @@ IN_PROC_BROWSER_TEST_F(ConstrainedWebDialogBrowserTest,
initial_dialog_size,
dialog_delegate)));
}
+#endif // !OS_MACOSX