Chromium Code Reviews| Index: chrome/browser/printing/print_preview_dialog_controller.cc |
| diff --git a/chrome/browser/printing/print_preview_dialog_controller.cc b/chrome/browser/printing/print_preview_dialog_controller.cc |
| index 6211d5c39e99661f74f0542e1160510e06b3018d..79c2668b8409895d1ad45aff3b78ac6e20b65ae0 100644 |
| --- a/chrome/browser/printing/print_preview_dialog_controller.cc |
| +++ b/chrome/browser/printing/print_preview_dialog_controller.cc |
| @@ -78,9 +78,7 @@ PrintPreviewDialogDelegate::~PrintPreviewDialogDelegate() { |
| } |
| ui::ModalType PrintPreviewDialogDelegate::GetDialogModalType() const { |
| - // Not used, returning dummy value. |
| - NOTREACHED(); |
| - return ui::MODAL_TYPE_WINDOW; |
| + return ui::MODAL_TYPE_CHILD; |
| } |
| base::string16 PrintPreviewDialogDelegate::GetDialogTitle() const { |
| @@ -99,10 +97,14 @@ void PrintPreviewDialogDelegate::GetWebUIMessageHandlers( |
| void PrintPreviewDialogDelegate::GetDialogSize(gfx::Size* size) const { |
| DCHECK(size); |
| - const gfx::Size kMinDialogSize(800, 480); |
| const int kBorder = 25; |
| + const gfx::Size kMinDialogSize(438, 455); |
| +// keeps Mac behavior the same as before new unclipped dialogs |
|
Mike Wittman
2016/08/15 19:36:37
Can you provide more context here on the differenc
rbpotter
2016/08/15 21:32:54
Done.
|
| +#if defined(OS_MACOSX) |
| + kMinDialogSize.set_width(800); |
|
Mike Wittman
2016/08/15 19:36:37
I don't think this will compile on Mac. Better wou
rbpotter
2016/08/15 21:32:54
Done.
|
| + kMinDialogSize.set_height(480); |
| +#endif |
| *size = kMinDialogSize; |
| - |
| web_modal::WebContentsModalDialogHost* host = nullptr; |
| content::WebContents* outermost_web_contents = |
| guest_view::GuestViewBase::GetTopLevelWebContents(initiator_); |
| @@ -114,8 +116,16 @@ void PrintPreviewDialogDelegate::GetDialogSize(gfx::Size* size) const { |
| size->SetToMax(host->GetMaximumDialogSize()); |
| else |
| size->SetToMax(outermost_web_contents->GetContainerBounds().size()); |
| - size->Enlarge(-2 * kBorder, -kBorder); |
| - |
| + int expand_width = |
| + std::min(size->width() - kMinDialogSize.width(), 2 * kBorder); |
| + int expand_height = |
| + std::min(size->height() - kMinDialogSize.height(), kBorder); |
| +// keeps Mac behavior the same as before new unclipped dialogs |
| +#if defined(OS_MACOSX) |
| + expand_width = 2*kBorder; |
|
Mike Wittman
2016/08/15 19:36:37
#ifdef's are much easier to understand when the pl
rbpotter
2016/08/15 21:32:54
Done.
|
| + expand_height = kBorder; |
| +#endif |
| + size->Enlarge(-expand_width, -expand_height); |
| #if defined(OS_MACOSX) |
| // Limit the maximum size on MacOS X. |
| // http://crbug.com/105815 |
| @@ -365,10 +375,9 @@ WebContents* PrintPreviewDialogController::CreatePrintPreviewDialog( |
| // The dialog delegates are deleted when the dialog is closed. |
| ConstrainedWebDialogDelegate* web_dialog_delegate = |
| - ShowConstrainedWebDialog(initiator->GetBrowserContext(), |
| - new PrintPreviewDialogDelegate(initiator), |
| - initiator); |
| - |
| + ShowNonClippedConstrainedWebDialog( |
| + initiator->GetBrowserContext(), |
| + new PrintPreviewDialogDelegate(initiator), initiator); |
| WebContents* preview_dialog = web_dialog_delegate->GetWebContents(); |
| // Clear the zoom level for the print preview dialog so it isn't affected by |