Chromium Code Reviews| Index: extensions/shell/browser/shell_app_window.h |
| diff --git a/extensions/shell/browser/shell_app_window.h b/extensions/shell/browser/shell_app_window.h |
| index d85f4f00d7e6557e4397a315d8f53e3ced591e4f..ebeb94845204f9bbdc44af047bb2fa91205cb631 100644 |
| --- a/extensions/shell/browser/shell_app_window.h |
| +++ b/extensions/shell/browser/shell_app_window.h |
| @@ -7,6 +7,7 @@ |
| #include "base/macros.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "content/public/browser/web_contents_delegate.h" |
| #include "content/public/browser/web_contents_observer.h" |
| #include "extensions/browser/extension_function_dispatcher.h" |
| @@ -29,10 +30,12 @@ class Size; |
| namespace extensions { |
| class ExtensionFunctionDispatcher; |
| +class ShellWebContentsDelegate; |
| // A simplified app window created by chrome.app.window.create(). Manages the |
| // primary web contents for the app. |
| -class ShellAppWindow : public content::WebContentsObserver, |
| +class ShellAppWindow : public content::WebContentsDelegate, |
| + public content::WebContentsObserver, |
| public ExtensionFunctionDispatcher::Delegate { |
| public: |
| ShellAppWindow(); |
| @@ -40,7 +43,9 @@ class ShellAppWindow : public content::WebContentsObserver, |
| // Creates the web contents and attaches extension-specific helpers. |
| // Passing a valid |initial_size| to avoid a web contents resize. |
| - void Init(content::BrowserContext* context, gfx::Size initial_size); |
| + void Init(content::BrowserContext* context, |
| + const Extension* extension, |
| + gfx::Size initial_size); |
|
Daniel Erat
2014/08/22 17:09:55
nit: const ref, maybe
|
| // Starts loading |url| which must be an extension URL. |
| void LoadURL(const GURL& url); |
| @@ -51,16 +56,25 @@ class ShellAppWindow : public content::WebContentsObserver, |
| // Returns the routing ID of the render view host of |web_contents_|. |
| int GetRenderViewRoutingID(); |
| - // content::WebContentsObserver implementation |
| + // content::WebContentsDelegate overrides: |
| + virtual void RequestMediaAccessPermission( |
| + content::WebContents* web_contents, |
| + const content::MediaStreamRequest& request, |
| + const content::MediaResponseCallback& callback) OVERRIDE; |
| + |
| + // content::WebContentsObserver overrides: |
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
| - // ExtensionFunctionDispatcher::Delegate implementation |
| + // ExtensionFunctionDispatcher::Delegate overrides: |
| virtual content::WebContents* GetAssociatedWebContents() const OVERRIDE; |
| private: |
| // IPC handler. |
| void OnRequest(const ExtensionHostMsg_Request_Params& params); |
| + // The extension that spawned this window. Not owned. |
| + const Extension* extension_; |
| + |
| scoped_ptr<content::WebContents> web_contents_; |
| scoped_ptr<ExtensionFunctionDispatcher> extension_function_dispatcher_; |