<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[183061] branches/safari-600.1.4.16-branch</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/183061">183061</a></dd>
<dt>Author</dt> <dd>lforschler@apple.com</dd>
<dt>Date</dt> <dd>2015-04-21 03:11:06 -0700 (Tue, 21 Apr 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Merged <a href="http://trac.webkit.org/projects/webkit/changeset/180110">r180110</a>. rdar://problem/20623662</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#branchessafari6001416branchLayoutTestsChangeLog">branches/safari-600.1.4.16-branch/LayoutTests/ChangeLog</a></li>
<li><a href="#branchessafari6001416branchSourceWebCoreChangeLog">branches/safari-600.1.4.16-branch/Source/WebCore/ChangeLog</a></li>
<li><a href="#branchessafari6001416branchSourceWebCoreWebCoreexpin">branches/safari-600.1.4.16-branch/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#branchessafari6001416branchSourceWebCoreloaderFrameLoadercpp">branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#branchessafari6001416branchSourceWebCoreloaderFrameLoaderh">branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoader.h</a></li>
<li><a href="#branchessafari6001416branchSourceWebCoreloaderFrameLoaderTypesh">branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoaderTypes.h</a></li>
<li><a href="#branchessafari6001416branchSourceWebCoreloaderNavigationSchedulercpp">branches/safari-600.1.4.16-branch/Source/WebCore/loader/NavigationScheduler.cpp</a></li>
<li><a href="#branchessafari6001416branchSourceWebCorepageContextMenuControllercpp">branches/safari-600.1.4.16-branch/Source/WebCore/page/ContextMenuController.cpp</a></li>
<li><a href="#branchessafari6001416branchSourceWebKitiosChangeLog">branches/safari-600.1.4.16-branch/Source/WebKit/ios/ChangeLog</a></li>
<li><a href="#branchessafari6001416branchSourceWebKitiosWebViewWebPDFViewPlaceholdermm">branches/safari-600.1.4.16-branch/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm</a></li>
<li><a href="#branchessafari6001416branchSourceWebKitmacChangeLog">branches/safari-600.1.4.16-branch/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#branchessafari6001416branchSourceWebKitmacWebViewWebPDFViewmm">branches/safari-600.1.4.16-branch/Source/WebKit/mac/WebView/WebPDFView.mm</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#branchessafari6001416branchLayoutTestshttptestsnavigationresourcestargetblankopenerpostwindowphp">branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/resources/target-blank-opener-post-window.php</a></li>
<li><a href="#branchessafari6001416branchLayoutTestshttptestsnavigationresourcestargetblankopenerwindowphp">branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/resources/target-blank-opener-window.php</a></li>
<li><a href="#branchessafari6001416branchLayoutTestshttptestsnavigationtargetblankopenerexpectedtxt">branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-expected.txt</a></li>
<li><a href="#branchessafari6001416branchLayoutTestshttptestsnavigationtargetblankopenerpostexpectedtxt">branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-post-expected.txt</a></li>
<li><a href="#branchessafari6001416branchLayoutTestshttptestsnavigationtargetblankopenerposthtml">branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-post.html</a></li>
<li><a href="#branchessafari6001416branchLayoutTestshttptestsnavigationtargetblankopenerhtml">branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener.html</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchessafari6001416branchLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/LayoutTests/ChangeLog (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/LayoutTests/ChangeLog        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/LayoutTests/ChangeLog        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -1,5 +1,29 @@
</span><span class="cx"> 2015-04-21 Lucas Forschler <lforschler@apple.com>
</span><span class="cx">
</span><ins>+ Merge r180110
+
+ 2015-02-14 Alexey Proskuryakov <ap@apple.com>
+
+ rel="noreferrer" should make window.opener null
+ https://bugs.webkit.org/show_bug.cgi?id=141579
+
+ Reviewed by Darin Adler.
+
+ Unfortunately, these tests are not quite real, because they pass even without the
+ fix. There reason is that delegates respond synchronously in WKTR and DRT.
+
+ But if there is any large refactoring, there is a non-zero chance that the tests
+ will catch future mistakes.
+
+ * http/tests/navigation/resources/target-blank-opener-post-window.php: Added.
+ * http/tests/navigation/resources/target-blank-opener-window.php: Added.
+ * http/tests/navigation/target-blank-opener-expected.txt: Added.
+ * http/tests/navigation/target-blank-opener-post-expected.txt: Added.
+ * http/tests/navigation/target-blank-opener-post.html: Added.
+ * http/tests/navigation/target-blank-opener.html: Added.
+
+2015-04-21 Lucas Forschler <lforschler@apple.com>
+
</ins><span class="cx"> Merge r182835
</span><span class="cx">
</span><span class="cx"> 2015-04-14 Zalan Bujtas <zalan@apple.com>
</span></span></pre></div>
<a id="branchessafari6001416branchLayoutTestshttptestsnavigationresourcestargetblankopenerpostwindowphpfromrev180110trunkLayoutTestshttptestsnavigationresourcestargetblankopenerpostwindowphp"></a>
<div class="copfile"><h4>Copied: branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/resources/target-blank-opener-post-window.php (from rev 180110, trunk/LayoutTests/http/tests/navigation/resources/target-blank-opener-post-window.php) (0 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/resources/target-blank-opener-post-window.php         (rev 0)
+++ branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/resources/target-blank-opener-post-window.php        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+<p>Referrer: <?php echo $_SERVER['HTTP_REFERER'] ?></p>
+<script>
+console.log("Referrer: <?php echo $_SERVER['HTTP_REFERER'] ?>");
+
+var result = "window.opener: " + (window.opener ? "PASS" : "FAIL");
+document.write(result);
+console.log(result);
+if (window.testRunner)
+ testRunner.notifyDone();
+</script>
</ins></span></pre></div>
<a id="branchessafari6001416branchLayoutTestshttptestsnavigationresourcestargetblankopenerwindowphpfromrev180110trunkLayoutTestshttptestsnavigationresourcestargetblankopenerwindowphp"></a>
<div class="copfile"><h4>Copied: branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/resources/target-blank-opener-window.php (from rev 180110, trunk/LayoutTests/http/tests/navigation/resources/target-blank-opener-window.php) (0 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/resources/target-blank-opener-window.php         (rev 0)
+++ branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/resources/target-blank-opener-window.php        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+<p>Referrer: <?php echo $_SERVER['HTTP_REFERER'] ?></p>
+<script>
+console.log("Referrer: <?php echo $_SERVER['HTTP_REFERER'] ?>");
+
+var result = "window.opener: " + (window.opener ? "FAIL" : "PASS");
+document.write(result);
+console.log(result);
+if (window.testRunner)
+ testRunner.notifyDone();
+</script>
</ins></span></pre></div>
<a id="branchessafari6001416branchLayoutTestshttptestsnavigationtargetblankopenerexpectedtxtfromrev180110trunkLayoutTestshttptestsnavigationtargetblankopenerexpectedtxt"></a>
<div class="copfile"><h4>Copied: branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-expected.txt (from rev 180110, trunk/LayoutTests/http/tests/navigation/target-blank-opener-expected.txt) (0 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-expected.txt         (rev 0)
+++ branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-expected.txt        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 3: Referrer:
+CONSOLE MESSAGE: line 7: window.opener: PASS
+Test that a new window opened via <a target='_blank'> with rel="noreferrer" has a null opener.
+
+Click me to test.
</ins></span></pre></div>
<a id="branchessafari6001416branchLayoutTestshttptestsnavigationtargetblankopenerpostexpectedtxtfromrev180110trunkLayoutTestshttptestsnavigationtargetblankopenerpostexpectedtxt"></a>
<div class="copfile"><h4>Copied: branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-post-expected.txt (from rev 180110, trunk/LayoutTests/http/tests/navigation/target-blank-opener-post-expected.txt) (0 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-post-expected.txt         (rev 0)
+++ branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-post-expected.txt        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+CONSOLE MESSAGE: line 3: Referrer: http://127.0.0.1:8000/navigation/target-blank-opener-post.html
+CONSOLE MESSAGE: line 7: window.opener: PASS
+Test that rel="noreferrer" is unsupported by form elements, and that window.opener is available when form submission opens a new window.
+
+
</ins></span></pre></div>
<a id="branchessafari6001416branchLayoutTestshttptestsnavigationtargetblankopenerposthtmlfromrev180110trunkLayoutTestshttptestsnavigationtargetblankopenerposthtml"></a>
<div class="copfile"><h4>Copied: branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-post.html (from rev 180110, trunk/LayoutTests/http/tests/navigation/target-blank-opener-post.html) (0 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-post.html         (rev 0)
+++ branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener-post.html        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<script src="../../../resources/js-test-pre.js"></script>
+</head>
+<body>
+<p>Test that rel="noreferrer" is unsupported by form elements, and that window.opener is available when form submission opens a new window.</p>
+<form id="testForm" action="resources/target-blank-opener-post-window.php" target="_blank" rel="noreferrer" method="post">
+<input type="submit" value="Test"></input>
+<form>
+<script>
+if (window.testRunner) {
+ testRunner.waitUntilDone();
+ testRunner.setCanOpenWindows(true);
+}
+
+document.forms[0].submit();
+
+</script>
+</body>
+</html>
</ins></span></pre></div>
<a id="branchessafari6001416branchLayoutTestshttptestsnavigationtargetblankopenerhtmlfromrev180110trunkLayoutTestshttptestsnavigationtargetblankopenerhtml"></a>
<div class="copfile"><h4>Copied: branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener.html (from rev 180110, trunk/LayoutTests/http/tests/navigation/target-blank-opener.html) (0 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener.html         (rev 0)
+++ branches/safari-600.1.4.16-branch/LayoutTests/http/tests/navigation/target-blank-opener.html        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<script src="../../../resources/js-test-pre.js"></script>
+</head>
+<body>
+<p>Test that a new window opened via &lt;a target='_blank'&gt; with rel="noreferrer" has a null opener.</p>
+<a id="testLink" href="resources/target-blank-opener-window.php" target="_blank" rel="noreferrer">Click me to test.</a>
+<script>
+if (window.testRunner) {
+ testRunner.waitUntilDone();
+ testRunner.setCanOpenWindows(true);
+}
+
+document.getElementById("testLink").click();
+
+</script>
+</body>
+</html>
</ins></span></pre></div>
<a id="branchessafari6001416branchSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebCore/ChangeLog (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebCore/ChangeLog        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebCore/ChangeLog        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -1,5 +1,43 @@
</span><span class="cx"> 2015-04-21 Lucas Forschler <lforschler@apple.com>
</span><span class="cx">
</span><ins>+ Merge r180110
+
+ 2015-02-14 Alexey Proskuryakov <ap@apple.com>
+
+ rel="noreferrer" should make window.opener null
+ https://bugs.webkit.org/show_bug.cgi?id=141579
+
+ Reviewed by Darin Adler.
+
+ Tests: http/tests/navigation/target-blank-opener-post.html
+ http/tests/navigation/target-blank-opener.html
+
+ We used to avoid passing window.opener policy by temporarily storing it in a FrameLoader
+ member variable. This works for some clients - ones that invoke delegate callbacks
+ synchronously - but not in the general case.
+
+ So, changed to passing the policy explicitly.
+
+ * WebCore.exp.in:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::urlSelected):
+ (WebCore::FrameLoader::loadURLIntoChildFrame):
+ (WebCore::FrameLoader::loadFrameRequest):
+ (WebCore::FrameLoader::loadURL):
+ (WebCore::FrameLoader::load):
+ (WebCore::FrameLoader::loadPostRequest):
+ (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::suppressOpenerInNewFrame): Deleted.
+ * loader/FrameLoaderTypes.h:
+ * loader/NavigationScheduler.cpp:
+ * page/ContextMenuController.cpp:
+ (WebCore::openNewWindow):
+ (WebCore::ContextMenuController::contextMenuItemSelected):
+
+2015-04-21 Lucas Forschler <lforschler@apple.com>
+
</ins><span class="cx"> Merge r182835
</span><span class="cx">
</span><span class="cx"> 2015-04-14 Zalan Bujtas <zalan@apple.com>
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebCore/WebCore.exp.in (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebCore/WebCore.exp.in        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebCore/WebCore.exp.in        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx"> __ZN7WebCore11FrameLoader14detachChildrenEv
</span><span class="cx"> __ZN7WebCore11FrameLoader14stopAllLoadersENS_26ClearProvisionalItemPolicyE
</span><span class="cx"> __ZN7WebCore11FrameLoader16detachFromParentEv
</span><del>-__ZN7WebCore11FrameLoader16loadFrameRequestERKNS_16FrameLoadRequestENS_11LockHistoryENS_19LockBackForwardListEN3WTF10PassRefPtrINS_5EventEEENS7_INS_9FormStateEEENS_18ShouldSendReferrerE
</del><ins>+__ZN7WebCore11FrameLoader16loadFrameRequestERKNS_16FrameLoadRequestENS_11LockHistoryENS_19LockBackForwardListEN3WTF10PassRefPtrINS_5EventEEENS7_INS_9FormStateEEENS_18ShouldSendReferrerENS_20NewFrameOpenerPolicyE
</ins><span class="cx"> __ZN7WebCore11FrameLoader17stopForUserCancelEb
</span><span class="cx"> __ZN7WebCore11FrameLoader21loadURLIntoChildFrameERKNS_3URLERKN3WTF6StringEPNS_5FrameE
</span><span class="cx"> __ZN7WebCore11FrameLoader22findFrameForNavigationERKN3WTF12AtomicStringEPNS_8DocumentE
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoader.cpp (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoader.cpp        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoader.cpp        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -241,7 +241,6 @@
</span><span class="cx"> , m_shouldCallCheckLoadComplete(false)
</span><span class="cx"> , m_opener(nullptr)
</span><span class="cx"> , m_loadingFromCachedPage(false)
</span><del>- , m_suppressOpenerInNewFrame(false)
</del><span class="cx"> , m_currentNavigationHasShownBeforeUnloadConfirmPanel(false)
</span><span class="cx"> , m_loadsSynchronously(false)
</span><span class="cx"> , m_forcedSandboxFlags(SandboxNone)
</span><span class="lines">@@ -336,8 +335,6 @@
</span><span class="cx"> // corresponding parameter from ScriptController::executeIfJavaScriptURL() is addressed.
</span><span class="cx"> void FrameLoader::urlSelected(const FrameLoadRequest& passedRequest, PassRefPtr<Event> triggeringEvent, LockHistory lockHistory, LockBackForwardList lockBackForwardList, ShouldSendReferrer shouldSendReferrer, ShouldReplaceDocumentIfJavaScriptURL shouldReplaceDocumentIfJavaScriptURL)
</span><span class="cx"> {
</span><del>- ASSERT(!m_suppressOpenerInNewFrame);
-
</del><span class="cx"> Ref<Frame> protect(m_frame);
</span><span class="cx"> FrameLoadRequest frameRequest(passedRequest);
</span><span class="cx">
</span><span class="lines">@@ -347,13 +344,12 @@
</span><span class="cx"> if (frameRequest.frameName().isEmpty())
</span><span class="cx"> frameRequest.setFrameName(m_frame.document()->baseTarget());
</span><span class="cx">
</span><del>- if (shouldSendReferrer == NeverSendReferrer)
- m_suppressOpenerInNewFrame = true;
</del><span class="cx"> addHTTPOriginIfNeeded(frameRequest.resourceRequest(), outgoingOrigin());
</span><span class="cx">
</span><del>- loadFrameRequest(frameRequest, lockHistory, lockBackForwardList, triggeringEvent, 0, shouldSendReferrer);
</del><ins>+ NewFrameOpenerPolicy openerPolicy = (shouldSendReferrer == NeverSendReferrer) ? NewFrameOpenerPolicy::Suppress : NewFrameOpenerPolicy::Allow;
</ins><span class="cx">
</span><del>- m_suppressOpenerInNewFrame = false;
</del><ins>+ loadFrameRequest(frameRequest, lockHistory, lockBackForwardList, triggeringEvent, 0, shouldSendReferrer, openerPolicy);
+
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FrameLoader::submitForm(PassRefPtr<FormSubmission> submission)
</span><span class="lines">@@ -923,7 +919,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- childFrame->loader().loadURL(url, referer, "_self", LockHistory::No, FrameLoadType::RedirectWithLockedBackForwardList, 0, 0);
</del><ins>+ childFrame->loader().loadURL(url, referer, "_self", LockHistory::No, FrameLoadType::RedirectWithLockedBackForwardList, 0, 0, NewFrameOpenerPolicy::Suppress);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
</span><span class="lines">@@ -1202,7 +1198,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FrameLoader::loadFrameRequest(const FrameLoadRequest& request, LockHistory lockHistory, LockBackForwardList lockBackForwardList,
</span><del>- PassRefPtr<Event> event, PassRefPtr<FormState> formState, ShouldSendReferrer shouldSendReferrer)
</del><ins>+ PassRefPtr<Event> event, PassRefPtr<FormState> formState, ShouldSendReferrer shouldSendReferrer, NewFrameOpenerPolicy openerPolicy)
</ins><span class="cx"> {
</span><span class="cx"> // Protect frame from getting blown away inside dispatchBeforeLoadEvent in loadWithDocumentLoader.
</span><span class="cx"> Ref<Frame> protect(m_frame);
</span><span class="lines">@@ -1232,9 +1228,9 @@
</span><span class="cx"> loadType = FrameLoadType::Standard;
</span><span class="cx">
</span><span class="cx"> if (request.resourceRequest().httpMethod() == "POST")
</span><del>- loadPostRequest(request.resourceRequest(), referrer, request.frameName(), lockHistory, loadType, event, formState.get());
</del><ins>+ loadPostRequest(request.resourceRequest(), referrer, request.frameName(), lockHistory, loadType, event, formState.get(), openerPolicy);
</ins><span class="cx"> else
</span><del>- loadURL(request.resourceRequest().url(), referrer, request.frameName(), lockHistory, loadType, event, formState.get());
</del><ins>+ loadURL(request.resourceRequest().url(), referrer, request.frameName(), lockHistory, loadType, event, formState.get(), openerPolicy);
</ins><span class="cx">
</span><span class="cx"> // FIXME: It's possible this targetFrame will not be the same frame that was targeted by the actual
</span><span class="cx"> // load if frame names have changed.
</span><span class="lines">@@ -1249,7 +1245,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FrameLoader::loadURL(const URL& newURL, const String& referrer, const String& frameName, LockHistory lockHistory, FrameLoadType newLoadType,
</span><del>- PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState)
</del><ins>+ PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState, NewFrameOpenerPolicy openerPolicy)
</ins><span class="cx"> {
</span><span class="cx"> if (m_inStopAllLoaders)
</span><span class="cx"> return;
</span><span class="lines">@@ -1278,7 +1274,7 @@
</span><span class="cx"> // The search for a target frame is done earlier in the case of form submission.
</span><span class="cx"> Frame* targetFrame = isFormSubmission ? 0 : findFrameForNavigation(frameName);
</span><span class="cx"> if (targetFrame && targetFrame != &m_frame) {
</span><del>- targetFrame->loader().loadURL(newURL, referrer, "_self", lockHistory, newLoadType, event, formState.release());
</del><ins>+ targetFrame->loader().loadURL(newURL, referrer, "_self", lockHistory, newLoadType, event, formState.release(), openerPolicy);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1288,8 +1284,8 @@
</span><span class="cx"> NavigationAction action(request, newLoadType, isFormSubmission, event);
</span><span class="cx">
</span><span class="cx"> if (!targetFrame && !frameName.isEmpty()) {
</span><del>- policyChecker().checkNewWindowPolicy(action, request, formState.release(), frameName, [this](const ResourceRequest& request, PassRefPtr<FormState> formState, const String& frameName, const NavigationAction& action, bool shouldContinue) {
- continueLoadAfterNewWindowPolicy(request, formState, frameName, action, shouldContinue);
</del><ins>+ policyChecker().checkNewWindowPolicy(action, request, formState.release(), frameName, [this, openerPolicy](const ResourceRequest& request, PassRefPtr<FormState> formState, const String& frameName, const NavigationAction& action, bool shouldContinue) {
+ continueLoadAfterNewWindowPolicy(request, formState, frameName, action, shouldContinue, openerPolicy);
</ins><span class="cx"> });
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1358,7 +1354,7 @@
</span><span class="cx">
</span><span class="cx"> if (request.shouldCheckNewWindowPolicy()) {
</span><span class="cx"> policyChecker().checkNewWindowPolicy(NavigationAction(request.resourceRequest(), NavigationTypeOther), request.resourceRequest(), nullptr, request.frameName(), [this](const ResourceRequest& request, PassRefPtr<FormState> formState, const String& frameName, const NavigationAction& action, bool shouldContinue) {
</span><del>- continueLoadAfterNewWindowPolicy(request, formState, frameName, action, shouldContinue);
</del><ins>+ continueLoadAfterNewWindowPolicy(request, formState, frameName, action, shouldContinue, NewFrameOpenerPolicy::Suppress);
</ins><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> return;
</span><span class="lines">@@ -2653,7 +2649,7 @@
</span><span class="cx"> request.setHTTPOrigin(origin);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void FrameLoader::loadPostRequest(const ResourceRequest& inRequest, const String& referrer, const String& frameName, LockHistory lockHistory, FrameLoadType loadType, PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState)
</del><ins>+void FrameLoader::loadPostRequest(const ResourceRequest& inRequest, const String& referrer, const String& frameName, LockHistory lockHistory, FrameLoadType loadType, PassRefPtr<Event> event, PassRefPtr<FormState> prpFormState, NewFrameOpenerPolicy openerPolicy)
</ins><span class="cx"> {
</span><span class="cx"> RefPtr<FormState> formState = prpFormState;
</span><span class="cx">
</span><span class="lines">@@ -2685,8 +2681,8 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- policyChecker().checkNewWindowPolicy(action, workingResourceRequest, formState.release(), frameName, [this](const ResourceRequest& request, PassRefPtr<FormState> formState, const String& frameName, const NavigationAction& action, bool shouldContinue) {
- continueLoadAfterNewWindowPolicy(request, formState, frameName, action, shouldContinue);
</del><ins>+ policyChecker().checkNewWindowPolicy(action, workingResourceRequest, formState.release(), frameName, [this, openerPolicy](const ResourceRequest& request, PassRefPtr<FormState> formState, const String& frameName, const NavigationAction& action, bool shouldContinue) {
+ continueLoadAfterNewWindowPolicy(request, formState, frameName, action, shouldContinue, openerPolicy);
</ins><span class="cx"> });
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -3001,7 +2997,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FrameLoader::continueLoadAfterNewWindowPolicy(const ResourceRequest& request,
</span><del>- PassRefPtr<FormState> formState, const String& frameName, const NavigationAction& action, bool shouldContinue)
</del><ins>+ PassRefPtr<FormState> formState, const String& frameName, const NavigationAction& action, bool shouldContinue, NewFrameOpenerPolicy openerPolicy)
</ins><span class="cx"> {
</span><span class="cx"> if (!shouldContinue)
</span><span class="cx"> return;
</span><span class="lines">@@ -3016,7 +3012,7 @@
</span><span class="cx">
</span><span class="cx"> mainFrame->page()->setOpenedByDOM();
</span><span class="cx"> mainFrame->loader().m_client.dispatchShow();
</span><del>- if (!m_suppressOpenerInNewFrame) {
</del><ins>+ if (openerPolicy == NewFrameOpenerPolicy::Allow) {
</ins><span class="cx"> mainFrame->loader().setOpener(&frame.get());
</span><span class="cx"> mainFrame->document()->setReferrerPolicy(frame->document()->referrerPolicy());
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebCoreloaderFrameLoaderh"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoader.h (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoader.h        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoader.h        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx"> // FIXME: These are all functions which start loads. We have too many.
</span><span class="cx"> void loadURLIntoChildFrame(const URL&, const String& referer, Frame*);
</span><span class="cx"> void loadFrameRequest(const FrameLoadRequest&, LockHistory, LockBackForwardList, // Called by submitForm, calls loadPostRequest and loadURL.
</span><del>- PassRefPtr<Event>, PassRefPtr<FormState>, ShouldSendReferrer);
</del><ins>+ PassRefPtr<Event>, PassRefPtr<FormState>, ShouldSendReferrer, NewFrameOpenerPolicy);
</ins><span class="cx">
</span><span class="cx"> void load(const FrameLoadRequest&);
</span><span class="cx">
</span><span class="lines">@@ -266,8 +266,6 @@
</span><span class="cx">
</span><span class="cx"> void setOriginalURLForDownloadRequest(ResourceRequest&);
</span><span class="cx">
</span><del>- bool suppressOpenerInNewFrame() const { return m_suppressOpenerInNewFrame; }
-
</del><span class="cx"> static ObjectContentType defaultObjectContentType(const URL&, const String& mimeType, bool shouldPreferPlugInsForImages);
</span><span class="cx">
</span><span class="cx"> bool quickRedirectComing() const { return m_quickRedirectComing; }
</span><span class="lines">@@ -321,7 +319,7 @@
</span><span class="cx"> bool handleBeforeUnloadEvent(Chrome&, FrameLoader* frameLoaderBeingNavigated);
</span><span class="cx">
</span><span class="cx"> void continueLoadAfterNavigationPolicy(const ResourceRequest&, PassRefPtr<FormState>, bool shouldContinue);
</span><del>- void continueLoadAfterNewWindowPolicy(const ResourceRequest&, PassRefPtr<FormState>, const String& frameName, const NavigationAction&, bool shouldContinue);
</del><ins>+ void continueLoadAfterNewWindowPolicy(const ResourceRequest&, PassRefPtr<FormState>, const String& frameName, const NavigationAction&, bool shouldContinue, NewFrameOpenerPolicy);
</ins><span class="cx"> void continueFragmentScrollAfterNavigationPolicy(const ResourceRequest&, bool shouldContinue);
</span><span class="cx">
</span><span class="cx"> bool shouldPerformFragmentNavigation(bool isFormSubmission, const String& httpMethod, FrameLoadType, const URL&);
</span><span class="lines">@@ -351,9 +349,9 @@
</span><span class="cx"> LockHistory, FrameLoadType, PassRefPtr<FormState>);
</span><span class="cx">
</span><span class="cx"> void loadPostRequest(const ResourceRequest&, const String& referrer, // Called by loadFrameRequest, calls loadWithNavigationAction
</span><del>- const String& frameName, LockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>);
</del><ins>+ const String& frameName, LockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>, NewFrameOpenerPolicy);
</ins><span class="cx"> void loadURL(const URL&, const String& referrer, const String& frameName, // Called by loadFrameRequest, calls loadWithNavigationAction or dispatches to navigation policy delegate
</span><del>- LockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>);
</del><ins>+ LockHistory, FrameLoadType, PassRefPtr<Event>, PassRefPtr<FormState>, NewFrameOpenerPolicy);
</ins><span class="cx">
</span><span class="cx"> bool shouldReload(const URL& currentURL, const URL& destinationURL);
</span><span class="cx">
</span><span class="lines">@@ -432,7 +430,6 @@
</span><span class="cx"> HashSet<Frame*> m_openedFrames;
</span><span class="cx">
</span><span class="cx"> bool m_loadingFromCachedPage;
</span><del>- bool m_suppressOpenerInNewFrame;
</del><span class="cx">
</span><span class="cx"> bool m_currentNavigationHasShownBeforeUnloadConfirmPanel;
</span><span class="cx">
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebCoreloaderFrameLoaderTypesh"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoaderTypes.h (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoaderTypes.h        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebCore/loader/FrameLoaderTypes.h        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -57,6 +57,11 @@
</span><span class="cx"> ReloadFromOrigin,
</span><span class="cx"> };
</span><span class="cx">
</span><ins>+enum class NewFrameOpenerPolicy {
+ Suppress,
+ Allow
+};
+
</ins><span class="cx"> enum NavigationType {
</span><span class="cx"> NavigationTypeLinkClicked,
</span><span class="cx"> NavigationTypeFormSubmitted,
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebCoreloaderNavigationSchedulercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebCore/loader/NavigationScheduler.cpp (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebCore/loader/NavigationScheduler.cpp        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebCore/loader/NavigationScheduler.cpp        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -240,7 +240,7 @@
</span><span class="cx"> return;
</span><span class="cx"> FrameLoadRequest frameRequest(requestingDocument->securityOrigin());
</span><span class="cx"> m_submission->populateFrameLoadRequest(frameRequest);
</span><del>- frame.loader().loadFrameRequest(frameRequest, lockHistory(), lockBackForwardList(), m_submission->event(), m_submission->state(), MaybeSendReferrer);
</del><ins>+ frame.loader().loadFrameRequest(frameRequest, lockHistory(), lockBackForwardList(), m_submission->event(), m_submission->state(), MaybeSendReferrer, NewFrameOpenerPolicy::Allow);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> virtual void didStartTimer(Frame& frame, Timer<NavigationScheduler>& timer) override
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebCorepageContextMenuControllercpp"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebCore/page/ContextMenuController.cpp (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebCore/page/ContextMenuController.cpp        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebCore/page/ContextMenuController.cpp        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx"> if (!newPage)
</span><span class="cx"> return;
</span><span class="cx"> newPage->chrome().show();
</span><del>- newPage->mainFrame().loader().loadFrameRequest(request, LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer);
</del><ins>+ newPage->mainFrame().loader().loadFrameRequest(request, LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer, NewFrameOpenerPolicy::Suppress);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(GTK)
</span><span class="lines">@@ -405,12 +405,12 @@
</span><span class="cx"> break;
</span><span class="cx"> case ContextMenuItemTagOpenLink:
</span><span class="cx"> if (Frame* targetFrame = m_context.hitTestResult().targetFrame())
</span><del>- targetFrame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer())), LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer);
</del><ins>+ targetFrame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer())), LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer, NewFrameOpenerPolicy::Suppress);
</ins><span class="cx"> else
</span><span class="cx"> openNewWindow(m_context.hitTestResult().absoluteLinkURL(), frame);
</span><span class="cx"> break;
</span><span class="cx"> case ContextMenuItemTagOpenLinkInThisWindow:
</span><del>- frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer())), LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer);
</del><ins>+ frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(m_context.hitTestResult().absoluteLinkURL(), frame->loader().outgoingReferrer())), LockHistory::No, LockBackForwardList::No, 0, 0, MaybeSendReferrer, NewFrameOpenerPolicy::Suppress);
</ins><span class="cx"> break;
</span><span class="cx"> case ContextMenuItemTagBold:
</span><span class="cx"> frame->editor().command("ToggleBold").execute();
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebKitiosChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebKit/ios/ChangeLog (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebKit/ios/ChangeLog        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebKit/ios/ChangeLog        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-04-21 Lucas Forschler <lforschler@apple.com>
+
+ Merge r180110
+
+ 2015-02-14 Alexey Proskuryakov <ap@apple.com>
+
+ rel="noreferrer" should make window.opener null
+ https://bugs.webkit.org/show_bug.cgi?id=141579
+
+ Reviewed by Darin Adler.
+
+ * WebView/WebPDFViewPlaceholder.mm:
+ (-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]): Updated for a new WebCore
+ function signature. There is no rel="noreferrer" in PDF, so we can just always allow.
+
</ins><span class="cx"> 2015-02-13 Matthew Hanson <matthew_hanson@apple.com>
</span><span class="cx">
</span><span class="cx"> Merge r179580. rdar://problem/19709200
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebKitiosWebViewWebPDFViewPlaceholdermm"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebKit/ios/WebView/WebPDFViewPlaceholder.mm        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -497,7 +497,7 @@
</span><span class="cx">
</span><span class="cx"> // Call to the frame loader because this is where our security checks are made.
</span><span class="cx"> Frame* frame = core([_dataSource webFrame]);
</span><del>- frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), LockHistory::No, LockBackForwardList::No, event.get(), 0, MaybeSendReferrer);
</del><ins>+ frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), LockHistory::No, LockBackForwardList::No, event.get(), 0, MaybeSendReferrer, NewFrameOpenerPolicy::Allow);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> @end
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebKit/mac/ChangeLog (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebKit/mac/ChangeLog        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebKit/mac/ChangeLog        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-04-21 Lucas Forschler <lforschler@apple.com>
+
+ Merge r180110
+
+ 2015-02-14 Alexey Proskuryakov <ap@apple.com>
+
+ rel="noreferrer" should make window.opener null
+ https://bugs.webkit.org/show_bug.cgi?id=141579
+
+ Reviewed by Darin Adler.
+
+ * WebView/WebPDFView.mm:
+ (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for a new WebCore
+ function signature. There is no rel="noreferrer" in PDF, so we can just always allow.
+
</ins><span class="cx"> 2015-02-13 Matthew Hanson <matthew_hanson@apple.com>
</span><span class="cx">
</span><span class="cx"> Merge r179580. rdar://problem/19709200
</span></span></pre></div>
<a id="branchessafari6001416branchSourceWebKitmacWebViewWebPDFViewmm"></a>
<div class="modfile"><h4>Modified: branches/safari-600.1.4.16-branch/Source/WebKit/mac/WebView/WebPDFView.mm (183060 => 183061)</h4>
<pre class="diff"><span>
<span class="info">--- branches/safari-600.1.4.16-branch/Source/WebKit/mac/WebView/WebPDFView.mm        2015-04-21 09:57:38 UTC (rev 183060)
+++ branches/safari-600.1.4.16-branch/Source/WebKit/mac/WebView/WebPDFView.mm        2015-04-21 10:11:06 UTC (rev 183061)
</span><span class="lines">@@ -1032,7 +1032,7 @@
</span><span class="cx">
</span><span class="cx"> // Call to the frame loader because this is where our security checks are made.
</span><span class="cx"> Frame* frame = core([dataSource webFrame]);
</span><del>- frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), LockHistory::No, LockBackForwardList::No, event.get(), 0, MaybeSendReferrer);
</del><ins>+ frame->loader().loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), LockHistory::No, LockBackForwardList::No, event.get(), 0, MaybeSendReferrer, NewFrameOpenerPolicy::Allow);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (void)PDFViewOpenPDFInNativeApplication:(PDFView *)sender
</span></span></pre>
</div>
</div>
</body>
</html>