| Index: chrome/browser/guestview/webview/webview_guest.cc
|
| diff --git a/chrome/browser/guestview/webview/webview_guest.cc b/chrome/browser/guestview/webview/webview_guest.cc
|
| index 9a14b4fbf8dc7970b1c79eb5a462458467690cbd..400ad3c9563b4b9025a1cb329fd83a82a643f37a 100644
|
| --- a/chrome/browser/guestview/webview/webview_guest.cc
|
| +++ b/chrome/browser/guestview/webview/webview_guest.cc
|
| @@ -130,7 +130,7 @@ void AttachWebViewHelpers(WebContents* contents) {
|
|
|
| WebViewGuest::WebViewGuest(WebContents* guest_web_contents,
|
| const std::string& extension_id)
|
| - : GuestView(guest_web_contents, extension_id),
|
| + : GuestView<WebViewGuest>(guest_web_contents, extension_id),
|
| WebContentsObserver(guest_web_contents),
|
| script_executor_(new extensions::ScriptExecutor(guest_web_contents,
|
| &script_observers_)),
|
| @@ -162,19 +162,7 @@ WebViewGuest::WebViewGuest(WebContents* guest_web_contents,
|
| }
|
|
|
| // static
|
| -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;
|
| -}
|
| +const std::string& WebViewGuest::Type = "webview";
|
|
|
| // static.
|
| int WebViewGuest::GetViewInstanceId(WebContents* contents) {
|
| @@ -285,23 +273,11 @@ void WebViewGuest::Attach(WebContents* embedder_web_contents,
|
| SetUserAgentOverride("");
|
| }
|
|
|
| - GuestView::Attach(embedder_web_contents, args);
|
| + GuestViewBase::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,
|
| @@ -313,12 +289,12 @@ void WebViewGuest::AddMessageToConsole(int32 level,
|
| args->SetInteger(webview::kLine, line_no);
|
| args->SetString(webview::kSourceId, source_id);
|
| DispatchEvent(
|
| - new GuestView::Event(webview::kEventConsoleMessage, args.Pass()));
|
| + new GuestViewBase::Event(webview::kEventConsoleMessage, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::Close() {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| - DispatchEvent(new GuestView::Event(webview::kEventClose, args.Pass()));
|
| + DispatchEvent(new GuestViewBase::Event(webview::kEventClose, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::DidAttach() {
|
| @@ -363,8 +339,7 @@ void WebViewGuest::GuestProcessGone(base::TerminationStatus status) {
|
| args->SetInteger(webview::kProcessId,
|
| guest_web_contents()->GetRenderProcessHost()->GetID());
|
| args->SetString(webview::kReason, TerminationStatusToString(status));
|
| - DispatchEvent(
|
| - new GuestView::Event(webview::kEventExit, args.Pass()));
|
| + DispatchEvent(new GuestViewBase::Event(webview::kEventExit, args.Pass()));
|
| }
|
|
|
| bool WebViewGuest::HandleKeyboardEvent(
|
| @@ -411,7 +386,8 @@ 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 GuestView::Event(webview::kEventLoadProgress, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventLoadProgress, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::LoadAbort(bool is_top_level,
|
| @@ -421,7 +397,8 @@ 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 GuestView::Event(webview::kEventLoadAbort, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventLoadAbort, args.Pass()));
|
| }
|
|
|
| // TODO(fsamuel): Find a reliable way to test the 'responsive' and
|
| @@ -430,14 +407,16 @@ void WebViewGuest::RendererResponsive() {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| args->SetInteger(webview::kProcessId,
|
| guest_web_contents()->GetRenderProcessHost()->GetID());
|
| - DispatchEvent(new GuestView::Event(webview::kEventResponsive, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::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 GuestView::Event(webview::kEventUnresponsive, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventUnresponsive, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::RequestPermission(
|
| @@ -487,7 +466,8 @@ 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 GuestView::Event(webview::kEventZoomChange, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventZoomChange, args.Pass()));
|
|
|
| current_zoom_factor_ = zoom_factor;
|
| }
|
| @@ -714,7 +694,8 @@ void WebViewGuest::DidCommitProvisionalLoadForFrame(
|
| guest_web_contents()->GetController().GetEntryCount());
|
| args->SetInteger(webview::kInternalProcessId,
|
| guest_web_contents()->GetRenderProcessHost()->GetID());
|
| - DispatchEvent(new GuestView::Event(webview::kEventLoadCommit, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventLoadCommit, args.Pass()));
|
|
|
| // Update the current zoom factor for the new page.
|
| current_zoom_factor_ = content::ZoomLevelToZoomFactor(
|
| @@ -751,7 +732,8 @@ 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 GuestView::Event(webview::kEventLoadStart, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventLoadStart, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::DocumentLoadedInFrame(
|
| @@ -763,7 +745,7 @@ void WebViewGuest::DocumentLoadedInFrame(
|
|
|
| void WebViewGuest::DidStopLoading(content::RenderViewHost* render_view_host) {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| - DispatchEvent(new GuestView::Event(webview::kEventLoadStop, args.Pass()));
|
| + DispatchEvent(new GuestViewBase::Event(webview::kEventLoadStop, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::WebContentsDestroyed(WebContents* web_contents) {
|
| @@ -794,7 +776,8 @@ void WebViewGuest::UserAgentOverrideSet(const std::string& user_agent) {
|
|
|
| void WebViewGuest::LoadHandlerCalled() {
|
| scoped_ptr<base::DictionaryValue> args(new base::DictionaryValue());
|
| - DispatchEvent(new GuestView::Event(webview::kEventContentLoad, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventContentLoad, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::LoadRedirect(const GURL& old_url,
|
| @@ -804,7 +787,8 @@ 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 GuestView::Event(webview::kEventLoadRedirect, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventLoadRedirect, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::AddWebViewToExtensionRendererState() {
|
| @@ -866,7 +850,8 @@ 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 GuestView::Event(webview::kEventSizeChanged, args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventSizeChanged, args.Pass()));
|
| }
|
|
|
| void WebViewGuest::RequestMediaAccessPermission(
|
| @@ -1000,20 +985,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 GuestView::Event(webview::kEventNewWindow,
|
| - args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventNewWindow, args.Pass()));
|
| break;
|
| }
|
| case WEB_VIEW_PERMISSION_TYPE_JAVASCRIPT_DIALOG: {
|
| - DispatchEvent(new GuestView::Event(webview::kEventDialog,
|
| - args.Pass()));
|
| + DispatchEvent(
|
| + new GuestViewBase::Event(webview::kEventDialog, args.Pass()));
|
| break;
|
| }
|
| default: {
|
| args->SetString(webview::kPermission,
|
| PermissionTypeToString(permission_type));
|
| - DispatchEvent(new GuestView::Event(webview::kEventPermissionRequest,
|
| - args.Pass()));
|
| + DispatchEvent(new GuestViewBase::Event(webview::kEventPermissionRequest,
|
| + args.Pass()));
|
| break;
|
| }
|
| }
|
|
|