| Index: chrome/browser/guestview/webview/webview_guest.cc
|
| diff --git a/chrome/browser/guest_view/web_view/web_view_guest.cc b/chrome/browser/guestview/webview/webview_guest.cc
|
| similarity index 93%
|
| rename from chrome/browser/guest_view/web_view/web_view_guest.cc
|
| rename to chrome/browser/guestview/webview/webview_guest.cc
|
| index 5365e1b265fb50976b2caef71cac275e4283a5a9..9a14b4fbf8dc7970b1c79eb5a462458467690cbd 100644
|
| --- a/chrome/browser/guest_view/web_view/web_view_guest.cc
|
| +++ b/chrome/browser/guestview/webview/webview_guest.cc
|
| @@ -1,8 +1,8 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Copyright 2013 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/web_view/web_view_guest.h"
|
| +#include "chrome/browser/guestview/webview/webview_guest.h"
|
|
|
| #include "base/message_loop/message_loop.h"
|
| #include "base/strings/stringprintf.h"
|
| @@ -14,9 +14,9 @@
|
| #include "chrome/browser/extensions/menu_manager.h"
|
| #include "chrome/browser/extensions/script_executor.h"
|
| #include "chrome/browser/favicon/favicon_tab_helper.h"
|
| -#include "chrome/browser/guest_view/guest_view_constants.h"
|
| -#include "chrome/browser/guest_view/web_view/web_view_constants.h"
|
| -#include "chrome/browser/guest_view/web_view/web_view_permission_types.h"
|
| +#include "chrome/browser/guestview/guestview_constants.h"
|
| +#include "chrome/browser/guestview/webview/webview_constants.h"
|
| +#include "chrome/browser/guestview/webview/webview_permission_types.h"
|
| #include "chrome/common/chrome_version_info.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/geolocation_permission_context.h"
|
| @@ -42,7 +42,7 @@
|
| #include "third_party/WebKit/public/web/WebFindOptions.h"
|
|
|
| #if defined(ENABLE_PLUGINS)
|
| -#include "chrome/browser/guest_view/web_view/plugin_permission_helper.h"
|
| +#include "chrome/browser/guestview/webview/plugin_permission_helper.h"
|
| #endif
|
|
|
| #if defined(OS_CHROMEOS)
|
| @@ -130,7 +130,7 @@ void AttachWebViewHelpers(WebContents* contents) {
|
|
|
| WebViewGuest::WebViewGuest(WebContents* guest_web_contents,
|
| const std::string& extension_id)
|
| - : GuestView<WebViewGuest>(guest_web_contents, extension_id),
|
| + : GuestView(guest_web_contents, extension_id),
|
| WebContentsObserver(guest_web_contents),
|
| script_executor_(new extensions::ScriptExecutor(guest_web_contents,
|
| &script_observers_)),
|
| @@ -162,7 +162,19 @@ WebViewGuest::WebViewGuest(WebContents* guest_web_contents,
|
| }
|
|
|
| // static
|
| -const std::string& WebViewGuest::Type = "webview";
|
| +WebViewGuest* WebViewGuest::From(int embedder_process_id,
|
| + int guest_instance_id) {
|
| + GuestView* guest = GuestView::From(embedder_process_id, guest_instance_id);
|
| + if (!guest)
|
| + return NULL;
|
| + return guest->AsWebView();
|
| +}
|
| +
|
| +// static
|
| +WebViewGuest* WebViewGuest::FromWebContents(WebContents* contents) {
|
| + GuestView* guest = GuestView::FromWebContents(contents);
|
| + return guest ? guest->AsWebView() : NULL;
|
| +}
|
|
|
| // static.
|
| int WebViewGuest::GetViewInstanceId(WebContents* contents) {
|
| @@ -273,11 +285,23 @@ void WebViewGuest::Attach(WebContents* embedder_web_contents,
|
| SetUserAgentOverride("");
|
| }
|
|
|
| - GuestViewBase::Attach(embedder_web_contents, args);
|
| + GuestView::Attach(embedder_web_contents, args);
|
|
|
| AddWebViewToExtensionRendererState();
|
| }
|
|
|
| +GuestView::Type WebViewGuest::GetViewType() const {
|
| + return GuestView::WEBVIEW;
|
| +}
|
| +
|
| +WebViewGuest* WebViewGuest::AsWebView() {
|
| + return this;
|
| +}
|
| +
|
| +AdViewGuest* WebViewGuest::AsAdView() {
|
| + return NULL;
|
| +}
|
| +
|
| void WebViewGuest::AddMessageToConsole(int32 level,
|
| const base::string16& message,
|
| int32 line_no,
|
| @@ -289,12 +313,12 @@ void WebViewGuest::AddMessageToConsole(int32 level,
|
| args->SetInteger(webview::kLine, line_no);
|
| args->SetString(webview::kSourceId, source_id);
|
| DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventConsoleMessage, args.Pass()));
|
| + new GuestView::Event(webview::kEventConsoleMessage, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::Close() {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| - DispatchEvent(new GuestViewBase::Event(webview::kEventClose, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventClose, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::DidAttach() {
|
| @@ -339,7 +363,8 @@ void WebViewGuest::GuestProcessGone(base::TerminationStatus status) {
|
| args->SetInteger(webview::kProcessId,
|
| guest_web_contents()->GetRenderProcessHost()->GetID());
|
| args->SetString(webview::kReason, TerminationStatusToString(status));
|
| - DispatchEvent(new GuestViewBase::Event(webview::kEventExit, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestView::Event(webview::kEventExit, args.Pass()));
|
| }
|
|
|
| bool WebViewGuest::HandleKeyboardEvent(
|
| @@ -386,8 +411,7 @@ void WebViewGuest::LoadProgressed(double progress) {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| args->SetString(guestview::kUrl, guest_web_contents()->GetURL().spec());
|
| args->SetDouble(webview::kProgress, progress);
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventLoadProgress, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventLoadProgress, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::LoadAbort(bool is_top_level,
|
| @@ -397,8 +421,7 @@ void WebViewGuest::LoadAbort(bool is_top_level,
|
| args->SetBoolean(guestview::kIsTopLevel, is_top_level);
|
| args->SetString(guestview::kUrl, url.possibly_invalid_spec());
|
| args->SetString(guestview::kReason, error_type);
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventLoadAbort, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventLoadAbort, args.Pass()));
|
| }
|
|
|
| // TODO(fsamuel): Find a reliable way to test the 'responsive' and
|
| @@ -407,16 +430,14 @@ void WebViewGuest::RendererResponsive() {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| args->SetInteger(webview::kProcessId,
|
| guest_web_contents()->GetRenderProcessHost()->GetID());
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventResponsive, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventResponsive, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::RendererUnresponsive() {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| args->SetInteger(webview::kProcessId,
|
| guest_web_contents()->GetRenderProcessHost()->GetID());
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventUnresponsive, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventUnresponsive, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::RequestPermission(
|
| @@ -466,8 +487,7 @@ void WebViewGuest::SetZoom(double zoom_factor) {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| args->SetDouble(webview::kOldZoomFactor, current_zoom_factor_);
|
| args->SetDouble(webview::kNewZoomFactor, zoom_factor);
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventZoomChange, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventZoomChange, args.Pass()));
|
|
|
| current_zoom_factor_ = zoom_factor;
|
| }
|
| @@ -694,8 +714,7 @@ void WebViewGuest::DidCommitProvisionalLoadForFrame(
|
| guest_web_contents()->GetController().GetEntryCount());
|
| args->SetInteger(webview::kInternalProcessId,
|
| guest_web_contents()->GetRenderProcessHost()->GetID());
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventLoadCommit, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventLoadCommit, args.Pass()));
|
|
|
| // Update the current zoom factor for the new page.
|
| current_zoom_factor_ = content::ZoomLevelToZoomFactor(
|
| @@ -732,8 +751,7 @@ void WebViewGuest::DidStartProvisionalLoadForFrame(
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| args->SetString(guestview::kUrl, validated_url.spec());
|
| args->SetBoolean(guestview::kIsTopLevel, is_main_frame);
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventLoadStart, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventLoadStart, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::DocumentLoadedInFrame(
|
| @@ -745,7 +763,7 @@ void WebViewGuest::DocumentLoadedInFrame(
|
|
|
| void WebViewGuest::DidStopLoading(content::RenderViewHost* render_view_host) {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| - DispatchEvent(new GuestViewBase::Event(webview::kEventLoadStop, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventLoadStop, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::WebContentsDestroyed(WebContents* web_contents) {
|
| @@ -776,8 +794,7 @@ void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) {
|
|
|
| void WebViewGuest::LoadHandlerCalled() {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventContentLoad, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventContentLoad, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::LoadRedirect(const GURL& old_url,
|
| @@ -787,8 +804,7 @@ void WebViewGuest::LoadRedirect(const GURL& old_url,
|
| args->SetBoolean(guestview::kIsTopLevel, is_top_level);
|
| args->SetString(webview::kNewURL, new_url.spec());
|
| args->SetString(webview::kOldURL, old_url.spec());
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventLoadRedirect, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventLoadRedirect, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::AddWebViewToExtensionRendererState() {
|
| @@ -850,8 +866,7 @@ void WebViewGuest::SizeChanged(const gfx::Size& old_size,
|
| args->SetInteger(webview::kOldWidth, old_size.width());
|
| args->SetInteger(webview::kNewHeight, new_size.height());
|
| args->SetInteger(webview::kNewWidth, new_size.width());
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventSizeChanged, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventSizeChanged, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::RequestMediaAccessPermission(
|
| @@ -985,20 +1000,20 @@ int WebViewGuest::RequestPermissionInternal(
|
| args->SetInteger(webview::kRequestId, request_id);
|
| switch (static_cast<int>(permission_type)) {
|
| case BROWSER_PLUGIN_PERMISSION_TYPE_NEW_WINDOW: {
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventNewWindow, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventNewWindow,
|
| + args.Pass()));
|
| break;
|
| }
|
| case WEB_VIEW_PERMISSION_TYPE_JAVASCRIPT_DIALOG: {
|
| - DispatchEvent(
|
| - new GuestViewBase::Event(webview::kEventDialog, args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventDialog,
|
| + args.Pass()));
|
| break;
|
| }
|
| default: {
|
| args->SetString(webview::kPermission,
|
| PermissionTypeToString(permission_type));
|
| - DispatchEvent(new GuestViewBase::Event(webview::kEventPermissionRequest,
|
| - args.Pass()));
|
| + DispatchEvent(new GuestView::Event(webview::kEventPermissionRequest,
|
| + args.Pass()));
|
| break;
|
| }
|
| }
|
|
|