summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhanxi <hanxi@chromium.org>2014-08-25 12:13:41 -0700
committerCommit bot <commit-bot@chromium.org>2014-08-25 19:15:03 +0000
commit63bf863b12e8c2be593da2318af8ab7c7fbcc8a4 (patch)
tree38c22a5e66a30e0ebd10fa3d5a213def2c9052a5
parent1c693998d75f78e94862c324afba3815356ecaf1 (diff)
downloadchromium_src-63bf863b12e8c2be593da2318af8ab7c7fbcc8a4.zip
chromium_src-63bf863b12e8c2be593da2318af8ab7c7fbcc8a4.tar.gz
chromium_src-63bf863b12e8c2be593da2318af8ab7c7fbcc8a4.tar.bz2
Move core web_view code to extensions.
BUG=352290 Review URL: https://codereview.chromium.org/496873006 Cr-Commit-Position: refs/heads/master@{#291732}
-rw-r--r--chrome/browser/chrome_content_browser_client.cc6
-rw-r--r--chrome/browser/extensions/api/chrome_extensions_api_client.cc18
-rw-r--r--chrome/browser/extensions/api/chrome_extensions_api_client.h5
-rw-r--r--chrome/browser/extensions/api/declarative/declarative_api.cc4
-rw-r--r--chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc2
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_api.cc4
-rw-r--r--chrome/browser/extensions/api/web_request/web_request_permissions.cc2
-rw-r--r--chrome/browser/extensions/api/web_view/web_view_internal_api.cc2
-rw-r--r--chrome/browser/extensions/api/web_view/web_view_internal_api.h4
-rw-r--r--chrome/browser/extensions/menu_manager.cc2
-rw-r--r--chrome/browser/extensions/url_request_util.cc2
-rw-r--r--chrome/browser/geolocation/geolocation_permission_context_extensions.cc2
-rw-r--r--chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc50
-rw-r--r--chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h7
-rw-r--r--chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.cc22
-rw-r--r--chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h6
-rw-r--r--chrome/browser/plugins/plugin_info_message_filter.cc2
-rw-r--r--chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc2
-rw-r--r--chrome/browser/renderer_context_menu/render_view_context_menu.cc2
-rw-r--r--chrome/browser/renderer_host/chrome_render_message_filter.cc4
-rw-r--r--chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc2
-rw-r--r--chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm2
-rw-r--r--chrome/browser/ui/views/constrained_window_views.cc2
-rw-r--r--chrome/chrome_browser.gypi17
-rw-r--r--extensions/browser/api/extensions_api_client.cc11
-rw-r--r--extensions/browser/api/extensions_api_client.h15
-rw-r--r--extensions/browser/guest_view/DEPS5
-rw-r--r--extensions/browser/guest_view/guest_view_base.cc4
-rw-r--r--extensions/browser/guest_view/web_view/javascript_dialog_helper.cc (renamed from chrome/browser/guest_view/web_view/javascript_dialog_helper.cc)10
-rw-r--r--extensions/browser/guest_view/web_view/javascript_dialog_helper.h (renamed from chrome/browser/guest_view/web_view/javascript_dialog_helper.h)6
-rw-r--r--extensions/browser/guest_view/web_view/web_view_constants.cc (renamed from chrome/browser/guest_view/web_view/web_view_constants.cc)2
-rw-r--r--extensions/browser/guest_view/web_view/web_view_constants.h (renamed from chrome/browser/guest_view/web_view/web_view_constants.h)6
-rw-r--r--extensions/browser/guest_view/web_view/web_view_find_helper.cc (renamed from chrome/browser/guest_view/web_view/web_view_find_helper.cc)4
-rw-r--r--extensions/browser/guest_view/web_view/web_view_find_helper.h (renamed from chrome/browser/guest_view/web_view/web_view_find_helper.h)6
-rw-r--r--extensions/browser/guest_view/web_view/web_view_guest.cc (renamed from chrome/browser/guest_view/web_view/web_view_guest.cc)48
-rw-r--r--extensions/browser/guest_view/web_view/web_view_guest.h (renamed from chrome/browser/guest_view/web_view/web_view_guest.h)19
-rw-r--r--extensions/browser/guest_view/web_view/web_view_guest_delegate.cc3
-rw-r--r--extensions/browser/guest_view/web_view/web_view_guest_delegate.h11
-rw-r--r--extensions/browser/guest_view/web_view/web_view_permission_helper.cc (renamed from chrome/browser/guest_view/web_view/web_view_permission_helper.cc)15
-rw-r--r--extensions/browser/guest_view/web_view/web_view_permission_helper.h (renamed from chrome/browser/guest_view/web_view/web_view_permission_helper.h)12
-rw-r--r--extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.cc8
-rw-r--r--extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h10
-rw-r--r--extensions/browser/guest_view/web_view/web_view_permission_types.h (renamed from chrome/browser/guest_view/web_view/web_view_permission_types.h)6
-rw-r--r--extensions/browser/guest_view/web_view/web_view_renderer_state.cc (renamed from chrome/browser/guest_view/web_view/web_view_renderer_state.cc)2
-rw-r--r--extensions/browser/guest_view/web_view/web_view_renderer_state.h (renamed from chrome/browser/guest_view/web_view/web_view_renderer_state.h)6
-rw-r--r--extensions/extensions.gyp29
46 files changed, 243 insertions, 166 deletions
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 5c89f1b..367d7e9 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -221,12 +221,12 @@
#include "chrome/browser/extensions/chrome_content_browser_client_extensions_part.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_util.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/browser/guest_view/guest_view_base.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/browser/suggest_permission_util.h"
#include "extensions/common/manifest_handlers/background_info.h"
#endif
diff --git a/chrome/browser/extensions/api/chrome_extensions_api_client.cc b/chrome/browser/extensions/api/chrome_extensions_api_client.cc
index 8f600c5..c15c1df 100644
--- a/chrome/browser/extensions/api/chrome_extensions_api_client.cc
+++ b/chrome/browser/extensions/api/chrome_extensions_api_client.cc
@@ -8,11 +8,14 @@
#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/web_view/web_view_guest.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 "device/hid/hid_service.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"
#if defined(ENABLE_CONFIGURATION_POLICY)
#include "chrome/browser/extensions/api/storage/managed_value_store_cache.h"
@@ -66,6 +69,17 @@ AppViewGuestDelegate* ChromeExtensionsAPIClient::CreateAppViewGuestDelegate()
return new ChromeAppViewGuestDelegate();
}
+WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate(
+ WebViewGuest* web_view_guest) const {
+ return new ChromeWebViewGuestDelegate(web_view_guest);
+}
+
+WebViewPermissionHelperDelegate* ChromeExtensionsAPIClient::
+ CreateWebViewPermissionHelperDelegate(
+ WebViewPermissionHelper* web_view_permission_helper) const {
+ return new ChromeWebViewPermissionHelperDelegate(web_view_permission_helper);
+}
+
device::HidService* ChromeExtensionsAPIClient::GetHidService() {
if (!hid_service_) {
hid_service_.reset(device::HidService::Create(
@@ -76,9 +90,7 @@ device::HidService* ChromeExtensionsAPIClient::GetHidService() {
}
void ChromeExtensionsAPIClient::RegisterGuestViewTypes() {
- AppViewGuest::Register();
ExtensionOptionsGuest::Register();
- WebViewGuest::Register();
}
} // namespace extensions
diff --git a/chrome/browser/extensions/api/chrome_extensions_api_client.h b/chrome/browser/extensions/api/chrome_extensions_api_client.h
index 1e45114..d6ab146 100644
--- a/chrome/browser/extensions/api/chrome_extensions_api_client.h
+++ b/chrome/browser/extensions/api/chrome_extensions_api_client.h
@@ -34,6 +34,11 @@ class ChromeExtensionsAPIClient : public ExtensionsAPIClient {
int guest_instance_id,
const std::string& guest_extension_id) OVERRIDE;
virtual AppViewGuestDelegate* CreateAppViewGuestDelegate() const OVERRIDE;
+ virtual WebViewGuestDelegate* CreateWebViewGuestDelegate(
+ WebViewGuest* web_view_guest) const OVERRIDE;
+ virtual WebViewPermissionHelperDelegate*
+ CreateWebViewPermissionHelperDelegate(
+ WebViewPermissionHelper* web_view_permission_helper) const OVERRIDE;
virtual device::HidService* GetHidService() OVERRIDE;
virtual void RegisterGuestViewTypes() OVERRIDE;
diff --git a/chrome/browser/extensions/api/declarative/declarative_api.cc b/chrome/browser/extensions/api/declarative/declarative_api.cc
index 9967de4..cc9d35b 100644
--- a/chrome/browser/extensions/api/declarative/declarative_api.cc
+++ b/chrome/browser/extensions/api/declarative/declarative_api.cc
@@ -9,14 +9,14 @@
#include "base/task_runner_util.h"
#include "base/values.h"
#include "chrome/browser/extensions/api/declarative/rules_registry_service.h"
-#include "chrome/browser/guest_view/web_view/web_view_constants.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/api/events.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/common/extension_api.h"
#include "extensions/common/permissions/permissions_data.h"
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc
index ddba91c..6eb9dd5 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc
@@ -18,9 +18,9 @@
#include "chrome/browser/extensions/api/web_request/web_request_api_constants.h"
#include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h"
#include "chrome/browser/extensions/api/web_request/web_request_permissions.h"
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
#include "content/public/browser/resource_request_info.h"
#include "content/public/common/url_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/browser/info_map.h"
#include "extensions/common/error_utils.h"
#include "extensions/common/extension.h"
diff --git a/chrome/browser/extensions/api/web_request/web_request_api.cc b/chrome/browser/extensions/api/web_request/web_request_api.cc
index 188940c..0bbea43 100644
--- a/chrome/browser/extensions/api/web_request/web_request_api.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_api.cc
@@ -32,8 +32,6 @@
#include "chrome/browser/extensions/extension_renderer_state.h"
#include "chrome/browser/extensions/extension_warning_service.h"
#include "chrome/browser/extensions/extension_warning_set.h"
-#include "chrome/browser/guest_view/web_view/web_view_constants.h"
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/extensions/api/web_request.h"
@@ -51,6 +49,8 @@
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/browser/info_map.h"
#include "extensions/browser/runtime_data.h"
#include "extensions/common/error_utils.h"
diff --git a/chrome/browser/extensions/api/web_request/web_request_permissions.cc b/chrome/browser/extensions/api/web_request/web_request_permissions.cc
index d343110..1de33ff 100644
--- a/chrome/browser/extensions/api/web_request/web_request_permissions.cc
+++ b/chrome/browser/extensions/api/web_request/web_request_permissions.cc
@@ -6,10 +6,10 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/url_constants.h"
#include "content/public/browser/resource_request_info.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
diff --git a/chrome/browser/extensions/api/web_view/web_view_internal_api.cc b/chrome/browser/extensions/api/web_view/web_view_internal_api.cc
index 795b38c..404bc62 100644
--- a/chrome/browser/extensions/api/web_view/web_view_internal_api.cc
+++ b/chrome/browser/extensions/api/web_view/web_view_internal_api.cc
@@ -9,7 +9,6 @@
#include "chrome/browser/extensions/api/context_menus/context_menus_api.h"
#include "chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h"
#include "chrome/browser/extensions/tab_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/api/web_view_internal.h"
#include "content/public/browser/render_process_host.h"
@@ -17,6 +16,7 @@
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/stop_find_action.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
#include "extensions/common/error_utils.h"
#include "third_party/WebKit/public/web/WebFindOptions.h"
diff --git a/chrome/browser/extensions/api/web_view/web_view_internal_api.h b/chrome/browser/extensions/api/web_view/web_view_internal_api.h
index 4cf3e84..b31717e 100644
--- a/chrome/browser/extensions/api/web_view/web_view_internal_api.h
+++ b/chrome/browser/extensions/api/web_view/web_view_internal_api.h
@@ -7,8 +7,8 @@
#include "chrome/browser/extensions/api/capture_web_contents_function.h"
#include "chrome/browser/extensions/api/execute_code_function.h"
-#include "chrome/browser/guest_view/web_view/web_view_find_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
+#include "extensions/browser/guest_view/web_view/web_view_find_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
// WARNING: WebViewInternal could be loaded in an unblessed context, thus any
// new APIs must extend WebViewInternalExtensionFunction or
diff --git a/chrome/browser/extensions/menu_manager.cc b/chrome/browser/extensions/menu_manager.cc
index b102eb1..d20be62 100644
--- a/chrome/browser/extensions/menu_manager.cc
+++ b/chrome/browser/extensions/menu_manager.cc
@@ -17,7 +17,6 @@
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/extensions/menu_manager_factory.h"
#include "chrome/browser/extensions/tab_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/extensions/api/context_menus.h"
#include "chrome/common/extensions/api/web_view_internal.h"
@@ -29,6 +28,7 @@
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/state_store.h"
#include "extensions/common/extension.h"
#include "extensions/common/manifest_handlers/background_info.h"
diff --git a/chrome/browser/extensions/url_request_util.cc b/chrome/browser/extensions/url_request_util.cc
index 3f63e6b..1d3a84cc 100644
--- a/chrome/browser/extensions/url_request_util.cc
+++ b/chrome/browser/extensions/url_request_util.cc
@@ -13,7 +13,6 @@
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/task_runner_util.h"
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/manifest_url_handler.h"
#include "content/public/browser/browser_thread.h"
@@ -21,6 +20,7 @@
#include "extensions/browser/component_extension_resource_manager.h"
#include "extensions/browser/extension_protocols.h"
#include "extensions/browser/extensions_browser_client.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/browser/info_map.h"
#include "extensions/common/file_util.h"
#include "extensions/common/manifest_handlers/icons_handler.h"
diff --git a/chrome/browser/geolocation/geolocation_permission_context_extensions.cc b/chrome/browser/geolocation/geolocation_permission_context_extensions.cc
index 765e516..ca1de66 100644
--- a/chrome/browser/geolocation/geolocation_permission_context_extensions.cc
+++ b/chrome/browser/geolocation/geolocation_permission_context_extensions.cc
@@ -8,9 +8,9 @@
#if defined(ENABLE_EXTENSIONS)
#include "chrome/browser/content_settings/permission_request_id.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_helper.h"
#include "chrome/browser/profiles/profile.h"
#include "extensions/browser/extension_registry.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
#include "extensions/browser/process_map.h"
#include "extensions/browser/suggest_permission_util.h"
#include "extensions/browser/view_type_utils.h"
diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc
index 8175022..67a5434 100644
--- a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc
+++ b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc
@@ -5,15 +5,16 @@
#include "chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h"
+#include "chrome/browser/extensions/api/web_request/web_request_api.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
#include "chrome/browser/favicon/favicon_tab_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_constants.h"
#include "chrome/browser/renderer_context_menu/render_view_context_menu.h"
#include "chrome/browser/ui/pdf/pdf_tab_helper.h"
#include "chrome/browser/ui/zoom/zoom_controller.h"
#include "chrome/common/chrome_version_info.h"
#include "components/renderer_context_menu/context_menu_delegate.h"
#include "content/public/common/page_zoom.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
#if defined(ENABLE_PRINTING)
#if defined(ENABLE_FULL_PRINTING)
@@ -24,13 +25,25 @@
#endif // defined(ENABLE_FULL_PRINTING)
#endif // defined(ENABLE_PRINTING)
+void RemoveWebViewEventListenersOnIOThread(
+ void* profile,
+ const std::string& extension_id,
+ int embedder_process_id,
+ int view_instance_id) {
+ DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
+ ExtensionWebRequestEventRouter::GetInstance()->RemoveWebViewEventListeners(
+ profile,
+ extension_id,
+ embedder_process_id,
+ view_instance_id);
+}
+
ChromeWebViewGuestDelegate::ChromeWebViewGuestDelegate(
extensions::WebViewGuest* web_view_guest)
- : WebViewGuestDelegate(),
+ : WebViewGuestDelegate(web_view_guest),
pending_context_menu_request_id_(0),
chromevox_injected_(false),
- current_zoom_factor_(1.0),
- web_view_guest_(web_view_guest) {
+ current_zoom_factor_(1.0) {
}
ChromeWebViewGuestDelegate::~ChromeWebViewGuestDelegate() {
@@ -55,7 +68,7 @@ bool ChromeWebViewGuestDelegate::HandleContextMenu(
MenuModelToValue(pending_menu_->menu_model());
args->Set(webview::kContextMenuItems, items.release());
args->SetInteger(webview::kRequestId, request_id);
- web_view_guest_->DispatchEventToEmbedder(
+ web_view_guest()->DispatchEventToEmbedder(
new extensions::GuestViewBase::Event(
webview::kEventContextMenu, args.Pass()));
return true;
@@ -87,6 +100,25 @@ void ChromeWebViewGuestDelegate::OnAttachWebViewHelpers(
PDFTabHelper::CreateForWebContents(contents);
}
+void ChromeWebViewGuestDelegate::OnEmbedderDestroyed() {
+ // TODO(fsamuel): WebRequest event listeners for <webview> should survive
+ // reparenting of a <webview> within a single embedder. Right now, we keep
+ // around the browser state for the listener for the lifetime of the embedder.
+ // Ideally, the lifetime of the listeners should match the lifetime of the
+ // <webview> DOM node. Once http://crbug.com/156219 is resolved we can move
+ // the call to RemoveWebViewEventListenersOnIOThread back to
+ // WebViewGuest::WebContentsDestroyed.
+ content::BrowserThread::PostTask(
+ content::BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(
+ &RemoveWebViewEventListenersOnIOThread,
+ web_view_guest()->browser_context(),
+ web_view_guest()->embedder_extension_id(),
+ web_view_guest()->embedder_render_process_id(),
+ web_view_guest()->view_instance_id()));
+}
+
void ChromeWebViewGuestDelegate::OnDidCommitProvisionalLoadForFrame(
bool is_main_frame) {
// Update the current zoom factor for the new page.
@@ -118,10 +150,10 @@ void ChromeWebViewGuestDelegate::OnDocumentLoadedInFrame(
void ChromeWebViewGuestDelegate::OnGuestDestroyed() {
// Clean up custom context menu items for this guest.
extensions::MenuManager* menu_manager = extensions::MenuManager::Get(
- Profile::FromBrowserContext(web_view_guest_->browser_context()));
+ Profile::FromBrowserContext(web_view_guest()->browser_context()));
menu_manager->RemoveAllContextItems(extensions::MenuItem::ExtensionKey(
- web_view_guest_->embedder_extension_id(),
- web_view_guest_->view_instance_id()));
+ web_view_guest()->embedder_extension_id(),
+ web_view_guest()->view_instance_id()));
}
// static
@@ -150,7 +182,7 @@ void ChromeWebViewGuestDelegate::OnSetZoom(double zoom_factor) {
scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
args->SetDouble(webview::kOldZoomFactor, current_zoom_factor_);
args->SetDouble(webview::kNewZoomFactor, zoom_factor);
- web_view_guest_->DispatchEventToEmbedder(
+ web_view_guest()->DispatchEventToEmbedder(
new extensions::GuestViewBase::Event(
webview::kEventZoomChange, args.Pass()));
current_zoom_factor_ = zoom_factor;
diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h
index 6c1901a..c22d0cc 100644
--- a/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h
+++ b/chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h
@@ -5,7 +5,7 @@
#ifndef CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_GUEST_DELEGATE_H_
#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_GUEST_DELEGATE_H_
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_guest_delegate.h"
#if defined(OS_CHROMEOS)
@@ -29,6 +29,7 @@ class ChromeWebViewGuestDelegate : public extensions::WebViewGuestDelegate {
virtual bool HandleContextMenu(
const content::ContextMenuParams& params) OVERRIDE;
virtual void OnAttachWebViewHelpers(content::WebContents* contents) OVERRIDE;
+ virtual void OnEmbedderDestroyed() OVERRIDE;
virtual void OnDidCommitProvisionalLoadForFrame(bool is_main_frame) OVERRIDE;
virtual void OnDidInitialize() OVERRIDE;
virtual void OnDocumentLoadedInFrame(
@@ -41,7 +42,7 @@ class ChromeWebViewGuestDelegate : public extensions::WebViewGuestDelegate {
private:
content::WebContents* guest_web_contents() const {
- return web_view_guest_->guest_web_contents();
+ return web_view_guest()->guest_web_contents();
}
// Returns the top level items (ignoring submenus) as Value.
@@ -70,8 +71,6 @@ class ChromeWebViewGuestDelegate : public extensions::WebViewGuestDelegate {
// shown. This is .Reset() after ShowContextMenu().
scoped_ptr<RenderViewContextMenu> pending_menu_;
- extensions::WebViewGuest* web_view_guest_;
-
#if defined(OS_CHROMEOS)
// Subscription to receive notifications on changes to a11y settings.
scoped_ptr<chromeos::AccessibilityStatusSubscription>
diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.cc b/chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.cc
index 8ec076b..3279b88 100644
--- a/chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.cc
+++ b/chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.cc
@@ -7,18 +7,16 @@
#include "chrome/browser/content_settings/tab_specific_content_settings.h"
#include "chrome/browser/geolocation/geolocation_permission_context.h"
#include "chrome/browser/geolocation/geolocation_permission_context_factory.h"
-#include "chrome/browser/guest_view/web_view/web_view_constants.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
#include "chrome/browser/plugins/chrome_plugin_service_filter.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/render_messages.h"
#include "content/public/browser/user_metrics.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
ChromeWebViewPermissionHelperDelegate::ChromeWebViewPermissionHelperDelegate(
extensions::WebViewPermissionHelper* web_view_permission_helper)
- : WebViewPermissionHelperDelegate(
- web_view_permission_helper->web_view_guest()->guest_web_contents()),
- web_view_permission_helper_(web_view_permission_helper),
+ : WebViewPermissionHelperDelegate(web_view_permission_helper),
weak_factory_(this) {
}
@@ -72,7 +70,7 @@ void ChromeWebViewPermissionHelperDelegate::OnBlockedUnauthorizedPlugin(
base::DictionaryValue info;
info.SetString(std::string(kPluginName), name);
info.SetString(std::string(kPluginIdentifier), identifier);
- web_view_permission_helper_->RequestPermission(
+ web_view_permission_helper()->RequestPermission(
WEB_VIEW_PERMISSION_TYPE_LOAD_PLUGIN,
info,
base::Bind(&ChromeWebViewPermissionHelperDelegate::OnPermissionResponse,
@@ -129,7 +127,7 @@ void ChromeWebViewPermissionHelperDelegate::RequestMediaAccessPermission(
const content::MediaResponseCallback& callback) {
base::DictionaryValue request_info;
request_info.SetString(guestview::kUrl, request.security_origin.spec());
- web_view_permission_helper_->RequestPermission(
+ web_view_permission_helper()->RequestPermission(
WEB_VIEW_PERMISSION_TYPE_MEDIA,
request_info,
base::Bind(
@@ -168,7 +166,7 @@ void ChromeWebViewPermissionHelperDelegate::CanDownload(
const base::Callback<void(bool)>& callback) {
base::DictionaryValue request_info;
request_info.SetString(guestview::kUrl, url.spec());
- web_view_permission_helper_->RequestPermission(
+ web_view_permission_helper()->RequestPermission(
WEB_VIEW_PERMISSION_TYPE_DOWNLOAD,
request_info,
base::Bind(
@@ -196,7 +194,7 @@ void ChromeWebViewPermissionHelperDelegate::RequestPointerLockPermission(
request_info.SetString(guestview::kUrl,
web_contents()->GetLastCommittedURL().spec());
- web_view_permission_helper_->RequestPermission(
+ web_view_permission_helper()->RequestPermission(
WEB_VIEW_PERMISSION_TYPE_POINTER_LOCK,
request_info,
base::Bind(&ChromeWebViewPermissionHelperDelegate::
@@ -233,7 +231,7 @@ void ChromeWebViewPermissionHelperDelegate::RequestGeolocationPermission(
bridge_id,
user_gesture,
callback);
- int request_id = web_view_permission_helper_->RequestPermission(
+ int request_id = web_view_permission_helper()->RequestPermission(
WEB_VIEW_PERMISSION_TYPE_GEOLOCATION,
request_info,
permission_callback,
@@ -275,7 +273,7 @@ void ChromeWebViewPermissionHelperDelegate::OnGeolocationPermissionResponse(
void ChromeWebViewPermissionHelperDelegate::CancelGeolocationPermissionRequest(
int bridge_id) {
int request_id = RemoveBridgeID(bridge_id);
- web_view_permission_helper_->CancelPendingPermissionRequest(request_id);
+ web_view_permission_helper()->CancelPendingPermissionRequest(request_id);
}
int ChromeWebViewPermissionHelperDelegate::RemoveBridgeID(int bridge_id) {
@@ -295,7 +293,7 @@ void ChromeWebViewPermissionHelperDelegate::RequestFileSystemPermission(
const base::Callback<void(bool)>& callback) {
base::DictionaryValue request_info;
request_info.SetString(guestview::kUrl, url.spec());
- web_view_permission_helper_->RequestPermission(
+ web_view_permission_helper()->RequestPermission(
WEB_VIEW_PERMISSION_TYPE_FILESYSTEM,
request_info,
base::Bind(&ChromeWebViewPermissionHelperDelegate::
diff --git a/chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h b/chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h
index 11bdd11..fbf5bab 100644
--- a/chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h
+++ b/chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h
@@ -5,7 +5,7 @@
#ifndef CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_PERMISSION_HELPER_DELEGATE_H_
#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_CHROME_WEB_VIEW_PERMISSION_HELPER_DELEGATE_H_
-#include "chrome/browser/guest_view/web_view/web_view_permission_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h"
namespace extensions {
@@ -130,11 +130,9 @@ class ChromeWebViewPermissionHelperDelegate :
bool allowed);
extensions::WebViewGuest* web_view_guest() {
- return web_view_permission_helper_->web_view_guest();
+ return web_view_permission_helper()->web_view_guest();
}
- extensions::WebViewPermissionHelper* web_view_permission_helper_;
-
std::map<int, int> bridge_id_to_request_id_map_;
base::WeakPtrFactory<ChromeWebViewPermissionHelperDelegate> weak_factory_;
diff --git a/chrome/browser/plugins/plugin_info_message_filter.cc b/chrome/browser/plugins/plugin_info_message_filter.cc
index f1d721c..e6f9415 100644
--- a/chrome/browser/plugins/plugin_info_message_filter.cc
+++ b/chrome/browser/plugins/plugin_info_message_filter.cc
@@ -27,7 +27,7 @@
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
#if defined(ENABLE_EXTENSIONS)
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#endif
#if defined(OS_WIN)
diff --git a/chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc b/chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc
index b94f3da..351ff01 100644
--- a/chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc
+++ b/chrome/browser/renderer_context_menu/context_menu_content_type_factory.cc
@@ -13,11 +13,11 @@
#if defined(ENABLE_EXTENSIONS)
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/guest_view/web_view/context_menu_content_type_web_view.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
#include "chrome/browser/renderer_context_menu/context_menu_content_type_app_mode.h"
#include "chrome/browser/renderer_context_menu/context_menu_content_type_extension_popup.h"
#include "chrome/browser/renderer_context_menu/context_menu_content_type_panel.h"
#include "chrome/browser/renderer_context_menu/context_menu_content_type_platform_app.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/extension.h"
#endif
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 6ea1b71..b9cd2a9 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -31,7 +31,6 @@
#include "chrome/browser/download/download_stats.h"
#include "chrome/browser/extensions/devtools_util.h"
#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
#include "chrome/browser/plugins/chrome_plugin_service_filter.h"
#include "chrome/browser/prefs/incognito_mode_prefs.h"
#include "chrome/browser/profiles/profile.h"
@@ -88,6 +87,7 @@
#include "content/public/common/url_utils.h"
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/view_type_utils.h"
#include "extensions/common/extension.h"
#include "net/base/escape.h"
diff --git a/chrome/browser/renderer_host/chrome_render_message_filter.cc b/chrome/browser/renderer_host/chrome_render_message_filter.cc
index ef49c8e..a410b4b 100644
--- a/chrome/browser/renderer_host/chrome_render_message_filter.cc
+++ b/chrome/browser/renderer_host/chrome_render_message_filter.cc
@@ -23,8 +23,8 @@
#include "content/public/browser/render_process_host.h"
#if defined(ENABLE_EXTENSIONS)
-#include "chrome/browser/guest_view/web_view/web_view_permission_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#endif
#if defined(ENABLE_TASK_MANAGER)
diff --git a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
index 3514461..81b8088 100644
--- a/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
+++ b/chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.cc
@@ -62,8 +62,8 @@
#include "chrome/browser/apps/ephemeral_app_throttle.h"
#include "chrome/browser/extensions/api/streams_private/streams_private_api.h"
#include "chrome/browser/extensions/user_script_listener.h"
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
#include "chrome/common/extensions/manifest_handlers/mime_types_handler.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/browser/info_map.h"
#include "extensions/common/constants.h"
#include "extensions/common/user_script.h"
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
index ab7989b..387328e 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.mm
@@ -5,7 +5,6 @@
#include "chrome/browser/ui/cocoa/constrained_window/constrained_window_mac.h"
#include "base/logging.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h"
#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet.h"
@@ -15,6 +14,7 @@
#include "components/web_modal/web_contents_modal_dialog_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
using web_modal::WebContentsModalDialogManager;
using web_modal::NativeWebContentsModalDialog;
diff --git a/chrome/browser/ui/views/constrained_window_views.cc b/chrome/browser/ui/views/constrained_window_views.cc
index c95f31b..658e32c 100644
--- a/chrome/browser/ui/views/constrained_window_views.cc
+++ b/chrome/browser/ui/views/constrained_window_views.cc
@@ -6,10 +6,10 @@
#include <algorithm>
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
#include "chrome/browser/ui/browser_finder.h"
#include "components/web_modal/popup_manager.h"
#include "components/web_modal/web_contents_modal_dialog_host.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "ui/views/border.h"
#include "ui/views/widget/widget.h"
#include "ui/views/widget/widget_observer.h"
diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi
index 62a37c3..b72faf8 100644
--- a/chrome/chrome_browser.gypi
+++ b/chrome/chrome_browser.gypi
@@ -1484,25 +1484,12 @@
'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/web_view/chrome_web_view_permission_helper_delegate.cc',
- 'browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h',
'browser/guest_view/web_view/chrome_web_view_guest_delegate.cc',
'browser/guest_view/web_view/chrome_web_view_guest_delegate.h',
+ 'browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.cc',
+ 'browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h',
'browser/guest_view/web_view/context_menu_content_type_web_view.cc',
'browser/guest_view/web_view/context_menu_content_type_web_view.h',
- 'browser/guest_view/web_view/javascript_dialog_helper.cc',
- 'browser/guest_view/web_view/javascript_dialog_helper.h',
- 'browser/guest_view/web_view/web_view_constants.cc',
- 'browser/guest_view/web_view/web_view_constants.h',
- 'browser/guest_view/web_view/web_view_find_helper.cc',
- 'browser/guest_view/web_view/web_view_find_helper.h',
- 'browser/guest_view/web_view/web_view_guest.cc',
- 'browser/guest_view/web_view/web_view_guest.h',
- 'browser/guest_view/web_view/web_view_permission_types.h',
- 'browser/guest_view/web_view/web_view_permission_helper.cc',
- 'browser/guest_view/web_view/web_view_permission_helper.h',
- 'browser/guest_view/web_view/web_view_renderer_state.cc',
- 'browser/guest_view/web_view/web_view_renderer_state.h',
'browser/infobars/infobar_extension_api.cc',
'browser/infobars/infobar_extension_api.h',
'browser/metrics/extensions_metrics_provider.cc',
diff --git a/extensions/browser/api/extensions_api_client.cc b/extensions/browser/api/extensions_api_client.cc
index 1e0c6d5..b75428d 100644
--- a/extensions/browser/api/extensions_api_client.cc
+++ b/extensions/browser/api/extensions_api_client.cc
@@ -51,4 +51,15 @@ device::HidService* ExtensionsAPIClient::GetHidService() {
return NULL;
}
+WebViewGuestDelegate* ExtensionsAPIClient::CreateWebViewGuestDelegate(
+ WebViewGuest* web_view_guest) const {
+ return NULL;
+}
+
+WebViewPermissionHelperDelegate* ExtensionsAPIClient::
+ CreateWebViewPermissionHelperDelegate(
+ WebViewPermissionHelper* web_view_permission_helper) const {
+ return NULL;
+}
+
} // namespace extensions
diff --git a/extensions/browser/api/extensions_api_client.h b/extensions/browser/api/extensions_api_client.h
index 93fae57..4a60df5 100644
--- a/extensions/browser/api/extensions_api_client.h
+++ b/extensions/browser/api/extensions_api_client.h
@@ -26,6 +26,10 @@ class HidService;
namespace extensions {
class AppViewGuestDelegate;
+class WebViewGuest;
+class WebViewGuestDelegate;
+class WebViewPermissionHelper;
+class WebViewPermissionHelperDelegate;
class SettingsObserver;
class SettingsStorageFactory;
class ValueStoreCache;
@@ -75,6 +79,17 @@ class ExtensionsAPIClient {
// Returns the HidService instance for this embedder.
virtual device::HidService* GetHidService();
+ // Returns a delegate for some of WebViewGuest's behavior. The caller owns the
+ // returned WebViewGuestDelegate.
+ virtual WebViewGuestDelegate* CreateWebViewGuestDelegate (
+ WebViewGuest* web_view_guest) const;
+
+ // Returns a delegate for some of WebViewPermissionHelper's behavior. The
+ // caller owns the returned WebViewPermissionHelperDelegate.
+ virtual WebViewPermissionHelperDelegate*
+ CreateWebViewPermissionHelperDelegate (
+ WebViewPermissionHelper* web_view_permission_helper) const;
+
virtual void RegisterGuestViewTypes() {}
// NOTE: If this interface gains too many methods (perhaps more than 20) it
diff --git a/extensions/browser/guest_view/DEPS b/extensions/browser/guest_view/DEPS
new file mode 100644
index 0000000..f7e30da
--- /dev/null
+++ b/extensions/browser/guest_view/DEPS
@@ -0,0 +1,5 @@
+include_rules = [
+ # TODO(hanxi): Remove these. http://crbug.com/352293.
+ "+chrome/browser/extensions/api/web_view/web_view_internal_api.h",
+ "+third_party/WebKit/public/web/WebFindOptions.h",
+]
diff --git a/extensions/browser/guest_view/guest_view_base.cc b/extensions/browser/guest_view/guest_view_base.cc
index ffb2e02..cdf9f0a 100644
--- a/extensions/browser/guest_view/guest_view_base.cc
+++ b/extensions/browser/guest_view/guest_view_base.cc
@@ -14,8 +14,10 @@
#include "extensions/browser/api/extensions_api_client.h"
#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/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/process_map.h"
#include "extensions/common/features/feature.h"
#include "extensions/common/features/feature_provider.h"
@@ -442,6 +444,8 @@ void GuestViewBase::CompleteInit(const std::string& embedder_extension_id,
// static
void GuestViewBase::RegisterGuestViewTypes() {
+ AppViewGuest::Register();
+ WebViewGuest::Register();
ExtensionsAPIClient::Get()->RegisterGuestViewTypes();
}
diff --git a/chrome/browser/guest_view/web_view/javascript_dialog_helper.cc b/extensions/browser/guest_view/web_view/javascript_dialog_helper.cc
index 6fe90b1..1ee2f7f 100644
--- a/chrome/browser/guest_view/web_view/javascript_dialog_helper.cc
+++ b/extensions/browser/guest_view/web_view/javascript_dialog_helper.cc
@@ -2,15 +2,15 @@
// 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/web_view/javascript_dialog_helper.h"
+#include "extensions/browser/guest_view/web_view/javascript_dialog_helper.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
-#include "chrome/browser/guest_view/web_view/web_view_constants.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_types.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_types.h"
namespace extensions {
diff --git a/chrome/browser/guest_view/web_view/javascript_dialog_helper.h b/extensions/browser/guest_view/web_view/javascript_dialog_helper.h
index 654b0a2..d9ceee9 100644
--- a/chrome/browser/guest_view/web_view/javascript_dialog_helper.h
+++ b/extensions/browser/guest_view/web_view/javascript_dialog_helper.h
@@ -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_WEB_VIEW_JAVASCRIPT_DIALOG_HELPER_H_
-#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_JAVASCRIPT_DIALOG_HELPER_H_
+#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_JAVASCRIPT_DIALOG_HELPER_H_
+#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_JAVASCRIPT_DIALOG_HELPER_H_
#include "content/public/browser/javascript_dialog_manager.h"
@@ -54,4 +54,4 @@ class JavaScriptDialogHelper : public content::JavaScriptDialogManager {
} // namespace extensions
-#endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_JAVASCRIPT_DIALOG_HELPER_H_
+#endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_JAVASCRIPT_DIALOG_HELPER_H_
diff --git a/chrome/browser/guest_view/web_view/web_view_constants.cc b/extensions/browser/guest_view/web_view/web_view_constants.cc
index a93e363..93ab4cc 100644
--- a/chrome/browser/guest_view/web_view/web_view_constants.cc
+++ b/extensions/browser/guest_view/web_view/web_view_constants.cc
@@ -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/web_view/web_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
namespace webview {
diff --git a/chrome/browser/guest_view/web_view/web_view_constants.h b/extensions/browser/guest_view/web_view/web_view_constants.h
index e28d59d..c398b5d 100644
--- a/chrome/browser/guest_view/web_view/web_view_constants.h
+++ b/extensions/browser/guest_view/web_view/web_view_constants.h
@@ -4,8 +4,8 @@
// Constants used for the WebView API.
-#ifndef CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_CONSTANTS_H_
-#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_CONSTANTS_H_
+#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_CONSTANTS_H_
+#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_CONSTANTS_H_
namespace webview {
@@ -115,4 +115,4 @@ extern const int kInvalidPermissionRequestID;
} // namespace webview
-#endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_CONSTANTS_H_
+#endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_CONSTANTS_H_
diff --git a/chrome/browser/guest_view/web_view/web_view_find_helper.cc b/extensions/browser/guest_view/web_view/web_view_find_helper.cc
index 16d5a92..e7b7730 100644
--- a/chrome/browser/guest_view/web_view/web_view_find_helper.cc
+++ b/extensions/browser/guest_view/web_view/web_view_find_helper.cc
@@ -2,12 +2,12 @@
// 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/web_view/web_view_find_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_find_helper.h"
#include <utility>
#include "chrome/browser/extensions/api/web_view/web_view_internal_api.h"
-#include "chrome/browser/guest_view/web_view/web_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
namespace extensions {
diff --git a/chrome/browser/guest_view/web_view/web_view_find_helper.h b/extensions/browser/guest_view/web_view/web_view_find_helper.h
index b257a72..425b440 100644
--- a/chrome/browser/guest_view/web_view/web_view_find_helper.h
+++ b/extensions/browser/guest_view/web_view/web_view_find_helper.h
@@ -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_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_
-#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_
+#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_
+#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_
#include <map>
#include <vector>
@@ -187,4 +187,4 @@ class WebViewFindHelper {
} // namespace extensions
-#endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_
+#endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_FIND_HELPER_H_
diff --git a/chrome/browser/guest_view/web_view/web_view_guest.cc b/extensions/browser/guest_view/web_view/web_view_guest.cc
index 98a606b..5eaf6b4 100644
--- a/chrome/browser/guest_view/web_view/web_view_guest.cc
+++ b/extensions/browser/guest_view/web_view/web_view_guest.cc
@@ -2,18 +2,13 @@
// 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/web_view/web_view_guest.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "base/message_loop/message_loop.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/extensions/api/web_request/web_request_api.h"
#include "chrome/browser/extensions/api/web_view/web_view_internal_api.h"
-#include "chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h"
-#include "chrome/browser/guest_view/web_view/web_view_constants.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_types.h"
-#include "chrome/browser/guest_view/web_view/web_view_renderer_state.h"
+#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/child_process_security_policy.h"
#include "content/public/browser/native_web_keyboard_event.h"
@@ -35,15 +30,19 @@
#include "content/public/common/result_codes.h"
#include "content/public/common/stop_find_action.h"
#include "content/public/common/url_constants.h"
+#include "extensions/browser/api/extensions_api_client.h"
#include "extensions/browser/extension_system.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_types.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension_messages.h"
#include "ipc/ipc_message_macros.h"
#include "net/base/escape.h"
#include "net/base/net_errors.h"
-#include "third_party/WebKit/public/web/WebFindOptions.h"
#include "ui/base/models/simple_menu_model.h"
using base::UserMetricsAction;
@@ -102,19 +101,6 @@ std::string GetStoragePartitionIdFromSiteURL(const GURL& site_url) {
return (persist_storage ? webview::kPersistPrefix : "") + partition_id;
}
-void RemoveWebViewEventListenersOnIOThread(
- void* profile,
- const std::string& extension_id,
- int embedder_process_id,
- int view_instance_id) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
- ExtensionWebRequestEventRouter::GetInstance()->RemoveWebViewEventListeners(
- profile,
- extension_id,
- embedder_process_id,
- view_instance_id);
-}
-
void ParsePartitionParam(const base::DictionaryValue& create_params,
std::string* storage_partition_id,
bool* persist_storage) {
@@ -325,21 +311,8 @@ void WebViewGuest::DidStopLoading() {
}
void WebViewGuest::EmbedderDestroyed() {
- // TODO(fsamuel): WebRequest event listeners for <webview> should survive
- // reparenting of a <webview> within a single embedder. Right now, we keep
- // around the browser state for the listener for the lifetime of the embedder.
- // Ideally, the lifetime of the listeners should match the lifetime of the
- // <webview> DOM node. Once http://crbug.com/156219 is resolved we can move
- // the call to RemoveWebViewEventListenersOnIOThread back to
- // WebViewGuest::WebContentsDestroyed.
- content::BrowserThread::PostTask(
- content::BrowserThread::IO,
- FROM_HERE,
- base::Bind(
- &RemoveWebViewEventListenersOnIOThread,
- browser_context(), embedder_extension_id(),
- embedder_render_process_id(),
- view_instance_id()));
+ if (web_view_guest_delegate_)
+ web_view_guest_delegate_->OnEmbedderDestroyed();
}
void WebViewGuest::GuestDestroyed() {
@@ -636,7 +609,8 @@ WebViewGuest::WebViewGuest(content::BrowserContext* browser_context,
is_overriding_user_agent_(false),
find_helper_(this),
javascript_dialog_helper_(this) {
- web_view_guest_delegate_.reset(new ChromeWebViewGuestDelegate(this));
+ web_view_guest_delegate_.reset(
+ ExtensionsAPIClient::Get()->CreateWebViewGuestDelegate(this));
}
WebViewGuest::~WebViewGuest() {
diff --git a/chrome/browser/guest_view/web_view/web_view_guest.h b/extensions/browser/guest_view/web_view/web_view_guest.h
index ba0613f..a6a9206 100644
--- a/chrome/browser/guest_view/web_view/web_view_guest.h
+++ b/extensions/browser/guest_view/web_view/web_view_guest.h
@@ -2,23 +2,26 @@
// 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_WEB_VIEW_WEB_VIEW_GUEST_H_
-#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_H_
+#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_H_
+#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_H_
#include <vector>
#include "base/observer_list.h"
-#include "chrome/browser/guest_view/web_view/javascript_dialog_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_find_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_helper.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_types.h"
#include "content/public/browser/javascript_dialog_manager.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "extensions/browser/guest_view/guest_view.h"
+#include "extensions/browser/guest_view/web_view/javascript_dialog_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_find_helper.h"
#include "extensions/browser/guest_view/web_view/web_view_guest_delegate.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_types.h"
#include "extensions/browser/script_executor.h"
-#include "third_party/WebKit/public/web/WebFindOptions.h"
+
+namespace blink {
+struct WebFindOptions;
+} // nanespace blink
namespace extensions {
@@ -357,4 +360,4 @@ class WebViewGuest : public GuestView<WebViewGuest>,
} // namespace extensions
-#endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_H_
+#endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_GUEST_H_
diff --git a/extensions/browser/guest_view/web_view/web_view_guest_delegate.cc b/extensions/browser/guest_view/web_view/web_view_guest_delegate.cc
index d651212..f91ebce 100644
--- a/extensions/browser/guest_view/web_view/web_view_guest_delegate.cc
+++ b/extensions/browser/guest_view/web_view/web_view_guest_delegate.cc
@@ -6,7 +6,8 @@
namespace extensions {
-WebViewGuestDelegate::WebViewGuestDelegate() {
+WebViewGuestDelegate::WebViewGuestDelegate(WebViewGuest* web_view_guest)
+ : web_view_guest_(web_view_guest) {
}
WebViewGuestDelegate::~WebViewGuestDelegate() {
diff --git a/extensions/browser/guest_view/web_view/web_view_guest_delegate.h b/extensions/browser/guest_view/web_view/web_view_guest_delegate.h
index d72ae0e..0b54e72 100644
--- a/extensions/browser/guest_view/web_view/web_view_guest_delegate.h
+++ b/extensions/browser/guest_view/web_view/web_view_guest_delegate.h
@@ -14,6 +14,8 @@ class WebContents;
namespace extensions {
+class WebViewGuest;
+
namespace api {
namespace web_view_internal{
@@ -25,7 +27,7 @@ struct ContextMenuItem;
// A delegate class of WebViewGuest that are not a part of chrome.
class WebViewGuestDelegate {
public :
- WebViewGuestDelegate();
+ explicit WebViewGuestDelegate(WebViewGuest* web_view_guest);
virtual ~WebViewGuestDelegate();
typedef std::vector<linked_ptr<api::web_view_internal::ContextMenuItem> >
@@ -40,6 +42,9 @@ class WebViewGuestDelegate {
// Called to attach helpers just after additional initialization is performed.
virtual void OnAttachWebViewHelpers(content::WebContents* contents) = 0;
+ // Called to perform some cleanup prior to destruction.
+ virtual void OnEmbedderDestroyed() = 0;
+
// Called when the guest WebContents commits a provisional load in any frame.
virtual void OnDidCommitProvisionalLoadForFrame(bool is_main_frame) = 0;
@@ -63,7 +68,11 @@ class WebViewGuestDelegate {
int request_id,
const MenuItemVector* items) = 0;
+ WebViewGuest* web_view_guest() const { return web_view_guest_; }
+
private:
+ WebViewGuest* const web_view_guest_;
+
DISALLOW_COPY_AND_ASSIGN(WebViewGuestDelegate);
};
diff --git a/chrome/browser/guest_view/web_view/web_view_permission_helper.cc b/extensions/browser/guest_view/web_view/web_view_permission_helper.cc
index d3fc3a9..50e1911 100644
--- a/chrome/browser/guest_view/web_view/web_view_permission_helper.cc
+++ b/extensions/browser/guest_view/web_view/web_view_permission_helper.cc
@@ -2,16 +2,16 @@
// 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/web_view/web_view_permission_helper.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
-#include "chrome/browser/guest_view/web_view/chrome_web_view_permission_helper_delegate.h"
-#include "chrome/browser/guest_view/web_view/web_view_constants.h"
-#include "chrome/browser/guest_view/web_view/web_view_guest.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_types.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/user_metrics.h"
+#include "extensions/browser/api/extensions_api_client.h"
+#include "extensions/browser/guest_view/web_view/web_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_types.h"
using content::BrowserPluginGuestDelegate;
using content::RenderViewHost;
@@ -134,10 +134,9 @@ WebViewPermissionHelper::WebViewPermissionHelper(WebViewGuest* web_view_guest)
next_permission_request_id_(guestview::kInstanceIDNone),
web_view_guest_(web_view_guest),
weak_factory_(this) {
- // TODO(hanxi) : Create the delegate through ExtensionsAPIClient after
- // moving WebViewPermissionHelper to extensions.
web_view_permission_helper_delegate_.reset(
- new ChromeWebViewPermissionHelperDelegate(this));
+ ExtensionsAPIClient::Get()->CreateWebViewPermissionHelperDelegate(
+ this));
}
WebViewPermissionHelper::~WebViewPermissionHelper() {
diff --git a/chrome/browser/guest_view/web_view/web_view_permission_helper.h b/extensions/browser/guest_view/web_view/web_view_permission_helper.h
index 59e7221..161d550 100644
--- a/chrome/browser/guest_view/web_view/web_view_permission_helper.h
+++ b/extensions/browser/guest_view/web_view/web_view_permission_helper.h
@@ -2,16 +2,16 @@
// 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_WEB_VIEW_WEB_VIEW_PERMISSION_HELPER_H_
-#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_HELPER_H_
+#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_HELPER_H_
+#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_HELPER_H_
#include "base/memory/weak_ptr.h"
#include "base/metrics/user_metrics_action.h"
-#include "chrome/browser/guest_view/web_view/web_view_permission_types.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/common/media_stream_request.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_types.h"
using base::UserMetricsAction;
@@ -146,10 +146,10 @@ class WebViewPermissionHelper
WebViewPermissionHelper::RequestMap pending_permission_requests_;
- scoped_ptr<extensions::WebViewPermissionHelperDelegate>
+ scoped_ptr<WebViewPermissionHelperDelegate>
web_view_permission_helper_delegate_;
- WebViewGuest* web_view_guest_;
+ WebViewGuest* const web_view_guest_;
base::WeakPtrFactory<WebViewPermissionHelper> weak_factory_;
@@ -158,4 +158,4 @@ class WebViewPermissionHelper
} // namespace extensions
-#endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_HELPER_H_
+#endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_HELPER_H_
diff --git a/extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.cc b/extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.cc
index d53d64d..47b7302 100644
--- a/extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.cc
+++ b/extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.cc
@@ -4,11 +4,15 @@
#include "extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h"
+#include "extensions/browser/guest_view/web_view/web_view_guest.h"
+
namespace extensions {
WebViewPermissionHelperDelegate::WebViewPermissionHelperDelegate(
- content::WebContents* contents)
- : content::WebContentsObserver(contents) {
+ WebViewPermissionHelper* web_view_permission_helper)
+ : content::WebContentsObserver(
+ web_view_permission_helper->web_view_guest()->guest_web_contents()),
+ web_view_permission_helper_(web_view_permission_helper) {
}
WebViewPermissionHelperDelegate::~WebViewPermissionHelperDelegate() {
diff --git a/extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h b/extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h
index ac0aefc..b43b73a 100644
--- a/extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h
+++ b/extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h
@@ -8,6 +8,7 @@
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/common/media_stream_request.h"
+#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
namespace extensions {
@@ -15,7 +16,8 @@ namespace extensions {
// not a part of extensions.
class WebViewPermissionHelperDelegate : public content::WebContentsObserver {
public:
- explicit WebViewPermissionHelperDelegate(content::WebContents* contents);
+ explicit WebViewPermissionHelperDelegate(
+ WebViewPermissionHelper* web_view_permission_helper);
virtual ~WebViewPermissionHelperDelegate();
virtual void RequestMediaAccessPermission(
@@ -83,7 +85,13 @@ class WebViewPermissionHelperDelegate : public content::WebContentsObserver {
bool blocked_by_policy,
IPC::Message* reply_msg) {}
+ WebViewPermissionHelper* web_view_permission_helper() const {
+ return web_view_permission_helper_;
+ }
+
private:
+ WebViewPermissionHelper* const web_view_permission_helper_;
+
DISALLOW_COPY_AND_ASSIGN(WebViewPermissionHelperDelegate);
};
diff --git a/chrome/browser/guest_view/web_view/web_view_permission_types.h b/extensions/browser/guest_view/web_view/web_view_permission_types.h
index 22d8cf6..e520053 100644
--- a/chrome/browser/guest_view/web_view/web_view_permission_types.h
+++ b/extensions/browser/guest_view/web_view/web_view_permission_types.h
@@ -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_WEB_VIEW_WEB_VIEW_PERMISSION_TYPES_H_
-#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_TYPES_H_
+#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_TYPES_H_
+#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_TYPES_H_
enum WebViewPermissionType {
// Unknown type of permission request.
@@ -35,4 +35,4 @@ enum WebViewPermissionType {
WEB_VIEW_PERMISSION_TYPE_POINTER_LOCK
};
-#endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_TYPES_H_
+#endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_PERMISSION_TYPES_H_
diff --git a/chrome/browser/guest_view/web_view/web_view_renderer_state.cc b/extensions/browser/guest_view/web_view/web_view_renderer_state.cc
index 89c0f6e..1687912 100644
--- a/chrome/browser/guest_view/web_view/web_view_renderer_state.cc
+++ b/extensions/browser/guest_view/web_view/web_view_renderer_state.cc
@@ -2,8 +2,8 @@
// 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/web_view/web_view_renderer_state.h"
#include "content/public/browser/browser_thread.h"
+#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
using content::BrowserThread;
diff --git a/chrome/browser/guest_view/web_view/web_view_renderer_state.h b/extensions/browser/guest_view/web_view/web_view_renderer_state.h
index ab785e7..a6e5f43 100644
--- a/chrome/browser/guest_view/web_view/web_view_renderer_state.h
+++ b/extensions/browser/guest_view/web_view/web_view_renderer_state.h
@@ -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_WEB_VIEW_WEB_VIEW_RENDERER_STATE_H_
-#define CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_RENDERER_STATE_H_
+#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_RENDERER_STATE_H_
+#define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_RENDERER_STATE_H_
#include <map>
#include <string>
@@ -74,4 +74,4 @@ class WebViewRendererState {
} // namespace extensions
-#endif // CHROME_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_RENDERER_STATE_H_
+#endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIEW_RENDERER_STATE_H_
diff --git a/extensions/extensions.gyp b/extensions/extensions.gyp
index ed27973..317ab92 100644
--- a/extensions/extensions.gyp
+++ b/extensions/extensions.gyp
@@ -461,6 +461,12 @@
'browser/external_provider_interface.h',
'browser/granted_file_entry.cc',
'browser/granted_file_entry.h',
+ 'browser/guest_view/app_view/app_view_constants.cc',
+ 'browser/guest_view/app_view/app_view_constants.h',
+ 'browser/guest_view/app_view/app_view_guest.cc',
+ '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/guest_view_base.cc',
'browser/guest_view/guest_view_base.h',
'browser/guest_view/guest_view_constants.cc',
@@ -469,16 +475,23 @@
'browser/guest_view/guest_view_manager.cc',
'browser/guest_view/guest_view_manager.h',
'browser/guest_view/guest_view.h',
- 'browser/guest_view/app_view/app_view_constants.cc',
- 'browser/guest_view/app_view/app_view_constants.h',
- 'browser/guest_view/app_view/app_view_guest.cc',
- '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/web_view/web_view_permission_helper_delegate.cc',
- 'browser/guest_view/web_view/web_view_permission_helper_delegate.h',
+ 'browser/guest_view/web_view/javascript_dialog_helper.cc',
+ 'browser/guest_view/web_view/javascript_dialog_helper.h',
+ 'browser/guest_view/web_view/web_view_constants.cc',
+ 'browser/guest_view/web_view/web_view_constants.h',
+ 'browser/guest_view/web_view/web_view_find_helper.cc',
+ 'browser/guest_view/web_view/web_view_find_helper.h',
+ 'browser/guest_view/web_view/web_view_guest.cc',
+ 'browser/guest_view/web_view/web_view_guest.h',
'browser/guest_view/web_view/web_view_guest_delegate.cc',
'browser/guest_view/web_view/web_view_guest_delegate.h',
+ 'browser/guest_view/web_view/web_view_permission_types.h',
+ 'browser/guest_view/web_view/web_view_permission_helper.cc',
+ 'browser/guest_view/web_view/web_view_permission_helper.h',
+ 'browser/guest_view/web_view/web_view_permission_helper_delegate.cc',
+ 'browser/guest_view/web_view/web_view_permission_helper_delegate.h',
+ 'browser/guest_view/web_view/web_view_renderer_state.cc',
+ 'browser/guest_view/web_view/web_view_renderer_state.h',
'browser/image_loader.cc',
'browser/image_loader.h',
'browser/image_loader_factory.cc',