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..aa1304f4f6e62ff1093c12a7d26f7987b707d592 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,31 @@ 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 ShowExtensionInstallDialogImpl( |
+ 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: |
+ ~ExtensionInstallDialogMac() { |
+ } |
+}; |
+ |
+// static |
+scoped_refptr<ExtensionInstallDialog> |
+ExtensionInstallDialog::CreateDefaultImpl() { |
+ return new ExtensionInstallDialogMac; |
} |