<!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>[191063] trunk</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/191063">191063</a></dd>
<dt>Author</dt> <dd>achristensen@apple.com</dd>
<dt>Date</dt> <dd>2015-10-14 13:03:14 -0700 (Wed, 14 Oct 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add SPI for reloading without content blockers
https://bugs.webkit.org/show_bug.cgi?id=150058
rdar://problem/22742222

Reviewed by Sam Weinig.

Source/WebCore:

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
* loader/FrameLoader.h:
* page/Page.h:
(WebCore::Page::userContentController):
(WebCore::Page::userContentExtensionsEnabled): Deleted.
(WebCore::Page::setUserContentExtensionsEnabled): Deleted.
* replay/UserInputBridge.cpp:
(WebCore::UserInputBridge::loadRequest):
(WebCore::UserInputBridge::reloadFrame):
(WebCore::UserInputBridge::stopLoadingFrame):
* replay/UserInputBridge.h:
Pass a bool from the reloadWithoutContentBlockers call to the DocumentLoader, 
which stores the state of whether the content blockers are enabled or not.
Remove the state from the Page and copying the state from the Page to the DocumentLoader
because that caused issues with the content blockers being re-enabled at the wrong time.

Source/WebKit2:

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageReload):
(WKPageReloadWithoutContentBlockers):
(WKPageReloadFromOrigin):
(WKPageTryClose):
(WKPageSetUserContentExtensionsEnabled):
(WKPageSupportsTextEncoding):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController reload]):
(-[WKBrowsingContextController reloadFromOrigin]):
(-[WKBrowsingContextController applicationNameForUserAgent]):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView _setUserContentExtensionsEnabled:]):
(-[WKWebView _userContentExtensionsEnabled]):
(-[WKWebView _webProcessIdentifier]):
(-[WKWebView _killWebContentProcess]):
(-[WKWebView _reloadWithoutContentBlockers]):
(-[WKWebView _killWebContentProcessAndResetState]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_reload):
(webkit_web_view_reload_bypass_cache):
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didHandleContentFilterUnblockNavigation):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::stopLoading):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
(WebKit::WebPageProxy::setUserContentExtensionsEnabled): Deleted.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::userContentExtensionsEnabled): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_shouldDispatchFakeMouseMoveEvents):
(WebKit::WebPage::setDefersLoading):
(WebKit::WebPage::reload):
(WebKit::WebPage::goForward):
(WebKit::WebPage::createDocumentLoader):
(WebKit::WebPage::setShouldScaleViewToFitDocument):
(WebKit::WebPage::imageOrMediaDocumentSizeChanged):
(WebKit::WebPage::setUserContentExtensionsEnabled): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Tools:

* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformConfigureViewForTest):

LayoutTests:

