summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcreis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-27 21:22:14 +0000
committercreis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-27 21:22:14 +0000
commit434bc9bd7fa0f3d22381e467d35ddb34b2a2c1ac (patch)
tree295f18e66f31723fca363e34547a0e2ac992577d
parent006128072c1334a8bd8c8658fcd8a5bb280151f9 (diff)
downloadchromium_src-434bc9bd7fa0f3d22381e467d35ddb34b2a2c1ac.zip
chromium_src-434bc9bd7fa0f3d22381e467d35ddb34b2a2c1ac.tar.gz
chromium_src-434bc9bd7fa0f3d22381e467d35ddb34b2a2c1ac.tar.bz2
Remove unused opener_url from DidStartProvisionalLoad.
The value is unused and potentially incorrect, leading to problems in the browser process. BUG=143155 TEST=kSwappedOutURL DCHECK in FilterURL doesn't fire. Review URL: https://chromiumcodereview.appspot.com/11299019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169756 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/api/identity/web_auth_flow.cc1
-rw-r--r--chrome/browser/extensions/api/identity/web_auth_flow.h1
-rw-r--r--chrome/browser/prerender/prerender_tab_helper.cc1
-rw-r--r--chrome/browser/prerender/prerender_tab_helper.h1
-rw-r--r--chrome/renderer/chrome_content_renderer_client.cc2
-rw-r--r--chrome/renderer/chrome_content_renderer_client.h2
-rw-r--r--content/browser/renderer_host/render_view_host_delegate.h2
-rw-r--r--content/browser/renderer_host/render_view_host_impl.cc6
-rw-r--r--content/browser/renderer_host/render_view_host_impl.h2
-rw-r--r--content/browser/renderer_host/test_render_view_host.cc4
-rw-r--r--content/browser/web_contents/navigation_controller_impl_unittest.cc1
-rw-r--r--content/browser/web_contents/web_contents_impl.cc8
-rw-r--r--content/browser/web_contents/web_contents_impl.h2
-rw-r--r--content/common/view_messages.h6
-rw-r--r--content/public/browser/web_contents_observer.h1
-rw-r--r--content/public/renderer/content_renderer_client.cc2
-rw-r--r--content/public/renderer/content_renderer_client.h4
-rw-r--r--content/renderer/render_view_impl.cc19
-rw-r--r--content/renderer/render_view_impl.h4
19 files changed, 14 insertions, 55 deletions
diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.cc b/chrome/browser/extensions/api/identity/web_auth_flow.cc
index 0aa2489..c5a8ecd 100644
--- a/chrome/browser/extensions/api/identity/web_auth_flow.cc
+++ b/chrome/browser/extensions/api/identity/web_auth_flow.cc
@@ -166,7 +166,6 @@ void WebAuthFlow::Observe(int type,
void WebAuthFlow::ProvisionalChangeToMainFrameUrl(
const GURL& url,
- const GURL& opener_url,
RenderViewHost* render_view_host) {
BeforeUrlLoaded(url);
}
diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.h b/chrome/browser/extensions/api/identity/web_auth_flow.h
index fe6e829..06cb878 100644
--- a/chrome/browser/extensions/api/identity/web_auth_flow.h
+++ b/chrome/browser/extensions/api/identity/web_auth_flow.h
@@ -89,7 +89,6 @@ class WebAuthFlow : public content::NotificationObserver,
// WebContentsObserver implementation.
virtual void ProvisionalChangeToMainFrameUrl(
const GURL& url,
- const GURL& opener_url,
content::RenderViewHost* render_view_host) OVERRIDE;
virtual void DidStopLoading(
content::RenderViewHost* render_view_host) OVERRIDE;
diff --git a/chrome/browser/prerender/prerender_tab_helper.cc b/chrome/browser/prerender/prerender_tab_helper.cc
index 06afd3f..4078a7b 100644
--- a/chrome/browser/prerender/prerender_tab_helper.cc
+++ b/chrome/browser/prerender/prerender_tab_helper.cc
@@ -138,7 +138,6 @@ PrerenderTabHelper::~PrerenderTabHelper() {
void PrerenderTabHelper::ProvisionalChangeToMainFrameUrl(
const GURL& url,
- const GURL& opener_url,
content::RenderViewHost* render_view_host) {
url_ = url;
PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
diff --git a/chrome/browser/prerender/prerender_tab_helper.h b/chrome/browser/prerender/prerender_tab_helper.h
index 3531076..43d50b7 100644
--- a/chrome/browser/prerender/prerender_tab_helper.h
+++ b/chrome/browser/prerender/prerender_tab_helper.h
@@ -26,7 +26,6 @@ class PrerenderTabHelper
// content::WebContentsObserver implementation.
virtual void ProvisionalChangeToMainFrameUrl(
const GURL& url,
- const GURL& opener_url,
content::RenderViewHost* render_view_host) OVERRIDE;
virtual void DidStopLoading(
content::RenderViewHost* render_view_host) OVERRIDE;
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index e176bce..6636d4e 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -773,7 +773,7 @@ bool ChromeContentRendererClient::RunIdleHandlerWhenWidgetsHidden() {
return !extension_dispatcher_->is_extension_process();
}
-bool ChromeContentRendererClient::AllowPopup(const GURL& creator) {
+bool ChromeContentRendererClient::AllowPopup() {
extensions::ChromeV8Context* current_context =
extension_dispatcher_->v8_context_set().GetCurrent();
return current_context && current_context->extension() &&
diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h
index 34b408f..807abf5 100644
--- a/chrome/renderer/chrome_content_renderer_client.h
+++ b/chrome/renderer/chrome_content_renderer_client.h
@@ -87,7 +87,7 @@ class ChromeContentRendererClient : public content::ContentRendererClient {
webkit_media::MediaStreamClient* media_stream_client,
media::MediaLog* media_log) OVERRIDE;
virtual bool RunIdleHandlerWhenWidgetsHidden() OVERRIDE;
- virtual bool AllowPopup(const GURL& creator) OVERRIDE;
+ virtual bool AllowPopup() OVERRIDE;
virtual bool ShouldFork(WebKit::WebFrame* frame,
const GURL& url,
bool is_initial_navigation,
diff --git a/content/browser/renderer_host/render_view_host_delegate.h b/content/browser/renderer_host/render_view_host_delegate.h
index 70bd895..26c7bce 100644
--- a/content/browser/renderer_host/render_view_host_delegate.h
+++ b/content/browser/renderer_host/render_view_host_delegate.h
@@ -150,7 +150,6 @@ class CONTENT_EXPORT RenderViewHostDelegate {
int64 frame_id,
int64 parent_frame_id,
bool main_frame,
- const GURL& opener_url,
const GURL& url) {}
// The RenderView processed a redirect during a provisional load.
@@ -161,7 +160,6 @@ class CONTENT_EXPORT RenderViewHostDelegate {
virtual void DidRedirectProvisionalLoad(
RenderViewHost* render_view_host,
int32 page_id,
- const GURL& opener_url,
const GURL& source_url,
const GURL& target_url) {}
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 60edf72..007de7f 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -1173,19 +1173,17 @@ void RenderViewHostImpl::OnMsgDidStartProvisionalLoadForFrame(
int64 frame_id,
int64 parent_frame_id,
bool is_main_frame,
- const GURL& opener_url,
const GURL& url) {
delegate_->DidStartProvisionalLoadForFrame(
- this, frame_id, parent_frame_id, is_main_frame, opener_url, url);
+ this, frame_id, parent_frame_id, is_main_frame, url);
}
void RenderViewHostImpl::OnMsgDidRedirectProvisionalLoad(
int32 page_id,
- const GURL& opener_url,
const GURL& source_url,
const GURL& target_url) {
delegate_->DidRedirectProvisionalLoad(
- this, page_id, opener_url, source_url, target_url);
+ this, page_id, source_url, target_url);
}
void RenderViewHostImpl::OnMsgDidFailProvisionalLoadWithError(
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index f6710a4..c04388d 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -481,10 +481,8 @@ class CONTENT_EXPORT RenderViewHostImpl
void OnMsgDidStartProvisionalLoadForFrame(int64 frame_id,
int64 parent_frame_id,
bool main_frame,
- const GURL& opener_url,
const GURL& url);
void OnMsgDidRedirectProvisionalLoad(int32 page_id,
- const GURL& opener_url,
const GURL& source_url,
const GURL& target_url);
void OnMsgDidFailProvisionalLoadWithError(
diff --git a/content/browser/renderer_host/test_render_view_host.cc b/content/browser/renderer_host/test_render_view_host.cc
index 7efcec0..f87b832 100644
--- a/content/browser/renderer_host/test_render_view_host.cc
+++ b/content/browser/renderer_host/test_render_view_host.cc
@@ -288,13 +288,13 @@ void TestRenderViewHost::SendNavigate(int page_id, const GURL& url) {
void TestRenderViewHost::SendNavigateWithTransition(
int page_id, const GURL& url, PageTransition transition) {
- OnMsgDidStartProvisionalLoadForFrame(0, -1, true, GURL(), url);
+ OnMsgDidStartProvisionalLoadForFrame(0, -1, true, url);
SendNavigateWithParameters(page_id, url, transition, url);
}
void TestRenderViewHost::SendNavigateWithOriginalRequestURL(
int page_id, const GURL& url, const GURL& original_request_url) {
- OnMsgDidStartProvisionalLoadForFrame(0, -1, true, GURL(), url);
+ OnMsgDidStartProvisionalLoadForFrame(0, -1, true, url);
SendNavigateWithParameters(page_id, url, PAGE_TRANSITION_LINK,
original_request_url);
}
diff --git a/content/browser/web_contents/navigation_controller_impl_unittest.cc b/content/browser/web_contents/navigation_controller_impl_unittest.cc
index bbb16ad..b77c650 100644
--- a/content/browser/web_contents/navigation_controller_impl_unittest.cc
+++ b/content/browser/web_contents/navigation_controller_impl_unittest.cc
@@ -830,7 +830,6 @@ TEST_F(NavigationControllerTest, LoadURL_RedirectAbortDoesntShowPendingURL) {
test_rvh()->OnMessageReceived(
ViewHostMsg_DidRedirectProvisionalLoad(0, // routing_id
-1, // pending page_id
- GURL(), // opener
kNewURL, // old url
kRedirectURL)); // new url
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 7872c6a..03c840e 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -1977,15 +1977,12 @@ void WebContentsImpl::DidStartProvisionalLoadForFrame(
int64 frame_id,
int64 parent_frame_id,
bool is_main_frame,
- const GURL& opener_url,
const GURL& url) {
bool is_error_page = (url.spec() == kUnreachableWebDataURL);
GURL validated_url(url);
- GURL validated_opener_url(opener_url);
RenderProcessHost* render_process_host =
render_view_host->GetProcess();
RenderViewHost::FilterURL(render_process_host, false, &validated_url);
- RenderViewHost::FilterURL(render_process_host, true, &validated_opener_url);
// Notify observers about the start of the provisional load.
FOR_EACH_OBSERVER(WebContentsObserver, observers_,
@@ -1997,7 +1994,6 @@ void WebContentsImpl::DidStartProvisionalLoadForFrame(
// Notify observers about the provisional change in the main frame URL.
FOR_EACH_OBSERVER(WebContentsObserver, observers_,
ProvisionalChangeToMainFrameUrl(validated_url,
- validated_opener_url,
render_view_host));
}
}
@@ -2005,7 +2001,6 @@ void WebContentsImpl::DidStartProvisionalLoadForFrame(
void WebContentsImpl::DidRedirectProvisionalLoad(
RenderViewHost* render_view_host,
int32 page_id,
- const GURL& opener_url,
const GURL& source_url,
const GURL& target_url) {
// TODO(creis): Remove this method and have the pre-rendering code listen to
@@ -2013,12 +2008,10 @@ void WebContentsImpl::DidRedirectProvisionalLoad(
// instead. See http://crbug.com/78512.
GURL validated_source_url(source_url);
GURL validated_target_url(target_url);
- GURL validated_opener_url(opener_url);
RenderProcessHost* render_process_host =
render_view_host->GetProcess();
RenderViewHost::FilterURL(render_process_host, false, &validated_source_url);
RenderViewHost::FilterURL(render_process_host, false, &validated_target_url);
- RenderViewHost::FilterURL(render_process_host, true, &validated_opener_url);
NavigationEntry* entry;
if (page_id == -1) {
entry = controller_.GetPendingEntry();
@@ -2032,7 +2025,6 @@ void WebContentsImpl::DidRedirectProvisionalLoad(
// Notify observers about the provisional change in the main frame URL.
FOR_EACH_OBSERVER(WebContentsObserver, observers_,
ProvisionalChangeToMainFrameUrl(validated_target_url,
- validated_opener_url,
render_view_host));
}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 8e45301..0c6b755 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -305,12 +305,10 @@ class CONTENT_EXPORT WebContentsImpl
int64 frame_id,
int64 parent_frame_id,
bool main_frame,
- const GURL& opener_url,
const GURL& url) OVERRIDE;
virtual void DidRedirectProvisionalLoad(
RenderViewHost* render_view_host,
int32 page_id,
- const GURL& opener_url,
const GURL& source_url,
const GURL& target_url) OVERRIDE;
virtual void DidFailProvisionalLoadWithError(
diff --git a/content/common/view_messages.h b/content/common/view_messages.h
index 606ab61..507b9e7 100644
--- a/content/common/view_messages.h
+++ b/content/common/view_messages.h
@@ -1688,11 +1688,10 @@ IPC_MESSAGE_ROUTED2(ViewHostMsg_DidRunInsecureContent,
GURL /* target URL */)
// Sent when the renderer starts a provisional load for a frame.
-IPC_MESSAGE_ROUTED5(ViewHostMsg_DidStartProvisionalLoadForFrame,
+IPC_MESSAGE_ROUTED4(ViewHostMsg_DidStartProvisionalLoadForFrame,
int64 /* frame_id */,
int64 /* parent_frame_id */,
bool /* true if it is the main frame */,
- GURL /* opener url if present, else empty */,
GURL /* url */)
IPC_MESSAGE_ROUTED5(ViewHostMsg_DidFailLoadWithError,
@@ -2105,9 +2104,8 @@ IPC_MESSAGE_ROUTED1(ViewHostMsg_DataReceived_ACK,
int /* request_id */)
// Sent when a provisional load on the main frame redirects.
-IPC_MESSAGE_ROUTED4(ViewHostMsg_DidRedirectProvisionalLoad,
+IPC_MESSAGE_ROUTED3(ViewHostMsg_DidRedirectProvisionalLoad,
int /* page_id */,
- GURL /* opener url if present, else empty */,
GURL /* last url */,
GURL /* url redirected to */)
diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
index 14c7e77..87f5f7e 100644
--- a/content/public/browser/web_contents_observer.h
+++ b/content/public/browser/web_contents_observer.h
@@ -61,7 +61,6 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener,
RenderViewHost* render_view_host) {}
virtual void ProvisionalChangeToMainFrameUrl(
const GURL& url,
- const GURL& opener_url,
RenderViewHost* render_view_host) {}
virtual void DidCommitProvisionalLoadForFrame(
int64 frame_id,
diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc
index baf3240..a62995f 100644
--- a/content/public/renderer/content_renderer_client.cc
+++ b/content/public/renderer/content_renderer_client.cc
@@ -56,7 +56,7 @@ bool ContentRendererClient::RunIdleHandlerWhenWidgetsHidden() {
return true;
}
-bool ContentRendererClient::AllowPopup(const GURL& creator) {
+bool ContentRendererClient::AllowPopup() {
return false;
}
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
index f12b29a..06ad7c3 100644
--- a/content/public/renderer/content_renderer_client.h
+++ b/content/public/renderer/content_renderer_client.h
@@ -133,8 +133,8 @@ class CONTENT_EXPORT ContentRendererClient {
// all widgets are hidden.
virtual bool RunIdleHandlerWhenWidgetsHidden();
- // Returns true if the given url can create popup windows.
- virtual bool AllowPopup(const GURL& creator);
+ // Returns true if a popup window should be allowed.
+ virtual bool AllowPopup();
// Returns true if the navigation was handled by the embedder and should be
// ignored by WebKit. This method is used by CEF.
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 055ece9..0eeaadb 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -1787,12 +1787,6 @@ WebView* RenderViewImpl::createView(
// Record whether the creator frame is trying to suppress the opener field.
view->opener_suppressed_ = params.opener_suppressed;
- // Record the security origin of the creator.
- GURL creator_url(creator->document().securityOrigin().toString().utf8());
- if (!creator_url.is_valid() || !creator_url.IsStandard())
- creator_url = GURL();
- view->creator_url_ = creator_url;
-
// Copy over the alternate error page URL so we can have alt error pages in
// the new render view (we don't need the browser to send the URL back down).
view->alternate_error_page_url_ = alternate_error_page_url_;
@@ -2374,7 +2368,7 @@ void RenderViewImpl::show(WebNavigationPolicy policy) {
DCHECK(opener_id_ != MSG_ROUTING_NONE);
- if (GetContentClient()->renderer()->AllowPopup(creator_url_))
+ if (GetContentClient()->renderer()->AllowPopup())
opened_by_user_gesture_ = true;
// Force new windows to a popup if they were not opened with a user gesture.
@@ -3223,7 +3217,7 @@ void RenderViewImpl::didStartProvisionalLoad(WebFrame* frame) {
Send(new ViewHostMsg_DidStartProvisionalLoadForFrame(
routing_id_, frame->identifier(),
frame->parent() ? frame->parent()->identifier() : -1,
- is_top_most, GetOpenerUrl(), ds->request().url()));
+ is_top_most, ds->request().url()));
}
void RenderViewImpl::didReceiveServerRedirectForProvisionalLoad(
@@ -3241,7 +3235,7 @@ void RenderViewImpl::didReceiveServerRedirectForProvisionalLoad(
GetRedirectChain(data_source, &redirects);
if (redirects.size() >= 2) {
Send(new ViewHostMsg_DidRedirectProvisionalLoad(routing_id_, page_id_,
- GetOpenerUrl(), redirects[redirects.size() - 2], redirects.back()));
+ redirects[redirects.size() - 2], redirects.back()));
}
}
@@ -4661,13 +4655,6 @@ GURL RenderViewImpl::GetAlternateErrorPageURL(const GURL& failed_url,
return url;
}
-GURL RenderViewImpl::GetOpenerUrl() const {
- if (opener_id_ == MSG_ROUTING_NONE || opener_suppressed_)
- return GURL();
- else
- return creator_url_;
-}
-
GURL RenderViewImpl::GetLoadingUrl(WebKit::WebFrame* frame) const {
WebDataSource* ds = frame->dataSource();
if (ds->hasUnreachableURL())
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h
index 3d5aa72..ec3dcb4e 100644
--- a/content/renderer/render_view_impl.h
+++ b/content/renderer/render_view_impl.h
@@ -1087,9 +1087,6 @@ class CONTENT_EXPORT RenderViewImpl
// Locates a sub frame with given xpath
WebKit::WebFrame* GetChildFrame(const string16& frame_xpath) const;
- // Returns the opener url if present, else an empty url.
- GURL GetOpenerUrl() const;
-
// Returns the URL being loaded by the given frame's request.
GURL GetLoadingUrl(WebKit::WebFrame* frame) const;
@@ -1215,7 +1212,6 @@ class CONTENT_EXPORT RenderViewImpl
// Used for popups.
bool opened_by_user_gesture_;
- GURL creator_url_;
// Whether this RenderView was created by a frame that was suppressing its
// opener. If so, we may want to load pages in a separate process. See