| Index: apps/custom_launcher_page_contents.h
|
| diff --git a/apps/custom_launcher_page_contents.h b/apps/custom_launcher_page_contents.h
|
| index 964a44dadf98a583d34608840e4ab44b45a2db69..38e1cda56f283e077c2f634eee17d1380834083e 100644
|
| --- a/apps/custom_launcher_page_contents.h
|
| +++ b/apps/custom_launcher_page_contents.h
|
| @@ -6,6 +6,7 @@
|
| #define APPS_CUSTOM_LAUNCHER_PAGE_CONTENTS_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"
|
|
|
| @@ -17,15 +18,20 @@ class BrowserContext;
|
|
|
| namespace apps {
|
|
|
| +class AppDelegate;
|
| +class AppWebContentsHelper;
|
| +
|
| // Manages the web contents for extension-hosted launcher pages. The
|
| // implementation for this class should create and maintain the WebContents for
|
| // the page, and handle any message passing between the web contents and the
|
| // extension system.
|
| class CustomLauncherPageContents
|
| - : public content::WebContentsObserver,
|
| + : public content::WebContentsDelegate,
|
| + public content::WebContentsObserver,
|
| public extensions::ExtensionFunctionDispatcher::Delegate {
|
| public:
|
| - CustomLauncherPageContents();
|
| + CustomLauncherPageContents(scoped_ptr<AppDelegate> app_delegate,
|
| + const std::string& extension_id);
|
| virtual ~CustomLauncherPageContents();
|
|
|
| // Called to initialize and load the WebContents.
|
| @@ -33,6 +39,37 @@ class CustomLauncherPageContents
|
|
|
| content::WebContents* web_contents() const { return web_contents_.get(); }
|
|
|
| + // content::WebContentsDelegate overrides:
|
| + virtual content::WebContents* OpenURLFromTab(
|
| + content::WebContents* source,
|
| + const content::OpenURLParams& params) OVERRIDE;
|
| + virtual void AddNewContents(content::WebContents* source,
|
| + content::WebContents* new_contents,
|
| + WindowOpenDisposition disposition,
|
| + const gfx::Rect& initial_pos,
|
| + bool user_gesture,
|
| + bool* was_blocked) OVERRIDE;
|
| + virtual bool IsPopupOrPanel(
|
| + const content::WebContents* source) const OVERRIDE;
|
| + virtual bool ShouldSuppressDialogs() OVERRIDE;
|
| + virtual bool PreHandleGestureEvent(
|
| + content::WebContents* source,
|
| + const blink::WebGestureEvent& event) OVERRIDE;
|
| + virtual content::ColorChooser* OpenColorChooser(
|
| + content::WebContents* web_contents,
|
| + SkColor color,
|
| + const std::vector<content::ColorSuggestion>& suggestions) OVERRIDE;
|
| + virtual void RunFileChooser(
|
| + content::WebContents* tab,
|
| + const content::FileChooserParams& params) OVERRIDE;
|
| + virtual void RequestToLockMouse(content::WebContents* web_contents,
|
| + bool user_gesture,
|
| + bool last_unlocked_by_target) OVERRIDE;
|
| + virtual void RequestMediaAccessPermission(
|
| + content::WebContents* web_contents,
|
| + const content::MediaStreamRequest& request,
|
| + const content::MediaResponseCallback& callback) OVERRIDE;
|
| +
|
| private:
|
| // content::WebContentsObserver overrides:
|
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
|
| @@ -47,6 +84,10 @@ class CustomLauncherPageContents
|
| scoped_ptr<content::WebContents> web_contents_;
|
| scoped_ptr<extensions::ExtensionFunctionDispatcher>
|
| extension_function_dispatcher_;
|
| + scoped_ptr<AppDelegate> app_delegate_;
|
| + scoped_ptr<AppWebContentsHelper> helper_;
|
| +
|
| + std::string extension_id_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(CustomLauncherPageContents);
|
| };
|
|
|