summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-31 20:10:58 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-31 20:10:58 +0000
commit1a4e9752e622e91fab073fa3c9e70dcc5f2a3ac9 (patch)
tree2f19e65459454d7b83608294c3eca50d4f386f99
parentec0595a4a9ec0d9c99e77b51b2d2da1b074954a5 (diff)
downloadchromium_src-1a4e9752e622e91fab073fa3c9e70dcc5f2a3ac9.zip
chromium_src-1a4e9752e622e91fab073fa3c9e70dcc5f2a3ac9.tar.gz
chromium_src-1a4e9752e622e91fab073fa3c9e70dcc5f2a3ac9.tar.bz2
Replace the GetAssociatedRenderView call with GetAssociatedRenderFrame in ResourceLoader and SSLClientAuthHandler.
BUG=304341 R=nasko@chromium.org TBR=mkosiba Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=242656 Review URL: https://codereview.chromium.org/120413003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242759 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--android_webview/browser/aw_content_browser_client.cc9
-rw-r--r--android_webview/browser/aw_content_browser_client.h2
-rw-r--r--android_webview/browser/aw_contents_client_bridge_base.cc12
-rw-r--r--android_webview/browser/aw_contents_client_bridge_base.h2
-rw-r--r--android_webview/common/render_view_messages.h2
-rw-r--r--android_webview/renderer/aw_content_renderer_client.cc8
-rw-r--r--android_webview/renderer/aw_content_renderer_client.h2
-rw-r--r--chrome/browser/chrome_content_browser_client.cc14
-rw-r--r--chrome/browser/chrome_content_browser_client.h2
-rw-r--r--content/browser/frame_host/render_frame_host_impl.cc4
-rw-r--r--content/browser/frame_host/render_frame_host_impl.h1
-rw-r--r--content/browser/loader/resource_loader.cc6
-rw-r--r--content/browser/renderer_host/socket_stream_dispatcher_host.cc8
-rw-r--r--content/browser/renderer_host/socket_stream_dispatcher_host.h2
-rw-r--r--content/browser/renderer_host/socket_stream_host.cc6
-rw-r--r--content/browser/renderer_host/socket_stream_host.h6
-rw-r--r--content/browser/ssl/ssl_cert_error_handler.cc4
-rw-r--r--content/browser/ssl/ssl_cert_error_handler.h2
-rw-r--r--content/browser/ssl/ssl_error_handler.cc14
-rw-r--r--content/browser/ssl/ssl_error_handler.h6
-rw-r--r--content/browser/ssl/ssl_manager.cc6
-rw-r--r--content/browser/ssl/ssl_manager.h2
-rw-r--r--content/browser/ssl/ssl_policy.cc2
-rw-r--r--content/child/socket_stream_dispatcher.cc6
-rw-r--r--content/common/socket_stream_handle_data.cc4
-rw-r--r--content/common/socket_stream_handle_data.h12
-rw-r--r--content/common/socket_stream_messages.h4
-rw-r--r--content/public/browser/content_browser_client.h2
-rw-r--r--content/public/browser/render_frame_host.h4
-rw-r--r--content/public/renderer/content_renderer_client.cc2
-rw-r--r--content/public/renderer/content_renderer_client.h2
-rw-r--r--content/renderer/render_frame_impl.cc11
-rw-r--r--content/renderer/render_frame_impl.h1
-rw-r--r--content/renderer/render_view_browsertest.cc45
-rw-r--r--content/renderer/render_view_impl.cc19
-rw-r--r--content/renderer/render_view_impl.h26
-rw-r--r--content/shell/renderer/test_runner/WebTestProxy.h8
37 files changed, 140 insertions, 128 deletions
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
index 375bc0d..9bbd2b6 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 routing_id,
+ int render_frame_id,
const base::string16& url,
bool* ignore_navigation) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
*ignore_navigation = false;
AwContentsClientBridgeBase* client =
- AwContentsClientBridgeBase::FromID(process_id_, routing_id);
+ AwContentsClientBridgeBase::FromID(process_id_, render_frame_id);
if (client) {
*ignore_navigation = client->ShouldOverrideUrlLoading(url);
} else {
@@ -318,7 +318,7 @@ AwContentBrowserClient::CreateQuotaPermissionContext() {
void AwContentBrowserClient::AllowCertificateError(
int render_process_id,
- int render_view_id,
+ int render_frame_id,
int cert_error,
const net::SSLInfo& ssl_info,
const GURL& request_url,
@@ -327,9 +327,8 @@ void AwContentBrowserClient::AllowCertificateError(
bool strict_enforcement,
const base::Callback<void(bool)>& callback,
content::CertificateRequestResultType* result) {
-
AwContentsClientBridgeBase* client =
- AwContentsClientBridgeBase::FromID(render_process_id, render_view_id);
+ AwContentsClientBridgeBase::FromID(render_process_id, render_frame_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 472dd2f..9ed0c6e 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_view_id,
+ int render_frame_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 2e7b62c..10d2c6c 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_view_host.h"
+#include "content/public/browser/render_frame_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_view_id) {
+ int render_frame_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- const content::RenderViewHost* rvh =
- content::RenderViewHost::FromID(render_process_id, render_view_id);
- if (!rvh) return NULL;
+ content::RenderFrameHost* rfh =
+ content::RenderFrameHost::FromID(render_process_id, render_frame_id);
+ if (!rfh) return NULL;
content::WebContents* web_contents =
- content::WebContents::FromRenderViewHost(rvh);
+ content::WebContents::FromRenderFrameHost(rfh);
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 0383a37..a1b3b7f 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_view_id);
+ int render_frame_id);
virtual ~AwContentsClientBridgeBase();
diff --git a/android_webview/common/render_view_messages.h b/android_webview/common/render_view_messages.h
index 163d9c9..35266dd 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 /* routing id */,
+ int /* render_frame_id 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 74f6db1..09f5a5c 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::RenderView* view,
+ content::RenderFrame* render_frame,
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 routing_id = view->GetRoutingID();
+ int render_frame_id = render_frame->GetRoutingID();
RenderThread::Get()->Send(new AwViewHostMsg_ShouldOverrideUrlLoading(
- routing_id, url, &ignore_navigation));
+ render_frame_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 3a55350..cbabaf1 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::RenderView* view,
+ virtual bool HandleNavigation(content::RenderFrame* render_frame,
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 cca4767..469133b 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_view_id,
+ int render_frame_id,
int cert_error,
const net::SSLInfo& ssl_info,
const GURL& request_url,
@@ -1771,8 +1771,13 @@ void ChromeContentBrowserClient::AllowCertificateError(
}
// If the tab is being prerendered, cancel the prerender and the request.
- WebContents* tab = tab_util::GetWebContentsByID(
- render_process_id, render_view_id);
+ 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);
if (!tab) {
NOTREACHED();
return;
@@ -1783,7 +1788,8 @@ void ChromeContentBrowserClient::AllowCertificateError(
if (prerender_manager && prerender_manager->IsWebContentsPrerendering(tab,
NULL)) {
if (prerender_manager->prerender_tracker()->TryCancel(
- render_process_id, render_view_id,
+ render_process_id,
+ render_frame_host->GetRenderViewHost()->GetRoutingID(),
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 99ccb01..f1030a5 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_view_id,
+ int render_frame_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 e021d19..0d16779 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -95,6 +95,10 @@ 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 8dfc7e5..155b427 100644
--- a/content/browser/frame_host/render_frame_host_impl.h
+++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -36,6 +36,7 @@ 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 886dba4..00760d0 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_view_id;
- if (!info->GetAssociatedRenderView(&render_process_id, &render_view_id))
+ int render_frame_id;
+ if (!info->GetAssociatedRenderFrame(&render_process_id, &render_frame_id))
NOTREACHED();
SSLManager::OnSSLCertificateError(
@@ -289,7 +289,7 @@ void ResourceLoader::OnSSLCertificateError(net::URLRequest* request,
info->GetResourceType(),
request_->url(),
render_process_id,
- render_view_id,
+ render_frame_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 677c281..204bf8e 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_view_id(),
+ socket->url(), render_process_id_, socket_stream_host->render_frame_id(),
ssl_info, fatal);
}
@@ -195,11 +195,11 @@ SocketStreamDispatcherHost::~SocketStreamDispatcherHost() {
}
// Message handlers called by OnMessageReceived.
-void SocketStreamDispatcherHost::OnConnect(int render_view_id,
+void SocketStreamDispatcherHost::OnConnect(int render_frame_id,
const GURL& url,
int socket_id) {
DVLOG(2) << "SocketStreamDispatcherHost::OnConnect"
- << " render_view_id=" << render_view_id
+ << " render_frame_id=" << render_frame_id
<< " url=" << url
<< " socket_id=" << socket_id;
DCHECK_NE(kNoSocketId, socket_id);
@@ -223,7 +223,7 @@ void SocketStreamDispatcherHost::OnConnect(int render_view_id,
// Note that the SocketStreamHost is responsible for checking that |url|
// is valid.
SocketStreamHost* socket_stream_host =
- new SocketStreamHost(this, render_view_id, socket_id);
+ new SocketStreamHost(this, render_frame_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 958eada..163f845 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_view_id, const GURL& url, int socket_id);
+ void OnConnect(int render_frame_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 ecf6cee..f09f2f3 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_view_id,
+ int render_frame_id,
int socket_id)
: delegate_(delegate),
- render_view_id_(render_view_id),
+ render_frame_id_(render_frame_id),
socket_id_(socket_id) {
DCHECK_NE(socket_id_, kNoSocketId);
- VLOG(1) << "SocketStreamHost: render_view_id=" << render_view_id
+ VLOG(1) << "SocketStreamHost: render_frame_id=" << render_frame_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 237e915..eb9b719 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_view_id,
+ int render_frame_id,
int socket_id);
~SocketStreamHost();
// Gets socket_id associated with |socket|.
static int SocketIdFromSocketStream(const net::SocketStream* socket);
- int render_view_id() const { return render_view_id_; }
+ int render_frame_id() const { return render_frame_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_view_id_;
+ int render_frame_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 b3bdb41..a69e993 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_view_id,
+ int render_frame_id,
const net::SSLInfo& ssl_info,
bool fatal)
: SSLErrorHandler(delegate, id, resource_type, url, render_process_id,
- render_view_id),
+ render_frame_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 696fb81..6946f42 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_view_id,
+ int render_frame_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 8a322f7..ed4c2ac 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/renderer_host/render_view_host_impl.h"
+#include "content/browser/frame_host/render_frame_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_view_id)
+ int render_frame_id)
: manager_(NULL),
request_id_(id),
delegate_(delegate),
render_process_id_(render_process_id),
- render_view_id_(render_view_id),
+ render_frame_id_(render_frame_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;
- RenderViewHostImpl* render_view_host =
- RenderViewHostImpl::FromID(render_process_id_, render_view_id_);
- if (render_view_host)
- web_contents = render_view_host->GetDelegate()->GetAsWebContents();
+ RenderFrameHost* render_frame_host =
+ RenderFrameHost::FromID(render_process_id_, render_frame_id_);
+ if (render_frame_host)
+ web_contents = WebContents::FromRenderFrameHost(render_frame_host);
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 5f9e9e5..87bc1da 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_view_id() const { return render_view_id_; }
+ int render_frame_id() const { return render_frame_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_view_id);
+ int render_frame_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_view_id_;
+ int render_frame_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 b1eb51e..68906ce 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_view_id,
+ int render_frame_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_view_id: " << render_view_id
+ << render_process_id << " render_frame_id: " << render_frame_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_view_id,
+ render_frame_id,
ssl_info,
fatal)));
}
diff --git a/content/browser/ssl/ssl_manager.h b/content/browser/ssl/ssl_manager.h
index 45100a7..c195e98 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_view_id,
+ int render_frame_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 ddf9e4c..1127f8d 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_view_id(),
+ handler->render_frame_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 beeee75..cdc0845 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_view_id = MSG_ROUTING_NONE;
+ int render_frame_id = MSG_ROUTING_NONE;
const SocketStreamHandleData* data =
SocketStreamHandleData::ForHandle(handle_);
if (data)
- render_view_id = data->render_view_id();
+ render_frame_id = data->render_frame_id();
AddRef(); // Released in OnClosed().
ChildThread::current()->Send(
- new SocketStreamHostMsg_Connect(render_view_id, url, socket_id_));
+ new SocketStreamHostMsg_Connect(render_frame_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 dbf75a4..0bf3f57 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_view_id) {
+ WebSocketStreamHandle* handle, int render_frame_id) {
if (!handle) {
NOTREACHED();
return;
}
WebSocketStreamHandleImpl* impl =
static_cast<WebSocketStreamHandleImpl*>(handle);
- impl->SetUserData(handle, new SocketStreamHandleData(render_view_id));
+ impl->SetUserData(handle, new SocketStreamHandleData(render_frame_id));
}
// static
diff --git a/content/common/socket_stream_handle_data.h b/content/common/socket_stream_handle_data.h
index 470e9ba..113f889 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_view_id() const { return render_view_id_; }
+ int render_frame_id() const { return render_frame_id_; }
- // Creates SocketStreamHandleData object with |render_view_id| and store it
+ // Creates SocketStreamHandleData object with |render_frame_id| and store it
// to |handle|.
static void AddToHandle(
- blink::WebSocketStreamHandle* handle, int render_view_id);
+ blink::WebSocketStreamHandle* handle, int render_frame_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_view_id)
- : render_view_id_(render_view_id) {
+ explicit SocketStreamHandleData(int render_frame_id)
+ : render_frame_id_(render_frame_id) {
}
- int render_view_id_;
+ int render_frame_id_;
DISALLOW_COPY_AND_ASSIGN(SocketStreamHandleData);
};
diff --git a/content/common/socket_stream_messages.h b/content/common/socket_stream_messages.h
index f463741..6e24a15 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_view_id| must be the routing id of RenderViewImpl to which the
+// |render_frame_id| must be the routing id of RenderFrameImpl to which the
// Socket Stream belongs.
IPC_MESSAGE_CONTROL3(SocketStreamHostMsg_Connect,
- int /* render_view_id */,
+ int /* render_frame_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 8878a9a..0e2e2a3 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_view_id,
+ int render_frame_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 3aaec7c..e33b12d 100644
--- a/content/public/browser/render_frame_host.h
+++ b/content/public/browser/render_frame_host.h
@@ -12,6 +12,7 @@
namespace content {
class RenderProcessHost;
+class RenderViewHost;
class SiteInstance;
// The interface provides a communication conduit with a frame in the renderer.
@@ -35,6 +36,9 @@ 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 9ffc222..344cbe3 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(
- RenderView* view,
+ RenderFrame* render_frame,
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 e409afa..958d1fa 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(RenderView* view,
+ virtual bool HandleNavigation(RenderFrame* render_frame,
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 5c7bf33..4014f0d 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(
- frame, extra_data, request, type, default_policy, is_redirect);
+ return render_view_->DecidePolicyForNavigation(
+ this, frame, extra_data, request, type, default_policy, is_redirect);
}
blink::WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
@@ -746,8 +746,9 @@ blink::WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
blink::WebNavigationType type,
blink::WebNavigationPolicy default_policy,
bool is_redirect) {
- return render_view_->decidePolicyForNavigation(
- frame, request, type, default_policy, is_redirect);
+ return decidePolicyForNavigation(frame,
+ frame->provisionalDataSource()->extraData(),
+ request, type, default_policy, is_redirect);
}
void RenderFrameImpl::willSendSubmitEvent(blink::WebFrame* frame,
@@ -1289,7 +1290,7 @@ void RenderFrameImpl::requestStorageQuota(
void RenderFrameImpl::willOpenSocketStream(
blink::WebSocketStreamHandle* handle) {
- SocketStreamHandleData::AddToHandle(handle, render_view_->GetRoutingID());
+ SocketStreamHandleData::AddToHandle(handle, routing_id_);
}
void RenderFrameImpl::willStartUsingPeerConnectionHandler(
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index 6a9ac1a..53fddbe 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -210,6 +210,7 @@ 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 b404fa7..9e2b997 100644
--- a/content/renderer/render_view_browsertest.cc
+++ b/content/renderer/render_view_browsertest.cc
@@ -140,6 +140,10 @@ 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,
@@ -373,19 +377,19 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicy) {
// Navigations to normal HTTP URLs can be handled locally.
blink::WebURLRequest request(GURL("http://foo.com"));
- blink::WebNavigationPolicy policy = view()->decidePolicyForNavigation(
- GetMainFrame(),
- &state,
- request,
- blink::WebNavigationTypeLinkClicked,
- blink::WebNavigationPolicyCurrentTab,
- false);
+ blink::WebNavigationPolicy policy = frame()->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 = view()->decidePolicyForNavigation(
+ policy = frame()->decidePolicyForNavigation(
GetMainFrame(),
&state,
form_request,
@@ -396,7 +400,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 = view()->decidePolicyForNavigation(
+ policy = frame()->decidePolicyForNavigation(
GetMainFrame(),
&state,
popup_request,
@@ -425,7 +429,7 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyHandlesAllTopLevel) {
blink::WebURLRequest request(GURL("http://foo.com"));
for (size_t i = 0; i < arraysize(kNavTypes); ++i) {
- blink::WebNavigationPolicy policy = view()->decidePolicyForNavigation(
+ blink::WebNavigationPolicy policy = frame()->decidePolicyForNavigation(
GetMainFrame(),
&state,
request,
@@ -445,7 +449,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 = view()->decidePolicyForNavigation(
+ blink::WebNavigationPolicy policy = frame()->decidePolicyForNavigation(
GetMainFrame(),
&state,
request,
@@ -456,7 +460,7 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyForWebUI) {
// Navigations to WebUI URLs will also be sent to browser process.
blink::WebURLRequest webui_request(GURL("chrome://foo"));
- policy = view()->decidePolicyForNavigation(
+ policy = frame()->decidePolicyForNavigation(
GetMainFrame(),
&state,
webui_request,
@@ -468,7 +472,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 = view()->decidePolicyForNavigation(
+ policy = frame()->decidePolicyForNavigation(
GetMainFrame(),
&state,
data_request,
@@ -485,13 +489,14 @@ TEST_F(RenderViewImplTest, DecideNavigationPolicyForWebUI) {
GetMainFrame(), popup_request, blink::WebWindowFeatures(), "foo",
blink::WebNavigationPolicyNewForegroundTab, false);
RenderViewImpl* new_view = RenderViewImpl::FromWebView(new_web_view);
- policy = new_view->decidePolicyForNavigation(
- new_web_view->mainFrame(),
- &state,
- popup_request,
- blink::WebNavigationTypeLinkClicked,
- blink::WebNavigationPolicyNewForegroundTab,
- false);
+ policy = static_cast<RenderFrameImpl*>(new_view->GetMainRenderFrame())->
+ 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 d3a1940..be301da 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -3120,16 +3120,17 @@ const std::string& RenderViewImpl::GetAcceptLanguages() const {
return renderer_preferences_.accept_languages;
}
-WebNavigationPolicy RenderViewImpl::decidePolicyForNavigation(
- WebFrame* frame, WebDataSource::ExtraData* extraData,
- const WebURLRequest& request, WebNavigationType type,
- WebNavigationPolicy default_policy, bool is_redirect) {
+WebNavigationPolicy RenderViewImpl::DecidePolicyForNavigation(
+ RenderFrame* render_frame, 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(
- this,
+ render_frame,
static_cast<DocumentState*>(extraData),
opener_id_,
frame,
@@ -3330,14 +3331,6 @@ 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 2592943..7c57260 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -334,6 +334,16 @@ class CONTENT_EXPORT RenderViewImpl
int ShowContextMenu(ContextMenuClient* client,
const ContextMenuParams& params);
void CancelContextMenu(int request_id);
+ // Temporary call until this code moves to RenderFrame.
+ // virtual since overriden by WebTestProxy for layout tests.
+ virtual 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
@@ -520,22 +530,6 @@ 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,
diff --git a/content/shell/renderer/test_runner/WebTestProxy.h b/content/shell/renderer/test_runner/WebTestProxy.h
index 4f406fbd..7429817 100644
--- a/content/shell/renderer/test_runner/WebTestProxy.h
+++ b/content/shell/renderer/test_runner/WebTestProxy.h
@@ -68,6 +68,10 @@ struct WebWindowFeatures;
typedef unsigned WebColor;
}
+namespace content {
+class RenderFrame;
+}
+
class SkCanvas;
namespace WebTestRunner {
@@ -491,12 +495,12 @@ public:
{
return WebTestProxyBase::runModalBeforeUnloadDialog(frame, message);
}
- virtual blink::WebNavigationPolicy decidePolicyForNavigation(blink::WebFrame* frame, blink::WebDataSource::ExtraData* extraData, const blink::WebURLRequest& request, blink::WebNavigationType type, blink::WebNavigationPolicy defaultPolicy, bool isRedirect)
+ virtual blink::WebNavigationPolicy DecidePolicyForNavigation(content::RenderFrame* render_frame, blink::WebFrame* frame, blink::WebDataSource::ExtraData* extraData, const blink::WebURLRequest& request, blink::WebNavigationType type, blink::WebNavigationPolicy defaultPolicy, bool isRedirect)
{
blink::WebNavigationPolicy policy = WebTestProxyBase::decidePolicyForNavigation(frame, extraData, request, type, defaultPolicy, isRedirect);
if (policy == blink::WebNavigationPolicyIgnore)
return policy;
- return Base::decidePolicyForNavigation(frame, extraData, request, type, defaultPolicy, isRedirect);
+ return Base::DecidePolicyForNavigation(render_frame, frame, extraData, request, type, defaultPolicy, isRedirect);
}
virtual bool willCheckAndDispatchMessageEvent(blink::WebFrame* sourceFrame, blink::WebFrame* targetFrame, blink::WebSecurityOrigin target, blink::WebDOMMessageEvent event)
{