<!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>[189668] trunk/Tools</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/189668">189668</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2015-09-12 19:31:34 -0700 (Sat, 12 Sep 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>[WKTR] Allow changing the WKContextConfiguration between successive tests
https://bugs.webkit.org/show_bug.cgi?id=148833

Reviewed by Tim Horton.

Previously, we were creating a single WKContext and it lived for the life of the entire test runner.
However, there are certain tests which require specifying options in this object. This patch makes
our existing code for recreating the test runner web view also recreate the WKContext.

As such, our options to the view are now options to the WKContextConfiguration. This patch renames the
class.

* WebKitTestRunner/ContextConfigurationOptions.h: Renamed from Tools/WebKitTestRunner/ViewOptions.h.
* WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::options):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::generateContextConfiguration):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptionsForTest):
(WTR::updateContextConfigurationOptionsFromTestHeader):
(WTR::TestController::contextConfigurationOptionsForTest):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::platformCreateOtherPage):
(WTR::updateViewOptionsFromTestHeader): Deleted.
(WTR::TestController::viewOptionsForTest): Deleted.
* WebKitTestRunner/TestController.h:
(WTR::TestController::injectedBundlePath):
(WTR::TestController::testPluginDirectory):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
(WTR::TestController::platformCreateOtherPage):
* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/efl/TestControllerEfl.cpp:
(WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
(WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
(WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
(WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
(WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsWebKitTestRunnerPlatformWebViewh">trunk/Tools/WebKitTestRunner/PlatformWebView.h</a></li>
<li><a href="#trunkToolsWebKitTestRunnerTestControllercpp">trunk/Tools/WebKitTestRunner/TestController.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnerTestControllerh">trunk/Tools/WebKitTestRunner/TestController.h</a></li>
<li><a href="#trunkToolsWebKitTestRunnerWebKitTestRunnerxcodeprojprojectpbxproj">trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkToolsWebKitTestRunnerWebNotificationProvidercpp">trunk/Tools/WebKitTestRunner/WebNotificationProvider.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnerWebNotificationProviderh">trunk/Tools/WebKitTestRunner/WebNotificationProvider.h</a></li>
<li><a href="#trunkToolsWebKitTestRunnercocoaTestControllerCocoamm">trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm</a></li>
<li><a href="#trunkToolsWebKitTestRunnereflPlatformWebViewEflcpp">trunk/Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnereflTestControllerEflcpp">trunk/Tools/WebKitTestRunner/efl/TestControllerEfl.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnergtkPlatformWebViewGtkcpp">trunk/Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnergtkTestControllerGtkcpp">trunk/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunneriosPlatformWebViewIOSmm">trunk/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm</a></li>
<li><a href="#trunkToolsWebKitTestRunneriosTestControllerIOSmm">trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm</a></li>
<li><a href="#trunkToolsWebKitTestRunnermacPlatformWebViewMacmm">trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm</a></li>
<li><a href="#trunkToolsWebKitTestRunnermacTestControllerMacmm">trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkToolsWebKitTestRunnerTestOptionsh">trunk/Tools/WebKitTestRunner/TestOptions.h</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkToolsWebKitTestRunnerViewOptionsh">trunk/Tools/WebKitTestRunner/ViewOptions.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/ChangeLog        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -1,3 +1,64 @@
</span><ins>+2015-09-12  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        [WKTR] Allow changing the WKContextConfiguration between successive tests
+        https://bugs.webkit.org/show_bug.cgi?id=148833
+
+        Reviewed by Tim Horton.
+
+        Previously, we were creating a single WKContext and it lived for the life of the entire test runner.
+        However, there are certain tests which require specifying options in this object. This patch makes
+        our existing code for recreating the test runner web view also recreate the WKContext.
+
+        As such, our options to the view are now options to the WKContextConfiguration. This patch renames the
+        class.
+
+        * WebKitTestRunner/ContextConfigurationOptions.h: Renamed from Tools/WebKitTestRunner/ViewOptions.h.
+        * WebKitTestRunner/PlatformWebView.h:
+        (WTR::PlatformWebView::options):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::initialize):
+        (WTR::TestController::generateContextConfiguration):
+        (WTR::TestController::generatePageConfiguration):
+        (WTR::TestController::createWebViewWithOptions):
+        (WTR::TestController::ensureViewSupportsOptionsForTest):
+        (WTR::updateContextConfigurationOptionsFromTestHeader):
+        (WTR::TestController::contextConfigurationOptionsForTest):
+        (WTR::TestController::platformCreateWebView):
+        (WTR::TestController::platformCreateOtherPage):
+        (WTR::updateViewOptionsFromTestHeader): Deleted.
+        (WTR::TestController::viewOptionsForTest): Deleted.
+        * WebKitTestRunner/TestController.h:
+        (WTR::TestController::injectedBundlePath):
+        (WTR::TestController::testPluginDirectory):
+        * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
+        * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
+        (WTR::TestController::platformCreateWebView):
+        (WTR::TestController::platformCreateOtherPage):
+        * WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
+        (WTR::PlatformWebView::PlatformWebView):
+        (WTR::PlatformWebView::viewSupportsOptions):
+        * WebKitTestRunner/efl/TestControllerEfl.cpp:
+        (WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
+        (WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
+        * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
+        (WTR::PlatformWebView::PlatformWebView):
+        (WTR::PlatformWebView::viewSupportsOptions):
+        * WebKitTestRunner/gtk/TestControllerGtk.cpp:
+        (WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
+        (WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
+        * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
+        (WTR::PlatformWebView::PlatformWebView):
+        (WTR::PlatformWebView::viewSupportsOptions):
+        * WebKitTestRunner/ios/TestControllerIOS.mm:
+        (WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
+        (WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
+        * WebKitTestRunner/mac/PlatformWebViewMac.mm:
+        (WTR::PlatformWebView::PlatformWebView):
+        (WTR::PlatformWebView::viewSupportsOptions):
+        * WebKitTestRunner/mac/TestControllerMac.mm:
+        (WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
+        (WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
+
</ins><span class="cx"> 2015-09-11  Michael Saboff  &lt;msaboff@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         LayoutTestHelper crashes if a color profile isn't set for a 3rd party monitor
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerPlatformWebViewh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/PlatformWebView.h (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/PlatformWebView.h        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/PlatformWebView.h        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #ifndef PlatformWebView_h
</span><span class="cx"> #define PlatformWebView_h
</span><span class="cx"> 
</span><del>-#include &quot;ViewOptions.h&quot;
</del><ins>+#include &quot;TestOptions.h&quot;
</ins><span class="cx"> #include &lt;WebKit/WKRetainPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="lines">@@ -57,9 +57,9 @@
</span><span class="cx"> class PlatformWebView {
</span><span class="cx"> public:
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    PlatformWebView(WKWebViewConfiguration*, const ViewOptions&amp;);
</del><ins>+    PlatformWebView(WKWebViewConfiguration*, const TestOptions&amp;);
</ins><span class="cx"> #else
</span><del>-    PlatformWebView(WKPageConfigurationRef, const ViewOptions&amp;);
</del><ins>+    PlatformWebView(WKPageConfigurationRef, const TestOptions&amp;);
</ins><span class="cx"> #endif
</span><span class="cx">     ~PlatformWebView();
</span><span class="cx"> 
</span><span class="lines">@@ -80,10 +80,10 @@
</span><span class="cx">     void setWindowIsKey(bool isKey) { m_windowIsKey = isKey; }
</span><span class="cx">     bool windowIsKey() const { return m_windowIsKey; }
</span><span class="cx"> 
</span><del>-    bool viewSupportsOptions(const ViewOptions&amp;) const;
</del><ins>+    bool viewSupportsOptions(const TestOptions&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     WKRetainPtr&lt;WKImageRef&gt; windowSnapshotImage();
</span><del>-    const ViewOptions&amp; options() const { return m_options; }
</del><ins>+    const TestOptions&amp; options() const { return m_options; }
</ins><span class="cx"> 
</span><span class="cx">     void changeWindowScaleIfNeeded(float newScale);
</span><span class="cx">     void setNavigationGesturesEnabled(bool);
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">     PlatformWKView m_view;
</span><span class="cx">     PlatformWindow m_window;
</span><span class="cx">     bool m_windowIsKey;
</span><del>-    const ViewOptions m_options;
</del><ins>+    const TestOptions m_options;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(EFL)
</span><span class="cx">     bool m_usingFixedLayout;
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestController.cpp        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -368,7 +368,10 @@
</span><span class="cx"> 
</span><span class="cx">     WKRetainPtr&lt;WKStringRef&gt; pageGroupIdentifier(AdoptWK, WKStringCreateWithUTF8CString(&quot;WebKitTestRunnerPageGroup&quot;));
</span><span class="cx">     m_pageGroup.adopt(WKPageGroupCreateWithIdentifier(pageGroupIdentifier.get()));
</span><ins>+}
</ins><span class="cx"> 
</span><ins>+WKRetainPtr&lt;WKContextConfigurationRef&gt; TestController::generateContextConfiguration() const
+{
</ins><span class="cx">     auto configuration = adoptWK(WKContextConfigurationCreate());
</span><span class="cx">     WKContextConfigurationSetInjectedBundlePath(configuration.get(), injectedBundlePath());
</span><span class="cx">     WKContextConfigurationSetFullySynchronousModeIsAllowedForTesting(configuration.get(), true);
</span><span class="lines">@@ -385,8 +388,13 @@
</span><span class="cx">         WKContextConfigurationSetWebSQLDatabaseDirectory(configuration.get(), toWK(temporaryFolder + separator + &quot;Databases&quot; + separator + &quot;WebSQL&quot;).get());
</span><span class="cx">         WKContextConfigurationSetMediaKeysStorageDirectory(configuration.get(), toWK(temporaryFolder + separator + &quot;MediaKeys&quot;).get());
</span><span class="cx">     }
</span><del>-    m_context = platformAdjustContext(adoptWK(WKContextCreateWithConfiguration(configuration.get())).get(), configuration.get());
</del><ins>+    return configuration;
+}
</ins><span class="cx"> 
</span><ins>+WKRetainPtr&lt;WKPageConfigurationRef&gt; TestController::generatePageConfiguration(WKContextConfigurationRef configuration)
+{
+    m_context = platformAdjustContext(adoptWK(WKContextCreateWithConfiguration(configuration)).get(), configuration);
+
</ins><span class="cx">     m_geolocationProvider = std::make_unique&lt;GeolocationProviderMock&gt;(m_context.get());
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(EFL)
</span><span class="lines">@@ -445,18 +453,24 @@
</span><span class="cx">     if (m_forceComplexText)
</span><span class="cx">         WKContextSetAlwaysUsesComplexTextCodePath(m_context.get(), true);
</span><span class="cx"> 
</span><del>-    m_configuration = adoptWK(WKPageConfigurationCreate());
-    WKPageConfigurationSetContext(m_configuration.get(), m_context.get());
-    WKPageConfigurationSetPageGroup(m_configuration.get(), m_pageGroup.get());
-    WKPageConfigurationSetUserContentController(m_configuration.get(), adoptWK(WKUserContentControllerCreate()).get());
</del><ins>+    auto pageConfiguration = adoptWK(WKPageConfigurationCreate());
+    WKPageConfigurationSetContext(pageConfiguration.get(), m_context.get());
+    WKPageConfigurationSetPageGroup(pageConfiguration.get(), m_pageGroup.get());
+    WKPageConfigurationSetUserContentController(pageConfiguration.get(), adoptWK(WKUserContentControllerCreate()).get());
+    return pageConfiguration;
+}
</ins><span class="cx"> 
</span><ins>+void TestController::createWebViewWithOptions(const TestOptions&amp; options)
+{
+    auto contextConfiguration = generateContextConfiguration();
+    // Modify contextConfiguration here.
+    auto configuration = generatePageConfiguration(contextConfiguration.get());
+
</ins><span class="cx">     // Some preferences (notably mock scroll bars setting) currently cannot be re-applied to an existing view, so we need to set them now.
</span><ins>+    // FIXME: Migrate these preferences to WKContextConfigurationRef.
</ins><span class="cx">     resetPreferencesToConsistentValues();
</span><del>-}
</del><span class="cx"> 
</span><del>-void TestController::createWebViewWithOptions(const ViewOptions&amp; options)
-{
-    platformCreateWebView(m_configuration.get(), options);
</del><ins>+    platformCreateWebView(configuration.get(), options);
</ins><span class="cx">     WKPageUIClientV6 pageUIClient = {
</span><span class="cx">         { 6, m_mainWebView.get() },
</span><span class="cx">         0, // createNewPage_deprecatedForUseWithV0
</span><span class="lines">@@ -564,10 +578,10 @@
</span><span class="cx"> 
</span><span class="cx"> void TestController::ensureViewSupportsOptionsForTest(const TestInvocation&amp; test)
</span><span class="cx"> {
</span><del>-    auto viewOptions = viewOptionsForTest(test);
</del><ins>+    auto options = testOptionsForTest(test);
</ins><span class="cx"> 
</span><span class="cx">     if (m_mainWebView) {
</span><del>-        if (m_mainWebView-&gt;viewSupportsOptions(viewOptions))
</del><ins>+        if (m_mainWebView-&gt;viewSupportsOptions(options))
</ins><span class="cx">             return;
</span><span class="cx"> 
</span><span class="cx">         WKPageSetPageUIClient(m_mainWebView-&gt;page(), nullptr);
</span><span class="lines">@@ -577,7 +591,7 @@
</span><span class="cx">         m_mainWebView = nullptr;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    createWebViewWithOptions(viewOptions);
</del><ins>+    createWebViewWithOptions(options);
</ins><span class="cx"> 
</span><span class="cx">     if (!resetStateToConsistentValues())
</span><span class="cx">         TestInvocation::dumpWebProcessUnresponsiveness(&quot;&lt;unknown&gt; - TestController::run - Failed to reset state to consistent values\n&quot;);
</span><span class="lines">@@ -808,7 +822,7 @@
</span><span class="cx">     return std::string();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void updateViewOptionsFromTestHeader(ViewOptions&amp; viewOptions, const TestInvocation&amp; test)
</del><ins>+static void updateTestOptionsFromTestHeader(TestOptions&amp; testOptions, const TestInvocation&amp; test)
</ins><span class="cx"> {
</span><span class="cx">     std::string filename = testPath(test.url());
</span><span class="cx">     if (filename.empty())
</span><span class="lines">@@ -842,24 +856,24 @@
</span><span class="cx">         }
</span><span class="cx">         auto key = pairString.substr(pairStart, equalsLocation - pairStart);
</span><span class="cx">         auto value = pairString.substr(equalsLocation + 1, pairEnd - (equalsLocation + 1));
</span><del>-        // Options processing to modify viewOptions goes here.
</del><ins>+        // Options processing to modify testOptions goes here.
</ins><span class="cx">         pairStart = pairEnd + 1;
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ViewOptions TestController::viewOptionsForTest(const TestInvocation&amp; test) const
</del><ins>+TestOptions TestController::testOptionsForTest(const TestInvocation&amp; test) const
</ins><span class="cx"> {
</span><del>-    ViewOptions viewOptions;
</del><ins>+    TestOptions options;
</ins><span class="cx"> 
</span><del>-    viewOptions.useRemoteLayerTree = m_shouldUseRemoteLayerTree;
-    viewOptions.shouldShowWebView = m_shouldShowWebView;
-    viewOptions.useFixedLayout = shouldUseFixedLayout(test);
</del><ins>+    options.useRemoteLayerTree = m_shouldUseRemoteLayerTree;
+    options.shouldShowWebView = m_shouldShowWebView;
+    options.useFixedLayout = shouldUseFixedLayout(test);
</ins><span class="cx"> 
</span><del>-    updateViewOptionsFromTestHeader(viewOptions, test);
</del><ins>+    updateTestOptionsFromTestHeader(options, test);
</ins><span class="cx"> 
</span><del>-    updatePlatformSpecificViewOptionsForTest(viewOptions, test);
</del><ins>+    updatePlatformSpecificTestOptionsForTest(options, test);
</ins><span class="cx"> 
</span><del>-    return viewOptions;
</del><ins>+    return options;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestController::updateWebViewSizeForTest(const TestInvocation&amp; test)
</span><span class="lines">@@ -1767,12 +1781,12 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TestController::platformCreateWebView(WKPageConfigurationRef configuration, const ViewOptions&amp; options)
</del><ins>+void TestController::platformCreateWebView(WKPageConfigurationRef configuration, const TestOptions&amp; options)
</ins><span class="cx"> {
</span><span class="cx">     m_mainWebView = std::make_unique&lt;PlatformWebView&gt;(configuration, options);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PlatformWebView* TestController::platformCreateOtherPage(PlatformWebView* parentView, WKPageConfigurationRef configuration, const ViewOptions&amp; options)
</del><ins>+PlatformWebView* TestController::platformCreateOtherPage(PlatformWebView* parentView, WKPageConfigurationRef configuration, const TestOptions&amp; options)
</ins><span class="cx"> {
</span><span class="cx">     return new PlatformWebView(configuration, options);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/TestController.h (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestController.h        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/TestController.h        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> class TestInvocation;
</span><span class="cx"> class PlatformWebView;
</span><span class="cx"> class EventSenderProxy;
</span><del>-struct ViewOptions;
</del><ins>+struct TestOptions;
</ins><span class="cx"> 
</span><span class="cx"> // FIXME: Rename this TestRunner?
</span><span class="cx"> class TestController {
</span><span class="lines">@@ -62,8 +62,8 @@
</span><span class="cx"> 
</span><span class="cx">     bool verbose() const { return m_verbose; }
</span><span class="cx"> 
</span><del>-    WKStringRef injectedBundlePath() { return m_injectedBundlePath.get(); }
-    WKStringRef testPluginDirectory() { return m_testPluginDirectory.get(); }
</del><ins>+    WKStringRef injectedBundlePath() const { return m_injectedBundlePath.get(); }
+    WKStringRef testPluginDirectory() const { return m_testPluginDirectory.get(); }
</ins><span class="cx"> 
</span><span class="cx">     PlatformWebView* mainWebView() { return m_mainWebView.get(); }
</span><span class="cx">     WKContextRef context() { return m_context.get(); }
</span><span class="lines">@@ -129,8 +129,10 @@
</span><span class="cx">     void setNavigationGesturesEnabled(bool value);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    WKRetainPtr&lt;WKPageConfigurationRef&gt; generatePageConfiguration(WKContextConfigurationRef);
+    WKRetainPtr&lt;WKContextConfigurationRef&gt; generateContextConfiguration() const;
</ins><span class="cx">     void initialize(int argc, const char* argv[]);
</span><del>-    void createWebViewWithOptions(const ViewOptions&amp;);
</del><ins>+    void createWebViewWithOptions(const TestOptions&amp;);
</ins><span class="cx">     void run();
</span><span class="cx"> 
</span><span class="cx">     void runTestingServerLoop();
</span><span class="lines">@@ -140,8 +142,8 @@
</span><span class="cx">     void platformDestroy();
</span><span class="cx">     WKContextRef platformAdjustContext(WKContextRef, WKContextConfigurationRef);
</span><span class="cx">     void platformInitializeContext();
</span><del>-    void platformCreateWebView(WKPageConfigurationRef, const ViewOptions&amp;);
-    static PlatformWebView* platformCreateOtherPage(PlatformWebView* parentView, WKPageConfigurationRef, const ViewOptions&amp;);
</del><ins>+    void platformCreateWebView(WKPageConfigurationRef, const TestOptions&amp;);
+    static PlatformWebView* platformCreateOtherPage(PlatformWebView* parentView, WKPageConfigurationRef, const TestOptions&amp;);
</ins><span class="cx">     void platformResetPreferencesToConsistentValues();
</span><span class="cx">     void platformResetStateToConsistentValues();
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="lines">@@ -156,8 +158,8 @@
</span><span class="cx">     void initializeTestPluginDirectory();
</span><span class="cx"> 
</span><span class="cx">     void ensureViewSupportsOptionsForTest(const TestInvocation&amp;);
</span><del>-    ViewOptions viewOptionsForTest(const TestInvocation&amp;) const;
-    void updatePlatformSpecificViewOptionsForTest(ViewOptions&amp;, const TestInvocation&amp;) const;
</del><ins>+    TestOptions testOptionsForTest(const TestInvocation&amp;) const;
+    void updatePlatformSpecificTestOptionsForTest(TestOptions&amp;, const TestInvocation&amp;) const;
</ins><span class="cx"> 
</span><span class="cx">     void updateWebViewSizeForTest(const TestInvocation&amp;);
</span><span class="cx">     void updateWindowScaleForTest(PlatformWebView*, const TestInvocation&amp;);
</span><span class="lines">@@ -258,7 +260,6 @@
</span><span class="cx">     std::unique_ptr&lt;PlatformWebView&gt; m_mainWebView;
</span><span class="cx">     WKRetainPtr&lt;WKContextRef&gt; m_context;
</span><span class="cx">     WKRetainPtr&lt;WKPageGroupRef&gt; m_pageGroup;
</span><del>-    WKRetainPtr&lt;WKPageConfigurationRef&gt; m_configuration;
</del><span class="cx"> 
</span><span class="cx">     enum State {
</span><span class="cx">         Initial,
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestOptionshfromrev189667trunkToolsWebKitTestRunnerViewOptionsh"></a>
<div class="copfile"><h4>Copied: trunk/Tools/WebKitTestRunner/TestOptions.h (from rev 189667, trunk/Tools/WebKitTestRunner/ViewOptions.h) (0 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestOptions.h                                (rev 0)
+++ trunk/Tools/WebKitTestRunner/TestOptions.h        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef TestOptions_h
+#define TestOptions_h
+
+namespace WTR {
+
+struct TestOptions {
+    bool useThreadedScrolling { false };
+    bool useRemoteLayerTree { false };
+    bool shouldShowWebView { false };
+
+    bool useFixedLayout { false };
+};
+
+}
+
+#endif // TestOptions_h
</ins></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestOptionsh"></a>
<div class="propset"><h4>Property changes: trunk/Tools/WebKitTestRunner/TestOptions.h</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkToolsWebKitTestRunnerViewOptionsh"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/WebKitTestRunner/ViewOptions.h (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/ViewOptions.h        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/ViewOptions.h        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -1,42 +0,0 @@
</span><del>-/*
- * Copyright (C) 2015 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ViewOptions_h
-#define ViewOptions_h
-
-namespace WTR {
-
-struct ViewOptions {
-    bool useThreadedScrolling { false };
-    bool useRemoteLayerTree { false };
-    bool shouldShowWebView { false };
-    bool useTiledDrawing { false };
-
-    bool useFixedLayout { false };
-};
-
-}
-
-#endif // ViewOptions_h
</del></span></pre></div>
<a id="trunkToolsWebKitTestRunnerWebKitTestRunnerxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -164,7 +164,7 @@
</span><span class="cx">                 0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundlePageCocoa.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0FEB90A21905BC6A000FDBF3 /* CrashReporterInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CrashReporterInfo.h; path = cocoa/CrashReporterInfo.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CrashReporterInfo.mm; path = cocoa/CrashReporterInfo.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                1A3326051B75396500F89F62 /* ViewOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewOptions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                1A3326051B75396500F89F62 /* TestOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestOptions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeolocationProviderMock.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 26D758E6160BECDD00268472 /* GeolocationProviderMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeolocationProviderMock.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -383,7 +383,7 @@
</span><span class="cx">                                 BC79342F118F7F19005EA8E2 /* TestController.h */,
</span><span class="cx">                                 BCD7D2F711921278006DB7EE /* TestInvocation.cpp */,
</span><span class="cx">                                 BCD7D2F611921278006DB7EE /* TestInvocation.h */,
</span><del>-                                1A3326051B75396500F89F62 /* ViewOptions.h */,
</del><ins>+                                1A3326051B75396500F89F62 /* TestOptions.h */,
</ins><span class="cx">                                 BC251A1711D16774002EBC01 /* WebKitTestRunnerPrefix.h */,
</span><span class="cx">                                 3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */,
</span><span class="cx">                                 3110BE0F15BA011400D216AC /* WebNotificationProvider.h */,
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerWebNotificationProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/WebNotificationProvider.cpp (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/WebNotificationProvider.cpp        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/WebNotificationProvider.cpp        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -65,8 +65,8 @@
</span><span class="cx"> 
</span><span class="cx"> WebNotificationProvider::~WebNotificationProvider()
</span><span class="cx"> {
</span><del>-    if (m_notificationManager)
-        WKNotificationManagerSetProvider(m_notificationManager.get(), nullptr);
</del><ins>+    if (m_currentNotificationManager)
+        WKNotificationManagerSetProvider(m_currentNotificationManager.get(), nullptr);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WKNotificationProviderV0 WebNotificationProvider::provider()
</span><span class="lines">@@ -86,19 +86,19 @@
</span><span class="cx"> 
</span><span class="cx"> void WebNotificationProvider::showWebNotification(WKPageRef, WKNotificationRef notification)
</span><span class="cx"> {
</span><del>-    if (!m_notificationManager)
</del><ins>+    if (!m_currentNotificationManager)
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     uint64_t id = WKNotificationGetID(notification);
</span><span class="cx">     ASSERT(!m_shownNotifications.contains(id));
</span><span class="cx">     m_shownNotifications.add(id);
</span><span class="cx"> 
</span><del>-    WKNotificationManagerProviderDidShowNotification(m_notificationManager.get(), WKNotificationGetID(notification));
</del><ins>+    WKNotificationManagerProviderDidShowNotification(m_currentNotificationManager.get(), WKNotificationGetID(notification));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebNotificationProvider::closeWebNotification(WKNotificationRef notification)
</span><span class="cx"> {
</span><del>-    if (!m_notificationManager)
</del><ins>+    if (!m_currentNotificationManager)
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     uint64_t id = WKNotificationGetID(notification);
</span><span class="lines">@@ -106,22 +106,16 @@
</span><span class="cx">     WKRetainPtr&lt;WKMutableArrayRef&gt; array(AdoptWK, WKMutableArrayCreate());
</span><span class="cx">     WKArrayAppendItem(array.get(), wkID.get());
</span><span class="cx">     m_shownNotifications.remove(id);
</span><del>-    WKNotificationManagerProviderDidCloseNotifications(m_notificationManager.get(), array.get());
</del><ins>+    WKNotificationManagerProviderDidCloseNotifications(m_currentNotificationManager.get(), array.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebNotificationProvider::addNotificationManager(WKNotificationManagerRef manager)
</span><span class="cx"> {
</span><del>-    // We assume there is only one for testing.
-    ASSERT(!m_notificationManager);
-    m_notificationManager = manager;
</del><ins>+    m_currentNotificationManager = manager;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebNotificationProvider::removeNotificationManager(WKNotificationManagerRef manager)
</span><span class="cx"> {
</span><del>-    // We assume there is only one for testing.
-    ASSERT(m_notificationManager);
-    ASSERT(m_notificationManager.get() == manager);
-    m_notificationManager = 0;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WKDictionaryRef WebNotificationProvider::notificationPermissions()
</span><span class="lines">@@ -132,16 +126,16 @@
</span><span class="cx"> 
</span><span class="cx"> void WebNotificationProvider::simulateWebNotificationClick(uint64_t notificationID)
</span><span class="cx"> {
</span><del>-    if (!m_notificationManager)
</del><ins>+    if (!m_currentNotificationManager)
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     ASSERT(m_shownNotifications.contains(notificationID));
</span><del>-    WKNotificationManagerProviderDidClickNotification(m_notificationManager.get(), notificationID);
</del><ins>+    WKNotificationManagerProviderDidClickNotification(m_currentNotificationManager.get(), notificationID);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebNotificationProvider::reset()
</span><span class="cx"> {
</span><del>-    if (!m_notificationManager) {
</del><ins>+    if (!m_currentNotificationManager) {
</ins><span class="cx">         m_shownNotifications.clear();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -154,7 +148,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_shownNotifications.clear();
</span><del>-    WKNotificationManagerProviderDidCloseNotifications(m_notificationManager.get(), array.get());
</del><ins>+    WKNotificationManagerProviderDidCloseNotifications(m_currentNotificationManager.get(), array.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WTR
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerWebNotificationProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/WebNotificationProvider.h (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/WebNotificationProvider.h        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/WebNotificationProvider.h        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     void reset();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    WKRetainPtr&lt;WKNotificationManagerRef&gt; m_notificationManager;
</del><ins>+    WKRetainPtr&lt;WKNotificationManagerRef&gt; m_currentNotificationManager;
</ins><span class="cx">     HashSet&lt;uint64_t&gt; m_shownNotifications;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnercocoaTestControllerCocoamm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -50,10 +50,10 @@
</span><span class="cx"> void initializeWebViewConfiguration(const char* libraryPath, WKStringRef injectedBundlePath, WKContextRef context, WKContextConfigurationRef contextConfiguration)
</span><span class="cx"> {
</span><span class="cx"> #if WK_API_ENABLED
</span><del>-    ASSERT(!globalWebViewConfiguration);
</del><ins>+    [globalWebViewConfiguration release];
</ins><span class="cx">     globalWebViewConfiguration = [[WKWebViewConfiguration alloc] init];
</span><span class="cx"> 
</span><del>-    globalWebViewConfiguration.processPool = [[WKProcessPool alloc] _initWithConfiguration:(_WKProcessPoolConfiguration *)contextConfiguration];
</del><ins>+    globalWebViewConfiguration.processPool = WTF::adoptNS([[WKProcessPool alloc] _initWithConfiguration:(_WKProcessPoolConfiguration *)contextConfiguration]).get();
</ins><span class="cx">     globalWebViewConfiguration.websiteDataStore = (WKWebsiteDataStore *)WKContextGetWebsiteDataStore(context);
</span><span class="cx"> 
</span><span class="cx"> #if TARGET_OS_IPHONE
</span><span class="lines">@@ -74,12 +74,12 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TestController::platformCreateWebView(WKPageConfigurationRef, const ViewOptions&amp; options)
</del><ins>+void TestController::platformCreateWebView(WKPageConfigurationRef, const TestOptions&amp; options)
</ins><span class="cx"> {
</span><span class="cx">     m_mainWebView = std::make_unique&lt;PlatformWebView&gt;(globalWebViewConfiguration, options);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PlatformWebView* TestController::platformCreateOtherPage(PlatformWebView* parentView, WKPageConfigurationRef, const ViewOptions&amp; options)
</del><ins>+PlatformWebView* TestController::platformCreateOtherPage(PlatformWebView* parentView, WKPageConfigurationRef, const TestOptions&amp; options)
</ins><span class="cx"> {
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx">     WKWebViewConfiguration *newConfiguration = [[globalWebViewConfiguration copy] autorelease];
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnereflPlatformWebViewEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx">     return ecoreEvas;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PlatformWebView::PlatformWebView(WKPageConfigurationRef configuration, const ViewOptions&amp; options)
</del><ins>+PlatformWebView::PlatformWebView(WKPageConfigurationRef configuration, const TestOptions&amp; options)
</ins><span class="cx">     : m_options(options)
</span><span class="cx"> {
</span><span class="cx">     WKRetainPtr&lt;WKStringRef&gt; useFixedLayoutKey(AdoptWK, WKStringCreateWithUTF8CString(&quot;UseFixedLayout&quot;));
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">     return adoptWK(WKViewCreateSnapshot(EWKViewGetWKView(m_view)));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool PlatformWebView::viewSupportsOptions(const ViewOptions&amp; options) const
</del><ins>+bool PlatformWebView::viewSupportsOptions(const TestOptions&amp; options) const
</ins><span class="cx"> {
</span><span class="cx">     if (m_options.useFixedLayout != options.useFixedLayout)
</span><span class="cx">         return false;
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnereflTestControllerEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/efl/TestControllerEfl.cpp (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/efl/TestControllerEfl.cpp        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/efl/TestControllerEfl.cpp        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -148,9 +148,9 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TestController::updatePlatformSpecificViewOptionsForTest(ViewOptions&amp; viewOptions, const TestInvocation&amp; test) const
</del><ins>+void TestController::updatePlatformSpecificTestOptionsForTest(TestOptions&amp; testOptions, const TestInvocation&amp; test) const
</ins><span class="cx"> {
</span><del>-    viewOptions.useFixedLayout = shouldUseFixedLayout(test);
</del><ins>+    testOptions.useFixedLayout = shouldUseFixedLayout(test);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestController::platformConfigureViewForTest(const TestInvocation&amp;)
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnergtkPlatformWebViewGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WTR {
</span><span class="cx"> 
</span><del>-PlatformWebView::PlatformWebView(WKPageConfigurationRef configuration, const ViewOptions&amp; options)
</del><ins>+PlatformWebView::PlatformWebView(WKPageConfigurationRef configuration, const TestOptions&amp; options)
</ins><span class="cx">     : m_view(WKViewCreate(configuration))
</span><span class="cx">     , m_window(gtk_window_new(GTK_WINDOW_POPUP))
</span><span class="cx">     , m_windowIsKey(true)
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool PlatformWebView::viewSupportsOptions(const ViewOptions&amp;) const
</del><ins>+bool PlatformWebView::viewSupportsOptions(const TestOptions&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnergtkTestControllerGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx">     m_mainWebView-&gt;dismissAllPopupMenus();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TestController::updatePlatformSpecificViewOptionsForTest(ViewOptions&amp;, const TestInvocation&amp;) const
</del><ins>+void TestController::updatePlatformSpecificTestOptionsForTest(TestOptions&amp;, const TestInvocation&amp;) const
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunneriosPlatformWebViewIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WTR {
</span><span class="cx"> 
</span><del>-PlatformWebView::PlatformWebView(WKWebViewConfiguration* configuration, const ViewOptions&amp; options)
</del><ins>+PlatformWebView::PlatformWebView(WKWebViewConfiguration* configuration, const TestOptions&amp; options)
</ins><span class="cx">     : m_windowIsKey(true)
</span><span class="cx">     , m_options(options)
</span><span class="cx"> {
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool PlatformWebView::viewSupportsOptions(const ViewOptions&amp; options) const
</del><ins>+bool PlatformWebView::viewSupportsOptions(const TestOptions&amp; options) const
</ins><span class="cx"> {
</span><span class="cx">     return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunneriosTestControllerIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TestController::updatePlatformSpecificViewOptionsForTest(ViewOptions&amp;, const TestInvocation&amp;) const
</del><ins>+void TestController::updatePlatformSpecificTestOptionsForTest(TestOptions&amp;, const TestInvocation&amp;) const
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnermacPlatformWebViewMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WTR {
</span><span class="cx"> 
</span><del>-PlatformWebView::PlatformWebView(WKWebViewConfiguration* configuration, const ViewOptions&amp; options)
</del><ins>+PlatformWebView::PlatformWebView(WKWebViewConfiguration* configuration, const TestOptions&amp; options)
</ins><span class="cx">     : m_windowIsKey(true)
</span><span class="cx">     , m_options(options)
</span><span class="cx"> {
</span><span class="lines">@@ -240,7 +240,7 @@
</span><span class="cx">     return adoptWK(WKImageCreateFromCGImage(windowSnapshotImage.get(), 0));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool PlatformWebView::viewSupportsOptions(const ViewOptions&amp; options) const
</del><ins>+bool PlatformWebView::viewSupportsOptions(const TestOptions&amp; options) const
</ins><span class="cx"> {
</span><span class="cx">     if (m_options.useThreadedScrolling != options.useThreadedScrolling)
</span><span class="cx">         return false;
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnermacTestControllerMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm (189667 => 189668)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm        2015-09-13 01:14:08 UTC (rev 189667)
+++ trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm        2015-09-13 02:31:34 UTC (rev 189668)
</span><span class="lines">@@ -95,11 +95,11 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TestController::updatePlatformSpecificViewOptionsForTest(ViewOptions&amp; viewOptions, const TestInvocation&amp; test) const
</del><ins>+void TestController::updatePlatformSpecificTestOptionsForTest(TestOptions&amp; options, const TestInvocation&amp; test) const
</ins><span class="cx"> {
</span><del>-    viewOptions.useThreadedScrolling = shouldUseThreadedScrolling(test);
-    viewOptions.useRemoteLayerTree = shouldUseRemoteLayerTree();
-    viewOptions.shouldShowWebView = shouldShowWebView();
</del><ins>+    options.useThreadedScrolling = shouldUseThreadedScrolling(test);
+    options.useRemoteLayerTree = shouldUseRemoteLayerTree();
+    options.shouldShowWebView = shouldShowWebView();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestController::platformConfigureViewForTest(const TestInvocation&amp; test)
</span></span></pre>
</div>
</div>

</body>
</html>