Commit 38c80c1b authored by ericzeng's avatar ericzeng Committed by Commit bot

Move ExtensionOptionsGuest code from chrome to extensions

Move embedded extension options guest view files from
chrome/browser/guest_view/extension_options/ to
extensions/browser/guest_view/extension_options. Also add a
ExtensionOptionsGuestDelegate in chrome/ to handle certain tasks, like
opening tabs and handling context menus, which cannot be run from
within extensions/.

This move makes the extension_options codebase more consistent with the
other guest views, which are organized similarly.

BUG=409316

Review URL: https://codereview.chromium.org/556563003

Cr-Commit-Position: refs/heads/master@{#294326}
parent d589cbb0
......@@ -8,13 +8,12 @@
#include "chrome/browser/extensions/api/declarative/rules_registry_service.h"
#include "chrome/browser/extensions/api/storage/sync_value_store_cache.h"
#include "chrome/browser/guest_view/app_view/chrome_app_view_guest_delegate.h"
#include "chrome/browser/guest_view/extension_options/extension_options_guest.h"
#include "chrome/browser/guest_view/extension_options/chrome_extension_options_guest_delegate.h"
#include "chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h"
#include "chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h"
#include "chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "extensions/browser/guest_view/app_view/app_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
......@@ -49,6 +48,11 @@ AppViewGuestDelegate* ChromeExtensionsAPIClient::CreateAppViewGuestDelegate()
return new ChromeAppViewGuestDelegate();
}
ExtensionOptionsGuestDelegate*
ChromeExtensionsAPIClient::CreateExtensionOptionsGuestDelegate() const {
return new ChromeExtensionOptionsGuestDelegate();
}
scoped_ptr<MimeHandlerViewGuestDelegate>
ChromeExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate(
MimeHandlerViewGuest* guest) const {
......@@ -68,10 +72,6 @@ WebViewPermissionHelperDelegate* ChromeExtensionsAPIClient::
return new ChromeWebViewPermissionHelperDelegate(web_view_permission_helper);
}
void ChromeExtensionsAPIClient::RegisterGuestViewTypes() {
ExtensionOptionsGuest::Register();
}
scoped_refptr<RulesRegistry> ChromeExtensionsAPIClient::GetRulesRegistry(
content::BrowserContext* browser_context,
const RulesRegistry::WebViewKey& webview_key,
......
......@@ -24,6 +24,8 @@ class ChromeExtensionsAPIClient : public ExtensionsAPIClient {
std::map<settings_namespace::Namespace, ValueStoreCache*>* caches)
OVERRIDE;
virtual AppViewGuestDelegate* CreateAppViewGuestDelegate() const OVERRIDE;
virtual ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate()
const OVERRIDE;
virtual scoped_ptr<MimeHandlerViewGuestDelegate>
CreateMimeHandlerViewGuestDelegate(
MimeHandlerViewGuest* guest) const OVERRIDE;
......@@ -32,7 +34,6 @@ class ChromeExtensionsAPIClient : public ExtensionsAPIClient {
virtual WebViewPermissionHelperDelegate*
CreateWebViewPermissionHelperDelegate(
WebViewPermissionHelper* web_view_permission_helper) const OVERRIDE;
virtual void RegisterGuestViewTypes() OVERRIDE;
virtual scoped_refptr<RulesRegistry> GetRulesRegistry(
content::BrowserContext* browser_context,
const RulesRegistry::WebViewKey& webview_key,
......
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/guest_view/extension_options/chrome_extension_options_guest_delegate.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
#include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "components/renderer_context_menu/context_menu_delegate.h"
namespace extensions {
ChromeExtensionOptionsGuestDelegate::ChromeExtensionOptionsGuestDelegate() {
}
ChromeExtensionOptionsGuestDelegate::~ChromeExtensionOptionsGuestDelegate() {
}
void
ChromeExtensionOptionsGuestDelegate::CreateChromeExtensionWebContentsObserver(
content::WebContents* web_contents) {
extensions::ChromeExtensionWebContentsObserver::CreateForWebContents(
web_contents);
}
bool ChromeExtensionOptionsGuestDelegate::HandleContextMenu(
content::WebContents* web_contents,
const content::ContextMenuParams& params) {
ContextMenuDelegate* menu_delegate =
ContextMenuDelegate::FromWebContents(web_contents);
DCHECK(menu_delegate);
scoped_ptr<RenderViewContextMenu> menu =
menu_delegate->BuildMenu(web_contents, params);
menu_delegate->ShowMenu(menu.Pass());
return true;
}
content::WebContents* ChromeExtensionOptionsGuestDelegate::OpenURLInNewTab(
content::WebContents* embedder_web_contents,
const content::OpenURLParams& params) {
Browser* browser = chrome::FindBrowserWithWebContents(embedder_web_contents);
return browser->OpenURL(params);
}
} // namespace extensions
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_CHROME_EXTENSION_OPTIONS_GUEST_DELEGATE_H_
#define CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_CHROME_EXTENSION_OPTIONS_GUEST_DELEGATE_H_
#include "extensions/browser/guest_view/extension_options/extension_options_guest_delegate.h"
#include "base/macros.h"
namespace extensions {
class ChromeExtensionOptionsGuestDelegate
: public ExtensionOptionsGuestDelegate {
public:
ChromeExtensionOptionsGuestDelegate();
virtual ~ChromeExtensionOptionsGuestDelegate();
virtual void CreateChromeExtensionWebContentsObserver(
content::WebContents* web_contents) OVERRIDE;
virtual bool HandleContextMenu(
content::WebContents* web_contents,
const content::ContextMenuParams& params) OVERRIDE;
virtual content::WebContents* OpenURLInNewTab(
content::WebContents* embedder_web_contents,
const content::OpenURLParams& params) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(ChromeExtensionOptionsGuestDelegate);
};
} // namespace extensions
#endif // CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_CHROME_EXTENSION_OPTIONS_GUEST_DELEGATE_H_
......@@ -1435,12 +1435,10 @@
'browser/drive/drive_uploader.h',
'browser/drive/event_logger.cc',
'browser/drive/event_logger.h',
'browser/guest_view/extension_options/extension_options_constants.cc',
'browser/guest_view/extension_options/extension_options_constants.h',
'browser/guest_view/extension_options/extension_options_guest.cc',
'browser/guest_view/extension_options/extension_options_guest.h',
'browser/guest_view/app_view/chrome_app_view_guest_delegate.cc',
'browser/guest_view/app_view/chrome_app_view_guest_delegate.h',
'browser/guest_view/extension_options/chrome_extension_options_guest_delegate.cc',
'browser/guest_view/extension_options/chrome_extension_options_guest_delegate.h',
'browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.cc',
'browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h',
'browser/guest_view/web_view/chrome_web_view_guest_delegate.cc',
......
......@@ -868,6 +868,7 @@
'../extensions/browser/api/usb/usb_apitest.cc',
'../extensions/browser/api/usb/usb_manual_apitest.cc',
'../extensions/browser/app_window/app_window_browsertest.cc',
'../extensions/browser/guest_view/extension_options/extension_options_apitest.cc',
'../extensions/browser/test_extension_registry_observer.h',
'../extensions/browser/test_extension_registry_observer.cc',
'../extensions/renderer/script_context_browsertest.cc',
......@@ -1262,7 +1263,6 @@
'browser/first_run/try_chrome_dialog_view_browsertest.cc',
'browser/geolocation/access_token_store_browsertest.cc',
'browser/geolocation/geolocation_browsertest.cc',
'browser/guest_view/extension_options/extension_options_apitest.cc',
'browser/history/history_browsertest.cc',
'browser/history/redirect_browsertest.cc',
'browser/iframe_browsertest.cc',
......
......@@ -44,7 +44,6 @@
'echo_private.json',
'enterprise_platform_keys_private.json',
'experience_sampling_private.json',
'extension_options_internal.idl',
'feedback_private.idl',
'file_manager_private.idl',
'file_manager_private_internal.idl',
......
......@@ -312,6 +312,12 @@ source_set("browser") {
"guest_view/app_view/app_view_guest.h",
"guest_view/app_view/app_view_guest_delegate.cc",
"guest_view/app_view/app_view_guest_delegate.h",
"guest_view/extension_options/extension_options_constants.cc",
"guest_view/extension_options/extension_options_constants.h",
"guest_view/extension_options/extension_options_guest.cc",
"guest_view/extension_options/extension_options_guest.h",
"guest_view/extension_options/extension_options_guest_delegate.cc",
"guest_view/extension_options/extension_options_guest_delegate.h",
"guest_view/guest_view_base.cc",
"guest_view/guest_view_base.h",
"guest_view/guest_view_constants.cc",
......
......@@ -31,6 +31,11 @@ AppViewGuestDelegate* ExtensionsAPIClient::CreateAppViewGuestDelegate() const {
return NULL;
}
ExtensionOptionsGuestDelegate*
ExtensionsAPIClient::CreateExtensionOptionsGuestDelegate() const {
return NULL;
}
scoped_ptr<MimeHandlerViewGuestDelegate>
ExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate(
MimeHandlerViewGuest* guest) const {
......
......@@ -24,6 +24,7 @@ class BrowserContext;
namespace extensions {
class AppViewGuestDelegate;
class ExtensionOptionsGuestDelegate;
class MimeHandlerViewGuest;
class MimeHandlerViewGuestDelegate;
class WebViewGuest;
......@@ -61,6 +62,11 @@ class ExtensionsAPIClient {
// Creates the AppViewGuestDelegate.
virtual AppViewGuestDelegate* CreateAppViewGuestDelegate() const;
// Returns a delegate for ExtensionOptionsGuest. The caller owns the returned
// ExtensionOptionsGuestDelegate.
virtual ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate()
const;
// Creates a delegate for MimeHandlerViewGuest.
virtual scoped_ptr<MimeHandlerViewGuestDelegate>
CreateMimeHandlerViewGuestDelegate(MimeHandlerViewGuest* guest) const;
......@@ -76,8 +82,6 @@ class ExtensionsAPIClient {
CreateWebViewPermissionHelperDelegate (
WebViewPermissionHelper* web_view_permission_helper) const;
virtual void RegisterGuestViewTypes() {}
// TODO(wjmaclean): Remove this as soon as rules_registry_service.* moves to
// extensions/browser/api/declarative/.
virtual scoped_refptr<RulesRegistry> GetRulesRegistry(
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/guest_view/extension_options/extension_options_constants.h"
#include "extensions/browser/guest_view/extension_options/extension_options_constants.h"
namespace extensionoptions {
......@@ -23,5 +23,4 @@ const char kNewWidth[] = "newWidth";
const char kOldHeight[] = "oldHeight";
const char kOldWidth[] = "oldWidth";
} // namespace extensionoptions
......@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_CONSTANTS_H_
#define CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_CONSTANTS_H_
#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_CONSTANTS_H_
#define EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_CONSTANTS_H_
namespace extensionoptions {
......@@ -27,4 +27,4 @@ extern const char kOldWidth[];
} // namespace extensionoptions
#endif // CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_CONSTANTS_H_
#endif // EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_CONSTANTS_H_
......@@ -2,27 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/guest_view/extension_options/extension_options_guest.h"
#include "extensions/browser/guest_view/extension_options/extension_options_guest.h"
#include "base/values.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/guest_view/extension_options/extension_options_constants.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/extensions/api/extension_options_internal.h"
#include "components/crx_file/id_util.h"
#include "components/renderer_context_menu/context_menu_delegate.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/api/extensions_api_client.h"
#include "extensions/browser/extension_function_dispatcher.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_web_contents_observer.h"
#include "extensions/browser/guest_view/extension_options/extension_options_constants.h"
#include "extensions/browser/guest_view/extension_options/extension_options_guest_delegate.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/common/api/extension_options_internal.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
#include "extensions/common/extension_messages.h"
......@@ -33,7 +27,7 @@
#include "ipc/ipc_message_macros.h"
using content::WebContents;
using namespace extensions::api;
using namespace extensions::core_api;
// static
const char ExtensionOptionsGuest::Type[] = "extensionoptions";
......@@ -41,7 +35,10 @@ const char ExtensionOptionsGuest::Type[] = "extensionoptions";
ExtensionOptionsGuest::ExtensionOptionsGuest(
content::BrowserContext* browser_context,
int guest_instance_id)
: GuestView<ExtensionOptionsGuest>(browser_context, guest_instance_id) {
: GuestView<ExtensionOptionsGuest>(browser_context, guest_instance_id),
extension_options_guest_delegate_(
extensions::ExtensionsAPIClient::Get()
->CreateExtensionOptionsGuestDelegate()) {
}
ExtensionOptionsGuest::~ExtensionOptionsGuest() {
......@@ -117,15 +114,16 @@ void ExtensionOptionsGuest::DidAttachToEmbedder() {
void ExtensionOptionsGuest::DidInitialize() {
extension_function_dispatcher_.reset(
new extensions::ExtensionFunctionDispatcher(browser_context(), this));
extensions::ChromeExtensionWebContentsObserver::CreateForWebContents(
web_contents());
if (extension_options_guest_delegate_) {
extension_options_guest_delegate_->CreateChromeExtensionWebContentsObserver(
web_contents());
}
}
void ExtensionOptionsGuest::DidStopLoading() {
scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
DispatchEventToEmbedder(new extensions::GuestViewBase::Event(
extensions::api::extension_options_internal::OnLoad::kEventName,
args.Pass()));
extension_options_internal::OnLoad::kEventName, args.Pass()));
}
const char* ExtensionOptionsGuest::GetAPINamespace() const {
......@@ -159,15 +157,16 @@ content::WebContents* ExtensionOptionsGuest::GetAssociatedWebContents() const {
content::WebContents* ExtensionOptionsGuest::OpenURLFromTab(
content::WebContents* source,
const content::OpenURLParams& params) {
Browser* browser =
chrome::FindBrowserWithWebContents(embedder_web_contents());
if (!extension_options_guest_delegate_)
return NULL;
// Don't allow external URLs with the CURRENT_TAB disposition be opened in
// this guest view, change the disposition to NEW_FOREGROUND_TAB.
if ((!params.url.SchemeIs(extensions::kExtensionScheme) ||
params.url.host() != options_page_.host()) &&
params.disposition == CURRENT_TAB) {
return browser->OpenURL(
return extension_options_guest_delegate_->OpenURLInNewTab(
embedder_web_contents(),
content::OpenURLParams(params.url,
params.referrer,
params.frame_tree_node_id,
......@@ -175,7 +174,8 @@ content::WebContents* ExtensionOptionsGuest::OpenURLFromTab(
params.transition,
params.is_renderer_initiated));
}
return browser->OpenURL(params);
return extension_options_guest_delegate_->OpenURLInNewTab(
embedder_web_contents(), params);
}
void ExtensionOptionsGuest::CloseContents(content::WebContents* source) {
......@@ -186,14 +186,11 @@ void ExtensionOptionsGuest::CloseContents(content::WebContents* source) {
bool ExtensionOptionsGuest::HandleContextMenu(
const content::ContextMenuParams& params) {
ContextMenuDelegate* menu_delegate =
ContextMenuDelegate::FromWebContents(web_contents());
DCHECK(menu_delegate);
if (!extension_options_guest_delegate_)
return false;
scoped_ptr<RenderViewContextMenu> menu =
menu_delegate->BuildMenu(web_contents(), params);
menu_delegate->ShowMenu(menu.Pass());
return true;
return extension_options_guest_delegate_->HandleContextMenu(web_contents(),
params);
}
bool ExtensionOptionsGuest::ShouldCreateWebContents(
......@@ -209,16 +206,17 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents(
// external links to be opened in a new tab, not in a new guest view.
// Therefore we just open the URL in a new tab, and since we aren't handling
// the new web contents, we return false.
Browser* browser =
chrome::FindBrowserWithWebContents(embedder_web_contents());
content::OpenURLParams params(target_url,
content::Referrer(),
NEW_FOREGROUND_TAB,
content::PAGE_TRANSITION_LINK,
false);
browser->OpenURL(params);
// TODO(ericzeng): Open the tab in the background if the click was a
// ctrl-click or middle mouse button click
if (extension_options_guest_delegate_) {
extension_options_guest_delegate_->OpenURLInNewTab(
embedder_web_contents(),
content::OpenURLParams(target_url,
content::Referrer(),
NEW_FOREGROUND_TAB,
content::PAGE_TRANSITION_LINK,
false));
}
return false;
}
......@@ -233,8 +231,8 @@ bool ExtensionOptionsGuest::OnMessageReceived(const IPC::Message& message) {
void ExtensionOptionsGuest::OnRequest(
const ExtensionHostMsg_Request_Params& params) {
extension_function_dispatcher_->Dispatch(
params, web_contents()->GetRenderViewHost());
extension_function_dispatcher_->Dispatch(params,
web_contents()->GetRenderViewHost());
}
void ExtensionOptionsGuest::SetUpAutoSize() {
......
......@@ -2,11 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_H_
#define CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_H_
#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_H_
#define EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_H_
#include "base/macros.h"
#include "extensions/browser/extension_function_dispatcher.h"
#include "extensions/browser/guest_view/extension_options/extension_options_guest_delegate.h"
#include "extensions/browser/guest_view/guest_view.h"
#include "url/gurl.h"
......@@ -20,7 +21,8 @@ class ExtensionOptionsGuest
public:
static const char Type[];
static extensions::GuestViewBase* Create(
content::BrowserContext* browser_context, int guest_instance_id);
content::BrowserContext* browser_context,
int guest_instance_id);
// GuestViewBase implementation.
virtual void CreateWebContents(
......@@ -69,9 +71,11 @@ class ExtensionOptionsGuest
scoped_ptr<extensions::ExtensionFunctionDispatcher>
extension_function_dispatcher_;
scoped_ptr<extensions::ExtensionOptionsGuestDelegate>
extension_options_guest_delegate_;
GURL options_page_;
DISALLOW_COPY_AND_ASSIGN(ExtensionOptionsGuest);
};
#endif // CHROME_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_H_
#endif // EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_H_
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "extensions/browser/guest_view/extension_options/extension_options_guest_delegate.h"
namespace extensions {
ExtensionOptionsGuestDelegate::~ExtensionOptionsGuestDelegate() {
}
} // namespace extensions
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_DELEGATE_H_
#define EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_DELEGATE_H_
namespace content {
struct ContextMenuParams;
struct OpenURLParams;
class WebContents;
}
namespace extensions {
// Interface to handle communication between ExtensionOptionsGuest (in
// extensions) with the browser.
class ExtensionOptionsGuestDelegate {
public:
virtual ~ExtensionOptionsGuestDelegate();
virtual void CreateChromeExtensionWebContentsObserver(
content::WebContents* web_contents) = 0;
// Shows the context menu for the guest.
// Returns true if the context menu was handled.
virtual bool HandleContextMenu(content::WebContents* web_contents,
const content::ContextMenuParams& params) = 0;
virtual content::WebContents* OpenURLInNewTab(
content::WebContents* embedder_web_contents,
const content::OpenURLParams& params) = 0;
};
} // namespace extensions
#endif // EXTENSIONS_BROWSER_GUEST_VIEW_EXTENSION_OPTIONS_EXTENSION_OPTIONS_GUEST_DELEGATE_H_
......@@ -15,6 +15,7 @@
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/guest_view/app_view/app_view_guest.h"
#include "extensions/browser/guest_view/extension_options/extension_options_guest.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
......@@ -460,9 +461,9 @@ void GuestViewBase::CompleteInit(const std::string& embedder_extension_id,
// static
void GuestViewBase::RegisterGuestViewTypes() {
AppViewGuest::Register();
ExtensionOptionsGuest::Register();
MimeHandlerViewGuest::Register();
WebViewGuest::Register();
ExtensionsAPIClient::Get()->RegisterGuestViewTypes();
}
} // namespace extensions
......@@ -238,6 +238,8 @@ source_set("common") {
"extension_api.cc",
"manifest_handlers/externally_connectable.cc",
"manifest_handlers/externally_connectable.h",
"manifest_handlers/options_page_info.cc",
"manifest_handlers/options_page_info.h",
]
}
......
......@@ -25,6 +25,7 @@
'dns.idl',
'events.json',
'extensions_manifest_types.json',
'extension_options_internal.idl',
'extension_types.json',
'guest_view_internal.json',
'hid.idl',
......
......@@ -576,6 +576,12 @@
'browser/guest_view/app_view/app_view_guest.h',
'browser/guest_view/app_view/app_view_guest_delegate.cc',
'browser/guest_view/app_view/app_view_guest_delegate.h',
'browser/guest_view/extension_options/extension_options_constants.cc',
'browser/guest_view/extension_options/extension_options_constants.h',
'browser/guest_view/extension_options/extension_options_guest.cc',
'browser/guest_view/extension_options/extension_options_guest.h',
'browser/guest_view/extension_options/extension_options_guest_delegate.cc',
'browser/guest_view/extension_options/extension_options_guest_delegate.h',
'browser/guest_view/guest_view_base.cc',
'browser/guest_view/guest_view_base.h',
'browser/guest_view/guest_view_constants.cc',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment