Chromium Code Reviews| Index: chrome/browser/ui/extensions/shell_window.h |
| diff --git a/chrome/browser/ui/extensions/shell_window.h b/chrome/browser/ui/extensions/shell_window.h |
| index 1c684021b6b6b267b4bbb7f1979d56a1819c6796..da8f9a1082344654ed9700a7e6daaecc66bf74b8 100644 |
| --- a/chrome/browser/ui/extensions/shell_window.h |
| +++ b/chrome/browser/ui/extensions/shell_window.h |
| @@ -19,6 +19,7 @@ |
| class GURL; |
| class Profile; |
| class TabContents; |
| +class NativeShellWindow; |
| namespace content { |
| class WebContents; |
| @@ -35,8 +36,7 @@ struct DraggableRegion; |
| class ShellWindow : public content::NotificationObserver, |
| public content::WebContentsDelegate, |
| public content::WebContentsObserver, |
| - public ExtensionFunctionDispatcher::Delegate, |
| - public BaseWindow { |
| + public ExtensionFunctionDispatcher::Delegate { |
| public: |
| struct CreateParams { |
| enum Frame { |
| @@ -63,40 +63,30 @@ class ShellWindow : public content::NotificationObserver, |
| const extensions::Extension* extension() const { return extension_; } |
| const TabContents* tab_contents() const { return contents_.get(); } |
| content::WebContents* web_contents() const { return web_contents_; } |
| + Profile* profile() const { return profile_; } |
| - protected: |
| - ShellWindow(Profile* profile, |
| - const extensions::Extension* extension, |
| - const GURL& url); |
| - virtual ~ShellWindow(); |
| + virtual BaseWindow* GetBaseWindow(); |
|
Ben Goodger (Google)
2012/08/08 16:58:28
does this need to be virtual?
jeremya
2012/08/09 23:59:53
I guess not :)
|
| - // Called when the title of the window changes. |
| - virtual void UpdateWindowTitle() {} |
| - // Sub-classes should call this to determine what the window's title is on |
| - // startup and from within UpdateWindowTitle(). |
| + // NativeShellWindows should call this to determine what the window's title |
| + // is on startup and from within UpdateWindowTitle(). |
| virtual string16 GetTitle() const; |
| - virtual void SetFullscreen(bool fullscreen) {} |
| - virtual bool IsFullscreenOrPending() const; |
| - |
| - // Called when the draggable regions are changed. |
| - virtual void UpdateDraggableRegions( |
| - const std::vector<extensions::DraggableRegion>& regions) {} |
| - |
| // Call to notify ShellRegistry and delete the window. Subclasses should |
| // invoke this method instead of using "delete this". |
| void OnNativeClose(); |
| + protected: |
| + ShellWindow(Profile* profile, |
| + const extensions::Extension* extension); |
| + virtual ~ShellWindow(); |
| + |
| private: |
| // PlatformAppBrowserTest needs access to web_contents() |
| friend class PlatformAppBrowserTest; |
| // Instantiates a platform-specific ShellWindow subclass (one implementation |
| // per platform). Public users of ShellWindow should use ShellWindow::Create. |
| - static ShellWindow* CreateImpl(Profile* profile, |
| - const extensions::Extension* extension, |
| - const GURL& url, |
| - const CreateParams& params); |
| + void Init(const GURL& url, const CreateParams& params); |
| // content::WebContentsObserver implementation. |
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
| @@ -149,6 +139,9 @@ class ShellWindow : public content::NotificationObserver, |
| void AddMessageToDevToolsConsole(content::ConsoleMessageLevel level, |
| const std::string& message); |
| + virtual void UpdateDraggableRegions( |
| + const std::vector<extensions::DraggableRegion>& regions); |
| + |
| Profile* profile_; // weak pointer - owned by ProfileManager. |
| // weak pointer - owned by ExtensionService. |
| const extensions::Extension* extension_; |
| @@ -160,6 +153,8 @@ class ShellWindow : public content::NotificationObserver, |
| content::NotificationRegistrar registrar_; |
| ExtensionFunctionDispatcher extension_function_dispatcher_; |
| + NativeShellWindow* native_window_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(ShellWindow); |
| }; |