diff options
author | loislo@chromium.org <loislo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-30 08:25:25 +0000 |
---|---|---|
committer | loislo@chromium.org <loislo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-30 08:25:25 +0000 |
commit | 1e14a34f67ea0569a210d9a64d186499dab0814d (patch) | |
tree | a68c5fb08a3ecae8b8112c9e6385940fbaf5cf93 | |
parent | 97169f5d6e1f0dc73e7c1964382cff18dfa12a29 (diff) | |
download | chromium_src-1e14a34f67ea0569a210d9a64d186499dab0814d.zip chromium_src-1e14a34f67ea0569a210d9a64d186499dab0814d.tar.gz chromium_src-1e14a34f67ea0569a210d9a64d186499dab0814d.tar.bz2 |
Revert "Replace the GetAssociatedRenderView call with GetAssociatedRenderFrame in ResourceLoader and SSLClientAuthHandler."
This reverts commit 6952f00643ee2d1a58177dd90f35e3542690cc87.
Gardening. This patch breaks 33 layout tests
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20Blink&tests=fast/encoding/mailto-always-utf-8.html,fast/forms/mailto/advanced-get.html,fast/forms/mailto/advanced-put.html,fast/forms/mailto/formenctype-attribute-button-html.html,fast/forms/mailto/formenctype-attribute-input-2.html,fast/forms/mailto/formenctype-attribute-input-html.html,fast/forms/mailto/get-multiple-items-text-plain.html,fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html,fast/forms/mailto/get-multiple-items.html,fast/forms/mailto/get-non-ascii-always-utf-8.html,fast/forms/mailto/get-non-ascii-text-plain-latin-1.html,fast/forms/mailto/get-non-ascii-text-plain.html,fast/forms/mailto/get-non-ascii.html,fast/forms/mailto/get-overwrite-query.html,fast/forms/mailto/post-append-query.html,fast/forms/mailto/post-multiple-items-multipart-form-data.html,fast/forms/mailto/post-multiple-items-text-plain.html,fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html,fast/forms/mailto/post-multiple-items.html,fast/forms/mailto/post-text-plain-with-accept-charset.html,fast/forms/mailto/post-text-plain.html,fast/loader/onload-policy-ignore-for-frame.html,fast/loader/reload-policy-delegate.html,http/tests/download/basic-ascii.html,http/tests/download/default-encoding.html,http/tests/download/inherited-encoding-form-submission-result.html,http/tests/download/inherited-encoding.html,http/tests/download/literal-utf-8.html,http/tests/history/back-to-post.html,http/tests/media/media-source/mediasource-remove.html,http/tests/misc/policy-delegate-called-twice.html,http/tests/navigation/post-redirect-get-reload.php,http/tests/security/feed-urls-from-remote.html
BUG=
TBR=jam@chromium.org
Review URL: https://codereview.chromium.org/101723004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242716 0039d316-1c4b-4281-b951-d872f2087c98
36 files changed, 126 insertions, 133 deletions
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc index 9bbd2b6..375bc0d 100644 --- a/android_webview/browser/aw_content_browser_client.cc +++ b/android_webview/browser/aw_content_browser_client.cc @@ -91,13 +91,13 @@ bool AwContentsMessageFilter::OnMessageReceived(const IPC::Message& message, } void AwContentsMessageFilter::OnShouldOverrideUrlLoading( - int render_frame_id, + int routing_id, const base::string16& url, bool* ignore_navigation) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); *ignore_navigation = false; AwContentsClientBridgeBase* client = - AwContentsClientBridgeBase::FromID(process_id_, render_frame_id); + AwContentsClientBridgeBase::FromID(process_id_, routing_id); if (client) { *ignore_navigation = client->ShouldOverrideUrlLoading(url); } else { @@ -318,7 +318,7 @@ AwContentBrowserClient::CreateQuotaPermissionContext() { void AwContentBrowserClient::AllowCertificateError( int render_process_id, - int render_frame_id, + int render_view_id, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, @@ -327,8 +327,9 @@ void AwContentBrowserClient::AllowCertificateError( bool strict_enforcement, const base::Callback<void(bool)>& callback, content::CertificateRequestResultType* result) { + AwContentsClientBridgeBase* client = - AwContentsClientBridgeBase::FromID(render_process_id, render_frame_id); + AwContentsClientBridgeBase::FromID(render_process_id, render_view_id); bool cancel_request = true; if (client) client->AllowCertificateError(cert_error, diff --git a/android_webview/browser/aw_content_browser_client.h b/android_webview/browser/aw_content_browser_client.h index 9ed0c6e..472dd2f 100644 --- a/android_webview/browser/aw_content_browser_client.h +++ b/android_webview/browser/aw_content_browser_client.h @@ -94,7 +94,7 @@ class AwContentBrowserClient : public content::ContentBrowserClient { CreateQuotaPermissionContext() OVERRIDE; virtual void AllowCertificateError( int render_process_id, - int render_frame_id, + int render_view_id, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, diff --git a/android_webview/browser/aw_contents_client_bridge_base.cc b/android_webview/browser/aw_contents_client_bridge_base.cc index 10d2c6c..2e7b62c 100644 --- a/android_webview/browser/aw_contents_client_bridge_base.cc +++ b/android_webview/browser/aw_contents_client_bridge_base.cc @@ -5,7 +5,7 @@ #include "android_webview/browser/aw_contents_client_bridge_base.h" #include "content/public/browser/browser_thread.h" -#include "content/public/browser/render_frame_host.h" +#include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" using content::BrowserThread; @@ -56,13 +56,13 @@ AwContentsClientBridgeBase* AwContentsClientBridgeBase::FromWebContents( // static AwContentsClientBridgeBase* AwContentsClientBridgeBase::FromID( int render_process_id, - int render_frame_id) { + int render_view_id) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - content::RenderFrameHost* rfh = - content::RenderFrameHost::FromID(render_process_id, render_frame_id); - if (!rfh) return NULL; + const content::RenderViewHost* rvh = + content::RenderViewHost::FromID(render_process_id, render_view_id); + if (!rvh) return NULL; content::WebContents* web_contents = - content::WebContents::FromRenderFrameHost(rfh); + content::WebContents::FromRenderViewHost(rvh); return UserData::GetContents(web_contents); } diff --git a/android_webview/browser/aw_contents_client_bridge_base.h b/android_webview/browser/aw_contents_client_bridge_base.h index a1b3b7f..0383a37 100644 --- a/android_webview/browser/aw_contents_client_bridge_base.h +++ b/android_webview/browser/aw_contents_client_bridge_base.h @@ -34,7 +34,7 @@ class AwContentsClientBridgeBase { static AwContentsClientBridgeBase* FromWebContents( content::WebContents* web_contents); static AwContentsClientBridgeBase* FromID(int render_process_id, - int render_frame_id); + int render_view_id); virtual ~AwContentsClientBridgeBase(); diff --git a/android_webview/common/render_view_messages.h b/android_webview/common/render_view_messages.h index 35266dd..163d9c9 100644 --- a/android_webview/common/render_view_messages.h +++ b/android_webview/common/render_view_messages.h @@ -107,6 +107,6 @@ IPC_MESSAGE_ROUTED1(AwViewHostMsg_OnContentsSizeChanged, // cornercases. This is sent before updating the NavigationController state // or creating a URLRequest for the main frame resource. IPC_SYNC_MESSAGE_CONTROL2_1(AwViewHostMsg_ShouldOverrideUrlLoading, - int /* render_frame_id id */, + int /* routing id */, base::string16 /* in - url */, bool /* out - result */) diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc index 09f5a5c..74f6db1 100644 --- a/android_webview/renderer/aw_content_renderer_client.cc +++ b/android_webview/renderer/aw_content_renderer_client.cc @@ -19,8 +19,8 @@ #include "content/public/common/url_constants.h" #include "content/public/renderer/document_state.h" #include "content/public/renderer/navigation_state.h" -#include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_thread.h" +#include "content/public/renderer/render_view.h" #include "net/base/net_errors.h" #include "third_party/WebKit/public/platform/WebString.h" #include "third_party/WebKit/public/platform/WebURL.h" @@ -60,7 +60,7 @@ void AwContentRendererClient::RenderThreadStarted() { } bool AwContentRendererClient::HandleNavigation( - content::RenderFrame* render_frame, + content::RenderView* view, content::DocumentState* document_state, int opener_id, blink::WebFrame* frame, @@ -107,9 +107,9 @@ bool AwContentRendererClient::HandleNavigation( bool ignore_navigation = false; base::string16 url = request.url().string(); - int render_frame_id = render_frame->GetRoutingID(); + int routing_id = view->GetRoutingID(); RenderThread::Get()->Send(new AwViewHostMsg_ShouldOverrideUrlLoading( - render_frame_id, url, &ignore_navigation)); + routing_id, url, &ignore_navigation)); return ignore_navigation; } diff --git a/android_webview/renderer/aw_content_renderer_client.h b/android_webview/renderer/aw_content_renderer_client.h index cbabaf1..3a55350 100644 --- a/android_webview/renderer/aw_content_renderer_client.h +++ b/android_webview/renderer/aw_content_renderer_client.h @@ -41,7 +41,7 @@ class AwContentRendererClient : public content::ContentRendererClient { virtual void AddKeySystems( std::vector<content::KeySystemInfo>* key_systems) OVERRIDE; - virtual bool HandleNavigation(content::RenderFrame* render_frame, + virtual bool HandleNavigation(content::RenderView* view, content::DocumentState* document_state, int opener_id, blink::WebFrame* frame, diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc index 469133b..cca4767 100644 --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc @@ -1752,7 +1752,7 @@ ChromeContentBrowserClient::CreateQuotaPermissionContext() { void ChromeContentBrowserClient::AllowCertificateError( int render_process_id, - int render_frame_id, + int render_view_id, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, @@ -1771,13 +1771,8 @@ void ChromeContentBrowserClient::AllowCertificateError( } // If the tab is being prerendered, cancel the prerender and the request. - content::RenderFrameHost* render_frame_host = - content::RenderFrameHost::FromID(render_process_id, render_frame_id); - if (!render_frame_host) { - NOTREACHED(); - return; - } - WebContents* tab = WebContents::FromRenderFrameHost(render_frame_host); + WebContents* tab = tab_util::GetWebContentsByID( + render_process_id, render_view_id); if (!tab) { NOTREACHED(); return; @@ -1788,8 +1783,7 @@ void ChromeContentBrowserClient::AllowCertificateError( if (prerender_manager && prerender_manager->IsWebContentsPrerendering(tab, NULL)) { if (prerender_manager->prerender_tracker()->TryCancel( - render_process_id, - render_frame_host->GetRenderViewHost()->GetRoutingID(), + render_process_id, render_view_id, prerender::FINAL_STATUS_SSL_ERROR)) { *result = content::CERTIFICATE_REQUEST_RESULT_TYPE_CANCEL; return; diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h index f1030a5..99ccb01 100644 --- a/chrome/browser/chrome_content_browser_client.h +++ b/chrome/browser/chrome_content_browser_client.h @@ -154,7 +154,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { CreateQuotaPermissionContext() OVERRIDE; virtual void AllowCertificateError( int render_process_id, - int render_frame_id, + int render_view_id, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc index 0d16779..e021d19 100644 --- a/content/browser/frame_host/render_frame_host_impl.cc +++ b/content/browser/frame_host/render_frame_host_impl.cc @@ -95,10 +95,6 @@ gfx::NativeView RenderFrameHostImpl::GetNativeView() { return view->GetNativeView(); } -RenderViewHost* RenderFrameHostImpl::GetRenderViewHost() { - return render_view_host_; -} - bool RenderFrameHostImpl::Send(IPC::Message* message) { return GetProcess()->Send(message); } diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h index 155b427..8dfc7e5 100644 --- a/content/browser/frame_host/render_frame_host_impl.h +++ b/content/browser/frame_host/render_frame_host_impl.h @@ -36,7 +36,6 @@ class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost { virtual RenderProcessHost* GetProcess() OVERRIDE; virtual int GetRoutingID() OVERRIDE; virtual gfx::NativeView GetNativeView() OVERRIDE; - virtual RenderViewHost* GetRenderViewHost() OVERRIDE; // IPC::Sender virtual bool Send(IPC::Message* msg) OVERRIDE; diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc index 00760d0..886dba4 100644 --- a/content/browser/loader/resource_loader.cc +++ b/content/browser/loader/resource_loader.cc @@ -279,8 +279,8 @@ void ResourceLoader::OnSSLCertificateError(net::URLRequest* request, ResourceRequestInfoImpl* info = GetRequestInfo(); int render_process_id; - int render_frame_id; - if (!info->GetAssociatedRenderFrame(&render_process_id, &render_frame_id)) + int render_view_id; + if (!info->GetAssociatedRenderView(&render_process_id, &render_view_id)) NOTREACHED(); SSLManager::OnSSLCertificateError( @@ -289,7 +289,7 @@ void ResourceLoader::OnSSLCertificateError(net::URLRequest* request, info->GetResourceType(), request_->url(), render_process_id, - render_frame_id, + render_view_id, ssl_info, fatal); } diff --git a/content/browser/renderer_host/socket_stream_dispatcher_host.cc b/content/browser/renderer_host/socket_stream_dispatcher_host.cc index 204bf8e..677c281 100644 --- a/content/browser/renderer_host/socket_stream_dispatcher_host.cc +++ b/content/browser/renderer_host/socket_stream_dispatcher_host.cc @@ -144,7 +144,7 @@ void SocketStreamDispatcherHost::OnSSLCertificateError( GlobalRequestID request_id(-1, socket_id); SSLManager::OnSSLCertificateError( weak_ptr_factory_.GetWeakPtr(), request_id, ResourceType::SUB_RESOURCE, - socket->url(), render_process_id_, socket_stream_host->render_frame_id(), + socket->url(), render_process_id_, socket_stream_host->render_view_id(), ssl_info, fatal); } @@ -195,11 +195,11 @@ SocketStreamDispatcherHost::~SocketStreamDispatcherHost() { } // Message handlers called by OnMessageReceived. -void SocketStreamDispatcherHost::OnConnect(int render_frame_id, +void SocketStreamDispatcherHost::OnConnect(int render_view_id, const GURL& url, int socket_id) { DVLOG(2) << "SocketStreamDispatcherHost::OnConnect" - << " render_frame_id=" << render_frame_id + << " render_view_id=" << render_view_id << " url=" << url << " socket_id=" << socket_id; DCHECK_NE(kNoSocketId, socket_id); @@ -223,7 +223,7 @@ void SocketStreamDispatcherHost::OnConnect(int render_frame_id, // Note that the SocketStreamHost is responsible for checking that |url| // is valid. SocketStreamHost* socket_stream_host = - new SocketStreamHost(this, render_frame_id, socket_id); + new SocketStreamHost(this, render_view_id, socket_id); hosts_.AddWithID(socket_stream_host, socket_id); socket_stream_host->Connect(url, GetURLRequestContext()); DVLOG(2) << "SocketStreamDispatcherHost::OnConnect -> " << socket_id; diff --git a/content/browser/renderer_host/socket_stream_dispatcher_host.h b/content/browser/renderer_host/socket_stream_dispatcher_host.h index 163f845..958eada 100644 --- a/content/browser/renderer_host/socket_stream_dispatcher_host.h +++ b/content/browser/renderer_host/socket_stream_dispatcher_host.h @@ -76,7 +76,7 @@ class SocketStreamDispatcherHost private: // Message handlers called by OnMessageReceived. - void OnConnect(int render_frame_id, const GURL& url, int socket_id); + void OnConnect(int render_view_id, const GURL& url, int socket_id); void OnSendData(int socket_id, const std::vector<char>& data); void OnCloseReq(int socket_id); diff --git a/content/browser/renderer_host/socket_stream_host.cc b/content/browser/renderer_host/socket_stream_host.cc index f09f2f3..ecf6cee 100644 --- a/content/browser/renderer_host/socket_stream_host.cc +++ b/content/browser/renderer_host/socket_stream_host.cc @@ -28,13 +28,13 @@ class SocketStreamId : public net::SocketStream::UserData { SocketStreamHost::SocketStreamHost( net::SocketStream::Delegate* delegate, - int render_frame_id, + int render_view_id, int socket_id) : delegate_(delegate), - render_frame_id_(render_frame_id), + render_view_id_(render_view_id), socket_id_(socket_id) { DCHECK_NE(socket_id_, kNoSocketId); - VLOG(1) << "SocketStreamHost: render_frame_id=" << render_frame_id + VLOG(1) << "SocketStreamHost: render_view_id=" << render_view_id << " socket_id=" << socket_id_; } diff --git a/content/browser/renderer_host/socket_stream_host.h b/content/browser/renderer_host/socket_stream_host.h index eb9b719..237e915 100644 --- a/content/browser/renderer_host/socket_stream_host.h +++ b/content/browser/renderer_host/socket_stream_host.h @@ -29,14 +29,14 @@ namespace content { class SocketStreamHost { public: SocketStreamHost(net::SocketStream::Delegate* delegate, - int render_frame_id, + int render_view_id, int socket_id); ~SocketStreamHost(); // Gets socket_id associated with |socket|. static int SocketIdFromSocketStream(const net::SocketStream* socket); - int render_frame_id() const { return render_frame_id_; } + int render_view_id() const { return render_view_id_; } int socket_id() const { return socket_id_; } // Starts to open connection to |url|. @@ -66,7 +66,7 @@ class SocketStreamHost { private: net::SocketStream::Delegate* delegate_; - int render_frame_id_; + int render_view_id_; int socket_id_; scoped_refptr<net::SocketStreamJob> job_; diff --git a/content/browser/ssl/ssl_cert_error_handler.cc b/content/browser/ssl/ssl_cert_error_handler.cc index a69e993..b3bdb41 100644 --- a/content/browser/ssl/ssl_cert_error_handler.cc +++ b/content/browser/ssl/ssl_cert_error_handler.cc @@ -17,11 +17,11 @@ SSLCertErrorHandler::SSLCertErrorHandler( ResourceType::Type resource_type, const GURL& url, int render_process_id, - int render_frame_id, + int render_view_id, const net::SSLInfo& ssl_info, bool fatal) : SSLErrorHandler(delegate, id, resource_type, url, render_process_id, - render_frame_id), + render_view_id), ssl_info_(ssl_info), cert_error_(net::MapCertStatusToNetError(ssl_info.cert_status)), fatal_(fatal) { diff --git a/content/browser/ssl/ssl_cert_error_handler.h b/content/browser/ssl/ssl_cert_error_handler.h index 6946f42..696fb81 100644 --- a/content/browser/ssl/ssl_cert_error_handler.h +++ b/content/browser/ssl/ssl_cert_error_handler.h @@ -24,7 +24,7 @@ class SSLCertErrorHandler : public SSLErrorHandler { ResourceType::Type resource_type, const GURL& url, int render_process_id, - int render_frame_id, + int render_view_id, const net::SSLInfo& ssl_info, bool fatal); diff --git a/content/browser/ssl/ssl_error_handler.cc b/content/browser/ssl/ssl_error_handler.cc index ed4c2ac..8a322f7 100644 --- a/content/browser/ssl/ssl_error_handler.cc +++ b/content/browser/ssl/ssl_error_handler.cc @@ -6,7 +6,7 @@ #include "base/bind.h" #include "content/browser/frame_host/navigation_controller_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/ssl/ssl_cert_error_handler.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/browser_thread.h" @@ -23,12 +23,12 @@ SSLErrorHandler::SSLErrorHandler(const base::WeakPtr<Delegate>& delegate, ResourceType::Type resource_type, const GURL& url, int render_process_id, - int render_frame_id) + int render_view_id) : manager_(NULL), request_id_(id), delegate_(delegate), render_process_id_(render_process_id), - render_frame_id_(render_frame_id), + render_view_id_(render_view_id), request_url_(url), resource_type_(resource_type), request_has_been_notified_(false) { @@ -61,10 +61,10 @@ void SSLErrorHandler::Dispatch() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); WebContents* web_contents = NULL; - RenderFrameHost* render_frame_host = - RenderFrameHost::FromID(render_process_id_, render_frame_id_); - if (render_frame_host) - web_contents = WebContents::FromRenderFrameHost(render_frame_host); + RenderViewHostImpl* render_view_host = + RenderViewHostImpl::FromID(render_process_id_, render_view_id_); + if (render_view_host) + web_contents = render_view_host->GetDelegate()->GetAsWebContents(); if (!web_contents) { // We arrived on the UI thread, but the tab we're looking for is no longer diff --git a/content/browser/ssl/ssl_error_handler.h b/content/browser/ssl/ssl_error_handler.h index 87bc1da..5f9e9e5 100644 --- a/content/browser/ssl/ssl_error_handler.h +++ b/content/browser/ssl/ssl_error_handler.h @@ -101,7 +101,7 @@ class SSLErrorHandler : public base::RefCountedThreadSafe<SSLErrorHandler> { void TakeNoAction(); int render_process_id() const { return render_process_id_; } - int render_frame_id() const { return render_frame_id_; } + int render_view_id() const { return render_view_id_; } protected: friend class base::RefCountedThreadSafe<SSLErrorHandler>; @@ -112,7 +112,7 @@ class SSLErrorHandler : public base::RefCountedThreadSafe<SSLErrorHandler> { ResourceType::Type resource_type, const GURL& url, int render_process_id, - int render_frame_id); + int render_view_id); virtual ~SSLErrorHandler(); @@ -149,7 +149,7 @@ class SSLErrorHandler : public base::RefCountedThreadSafe<SSLErrorHandler> { // We use these members to find the correct SSLManager when we arrive on // the UI thread. int render_process_id_; - int render_frame_id_; + int render_view_id_; // The URL that we requested. // This read-only member can be accessed on any thread. diff --git a/content/browser/ssl/ssl_manager.cc b/content/browser/ssl/ssl_manager.cc index 68906ce..b1eb51e 100644 --- a/content/browser/ssl/ssl_manager.cc +++ b/content/browser/ssl/ssl_manager.cc @@ -53,7 +53,7 @@ void SSLManager::OnSSLCertificateError( const ResourceType::Type resource_type, const GURL& url, int render_process_id, - int render_frame_id, + int render_view_id, const net::SSLInfo& ssl_info, bool fatal) { DCHECK(delegate.get()); @@ -61,7 +61,7 @@ void SSLManager::OnSSLCertificateError( << net::MapCertStatusToNetError(ssl_info.cert_status) << " id: " << id.child_id << "," << id.request_id << " resource_type: " << resource_type << " url: " << url.spec() << " render_process_id: " - << render_process_id << " render_frame_id: " << render_frame_id + << render_process_id << " render_view_id: " << render_view_id << " cert_status: " << std::hex << ssl_info.cert_status; // A certificate error occurred. Construct a SSLCertErrorHandler object and @@ -74,7 +74,7 @@ void SSLManager::OnSSLCertificateError( resource_type, url, render_process_id, - render_frame_id, + render_view_id, ssl_info, fatal))); } diff --git a/content/browser/ssl/ssl_manager.h b/content/browser/ssl/ssl_manager.h index c195e98..45100a7 100644 --- a/content/browser/ssl/ssl_manager.h +++ b/content/browser/ssl/ssl_manager.h @@ -54,7 +54,7 @@ class SSLManager { ResourceType::Type resource_type, const GURL& url, int render_process_id, - int render_frame_id, + int render_view_id, const net::SSLInfo& ssl_info, bool fatal); diff --git a/content/browser/ssl/ssl_policy.cc b/content/browser/ssl/ssl_policy.cc index 1127f8d..ddf9e4c 100644 --- a/content/browser/ssl/ssl_policy.cc +++ b/content/browser/ssl/ssl_policy.cc @@ -187,7 +187,7 @@ void SSLPolicy::OnCertErrorInternal(SSLCertErrorHandler* handler, CERTIFICATE_REQUEST_RESULT_TYPE_CONTINUE; GetContentClient()->browser()->AllowCertificateError( handler->render_process_id(), - handler->render_frame_id(), + handler->render_view_id(), handler->cert_error(), handler->ssl_info(), handler->request_url(), diff --git a/content/child/socket_stream_dispatcher.cc b/content/child/socket_stream_dispatcher.cc index cdc0845..beeee75 100644 --- a/content/child/socket_stream_dispatcher.cc +++ b/content/child/socket_stream_dispatcher.cc @@ -96,14 +96,14 @@ void IPCWebSocketStreamHandleBridge::Connect(const GURL& url) { socket_id_ = all_bridges.Get().Add(this); DCHECK_NE(socket_id_, kNoSocketId); - int render_frame_id = MSG_ROUTING_NONE; + int render_view_id = MSG_ROUTING_NONE; const SocketStreamHandleData* data = SocketStreamHandleData::ForHandle(handle_); if (data) - render_frame_id = data->render_frame_id(); + render_view_id = data->render_view_id(); AddRef(); // Released in OnClosed(). ChildThread::current()->Send( - new SocketStreamHostMsg_Connect(render_frame_id, url, socket_id_)); + new SocketStreamHostMsg_Connect(render_view_id, url, socket_id_)); DVLOG(1) << "Bridge #" << socket_id_ << " sent IPC Connect"; // TODO(ukai): timeout to OnConnected. } diff --git a/content/common/socket_stream_handle_data.cc b/content/common/socket_stream_handle_data.cc index 0bf3f57..dbf75a4 100644 --- a/content/common/socket_stream_handle_data.cc +++ b/content/common/socket_stream_handle_data.cc @@ -13,14 +13,14 @@ namespace content { // static void SocketStreamHandleData::AddToHandle( - WebSocketStreamHandle* handle, int render_frame_id) { + WebSocketStreamHandle* handle, int render_view_id) { if (!handle) { NOTREACHED(); return; } WebSocketStreamHandleImpl* impl = static_cast<WebSocketStreamHandleImpl*>(handle); - impl->SetUserData(handle, new SocketStreamHandleData(render_frame_id)); + impl->SetUserData(handle, new SocketStreamHandleData(render_view_id)); } // static diff --git a/content/common/socket_stream_handle_data.h b/content/common/socket_stream_handle_data.h index 113f889..470e9ba 100644 --- a/content/common/socket_stream_handle_data.h +++ b/content/common/socket_stream_handle_data.h @@ -19,12 +19,12 @@ class SocketStreamHandleData : public base::SupportsUserData::Data { public: virtual ~SocketStreamHandleData() {} - int render_frame_id() const { return render_frame_id_; } + int render_view_id() const { return render_view_id_; } - // Creates SocketStreamHandleData object with |render_frame_id| and store it + // Creates SocketStreamHandleData object with |render_view_id| and store it // to |handle|. static void AddToHandle( - blink::WebSocketStreamHandle* handle, int render_frame_id); + blink::WebSocketStreamHandle* handle, int render_view_id); // Retrieves the stored user data from blink::WebSocketStreamHandle object. // |handle| must actually be a WebSocketStreamHandleImpl object. @@ -32,11 +32,11 @@ class SocketStreamHandleData : public base::SupportsUserData::Data { blink::WebSocketStreamHandle* handle); private: - explicit SocketStreamHandleData(int render_frame_id) - : render_frame_id_(render_frame_id) { + explicit SocketStreamHandleData(int render_view_id) + : render_view_id_(render_view_id) { } - int render_frame_id_; + int render_view_id_; DISALLOW_COPY_AND_ASSIGN(SocketStreamHandleData); }; diff --git a/content/common/socket_stream_messages.h b/content/common/socket_stream_messages.h index 6e24a15..f463741 100644 --- a/content/common/socket_stream_messages.h +++ b/content/common/socket_stream_messages.h @@ -21,10 +21,10 @@ // The browser starts connecting asynchronously. // Once Socket Stream connection is established, the browser will send // SocketStreamMsg_Connected back. -// |render_frame_id| must be the routing id of RenderFrameImpl to which the +// |render_view_id| must be the routing id of RenderViewImpl to which the // Socket Stream belongs. IPC_MESSAGE_CONTROL3(SocketStreamHostMsg_Connect, - int /* render_frame_id */, + int /* render_view_id */, GURL /* socket_url */, int /* socket_id */) diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h index 0e2e2a3..8878a9a 100644 --- a/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h @@ -387,7 +387,7 @@ class CONTENT_EXPORT ContentBrowserClient { // or denied immediately, and the callback won't be run. virtual void AllowCertificateError( int render_process_id, - int render_frame_id, + int render_view_id, int cert_error, const net::SSLInfo& ssl_info, const GURL& request_url, diff --git a/content/public/browser/render_frame_host.h b/content/public/browser/render_frame_host.h index e33b12d..3aaec7c 100644 --- a/content/public/browser/render_frame_host.h +++ b/content/public/browser/render_frame_host.h @@ -12,7 +12,6 @@ namespace content { class RenderProcessHost; -class RenderViewHost; class SiteInstance; // The interface provides a communication conduit with a frame in the renderer. @@ -36,9 +35,6 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener, // Returns the associated widget's native view. virtual gfx::NativeView GetNativeView() = 0; - // Temporary until we get rid of RenderViewHost. - virtual RenderViewHost* GetRenderViewHost() = 0; - private: // This interface should only be implemented inside content. friend class RenderFrameHostImpl; diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc index 344cbe3..9ffc222 100644 --- a/content/public/renderer/content_renderer_client.cc +++ b/content/public/renderer/content_renderer_client.cc @@ -93,7 +93,7 @@ bool ContentRendererClient::AllowPopup() { #ifdef OS_ANDROID bool ContentRendererClient::HandleNavigation( - RenderFrame* render_frame, + RenderView* view, DocumentState* document_state, int opener_id, blink::WebFrame* frame, diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h index 958d1fa..e409afa 100644 --- a/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h @@ -179,7 +179,7 @@ class CONTENT_EXPORT ContentRendererClient { // // Returns true if the navigation was handled by the embedder and should be // ignored by WebKit. This method is used by CEF and android_webview. - virtual bool HandleNavigation(RenderFrame* render_frame, + virtual bool HandleNavigation(RenderView* view, DocumentState* document_state, int opener_id, blink::WebFrame* frame, diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 4014f0d..5c7bf33 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -736,8 +736,8 @@ blink::WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( blink::WebNavigationType type, blink::WebNavigationPolicy default_policy, bool is_redirect) { - return render_view_->DecidePolicyForNavigation( - this, frame, extra_data, request, type, default_policy, is_redirect); + return render_view_->decidePolicyForNavigation( + frame, extra_data, request, type, default_policy, is_redirect); } blink::WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( @@ -746,9 +746,8 @@ blink::WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation( blink::WebNavigationType type, blink::WebNavigationPolicy default_policy, bool is_redirect) { - return decidePolicyForNavigation(frame, - frame->provisionalDataSource()->extraData(), - request, type, default_policy, is_redirect); + return render_view_->decidePolicyForNavigation( + frame, request, type, default_policy, is_redirect); } void RenderFrameImpl::willSendSubmitEvent(blink::WebFrame* frame, @@ -1290,7 +1289,7 @@ void RenderFrameImpl::requestStorageQuota( void RenderFrameImpl::willOpenSocketStream( blink::WebSocketStreamHandle* handle) { - SocketStreamHandleData::AddToHandle(handle, routing_id_); + SocketStreamHandleData::AddToHandle(handle, render_view_->GetRoutingID()); } void RenderFrameImpl::willStartUsingPeerConnectionHandler( diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h index 53fddbe..6a9ac1a 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h @@ -210,7 +210,6 @@ class CONTENT_EXPORT RenderFrameImpl const blink::WebURLRequest& request, blink::WebNavigationPolicy policy, const blink::WebString& suggested_name); - // The WebDataSource::ExtraData* is assumed to be a DocumentState* subclass. virtual blink::WebNavigationPolicy decidePolicyForNavigation( blink::WebFrame* frame, blink::WebDataSource::ExtraData* extra_data, diff --git a/content/renderer/render_view_browsertest.cc b/content/renderer/render_view_browsertest.cc index 9e2b997..b404fa7 100644 --- a/content/renderer/render_view_browsertest.cc +++ b/content/renderer/render_view_browsertest.cc @@ -140,10 +140,6 @@ class RenderViewImplTest : public RenderViewTest { return static_cast<RenderViewImpl*>(view_); } - RenderFrameImpl* frame() { - return static_cast<RenderFrameImpl*>(view()->GetMainRenderFrame()); - } - // Sends IPC messages that emulates a key-press event. int SendKeyEvent(MockKeyboard::Layout layout, int key_code, @@ -377,19 +373,19 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicy) { // Navigations to normal HTTP URLs can be handled locally. blink::WebURLRequest request(GURL("http://foo.com")); - blink::WebNavigationPolicy policy = frame()->decidePolicyForNavigation( - GetMainFrame(), - &state, - request, - blink::WebNavigationTypeLinkClicked, - blink::WebNavigationPolicyCurrentTab, - false); + blink::WebNavigationPolicy policy = view()->decidePolicyForNavigation( + GetMainFrame(), + &state, + request, + blink::WebNavigationTypeLinkClicked, + blink::WebNavigationPolicyCurrentTab, + false); EXPECT_EQ(blink::WebNavigationPolicyCurrentTab, policy); // Verify that form posts to WebUI URLs will be sent to the browser process. blink::WebURLRequest form_request(GURL("chrome://foo")); form_request.setHTTPMethod("POST"); - policy = frame()->decidePolicyForNavigation( + policy = view()->decidePolicyForNavigation( GetMainFrame(), &state, form_request, @@ -400,7 +396,7 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicy) { // Verify that popup links to WebUI URLs also are sent to browser. blink::WebURLRequest popup_request(GURL("chrome://foo")); - policy = frame()->decidePolicyForNavigation( + policy = view()->decidePolicyForNavigation( GetMainFrame(), &state, popup_request, @@ -429,7 +425,7 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyHandlesAllTopLevel) { blink::WebURLRequest request(GURL("http://foo.com")); for (size_t i = 0; i < arraysize(kNavTypes); ++i) { - blink::WebNavigationPolicy policy = frame()->decidePolicyForNavigation( + blink::WebNavigationPolicy policy = view()->decidePolicyForNavigation( GetMainFrame(), &state, request, @@ -449,7 +445,7 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyForWebUI) { // Navigations to normal HTTP URLs will be sent to browser process. blink::WebURLRequest request(GURL("http://foo.com")); - blink::WebNavigationPolicy policy = frame()->decidePolicyForNavigation( + blink::WebNavigationPolicy policy = view()->decidePolicyForNavigation( GetMainFrame(), &state, request, @@ -460,7 +456,7 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyForWebUI) { // Navigations to WebUI URLs will also be sent to browser process. blink::WebURLRequest webui_request(GURL("chrome://foo")); - policy = frame()->decidePolicyForNavigation( + policy = view()->decidePolicyForNavigation( GetMainFrame(), &state, webui_request, @@ -472,7 +468,7 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyForWebUI) { // Verify that form posts to data URLs will be sent to the browser process. blink::WebURLRequest data_request(GURL("data:text/html,foo")); data_request.setHTTPMethod("POST"); - policy = frame()->decidePolicyForNavigation( + policy = view()->decidePolicyForNavigation( GetMainFrame(), &state, data_request, @@ -489,14 +485,13 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyForWebUI) { GetMainFrame(), popup_request, blink::WebWindowFeatures(), "foo", blink::WebNavigationPolicyNewForegroundTab, false); RenderViewImpl* new_view = RenderViewImpl::FromWebView(new_web_view); - policy = static_cast<RenderFrameImpl*>(new_view->GetMainRenderFrame())-> - decidePolicyForNavigation( - new_web_view->mainFrame(), - &state, - popup_request, - blink::WebNavigationTypeLinkClicked, - blink::WebNavigationPolicyNewForegroundTab, - false); + policy = new_view->decidePolicyForNavigation( + new_web_view->mainFrame(), + &state, + popup_request, + blink::WebNavigationTypeLinkClicked, + blink::WebNavigationPolicyNewForegroundTab, + false); EXPECT_EQ(blink::WebNavigationPolicyIgnore, policy); // Clean up after the new view so we don't leak it. diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index be301da..d3a1940 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -3120,17 +3120,16 @@ const std::string& RenderViewImpl::GetAcceptLanguages() const { return renderer_preferences_.accept_languages; } -WebNavigationPolicy RenderViewImpl::DecidePolicyForNavigation( - RenderFrame* render_frame, WebFrame* frame, - WebDataSource::ExtraData* extraData, const WebURLRequest& request, - WebNavigationType type, WebNavigationPolicy default_policy, - bool is_redirect) { +WebNavigationPolicy RenderViewImpl::decidePolicyForNavigation( + WebFrame* frame, WebDataSource::ExtraData* extraData, + const WebURLRequest& request, WebNavigationType type, + WebNavigationPolicy default_policy, bool is_redirect) { #ifdef OS_ANDROID // The handlenavigation API is deprecated and will be removed once // crbug.com/325351 is resolved. if (request.url() != GURL(kSwappedOutURL) && GetContentClient()->renderer()->HandleNavigation( - render_frame, + this, static_cast<DocumentState*>(extraData), opener_id_, frame, @@ -3331,6 +3330,14 @@ WebNavigationPolicy RenderViewImpl::DecidePolicyForNavigation( return default_policy; } +WebNavigationPolicy RenderViewImpl::decidePolicyForNavigation( + WebFrame* frame, const WebURLRequest& request, WebNavigationType type, + WebNavigationPolicy default_policy, bool is_redirect) { + return decidePolicyForNavigation(frame, + frame->provisionalDataSource()->extraData(), + request, type, default_policy, is_redirect); +} + void RenderViewImpl::willSendSubmitEvent(blink::WebFrame* frame, const blink::WebFormElement& form) { FOR_EACH_OBSERVER( diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index 7e58845..2592943 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -334,15 +334,6 @@ class CONTENT_EXPORT RenderViewImpl int ShowContextMenu(ContextMenuClient* client, const ContextMenuParams& params); void CancelContextMenu(int request_id); - // Temporary call until this code moves to RenderFrame. - blink::WebNavigationPolicy DecidePolicyForNavigation( - RenderFrame* render_frame, - blink::WebFrame* frame, - blink::WebDataSource::ExtraData* extraData, - const blink::WebURLRequest& request, - blink::WebNavigationType type, - blink::WebNavigationPolicy default_policy, - bool is_redirect); // Returns the length of the session history of this RenderView. Note that // this only coincides with the actual length of the session history if this @@ -529,6 +520,22 @@ class CONTENT_EXPORT RenderViewImpl blink::WebFrame* frame, const blink::WebVector<blink::WebString>& newly_matching_selectors, const blink::WebVector<blink::WebString>& stopped_matching_selectors); + + // The WebDataSource::ExtraData* is assumed to be a DocumentState* subclass. + virtual blink::WebNavigationPolicy decidePolicyForNavigation( + blink::WebFrame* frame, + blink::WebDataSource::ExtraData* extraData, + const blink::WebURLRequest& request, + blink::WebNavigationType type, + blink::WebNavigationPolicy default_policy, + bool is_redirect); + // DEPRECATED. + virtual blink::WebNavigationPolicy decidePolicyForNavigation( + blink::WebFrame* frame, + const blink::WebURLRequest& request, + blink::WebNavigationType type, + blink::WebNavigationPolicy default_policy, + bool is_redirect); virtual void willSendSubmitEvent(blink::WebFrame* frame, const blink::WebFormElement& form); virtual void willSubmitForm(blink::WebFrame* frame, |