Index: chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm |
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 4d552cfa04836c55b6b3d182e9d4c06a642d328e..ec9a5b7cdc6eb6996a24f733c677a7c53169ab60 100644 |
--- a/chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm |
+++ b/chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller.mm |
@@ -534,18 +534,34 @@ void DrawBulletInFrame(NSRect frame) { |
@end // ExtensionInstallDialogController |
-void ShowExtensionInstallDialogImpl( |
- gfx::NativeWindow parent, |
- content::PageNavigator* navigator, |
- ExtensionInstallPrompt::Delegate* delegate, |
- const ExtensionInstallPrompt::Prompt& prompt) { |
- ExtensionInstallDialogController* controller = |
- [[ExtensionInstallDialogController alloc] |
- initWithParentWindow:parent |
- navigator:navigator |
- delegate:delegate |
- prompt:prompt]; |
- |
- // TODO(mihaip): Switch this to be tab-modal (http://crbug.com/95455) |
- [controller runAsModalSheet]; |
+class ExtensionInstallDialogMac : public ExtensionInstallDialog { |
+ public: |
+ virtual void ShowExtensionInstallDialog( |
+ gfx::NativeWindow parent, |
+ content::PageNavigator* navigator, |
+ ExtensionInstallPrompt::Delegate* delegate, |
+ const ExtensionInstallPrompt::Prompt& prompt) OVERRIDE { |
+ ExtensionInstallDialogController* controller = |
+ [[ExtensionInstallDialogController alloc] |
+ initWithParentWindow:parent |
+ navigator:navigator |
+ delegate:delegate |
+ prompt:prompt]; |
+ |
+ // TODO(mihaip): Switch this to be tab-modal (http://crbug.com/95455) |
+ [controller runAsModalSheet]; |
+ } |
+ |
+ private: |
+ friend class base::RefCounted<ExtensionInstallDialogMac>; |
+ virtual ~ExtensionInstallDialogMac(); |
+}; |
+ |
+ExtensionInstallDialogMac::~ExtensionInstallDialogMac() { |
+} |
+ |
+// static |
+scoped_refptr<ExtensionInstallDialog> |
+ExtensionInstallDialog::CreateDefaultImpl() { |
+ return new ExtensionInstallDialogMac; |
} |