103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// found in the LICENSE file. 403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#ifndef EXTENSIONS_SHELL_BROWSER_SHELL_EXTENSION_HOST_DELEGATE_H_ 603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#define EXTENSIONS_SHELL_BROWSER_SHELL_EXTENSION_HOST_DELEGATE_H_ 703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "base/macros.h" 903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "extensions/browser/extension_host_delegate.h" 1003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace extensions { 1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 1303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// A minimal ExtensionHostDelegate. 1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)class ShellExtensionHostDelegate : public ExtensionHostDelegate { 1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) public: 1603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) ShellExtensionHostDelegate(); 1703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual ~ShellExtensionHostDelegate(); 1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 1903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) // ExtensionHostDelegate implementation. 2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual void OnExtensionHostCreated( 2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) content::WebContents* web_contents) OVERRIDE; 2203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual void OnRenderViewCreatedForBackgroundPage( 2303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) ExtensionHost* host) OVERRIDE; 2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual content::JavaScriptDialogManager* GetJavaScriptDialogManager() 2503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) OVERRIDE; 2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual void CreateTab(content::WebContents* web_contents, 2703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) const std::string& extension_id, 2803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) WindowOpenDisposition disposition, 2903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) const gfx::Rect& initial_pos, 3003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) bool user_gesture) OVERRIDE; 3103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) virtual void ProcessMediaAccessRequest( 3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) content::WebContents* web_contents, 3303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) const content::MediaStreamRequest& request, 3403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) const content::MediaResponseCallback& callback, 3503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) const Extension* extension) OVERRIDE; 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci virtual bool CheckMediaAccessPermission(content::WebContents* web_contents, 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const GURL& security_origin, 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci content::MediaStreamType type, 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const Extension* extension) OVERRIDE; 4003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 4103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) private: 4203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ShellExtensionHostDelegate); 4303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}; 4403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 4503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} // namespace extensions 4603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 4703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#endif // EXTENSIONS_SHELL_BROWSER_SHELL_EXTENSION_HOST_DELEGATE_H_ 48