Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4860)

Unified Diff: chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm

Issue 1674063002: Revert of [Reland] Enable AutoResize for Constrained Web Dialogs for Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm
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 5dc49ab2cd9379615439830a019f6f79fdba9a53..0ce4df8dabd21d94c623d0ae10d11a73afba8b5d 100644
--- a/chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm
+++ b/chrome/browser/ui/cocoa/constrained_web_dialog_delegate_mac.mm
@@ -11,11 +11,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/base/cocoa/window_size_constants.h"
#include "ui/gfx/geometry/size.h"
#include "ui/web_dialogs/web_dialog_delegate.h"
#include "ui/web_dialogs/web_dialog_ui.h"
@@ -27,59 +23,17 @@
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; }
@@ -96,16 +50,13 @@
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
@@ -124,37 +75,16 @@
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
@@ -165,28 +95,9 @@
}
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_;
- std::unique_ptr<ConstrainedWindowMac> constrained_window_;
+ 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);
};
@@ -194,24 +105,15 @@
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:ui::kWindowSizeDeterminedLater]);
+ window_.reset(
+ [[ConstrainedWindowCustomWindow alloc] initWithContentRect:frame]);
[GetWebContents()->GetNativeView() setFrame:frame];
[GetWebContents()->GetNativeView() setAutoresizingMask:
NSViewWidthSizable|NSViewHeightSizable];
@@ -220,14 +122,8 @@
base::scoped_nsobject<WebDialogConstrainedWindowSheet> sheet(
[[WebDialogConstrainedWindowSheet alloc] initWithCustomWindow:window_
webDialogDelegate:delegate]);
-
- if (IsDialogAutoResizable()) {
- constrained_window_ = CreateWebModalDialogMac(
- this, web_contents, sheet);
- } else {
- constrained_window_ = CreateAndShowWebModalDialogMac(
- this, web_contents, sheet);
- }
+ constrained_window_.reset(new ConstrainedWindowMac(
+ this, web_contents, sheet));
impl_->set_window(constrained_window_.get());
}
@@ -239,23 +135,6 @@
// Deleted when the dialog closes.
ConstrainedWebDialogDelegateViewMac* constrained_delegate =
new ConstrainedWebDialogDelegateViewMac(
- browser_context, delegate, web_contents,
- gfx::Size(), gfx::Size());
+ browser_context, delegate, web_contents);
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);
- return constrained_delegate;
-}

Powered by Google App Engine
This is Rietveld 408576698