Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1217)

Unified Diff: Source/core/page/CreateWindow.cpp

Issue 1148603002: Anchor element's referrer attribute implementation for Referrer Policy Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fails for right-click opening (new window/tab, etc.) Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/page/CreateWindow.cpp
diff --git a/Source/core/page/CreateWindow.cpp b/Source/core/page/CreateWindow.cpp
index 2f42c61ed6ca20431834bfc5bfd919ee1ce69030..5ef43fac15b3c07193a163eeed536e9d5d468415 100644
--- a/Source/core/page/CreateWindow.cpp
+++ b/Source/core/page/CreateWindow.cpp
@@ -48,7 +48,7 @@
namespace blink {
-static Frame* createWindow(LocalFrame& openerFrame, LocalFrame& lookupFrame, const FrameLoadRequest& request, const WindowFeatures& features, NavigationPolicy policy, ShouldSendReferrer shouldSendReferrer)
+static Frame* createWindow(LocalFrame& openerFrame, LocalFrame& lookupFrame, const FrameLoadRequest& request, const WindowFeatures& features, NavigationPolicy policy, ReferrerPolicy referrerPolicy)
{
ASSERT(!features.dialog || request.frameName().isEmpty());
ASSERT(request.resourceRequest().requestorOrigin() || openerFrame.document()->url().isEmpty());
@@ -82,7 +82,7 @@ static Frame* createWindow(LocalFrame& openerFrame, LocalFrame& lookupFrame, con
if (!oldHost)
return nullptr;
- Page* page = oldHost->chrome().client().createWindow(&openerFrame, request, features, policy, shouldSendReferrer);
+ Page* page = oldHost->chrome().client().createWindow(&openerFrame, request, features, policy, referrerPolicy);
if (!page)
return nullptr;
FrameHost* host = &page->frameHost();
@@ -148,7 +148,7 @@ DOMWindow* createWindow(const String& urlString, const AtomicString& frameName,
// We pass the opener frame for the lookupFrame in case the active frame is different from
// the opener frame, and the name references a frame relative to the opener frame.
- Frame* newFrame = createWindow(*activeFrame, openerFrame, frameRequest, windowFeatures, NavigationPolicyIgnore, MaybeSendReferrer);
+ Frame* newFrame = createWindow(*activeFrame, openerFrame, frameRequest, windowFeatures, NavigationPolicyIgnore, ReferrerPolicyDefault);
Mike West 2015/05/20 07:56:42 This would previously have read the referrer polic
burnik 2015/05/20 08:27:56 Not quite sure at this point. I just followed this
if (!newFrame)
return nullptr;
@@ -159,7 +159,7 @@ DOMWindow* createWindow(const String& urlString, const AtomicString& frameName,
return newFrame->domWindow();
}
-void createWindowForRequest(const FrameLoadRequest& request, LocalFrame& openerFrame, NavigationPolicy policy, ShouldSendReferrer shouldSendReferrer)
+void createWindowForRequest(const FrameLoadRequest& request, LocalFrame& openerFrame, NavigationPolicy policy, ReferrerPolicy referrerPolicy)
{
ASSERT(request.resourceRequest().requestorOrigin() || (openerFrame.document() && openerFrame.document()->url().isEmpty()));
@@ -176,10 +176,10 @@ void createWindowForRequest(const FrameLoadRequest& request, LocalFrame& openerF
policy = NavigationPolicyNewForegroundTab;
WindowFeatures features;
- Frame* newFrame = createWindow(openerFrame, openerFrame, request, features, policy, shouldSendReferrer);
+ Frame* newFrame = createWindow(openerFrame, openerFrame, request, features, policy, referrerPolicy);
if (!newFrame)
return;
- if (shouldSendReferrer == MaybeSendReferrer) {
+ if (referrerPolicy != ReferrerPolicyNever) {
newFrame->client()->setOpener(&openerFrame);
// TODO(japhet): Does ReferrerPolicy need to be proagated for RemoteFrames?
if (newFrame->isLocalFrame())

Powered by Google App Engine
This is Rietveld 408576698