| 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;
 | 
| -}
 | 
| 
 |