* http/tests/contentextensions/disable-blocker-expected.txt: Removed.
* http/tests/contentextensions/disable-blocker.html: Removed.
* http/tests/contentextensions/disable-blocker.html.json: Removed.
_userContentExtensionsEnabled is going to be removed, and its functionality is what this test tested.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderh">trunk/Source/WebCore/loader/FrameLoader.h</a></li>
<li><a href="#trunkSourceWebCorepagePageh">trunk/Source/WebCore/page/Page.h</a></li>
<li><a href="#trunkSourceWebCorereplayUserInputBridgecpp">trunk/Source/WebCore/replay/UserInputBridge.cpp</a></li>
<li><a href="#trunkSourceWebCorereplayUserInputBridgeh">trunk/Source/WebCore/replay/UserInputBridge.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPageCreationParameterscpp">trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPageCreationParametersh">trunk/Source/WebKit2/Shared/WebPageCreationParameters.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPagecpp">trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPageh">trunk/Source/WebKit2/UIProcess/API/C/WKPage.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllermm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewPrivateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIgtkWebKitWebViewcpp">trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebFrameProxycpp">trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagemessagesin">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsWebKitTestRunnercocoaTestControllerCocoamm">trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm</a></li>
<li><a href="#trunkToolsWebKitTestRunnermacTestControllerMacmm">trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestshttptestscontentextensionsdisableblockerexpectedtxt">trunk/LayoutTests/http/tests/contentextensions/disable-blocker-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestscontentextensionsdisableblockerhtml">trunk/LayoutTests/http/tests/contentextensions/disable-blocker.html</a></li>
<li><a href="#trunkLayoutTestshttptestscontentextensionsdisableblockerhtmljson">trunk/LayoutTests/http/tests/contentextensions/disable-blocker.html.json</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/LayoutTests/ChangeLog        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2015-10-14  Alex Christensen  &lt;achristensen@webkit.org&gt;
+
+        Add SPI for reloading without content blockers
+        https://bugs.webkit.org/show_bug.cgi?id=150058
+        rdar://problem/22742222
+
+        Reviewed by Sam Weinig.
+
+        * http/tests/contentextensions/disable-blocker-expected.txt: Removed.
+        * http/tests/contentextensions/disable-blocker.html: Removed.
+        * http/tests/contentextensions/disable-blocker.html.json: Removed.
+        _userContentExtensionsEnabled is going to be removed, and its functionality is what this test tested.
+
</ins><span class="cx"> 2015-10-14  Said Abou-Hallawa  &lt;sabouhallawa@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION(r53318): background-repeat: space with gradients doesn't render correctly
</span></span></pre></div>
<a id="trunkLayoutTestshttptestscontentextensionsdisableblockerexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/contentextensions/disable-blocker-expected.txt (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/contentextensions/disable-blocker-expected.txt        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/LayoutTests/http/tests/contentextensions/disable-blocker-expected.txt        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1,9 +0,0 @@
</span><del>-CONSOLE MESSAGE: line 12: status: 0, readyState:1, responseText: 
-CONSOLE MESSAGE: line 12: status: 200, readyState:2, responseText: 
-CONSOLE MESSAGE: line 12: status: 200, readyState:3, responseText: 
-CONSOLE MESSAGE: line 12: status: 200, readyState:4, responseText: This page should load.
-&lt;script&gt;
-    console.log(&quot;This page should load.&quot;);
-&lt;/script&gt;
-
-This page should load successfully. The content blocker is disabled in WebKitTestRunner before loading the page.
</del></span></pre></div>
<a id="trunkLayoutTestshttptestscontentextensionsdisableblockerhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/contentextensions/disable-blocker.html (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/contentextensions/disable-blocker.html        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/LayoutTests/http/tests/contentextensions/disable-blocker.html        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1,25 +0,0 @@
</span><del>-&lt;head&gt;
-&lt;script&gt;
-if (window.testRunner) {
-    testRunner.dumpAsText();
-    testRunner.waitUntilDone();
-}
-
-function sendRequest()
-{
-    var xhr = new XMLHttpRequest();
-    xhr.onreadystatechange = function() {
-        console.log(&quot;status: &quot; + xhr.status + &quot;, readyState:&quot; + xhr.readyState + &quot;, responseText: &quot; + xhr.responseText);
-        if (xhr.readyState == 4) {
-            testRunner.notifyDone();
-        }
-    }
-    
-    xhr.open(&quot;GET&quot;, &quot;resources/should-load.html&quot;, true);
-        xhr.send();
-}
-&lt;/script&gt;
-&lt;/head&gt;
-&lt;body onload=&quot;sendRequest()&quot;&gt;
-This page should load successfully.  The content blocker is disabled in WebKitTestRunner before loading the page.
-&lt;/body&gt;
</del></span></pre></div>
<a id="trunkLayoutTestshttptestscontentextensionsdisableblockerhtmljson"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/http/tests/contentextensions/disable-blocker.html.json (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/contentextensions/disable-blocker.html.json        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/LayoutTests/http/tests/contentextensions/disable-blocker.html.json        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-[
-    {
-        &quot;action&quot;: {
-            &quot;type&quot;: &quot;block&quot;
-        },
-        &quot;trigger&quot;: {
-            &quot;url-filter&quot;: &quot;.*&quot;
-        }
-    }
-]
</del></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebCore/ChangeLog        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2015-10-14  Alex Christensen  &lt;achristensen@webkit.org&gt;
+
+        Add SPI for reloading without content blockers
+        https://bugs.webkit.org/show_bug.cgi?id=150058
+        rdar://problem/22742222
+
+        Reviewed by Sam Weinig.
+
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::reloadWithOverrideEncoding):
+        (WebCore::FrameLoader::reload):
+        * loader/FrameLoader.h:
+        * page/Page.h:
+        (WebCore::Page::userContentController):
+        (WebCore::Page::userContentExtensionsEnabled): Deleted.
+        (WebCore::Page::setUserContentExtensionsEnabled): Deleted.
+        * replay/UserInputBridge.cpp:
+        (WebCore::UserInputBridge::loadRequest):
+        (WebCore::UserInputBridge::reloadFrame):
+        (WebCore::UserInputBridge::stopLoadingFrame):
+        * replay/UserInputBridge.h:
+        Pass a bool from the reloadWithoutContentBlockers call to the DocumentLoader, 
+        which stores the state of whether the content blockers are enabled or not.
+        Remove the state from the Page and copying the state from the Page to the DocumentLoader
+        because that caused issues with the content blockers being re-enabled at the wrong time.
+
</ins><span class="cx"> 2015-10-14  Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
</span><span class="cx"> 
</span><span class="cx">         Rename JSDOMWrapper to JSDOMObject and JSDOMWrapperWithImplementation to JSDOMWrapper
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1564,7 +1564,7 @@
</span><span class="cx">     loadWithDocumentLoader(loader.ptr(), FrameLoadType::Reload, 0, AllowNavigationToInvalidURL::Yes);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FrameLoader::reload(bool endToEndReload)
</del><ins>+void FrameLoader::reload(bool endToEndReload, bool contentBlockersEnabled)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_documentLoader)
</span><span class="cx">         return;
</span><span class="lines">@@ -1585,6 +1585,8 @@
</span><span class="cx">     Ref&lt;DocumentLoader&gt; loader = m_client.createDocumentLoader(initialRequest, defaultSubstituteDataForURL(initialRequest.url()));
</span><span class="cx">     applyShouldOpenExternalURLsPolicyToNewDocumentLoader(loader, m_documentLoader-&gt;shouldOpenExternalURLsPolicyToPropagate());
</span><span class="cx"> 
</span><ins>+    loader-&gt;setUserContentExtensionsEnabled(contentBlockersEnabled);
+    
</ins><span class="cx">     ResourceRequest&amp; request = loader-&gt;request();
</span><span class="cx"> 
</span><span class="cx">     // FIXME: We don't have a mechanism to revalidate the main resource without reloading at the moment.
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.h (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.h        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebCore/loader/FrameLoader.h        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx">     WEBCORE_EXPORT void urlSelected(const URL&amp;, const String&amp; target, Event*, LockHistory, LockBackForwardList, ShouldSendReferrer, ShouldOpenExternalURLsPolicy);
</span><span class="cx">     void submitForm(PassRefPtr&lt;FormSubmission&gt;);
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT void reload(bool endToEndReload = false);
</del><ins>+    WEBCORE_EXPORT void reload(bool endToEndReload = false, bool contentBlockersEnabled = true);
</ins><span class="cx">     WEBCORE_EXPORT void reloadWithOverrideEncoding(const String&amp; overrideEncoding);
</span><span class="cx"> 
</span><span class="cx">     void open(CachedFrameBase&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.h (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.h        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebCore/page/Page.h        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -428,9 +428,6 @@
</span><span class="cx">     UserContentController* userContentController() { return m_userContentController.get(); }
</span><span class="cx">     WEBCORE_EXPORT void setUserContentController(UserContentController*);
</span><span class="cx"> 
</span><del>-    bool userContentExtensionsEnabled() const { return m_userContentExtensionsEnabled; }
-    void setUserContentExtensionsEnabled(bool enabled) { m_userContentExtensionsEnabled = enabled; }
-
</del><span class="cx">     VisitedLinkStore&amp; visitedLinkStore();
</span><span class="cx">     WEBCORE_EXPORT void setVisitedLinkStore(Ref&lt;VisitedLinkStore&gt;&amp;&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -636,7 +633,6 @@
</span><span class="cx"> 
</span><span class="cx">     MediaProducer::MediaStateFlags m_mediaState { MediaProducer::IsNotPlaying };
</span><span class="cx">     
</span><del>-    bool m_userContentExtensionsEnabled { true };
</del><span class="cx">     bool m_allowsMediaDocumentInlinePlayback { false };
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorereplayUserInputBridgecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/replay/UserInputBridge.cpp (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/UserInputBridge.cpp        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebCore/replay/UserInputBridge.cpp        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -242,9 +242,9 @@
</span><span class="cx">     m_page.mainFrame().loader().load(request);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void UserInputBridge::reloadFrame(Frame* frame, bool endToEndReload, InputSource)
</del><ins>+void UserInputBridge::reloadFrame(Frame* frame, bool endToEndReload, bool contentBlockersEnabled, InputSource)
</ins><span class="cx"> {
</span><del>-    frame-&gt;loader().reload(endToEndReload);
</del><ins>+    frame-&gt;loader().reload(endToEndReload, contentBlockersEnabled);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void UserInputBridge::stopLoadingFrame(Frame* frame, InputSource)
</span></span></pre></div>
<a id="trunkSourceWebCorereplayUserInputBridgeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/replay/UserInputBridge.h (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/UserInputBridge.h        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebCore/replay/UserInputBridge.h        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Navigation APIs.
</span><span class="cx">     WEBCORE_EXPORT void loadRequest(const FrameLoadRequest&amp;, InputSource source = InputSource::User);
</span><del>-    WEBCORE_EXPORT void reloadFrame(Frame*, bool endToEndReload, InputSource source = InputSource::User);
</del><ins>+    WEBCORE_EXPORT void reloadFrame(Frame*, bool endToEndReload, bool contentBlockersEnabled, InputSource = InputSource::User);
</ins><span class="cx">     WEBCORE_EXPORT void stopLoadingFrame(Frame*, InputSource source = InputSource::User);
</span><span class="cx">     WEBCORE_EXPORT bool tryClosePage(InputSource source = InputSource::User);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/ChangeLog        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1,3 +1,62 @@
</span><ins>+2015-10-14  Alex Christensen  &lt;achristensen@webkit.org&gt;
+
+        Add SPI for reloading without content blockers
+        https://bugs.webkit.org/show_bug.cgi?id=150058
+        rdar://problem/22742222
+
+        Reviewed by Sam Weinig.
+
+        * Shared/WebPageCreationParameters.cpp:
+        (WebKit::WebPageCreationParameters::encode):
+        (WebKit::WebPageCreationParameters::decode):
+        * Shared/WebPageCreationParameters.h:
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageReload):
+        (WKPageReloadWithoutContentBlockers):
+        (WKPageReloadFromOrigin):
+        (WKPageTryClose):
+        (WKPageSetUserContentExtensionsEnabled):
+        (WKPageSupportsTextEncoding):
+        * UIProcess/API/C/WKPage.h:
+        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
+        (-[WKBrowsingContextController reload]):
+        (-[WKBrowsingContextController reloadFromOrigin]):
+        (-[WKBrowsingContextController applicationNameForUserAgent]):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView reload]):
+        (-[WKWebView reloadFromOrigin]):
+        (-[WKWebView _setUserContentExtensionsEnabled:]):
+        (-[WKWebView _userContentExtensionsEnabled]):
+        (-[WKWebView _webProcessIdentifier]):
+        (-[WKWebView _killWebContentProcess]):
+        (-[WKWebView _reloadWithoutContentBlockers]):
+        (-[WKWebView _killWebContentProcessAndResetState]):
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/API/gtk/WebKitWebView.cpp:
+        (webkit_web_view_reload):
+        (webkit_web_view_reload_bypass_cache):
+        * UIProcess/WebFrameProxy.cpp:
+        (WebKit::WebFrameProxy::didHandleContentFilterUnblockNavigation):
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::stopLoading):
+        (WebKit::WebPageProxy::reload):
+        (WebKit::WebPageProxy::creationParameters):
+        (WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
+        (WebKit::WebPageProxy::setUserContentExtensionsEnabled): Deleted.
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::userContentExtensionsEnabled): Deleted.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::m_shouldDispatchFakeMouseMoveEvents):
+        (WebKit::WebPage::setDefersLoading):
+        (WebKit::WebPage::reload):
+        (WebKit::WebPage::goForward):
+        (WebKit::WebPage::createDocumentLoader):
+        (WebKit::WebPage::setShouldScaleViewToFitDocument):
+        (WebKit::WebPage::imageOrMediaDocumentSizeChanged):
+        (WebKit::WebPage::setUserContentExtensionsEnabled): Deleted.
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+
</ins><span class="cx"> 2015-10-14  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Change GraphicsContext image-drawing functions to take references
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPageCreationParameterscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -84,7 +84,6 @@
</span><span class="cx"> #endif
</span><span class="cx">     encoder &lt;&lt; appleMailPaginationQuirkEnabled;
</span><span class="cx">     encoder &lt;&lt; shouldScaleViewToFitDocument;
</span><del>-    encoder &lt;&lt; userContentExtensionsEnabled;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WebPageCreationParameters::decode(IPC::ArgumentDecoder&amp; decoder, WebPageCreationParameters&amp; parameters)
</span><span class="lines">@@ -189,9 +188,6 @@
</span><span class="cx">     if (!decoder.decode(parameters.shouldScaleViewToFitDocument))
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (!decoder.decode(parameters.userContentExtensionsEnabled))
-        return false;
-
</del><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPageCreationParametersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.h (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.h        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.h        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -130,7 +130,6 @@
</span><span class="cx"> #endif
</span><span class="cx">     bool appleMailPaginationQuirkEnabled;
</span><span class="cx">     bool shouldScaleViewToFitDocument;
</span><del>-    bool userContentExtensionsEnabled;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -228,12 +228,23 @@
</span><span class="cx"> 
</span><span class="cx"> void WKPageReload(WKPageRef pageRef)
</span><span class="cx"> {
</span><del>-    toImpl(pageRef)-&gt;reload(false);
</del><ins>+    const bool reloadFromOrigin = false;
+    const bool contentBlockersEnabled = true;
+    toImpl(pageRef)-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void WKPageReloadWithoutContentBlockers(WKPageRef pageRef)
+{
+    const bool reloadFromOrigin = false;
+    const bool contentBlockersEnabled = false;
+    toImpl(pageRef)-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
+}
+
</ins><span class="cx"> void WKPageReloadFromOrigin(WKPageRef pageRef)
</span><span class="cx"> {
</span><del>-    toImpl(pageRef)-&gt;reload(true);
</del><ins>+    const bool reloadFromOrigin = true;
+    const bool contentBlockersEnabled = true;
+    toImpl(pageRef)-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WKPageTryClose(WKPageRef pageRef)
</span><span class="lines">@@ -363,7 +374,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WKPageSetUserContentExtensionsEnabled(WKPageRef pageRef, bool enabled)
</span><span class="cx"> {
</span><del>-    toImpl(pageRef)-&gt;setUserContentExtensionsEnabled(enabled);
</del><ins>+    // FIXME: Remove this function once it is no longer used.
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WKPageSupportsTextEncoding(WKPageRef pageRef)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.h (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.h        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.h        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -83,6 +83,7 @@
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT void WKPageStopLoading(WKPageRef page);
</span><span class="cx"> WK_EXPORT void WKPageReload(WKPageRef page);
</span><ins>+WK_EXPORT void WKPageReloadWithoutContentBlockers(WKPageRef page);
</ins><span class="cx"> WK_EXPORT void WKPageReloadFromOrigin(WKPageRef page);
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT bool WKPageTryClose(WKPageRef page);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -187,12 +187,16 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)reload
</span><span class="cx"> {
</span><del>-    _page-&gt;reload(false);
</del><ins>+    const bool reloadFromOrigin = false;
+    const bool contentBlockersEnabled = true;
+    _page-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)reloadFromOrigin
</span><span class="cx"> {
</span><del>-    _page-&gt;reload(true);
</del><ins>+    const bool reloadFromOrigin = true;
+    const bool contentBlockersEnabled = true;
+    _page-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)applicationNameForUserAgent
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -563,7 +563,9 @@
</span><span class="cx"> 
</span><span class="cx"> - (WKNavigation *)reload
</span><span class="cx"> {
</span><del>-    auto navigation = _page-&gt;reload(false);
</del><ins>+    const bool reloadFromOrigin = false;
+    const bool contentBlockersEnabled = true;
+    auto navigation = _page-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx">     if (!navigation)
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><span class="lines">@@ -572,7 +574,9 @@
</span><span class="cx"> 
</span><span class="cx"> - (WKNavigation *)reloadFromOrigin
</span><span class="cx"> {
</span><del>-    auto navigation = _page-&gt;reload(true);
</del><ins>+    const bool reloadFromOrigin = true;
+    const bool contentBlockersEnabled = true;
+    auto navigation = _page-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx">     if (!navigation)
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><span class="lines">@@ -2026,12 +2030,13 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)_setUserContentExtensionsEnabled:(BOOL)userContentExtensionsEnabled
</span><span class="cx"> {
</span><del>-    _page-&gt;setUserContentExtensionsEnabled(userContentExtensionsEnabled);
</del><ins>+    // This is kept for binary compatibility with iOS 9.
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)_userContentExtensionsEnabled
</span><span class="cx"> {
</span><del>-    return _page-&gt;userContentExtensionsEnabled();
</del><ins>+    // This is kept for binary compatibility with iOS 9.
+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (pid_t)_webProcessIdentifier
</span><span class="lines">@@ -2047,6 +2052,17 @@
</span><span class="cx">     _page-&gt;process().terminate();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (WKNavigation *)_reloadWithoutContentBlockers
+{
+    const bool reloadFromOrigin = false;
+    const bool contentBlockersEnabled = false;
+    auto navigation = _page-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
+    if (!navigation)
+        return nil;
+    
+    return [wrapper(*navigation.release().leakRef()) autorelease];
+}
+
</ins><span class="cx"> - (void)_killWebContentProcessAndResetState
</span><span class="cx"> {
</span><span class="cx">     _page-&gt;terminateProcess();
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewPrivateh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -187,6 +187,8 @@
</span><span class="cx"> - (id)_immediateActionAnimationControllerForHitTestResult:(_WKHitTestResult *)hitTestResult withType:(_WKImmediateActionType)type userData:(id&lt;NSSecureCoding&gt;)userData;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+- (WKNavigation *)_reloadWithoutContentBlockers WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
+
</ins><span class="cx"> - (void)_killWebContentProcessAndResetState;
</span><span class="cx"> 
</span><span class="cx"> - (void)_getMainResourceDataWithCompletionHandler:(void (^)(NSData *, NSError *))completionHandler;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIgtkWebKitWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -2474,7 +2474,9 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
</span><span class="cx"> 
</span><del>-    getPage(webView)-&gt;reload(false);
</del><ins>+    const bool reloadFromOrigin = false;
+    const bool contentBlockersEnabled = true;
+    getPage(webView)-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -2488,7 +2490,9 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
</span><span class="cx"> 
</span><del>-    getPage(webView)-&gt;reload(true);
</del><ins>+    const bool reloadFromOrigin = true;
+    const bool contentBlockersEnabled = true;
+    getPage(webView)-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebFrameProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/WebFrameProxy.cpp        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -247,8 +247,11 @@
</span><span class="cx">     RefPtr&lt;WebPageProxy&gt; page { m_page };
</span><span class="cx">     ASSERT(page);
</span><span class="cx">     m_contentFilterUnblockHandler.requestUnblockAsync([page](bool unblocked) {
</span><del>-        if (unblocked)
-            page-&gt;reload(false);
</del><ins>+        if (unblocked) {
+            const bool reloadFromOrigin = false;
+            const bool contentBlockersEnabled = true;
+            page-&gt;reload(reloadFromOrigin, contentBlockersEnabled);
+        }
</ins><span class="cx">     });
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1048,7 +1048,7 @@
</span><span class="cx">     m_process-&gt;responsivenessTimer()-&gt;start();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;API::Navigation&gt; WebPageProxy::reload(bool reloadFromOrigin)
</del><ins>+RefPtr&lt;API::Navigation&gt; WebPageProxy::reload(bool reloadFromOrigin, bool contentBlockersEnabled)
</ins><span class="cx"> {
</span><span class="cx">     SandboxExtension::Handle sandboxExtensionHandle;
</span><span class="cx"> 
</span><span class="lines">@@ -1068,7 +1068,7 @@
</span><span class="cx">     
</span><span class="cx">     auto navigation = m_navigationState-&gt;createReloadNavigation();
</span><span class="cx"> 
</span><del>-    m_process-&gt;send(Messages::WebPage::Reload(navigation-&gt;navigationID(), reloadFromOrigin, sandboxExtensionHandle), m_pageID);
</del><ins>+    m_process-&gt;send(Messages::WebPage::Reload(navigation-&gt;navigationID(), reloadFromOrigin, contentBlockersEnabled, sandboxExtensionHandle), m_pageID);
</ins><span class="cx">     m_process-&gt;responsivenessTimer()-&gt;start();
</span><span class="cx"> 
</span><span class="cx">     return WTF::move(navigation);
</span><span class="lines">@@ -5167,7 +5167,6 @@
</span><span class="cx">     parameters.appleMailPaginationQuirkEnabled = false;
</span><span class="cx"> #endif
</span><span class="cx">     parameters.shouldScaleViewToFitDocument = m_shouldScaleViewToFitDocument;
</span><del>-    parameters.userContentExtensionsEnabled = m_userContentExtensionsEnabled;
</del><span class="cx"> 
</span><span class="cx">     return parameters;
</span><span class="cx"> }
</span><span class="lines">@@ -6103,17 +6102,4 @@
</span><span class="cx">     m_process-&gt;send(Messages::WebPage::SetShouldScaleViewToFitDocument(shouldScaleViewToFitDocument), m_pageID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPageProxy::setUserContentExtensionsEnabled(bool userContentExtensionsEnabled)
-{
-    if (m_userContentExtensionsEnabled == userContentExtensionsEnabled)
-        return;
-
-    m_userContentExtensionsEnabled = userContentExtensionsEnabled;
-
-    if (!isValid())
-        return;
-
-    m_process-&gt;send(Messages::WebPage::SetUserContentExtensionsEnabled(userContentExtensionsEnabled), m_pageID);
-}
-
</del><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -362,7 +362,7 @@
</span><span class="cx">     void navigateToPDFLinkWithSimulatedClick(const String&amp; url, WebCore::IntPoint documentPoint, WebCore::IntPoint screenPoint);
</span><span class="cx"> 
</span><span class="cx">     void stopLoading();
</span><del>-    RefPtr&lt;API::Navigation&gt; reload(bool reloadFromOrigin);
</del><ins>+    RefPtr&lt;API::Navigation&gt; reload(bool reloadFromOrigin, bool contentBlockersEnabled);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;API::Navigation&gt; goForward();
</span><span class="cx">     RefPtr&lt;API::Navigation&gt; goBack();
</span><span class="lines">@@ -650,9 +650,6 @@
</span><span class="cx">     void scaleView(double scale);
</span><span class="cx">     void setShouldScaleViewToFitDocument(bool);
</span><span class="cx">     
</span><del>-    bool userContentExtensionsEnabled() { return m_userContentExtensionsEnabled; }
-    void setUserContentExtensionsEnabled(bool);
-
</del><span class="cx">     float deviceScaleFactor() const;
</span><span class="cx">     void setIntrinsicDeviceScaleFactor(float);
</span><span class="cx">     void setCustomDeviceScaleFactor(float);
</span><span class="lines">@@ -1770,8 +1767,6 @@
</span><span class="cx">     bool m_requiresTargetMonitoring { false };
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    bool m_userContentExtensionsEnabled { true };
-
</del><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     bool m_hasDeferredStartAssistingNode { false };
</span><span class="cx">     std::unique_ptr&lt;NodeAssistanceArguments&gt; m_deferredNodeAssistanceArguments;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -520,8 +520,6 @@
</span><span class="cx">     if (parameters.viewScaleFactor != 1)
</span><span class="cx">         scaleView(parameters.viewScaleFactor);
</span><span class="cx"> 
</span><del>-    m_page-&gt;setUserContentExtensionsEnabled(parameters.userContentExtensionsEnabled);
-
</del><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     m_page-&gt;settings().setContentDispositionAttachmentSandboxEnabled(true);
</span><span class="cx"> #endif
</span><span class="lines">@@ -1164,7 +1162,7 @@
</span><span class="cx">     m_page-&gt;setDefersLoading(defersLoading);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::reload(uint64_t navigationID, bool reloadFromOrigin, const SandboxExtension::Handle&amp; sandboxExtensionHandle)
</del><ins>+void WebPage::reload(uint64_t navigationID, bool reloadFromOrigin, bool contentBlockersEnabled, const SandboxExtension::Handle&amp; sandboxExtensionHandle)
</ins><span class="cx"> {
</span><span class="cx">     SendStopResponsivenessTimer stopper(this);
</span><span class="cx"> 
</span><span class="lines">@@ -1172,7 +1170,7 @@
</span><span class="cx">     m_pendingNavigationID = navigationID;
</span><span class="cx"> 
</span><span class="cx">     m_sandboxExtensionTracker.beginLoad(m_mainFrame.get(), sandboxExtensionHandle);
</span><del>-    corePage()-&gt;userInputBridge().reloadFrame(m_mainFrame-&gt;coreFrame(), reloadFromOrigin);
</del><ins>+    corePage()-&gt;userInputBridge().reloadFrame(m_mainFrame-&gt;coreFrame(), reloadFromOrigin, contentBlockersEnabled);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPage::goForward(uint64_t navigationID, uint64_t backForwardItemID)
</span><span class="lines">@@ -4903,8 +4901,6 @@
</span><span class="cx">             documentLoader-&gt;setNavigationID(m_pendingNavigationID);
</span><span class="cx">             m_pendingNavigationID = 0;
</span><span class="cx">         }
</span><del>-        if (frame.page())
-            documentLoader-&gt;setUserContentExtensionsEnabled(frame.page()-&gt;userContentExtensionsEnabled());
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return WTF::move(documentLoader);
</span><span class="lines">@@ -5005,14 +5001,6 @@
</span><span class="cx">     m_drawingArea-&gt;setShouldScaleViewToFitDocument(shouldScaleViewToFitDocument);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebPage::setUserContentExtensionsEnabled(bool userContentExtensionsEnabled)
-{
-    if (!m_page)
-        return;
-
-    m_page-&gt;setUserContentExtensionsEnabled(userContentExtensionsEnabled);
-}
-
</del><span class="cx"> void WebPage::imageOrMediaDocumentSizeChanged(const IntSize&amp; newSize)
</span><span class="cx"> {
</span><span class="cx">     send(Messages::WebPageProxy::ImageOrMediaDocumentSizeChanged(newSize));
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -982,7 +982,7 @@
</span><span class="cx">     void loadPlainTextString(const String&amp;, const UserData&amp;);
</span><span class="cx">     void loadWebArchiveData(const IPC::DataReference&amp;, const UserData&amp;);
</span><span class="cx">     void navigateToPDFLinkWithSimulatedClick(const String&amp; url, WebCore::IntPoint documentPoint, WebCore::IntPoint screenPoint);
</span><del>-    void reload(uint64_t navigationID, bool reloadFromOrigin, const SandboxExtension::Handle&amp;);
</del><ins>+    void reload(uint64_t navigationID, bool reloadFromOrigin, bool contentBlockersEnabled, const SandboxExtension::Handle&amp;);
</ins><span class="cx">     void goForward(uint64_t navigationID, uint64_t);
</span><span class="cx">     void goBack(uint64_t navigationID, uint64_t);
</span><span class="cx">     void goToBackForwardItem(uint64_t navigationID, uint64_t);
</span><span class="lines">@@ -1160,7 +1160,6 @@
</span><span class="cx">     void clearWheelEventTestTrigger();
</span><span class="cx"> 
</span><span class="cx">     void setShouldScaleViewToFitDocument(bool);
</span><del>-    void setUserContentExtensionsEnabled(bool);
</del><span class="cx"> 
</span><span class="cx">     void pageStoppedScrolling();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagemessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx">     LoadWebArchiveData(IPC::DataReference webArchiveData, WebKit::UserData userData)
</span><span class="cx">     NavigateToPDFLinkWithSimulatedClick(String url, WebCore::IntPoint documentPoint, WebCore::IntPoint screenPoint)
</span><span class="cx"> 
</span><del>-    Reload(uint64_t navigationID, bool reloadFromOrigin, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
</del><ins>+    Reload(uint64_t navigationID, bool reloadFromOrigin, bool contentBlockersEnabled, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
</ins><span class="cx">     StopLoading()
</span><span class="cx"> 
</span><span class="cx">     StopLoadingFrame(uint64_t frameID)
</span><span class="lines">@@ -428,7 +428,6 @@
</span><span class="cx"> 
</span><span class="cx">     ClearWheelEventTestTrigger()
</span><span class="cx">     SetShouldScaleViewToFitDocument(bool shouldScaleViewToFitDocument)
</span><del>-    SetUserContentExtensionsEnabled(bool userContentExtensionsEnabled)
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO) &amp;&amp; USE(GSTREAMER)
</span><span class="cx">     DidEndRequestInstallMissingMediaPlugins(uint32_t result)
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Tools/ChangeLog        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2015-10-14  Alex Christensen  &lt;achristensen@webkit.org&gt;
+
+        Add SPI for reloading without content blockers
+        https://bugs.webkit.org/show_bug.cgi?id=150058
+        rdar://problem/22742222
+
+        Reviewed by Sam Weinig.
+
+        * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
+        (WTR::TestController::cocoaResetStateToConsistentValues):
+        * WebKitTestRunner/mac/TestControllerMac.mm:
+        (WTR::TestController::platformConfigureViewForTest):
+
</ins><span class="cx"> 2015-10-14  Mark Lam  &lt;mark.lam@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Rename some JSC option names to be more uniform.
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnercocoaTestControllerCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -120,10 +120,8 @@
</span><span class="cx">     platformRunUntil(doneRemoving, 0);
</span><span class="cx">     [[_WKUserContentExtensionStore defaultStore] _removeAllContentExtensions];
</span><span class="cx"> 
</span><del>-    if (PlatformWebView* webView = mainWebView()) {
</del><ins>+    if (PlatformWebView* webView = mainWebView())
</ins><span class="cx">         [webView-&gt;platformView().configuration.userContentController _removeAllUserContentFilters];
</span><del>-        webView-&gt;platformView()._userContentExtensionsEnabled = true;
-    }
</del><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnermacTestControllerMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm (191062 => 191063)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm        2015-10-14 19:52:24 UTC (rev 191062)
+++ trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm        2015-10-14 20:03:14 UTC (rev 191063)
</span><span class="lines">@@ -123,11 +123,6 @@
</span><span class="cx">         doneCompiling = true;
</span><span class="cx">     }];
</span><span class="cx">     platformRunUntil(doneCompiling, 0);
</span><del>-
-    // This is for http/tests/contentextensions/disable-blocker.html
-    if (!test.urlContains(&quot;disable-blocker&quot;))
-        return;
-    mainWebView()-&gt;platformView()._userContentExtensionsEnabled = false;
</del><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>