Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1604)

Unified Diff: chrome/browser/extensions/extension_uninstall_dialog.h

Issue 382133003: Refactored ExtensionUninstallDialog to take a NativeWindow instead of a Browser (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moved Browser out of ExtensionUninstallDialogViews Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_uninstall_dialog.h
diff --git a/chrome/browser/extensions/extension_uninstall_dialog.h b/chrome/browser/extensions/extension_uninstall_dialog.h
index 0d2f112a1ad781feb8fb145e165efd98af28205a..3828338037920ef90ed780d050aae8fd22f71cd8 100644
--- a/chrome/browser/extensions/extension_uninstall_dialog.h
+++ b/chrome/browser/extensions/extension_uninstall_dialog.h
@@ -12,6 +12,7 @@
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "ui/gfx/image/image_skia.h"
+#include "ui/gfx/native_widget_types.h"
class Browser;
class Profile;
@@ -43,14 +44,19 @@ class ExtensionUninstallDialog
virtual ~Delegate() {}
};
- // Creates a platform specific implementation of ExtensionUninstallDialog.
- // |profile| and |delegate| can never be NULL.
- // |browser| can be NULL only for Ash when this is used with the applist
- // window.
+ // Creates a platform specific implementation of ExtensionUninstallDialog. No
+ // parameters can be NULL.
static ExtensionUninstallDialog* Create(Profile* profile,
Browser* browser,
Delegate* delegate);
+ // Creates a platform specific implementation of ExtensionUninstallDialog as
+ // a modal to the given parent window. If |parent| is NULL, creates a
not at google - send to devlin 2014/07/21 20:07:48 I find this comment a bit confusing, since you say
sashab 2014/07/22 00:30:43 Yeah... It's a tradeoff between making another met
+ // standalone dialog.
+ static ExtensionUninstallDialog* CreateModal(Profile* profile,
+ gfx::NativeWindow parent,
+ Delegate* delegate);
+
virtual ~ExtensionUninstallDialog();
// This is called to verify whether the uninstallation should proceed.
@@ -69,12 +75,15 @@ class ExtensionUninstallDialog
protected:
// Constructor used by the derived classes.
ExtensionUninstallDialog(Profile* profile,
- Browser* browser,
+ gfx::NativeWindow parent,
Delegate* delegate);
+ // Registers this class as an observer for when the browser closes.
+ virtual void RegisterObserver(Browser* browser);
not at google - send to devlin 2014/07/21 20:07:48 I prefer the Browser-in-constructor approach to ne
sashab 2014/07/22 00:30:43 Agreed. In that case, I also moved the GetParent()
+
Profile* const profile_;
- Browser* browser_;
+ gfx::NativeWindow parent_;
// The delegate we will call Accepted/Canceled on after confirmation dialog.
Delegate* delegate_;

Powered by Google App Engine
This is Rietveld 408576698