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 3c8c24f8635f32ebfe683f7ed6a372e16f4cc1ad..c8e50d2f052dcb62a7a220be40a8b2a3830365a6 100644 |
--- a/chrome/browser/printing/print_preview_dialog_controller.cc |
+++ b/chrome/browser/printing/print_preview_dialog_controller.cc |
@@ -16,7 +16,6 @@ |
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" |
#include "chrome/browser/plugins/chrome_plugin_service_filter.h" |
#include "chrome/browser/printing/print_view_manager.h" |
-#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_finder.h" |
#include "chrome/browser/ui/browser_navigator.h" |
@@ -42,14 +41,10 @@ |
#include "content/public/browser/web_contents_delegate.h" |
#include "content/public/common/webplugininfo.h" |
#include "ui/web_dialogs/web_dialog_delegate.h" |
-#include "ui/web_dialogs/web_dialog_web_contents_delegate.h" |
-using content::NativeWebKeyboardEvent; |
using content::NavigationController; |
using content::WebContents; |
using content::WebUIMessageHandler; |
-using ui::WebDialogDelegate; |
-using ui::WebDialogWebContentsDelegate; |
namespace { |
@@ -70,9 +65,8 @@ void EnableInternalPDFPluginForContents(WebContents* preview_dialog) { |
GURL(), pdf_plugin); |
} |
-// WebDialogDelegate that specifies what the print preview dialog |
-// will look like. |
-class PrintPreviewDialogDelegate : public WebDialogDelegate { |
+// A ui::WebDialogDelegate that specifies the print preview dialog appearance. |
+class PrintPreviewDialogDelegate : public ui::WebDialogDelegate { |
public: |
explicit PrintPreviewDialogDelegate(WebContents* initiator); |
virtual ~PrintPreviewDialogDelegate(); |
@@ -167,44 +161,6 @@ bool PrintPreviewDialogDelegate::ShouldShowDialogTitle() const { |
return false; |
} |
-// WebContentsDelegate that forwards shortcut keys in the print preview |
-// renderer to the browser. |
-class PrintPreviewWebContentDelegate : public WebDialogWebContentsDelegate { |
- public: |
- PrintPreviewWebContentDelegate(Profile* profile, WebContents* initiator); |
- virtual ~PrintPreviewWebContentDelegate(); |
- |
- // Overridden from WebDialogWebContentsDelegate: |
- virtual void HandleKeyboardEvent( |
- WebContents* source, |
- const NativeWebKeyboardEvent& event) OVERRIDE; |
- |
- private: |
- WebContents* initiator_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PrintPreviewWebContentDelegate); |
-}; |
- |
-PrintPreviewWebContentDelegate::PrintPreviewWebContentDelegate( |
- Profile* profile, |
- WebContents* initiator) |
- : WebDialogWebContentsDelegate(profile, new ChromeWebContentsHandler), |
- initiator_(initiator) {} |
- |
-PrintPreviewWebContentDelegate::~PrintPreviewWebContentDelegate() {} |
- |
-void PrintPreviewWebContentDelegate::HandleKeyboardEvent( |
- WebContents* source, |
- const NativeWebKeyboardEvent& event) { |
- // Disabled on Mac due to http://crbug.com/112173 |
-#if !defined(OS_MACOSX) |
- Browser* current_browser = chrome::FindBrowserWithWebContents(initiator_); |
- if (!current_browser) |
- return; |
- current_browser->window()->HandleKeyboardEvent(event); |
-#endif |
-} |
- |
} // namespace |
namespace printing { |
@@ -412,22 +368,14 @@ void PrintPreviewDialogController::OnNavEntryCommitted( |
WebContents* PrintPreviewDialogController::CreatePrintPreviewDialog( |
WebContents* initiator) { |
base::AutoReset<bool> auto_reset(&is_creating_print_preview_dialog_, true); |
- Profile* profile = |
- Profile::FromBrowserContext(initiator->GetBrowserContext()); |
- |
- // |web_dialog_ui_delegate| deletes itself in |
- // PrintPreviewDialogDelegate::OnDialogClosed(). |
- WebDialogDelegate* web_dialog_delegate = |
- new PrintPreviewDialogDelegate(initiator); |
- // |web_dialog_delegate|'s owner is |constrained_delegate|. |
- PrintPreviewWebContentDelegate* pp_wcd = |
- new PrintPreviewWebContentDelegate(profile, initiator); |
- ConstrainedWebDialogDelegate* constrained_delegate = |
- CreateConstrainedWebDialog(profile, |
- web_dialog_delegate, |
- pp_wcd, |
+ |
+ // The dialog delegates are deleted when the dialog is closed. |
+ ConstrainedWebDialogDelegate* web_dialog_delegate = |
+ CreateConstrainedWebDialog(initiator->GetBrowserContext(), |
+ new PrintPreviewDialogDelegate(initiator), |
initiator); |
- WebContents* preview_dialog = constrained_delegate->GetWebContents(); |
+ |
+ WebContents* preview_dialog = web_dialog_delegate->GetWebContents(); |
EnableInternalPDFPluginForContents(preview_dialog); |
PrintViewManager::CreateForWebContents(preview_dialog); |
extensions::ChromeExtensionWebContentsObserver::CreateForWebContents( |