<!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>[168045] 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/168045">168045</a></dd>
<dt>Author</dt> <dd>simon.fraser@apple.com</dd>
<dt>Date</dt> <dd>2014-04-30 14:48:39 -0700 (Wed, 30 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[iOS WK2] Add test URL to crash reports for the UI process, clean up project
https://bugs.webkit.org/show_bug.cgi?id=131954

Reviewed by Darin Adler.

WebKitTestRunner was adding application-specific information to crash reports
to log the test path, but only in the web process. Fix it to also do this
for the UI process, for both iOS and OS X.

Moved InjectedBundlePageMac.mm to InjectedBundlePageCocoa.mm and compile it for
both iOS and OS X.

Factored crash reprorter-related code into CrashReporterInfo, and call it from
a new TestController::platformWillRunTest() function on Mac and iOS.

Also remove Xcode-added unit test junk from the project.

* WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm: Copied from Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm.
(WTR::InjectedBundlePage::platformDidStartProvisionalLoadForFrame):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::runTest):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::url):
* WebKitTestRunner/TestInvocation.h:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist: Removed.
* WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m: Removed.
* WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings: Removed.
* WebKitTestRunner/cocoa/CrashReporterInfo.h: Renamed from Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm.
* WebKitTestRunner/cocoa/CrashReporterInfo.mm: Renamed from Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundlePageMac.mm.
(WTR::testPathFromURL):
(WTR::setCrashReportApplicationSpecificInformationToURL):
* WebKitTestRunner/efl/TestControllerEfl.cpp:
(WTR::TestController::platformWillRunTest):
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformWillRunTest):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformWillRunTest):
(WTR::TestController::setHidden):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformWillRunTest):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</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="#trunkToolsWebKitTestRunnerTestInvocationcpp">trunk/Tools/WebKitTestRunner/TestInvocation.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnerTestInvocationh">trunk/Tools/WebKitTestRunner/TestInvocation.h</a></li>
<li><a href="#trunkToolsWebKitTestRunnerWebKitTestRunnerxcodeprojprojectpbxproj">trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkToolsWebKitTestRunnereflTestControllerEflcpp">trunk/Tools/WebKitTestRunner/efl/TestControllerEfl.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunnergtkTestControllerGtkcpp">trunk/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp</a></li>
<li><a href="#trunkToolsWebKitTestRunneriosTestControllerIOSmm">trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm</a></li>
<li><a href="#trunkToolsWebKitTestRunnermacTestControllerMacmm">trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/Tools/WebKitTestRunner/InjectedBundle/cocoa/</li>
<li><a href="#trunkToolsWebKitTestRunnerInjectedBundlecocoaInjectedBundlePageCocoamm">trunk/Tools/WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm</a></li>
<li>trunk/Tools/WebKitTestRunner/cocoa/</li>
<li><a href="#trunkToolsWebKitTestRunnercocoaCrashReporterInfoh">trunk/Tools/WebKitTestRunner/cocoa/CrashReporterInfo.h</a></li>
<li><a href="#trunkToolsWebKitTestRunnercocoaCrashReporterInfomm">trunk/Tools/WebKitTestRunner/cocoa/CrashReporterInfo.mm</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkToolsWebKitTestRunnerInjectedBundleiosInjectedBundlePageIOSmm">trunk/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm</a></li>
<li><a href="#trunkToolsWebKitTestRunnerInjectedBundlemacInjectedBundlePageMacmm">trunk/Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundlePageMac.mm</a></li>
<li><a href="#trunkToolsWebKitTestRunnerWebKitTestRunnerAppTestsWebKitTestRunnerAppTestsInfoplist">trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist</a></li>
<li><a href="#trunkToolsWebKitTestRunnerWebKitTestRunnerAppTestsWebKitTestRunnerAppTestsm">trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m</a></li>
<li><a href="#trunkToolsWebKitTestRunnerWebKitTestRunnerAppTestsenlprojInfoPliststrings">trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/ChangeLog        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -1,5 +1,50 @@
</span><span class="cx"> 2014-04-30  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        [iOS WK2] Add test URL to crash reports for the UI process, clean up project
+        https://bugs.webkit.org/show_bug.cgi?id=131954
+
+        Reviewed by Darin Adler.
+        
+        WebKitTestRunner was adding application-specific information to crash reports
+        to log the test path, but only in the web process. Fix it to also do this
+        for the UI process, for both iOS and OS X.
+        
+        Moved InjectedBundlePageMac.mm to InjectedBundlePageCocoa.mm and compile it for
+        both iOS and OS X.
+        
+        Factored crash reprorter-related code into CrashReporterInfo, and call it from
+        a new TestController::platformWillRunTest() function on Mac and iOS.
+        
+        Also remove Xcode-added unit test junk from the project.
+
+        * WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm: Copied from Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm.
+        (WTR::InjectedBundlePage::platformDidStartProvisionalLoadForFrame):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::runTest):
+        * WebKitTestRunner/TestController.h:
+        * WebKitTestRunner/TestInvocation.cpp:
+        (WTR::TestInvocation::url):
+        * WebKitTestRunner/TestInvocation.h:
+        * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
+        * WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist: Removed.
+        * WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m: Removed.
+        * WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings: Removed.
+        * WebKitTestRunner/cocoa/CrashReporterInfo.h: Renamed from Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm.
+        * WebKitTestRunner/cocoa/CrashReporterInfo.mm: Renamed from Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundlePageMac.mm.
+        (WTR::testPathFromURL):
+        (WTR::setCrashReportApplicationSpecificInformationToURL):
+        * WebKitTestRunner/efl/TestControllerEfl.cpp:
+        (WTR::TestController::platformWillRunTest):
+        * WebKitTestRunner/gtk/TestControllerGtk.cpp:
+        (WTR::TestController::platformWillRunTest):
+        * WebKitTestRunner/ios/TestControllerIOS.mm:
+        (WTR::TestController::platformWillRunTest):
+        (WTR::TestController::setHidden):
+        * WebKitTestRunner/mac/TestControllerMac.mm:
+        (WTR::TestController::platformWillRunTest):
+
+2014-04-30  Simon Fraser  &lt;simon.fraser@apple.com&gt;
+
</ins><span class="cx">         Fix DRT assertion about mock scrollbars, which doesn't apply to iOS.
</span><span class="cx"> 
</span><span class="cx">         Reviewed by Tim Horton.
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerInjectedBundlecocoaInjectedBundlePageCocoammfromrev168044trunkToolsWebKitTestRunnerInjectedBundleiosInjectedBundlePageIOSmm"></a>
<div class="copfile"><h4>Copied: trunk/Tools/WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm (from rev 168044, trunk/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm) (0 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm                                (rev 0)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+/*
+ * Copyright (C) 2012 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;InjectedBundlePage.h&quot;
+
+#import &quot;CrashReporterInfo.h&quot;
+#import &lt;WebKit2/WKBundleFrame.h&gt;
+#import &lt;WebKit2/WKURLCF.h&gt;
+
+namespace WTR {
+
+using namespace WTF;
+
+void InjectedBundlePage::platformDidStartProvisionalLoadForFrame(WKBundleFrameRef frame)
+{
+    if (!WKBundleFrameIsMainFrame(frame))
+        return;
+
+    WKRetainPtr&lt;WKURLRef&gt; mainFrameURL = adoptWK(WKBundleFrameCopyProvisionalURL(frame));
+    setCrashReportApplicationSpecificInformationToURL(mainFrameURL.get());
+}
+
+} // namespace WTR
</ins></span></pre></div>
<a id="trunkToolsWebKitTestRunnerInjectedBundleiosInjectedBundlePageIOSmm"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -1,45 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 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.
- */
-
-#import &quot;config.h&quot;
-#import &quot;InjectedBundlePage.h&quot;
-
-#import &quot;StringFunctions.h&quot;
-#import &lt;WebKit2/WKBundleFrame.h&gt;
-#import &lt;WebKit2/WKURLCF.h&gt;
-#import &lt;WebKitSystemInterface.h&gt;
-#import &lt;wtf/RetainPtr.h&gt;
-#import &lt;wtf/text/StringBuilder.h&gt;
-#import &lt;wtf/text/WTFString.h&gt;
-
-namespace WTR {
-
-using namespace WTF;
-
-void InjectedBundlePage::platformDidStartProvisionalLoadForFrame(WKBundleFrameRef)
-{
-}
-
-} // namespace WTR
</del></span></pre></div>
<a id="trunkToolsWebKitTestRunnerInjectedBundlemacInjectedBundlePageMacmm"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundlePageMac.mm (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundlePageMac.mm        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundlePageMac.mm        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -1,89 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 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.
- */
-
-#import &quot;config.h&quot;
-#import &quot;InjectedBundlePage.h&quot;
-
-#import &quot;StringFunctions.h&quot;
-#import &lt;WebKit2/WKBundleFrame.h&gt;
-#import &lt;WebKit2/WKURLCF.h&gt;
-#import &lt;WebKitSystemInterface.h&gt;
-#import &lt;wtf/RetainPtr.h&gt;
-#import &lt;wtf/text/StringBuilder.h&gt;
-#import &lt;wtf/text/WTFString.h&gt;
-
-namespace WTR {
-
-using namespace WTF;
-
-static String testPathFromURL(WKURLRef url)
-{
-    RetainPtr&lt;CFURLRef&gt; cfURL = adoptCF(WKURLCopyCFURL(kCFAllocatorDefault, url));
-    if (!cfURL)
-        return String();
-
-    RetainPtr&lt;CFStringRef&gt; schemeCFString = adoptCF(CFURLCopyScheme(cfURL.get()));
-    RetainPtr&lt;CFStringRef&gt; pathCFString = adoptCF(CFURLCopyPath(cfURL.get()));
-
-    String schemeString(schemeCFString.get());
-    String pathString(pathCFString.get());
-    
-    if (equalIgnoringCase(schemeString, &quot;file&quot;)) {
-        String layoutTests(&quot;/LayoutTests/&quot;);
-        size_t layoutTestsOffset = pathString.find(layoutTests);
-        if (layoutTestsOffset == notFound)
-            return String();
-
-        return pathString.substring(layoutTestsOffset + layoutTests.length());
-    }
-
-    if (!equalIgnoringCase(schemeString, &quot;http&quot;) &amp;&amp; !equalIgnoringCase(schemeString, &quot;https&quot;))
-        return String();
-
-    RetainPtr&lt;CFStringRef&gt; hostCFString = adoptCF(CFURLCopyHostName(cfURL.get()));
-    String hostString(hostCFString.get());
-    if (hostString == &quot;127.0.0.1&quot;  &amp;&amp; (CFURLGetPortNumber(cfURL.get()) == 8000 || CFURLGetPortNumber(cfURL.get()) == 8443))
-        return pathString;
-
-    return String();
-}
-
-void InjectedBundlePage::platformDidStartProvisionalLoadForFrame(WKBundleFrameRef frame)
-{
-    if (!WKBundleFrameIsMainFrame(frame))
-        return;
-
-    WKRetainPtr&lt;WKURLRef&gt; mainFrameURL = adoptWK(WKBundleFrameCopyProvisionalURL(frame));
-    
-    String testPath = testPathFromURL(mainFrameURL.get());
-    if (!testPath.isNull()) {
-        StringBuilder builder;
-        builder.appendLiteral(&quot;CRASHING TEST: &quot;);
-        builder.append(testPath);
-        WKSetCrashReportApplicationSpecificInformation(builder.toString().createCFString().get());
-    }
-}
-
-} // namespace WTR
</del></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/TestController.cpp (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestController.cpp        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/TestController.cpp        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -754,6 +754,8 @@
</span><span class="cx">     if (command.timeout &gt; 0)
</span><span class="cx">         m_currentInvocation-&gt;setCustomTimeout(command.timeout);
</span><span class="cx"> 
</span><ins>+    platformWillRunTest(*m_currentInvocation);
+
</ins><span class="cx">     m_currentInvocation-&gt;invoke();
</span><span class="cx">     m_currentInvocation.clear();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/TestController.h (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestController.h        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/TestController.h        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -117,6 +117,7 @@
</span><span class="cx">     void platformInitialize();
</span><span class="cx">     void platformDestroy();
</span><span class="cx">     void platformInitializeContext();
</span><ins>+    void platformWillRunTest(const TestInvocation&amp;);
</ins><span class="cx">     void platformRunUntil(bool&amp; done, double timeout);
</span><span class="cx">     void platformDidCommitLoadForFrame(WKPageRef, WKFrameRef);
</span><span class="cx">     void initializeInjectedBundlePath();
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestInvocationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/TestInvocation.cpp (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestInvocation.cpp        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/TestInvocation.cpp        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -106,6 +106,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+WKURLRef TestInvocation::url() const
+{
+    return m_url.get();
+}
+
</ins><span class="cx"> void TestInvocation::setIsPixelTest(const std::string&amp; expectedPixelHash)
</span><span class="cx"> {
</span><span class="cx">     m_dumpPixels = true;
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerTestInvocationh"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/TestInvocation.h (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/TestInvocation.h        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/TestInvocation.h        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -40,6 +40,8 @@
</span><span class="cx">     explicit TestInvocation(const std::string&amp; pathOrURL);
</span><span class="cx">     ~TestInvocation();
</span><span class="cx"> 
</span><ins>+    WKURLRef url() const;
+
</ins><span class="cx">     void setIsPixelTest(const std::string&amp; expectedPixelHash);
</span><span class="cx"> 
</span><span class="cx">     void setCustomTimeout(int duration);
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerWebKitTestRunnerxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -23,7 +23,10 @@
</span><span class="cx"> /* Begin PBXBuildFile section */
</span><span class="cx">                 0F5169CB1445222D00E0A9D7 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F5169CA1445222D00E0A9D7 /* WebKit.framework */; };
</span><span class="cx">                 0F5169CC1445222D00E0A9D7 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F5169CA1445222D00E0A9D7 /* WebKit.framework */; };
</span><del>-                0FAF67EF160D6C100077CB2B /* InjectedBundlePageMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FAF67EE160D6C100077CB2B /* InjectedBundlePageMac.mm */; };
</del><ins>+                0FEB90A01905A834000FDBF3 /* InjectedBundlePageCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */; };
+                0FEB90A51905C016000FDBF3 /* CrashReporterInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */; };
+                0FEB90A81905C537000FDBF3 /* CrashReporterInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */; };
+                0FEB90A91905C548000FDBF3 /* CrashReporterInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */; };
</ins><span class="cx">                 26D758E7160BECDD00268472 /* GeolocationProviderMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */; };
</span><span class="cx">                 29210EAE144CACB700835BB5 /* AccessibilityUIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */; };
</span><span class="cx">                 29210EB0144CACBD00835BB5 /* AccessibilityController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */; };
</span><span class="lines">@@ -43,7 +46,6 @@
</span><span class="cx">                 2E63ED8D1891AD7E002A7AFC /* ActivateFontsIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED791891ACE9002A7AFC /* ActivateFontsIOS.mm */; };
</span><span class="cx">                 2E63ED8E1891AD7E002A7AFC /* EventSenderProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */; };
</span><span class="cx">                 2E63ED8F1891AD7E002A7AFC /* InjectedBundleIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */; };
</span><del>-                2E63ED901891AD7E002A7AFC /* InjectedBundlePageIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7C1891ACE9002A7AFC /* InjectedBundlePageIOS.mm */; };
</del><span class="cx">                 2E63ED911891ADAD002A7AFC /* PlatformWebViewIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */; };
</span><span class="cx">                 2E63ED921891ADAD002A7AFC /* TestControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */; };
</span><span class="cx">                 2E63ED941891ADAD002A7AFC /* mainIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D161890A9FB0010ED21 /* mainIOS.mm */; };
</span><span class="lines">@@ -65,12 +67,6 @@
</span><span class="cx">                 2EE52CE51890A9A80010ED21 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */; };
</span><span class="cx">                 2EE52CE71890A9A80010ED21 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE61890A9A80010ED21 /* UIKit.framework */; };
</span><span class="cx">                 2EE52CED1890A9A80010ED21 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2EE52CEB1890A9A80010ED21 /* InfoPlist.strings */; };
</span><del>-                2EE52CFC1890A9A90010ED21 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CFB1890A9A90010ED21 /* XCTest.framework */; };
-                2EE52CFD1890A9A90010ED21 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE21890A9A80010ED21 /* Foundation.framework */; };
-                2EE52CFE1890A9A90010ED21 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE61890A9A80010ED21 /* UIKit.framework */; };
-                2EE52D061890A9A90010ED21 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2EE52D041890A9A90010ED21 /* InfoPlist.strings */; };
-                2EE52D081890A9A90010ED21 /* WebKitTestRunnerAppTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D071890A9A90010ED21 /* WebKitTestRunnerAppTests.m */; };
-                2EE52D111890A9BB0010ED21 /* WebKitTestRunnerInjectedBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */; };
</del><span class="cx">                 3164C8F015D1ADA100EF1FE0 /* WebNotificationProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */; };
</span><span class="cx">                 4429FC5F1627089600F66D8B /* WorkQueueManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */; };
</span><span class="cx">                 5322FB4313FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */; };
</span><span class="lines">@@ -131,13 +127,6 @@
</span><span class="cx">                         remoteGlobalIDString = BC25186111D15D54002EBC01;
</span><span class="cx">                         remoteInfo = WebKitTestRunnerInjectedBundle;
</span><span class="cx">                 };
</span><del>-                2EE52CFF1890A9A90010ED21 /* PBXContainerItemProxy */ = {
-                        isa = PBXContainerItemProxy;
-                        containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
-                        proxyType = 1;
-                        remoteGlobalIDString = 2EE52CDF1890A9A80010ED21;
-                        remoteInfo = WebKitTestRunnerApp;
-                };
</del><span class="cx">                 BC25194111D15D94002EBC01 /* PBXContainerItemProxy */ = {
</span><span class="cx">                         isa = PBXContainerItemProxy;
</span><span class="cx">                         containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
</span><span class="lines">@@ -157,7 +146,9 @@
</span><span class="cx"> /* Begin PBXFileReference section */
</span><span class="cx">                 0F2109C7189C650D00F879A3 /* BaseTarget.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = BaseTarget.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0F5169CA1445222D00E0A9D7 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
</span><del>-                0FAF67EE160D6C100077CB2B /* InjectedBundlePageMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundlePageMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InjectedBundlePageCocoa.mm; path = cocoa/InjectedBundlePageCocoa.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                0FEB90A21905BC6A000FDBF3 /* CrashReporterInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CrashReporterInfo.h; path = cocoa/CrashReporterInfo.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CrashReporterInfo.mm; path = cocoa/CrashReporterInfo.mm; 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">@@ -189,7 +180,6 @@
</span><span class="cx">                 2E63ED791891ACE9002A7AFC /* ActivateFontsIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ActivateFontsIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventSenderProxyIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundleIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                2E63ED7C1891ACE9002A7AFC /* InjectedBundlePageIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundlePageIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WebKitTestRunnerApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
</span><span class="cx">                 2EE52CE21890A9A80010ED21 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
</span><span class="cx">                 2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
</span><span class="lines">@@ -198,11 +188,6 @@
</span><span class="cx">                 2EE52CEC1890A9A80010ED21 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2EE52CF11890A9A80010ED21 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2EE52CF21890A9A80010ED21 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                2EE52CFA1890A9A80010ED21 /* WebKitTestRunnerAppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WebKitTestRunnerAppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
-                2EE52CFB1890A9A90010ED21 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
-                2EE52D031890A9A90010ED21 /* WebKitTestRunnerAppTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = &quot;WebKitTestRunnerAppTests-Info.plist&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
-                2EE52D051890A9A90010ED21 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = &quot;&lt;group&gt;&quot;; };
-                2EE52D071890A9A90010ED21 /* WebKitTestRunnerAppTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WebKitTestRunnerAppTests.m; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformWebViewIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 2EE52D151890A9FB0010ED21 /* WebArchiveDumpSupportIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebArchiveDumpSupportIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -318,16 +303,6 @@
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><del>-                2EE52CF71890A9A80010ED21 /* Frameworks */ = {
-                        isa = PBXFrameworksBuildPhase;
-                        buildActionMask = 2147483647;
-                        files = (
-                                2EE52CFC1890A9A90010ED21 /* XCTest.framework in Frameworks */,
-                                2EE52CFE1890A9A90010ED21 /* UIKit.framework in Frameworks */,
-                                2EE52CFD1890A9A90010ED21 /* Foundation.framework in Frameworks */,
-                        );
-                        runOnlyForDeploymentPostprocessing = 0;
-                };
</del><span class="cx">                 8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
</span><span class="cx">                         isa = PBXFrameworksBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="lines">@@ -364,7 +339,6 @@
</span><span class="cx">                                 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
</span><span class="cx">                                 BC25194411D15DBE002EBC01 /* Resources */,
</span><span class="cx">                                 2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */,
</span><del>-                                2EE52D011890A9A90010ED21 /* WebKitTestRunnerAppTests */,
</del><span class="cx">                                 2EE52CE11890A9A80010ED21 /* Frameworks */,
</span><span class="cx">                                 1AB674ADFE9D54B511CA2CBB /* Products */,
</span><span class="cx">                         );
</span><span class="lines">@@ -374,6 +348,7 @@
</span><span class="cx">                 08FB7795FE84155DC02AAC07 /* TestRunner */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                0FEB90A11905BC4A000FDBF3 /* cocoa */,
</ins><span class="cx">                                 2EE52D121890A9FB0010ED21 /* ios */,
</span><span class="cx">                                 841CC00D181185BF0042E9B6 /* Options.cpp */,
</span><span class="cx">                                 841CC00E181185BF0042E9B6 /* Options.h */,
</span><span class="lines">@@ -414,13 +389,29 @@
</span><span class="cx">                         name = &quot;External Frameworks and Libraries&quot;;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><ins>+                0FEB909D1905A75D000FDBF3 /* cocoa */ = {
+                        isa = PBXGroup;
+                        children = (
+                                0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */,
+                        );
+                        name = cocoa;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                0FEB90A11905BC4A000FDBF3 /* cocoa */ = {
+                        isa = PBXGroup;
+                        children = (
+                                0FEB90A21905BC6A000FDBF3 /* CrashReporterInfo.h */,
+                                0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */,
+                        );
+                        name = cocoa;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
</ins><span class="cx">                 1AB674ADFE9D54B511CA2CBB /* Products */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 8DD76FA10486AA7600D96B5E /* WebKitTestRunner */,
</span><span class="cx">                                 BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */,
</span><span class="cx">                                 2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */,
</span><del>-                                2EE52CFA1890A9A80010ED21 /* WebKitTestRunnerAppTests.xctest */,
</del><span class="cx">                         );
</span><span class="cx">                         name = Products;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -453,7 +444,6 @@
</span><span class="cx">                                 2E63ED791891ACE9002A7AFC /* ActivateFontsIOS.mm */,
</span><span class="cx">                                 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */,
</span><span class="cx">                                 2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */,
</span><del>-                                2E63ED7C1891ACE9002A7AFC /* InjectedBundlePageIOS.mm */,
</del><span class="cx">                         );
</span><span class="cx">                         path = ios;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -464,7 +454,6 @@
</span><span class="cx">                                 2EE52CE21890A9A80010ED21 /* Foundation.framework */,
</span><span class="cx">                                 2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */,
</span><span class="cx">                                 2EE52CE61890A9A80010ED21 /* UIKit.framework */,
</span><del>-                                2EE52CFB1890A9A90010ED21 /* XCTest.framework */,
</del><span class="cx">                         );
</span><span class="cx">                         name = Frameworks;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -478,24 +467,6 @@
</span><span class="cx">                         path = WebKitTestRunnerApp;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><del>-                2EE52D011890A9A90010ED21 /* WebKitTestRunnerAppTests */ = {
-                        isa = PBXGroup;
-                        children = (
-                                2EE52D071890A9A90010ED21 /* WebKitTestRunnerAppTests.m */,
-                                2EE52D021890A9A90010ED21 /* Supporting Files */,
-                        );
-                        path = WebKitTestRunnerAppTests;
-                        sourceTree = &quot;&lt;group&gt;&quot;;
-                };
-                2EE52D021890A9A90010ED21 /* Supporting Files */ = {
-                        isa = PBXGroup;
-                        children = (
-                                2EE52D031890A9A90010ED21 /* WebKitTestRunnerAppTests-Info.plist */,
-                                2EE52D041890A9A90010ED21 /* InfoPlist.strings */,
-                        );
-                        name = &quot;Supporting Files&quot;;
-                        sourceTree = &quot;&lt;group&gt;&quot;;
-                };
</del><span class="cx">                 2EE52D121890A9FB0010ED21 /* ios */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -527,7 +498,6 @@
</span><span class="cx">                                 5C45C30E17398E290079714E /* WebArchiveDumpSupportMac.mm */,
</span><span class="cx">                                 65EB859F11EC67CC0034D300 /* ActivateFonts.mm */,
</span><span class="cx">                                 BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */,
</span><del>-                                0FAF67EE160D6C100077CB2B /* InjectedBundlePageMac.mm */,
</del><span class="cx">                         );
</span><span class="cx">                         path = mac;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -553,6 +523,7 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 2E63ED741891ACE9002A7AFC /* ios */,
</span><ins>+                                0FEB909D1905A75D000FDBF3 /* cocoa */,
</ins><span class="cx">                                 5C45C31017398E370079714E /* cf */,
</span><span class="cx">                                 BC952C0A11F3B939003398B4 /* Bindings */,
</span><span class="cx">                                 BC14E4E0120E02F900826C0C /* Controllers */,
</span><span class="lines">@@ -698,24 +669,6 @@
</span><span class="cx">                         productReference = 2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */;
</span><span class="cx">                         productType = &quot;com.apple.product-type.application&quot;;
</span><span class="cx">                 };
</span><del>-                2EE52CF91890A9A80010ED21 /* WebKitTestRunnerAppTests */ = {
-                        isa = PBXNativeTarget;
-                        buildConfigurationList = 2EE52D101890A9A90010ED21 /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunnerAppTests&quot; */;
-                        buildPhases = (
-                                2EE52CF61890A9A80010ED21 /* Sources */,
-                                2EE52CF71890A9A80010ED21 /* Frameworks */,
-                                2EE52CF81890A9A80010ED21 /* Resources */,
-                        );
-                        buildRules = (
-                        );
-                        dependencies = (
-                                2EE52D001890A9A90010ED21 /* PBXTargetDependency */,
-                        );
-                        name = WebKitTestRunnerAppTests;
-                        productName = WebKitTestRunnerAppTests;
-                        productReference = 2EE52CFA1890A9A80010ED21 /* WebKitTestRunnerAppTests.xctest */;
-                        productType = &quot;com.apple.product-type.bundle.unit-test&quot;;
-                };
</del><span class="cx">                 8DD76F960486AA7600D96B5E /* WebKitTestRunner */ = {
</span><span class="cx">                         isa = PBXNativeTarget;
</span><span class="cx">                         buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunner&quot; */;
</span><span class="lines">@@ -758,11 +711,6 @@
</span><span class="cx">                 08FB7793FE84155DC02AAC07 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><del>-                                TargetAttributes = {
-                                        2EE52CF91890A9A80010ED21 = {
-                                                TestTargetID = 2EE52CDF1890A9A80010ED21;
-                                        };
-                                };
</del><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject &quot;WebKitTestRunner&quot; */;
</span><span class="cx">                         compatibilityVersion = &quot;Xcode 3.1&quot;;
</span><span class="lines">@@ -783,7 +731,6 @@
</span><span class="cx">                                 BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */,
</span><span class="cx">                                 BC952D7711F3BF5D003398B4 /* Derived Sources */,
</span><span class="cx">                                 2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */,
</span><del>-                                2EE52CF91890A9A80010ED21 /* WebKitTestRunnerAppTests */,
</del><span class="cx">                         );
</span><span class="cx">                 };
</span><span class="cx"> /* End PBXProject section */
</span><span class="lines">@@ -798,15 +745,6 @@
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><del>-                2EE52CF81890A9A80010ED21 /* Resources */ = {
-                        isa = PBXResourcesBuildPhase;
-                        buildActionMask = 2147483647;
-                        files = (
-                                2EE52D111890A9BB0010ED21 /* WebKitTestRunnerInjectedBundle.bundle in Resources */,
-                                2EE52D061890A9A90010ED21 /* InfoPlist.strings in Resources */,
-                        );
-                        runOnlyForDeploymentPostprocessing = 0;
-                };
</del><span class="cx">                 BC25185E11D15D54002EBC01 /* Resources */ = {
</span><span class="cx">                         isa = PBXResourcesBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="lines">@@ -856,6 +794,7 @@
</span><span class="cx">                                 2E63ED971891ADC7002A7AFC /* PixelDumpSupport.cpp in Sources */,
</span><span class="cx">                                 2E63ED981891ADC7002A7AFC /* TestController.cpp in Sources */,
</span><span class="cx">                                 2E63ED921891ADAD002A7AFC /* TestControllerIOS.mm in Sources */,
</span><ins>+                                0FEB90A81905C537000FDBF3 /* CrashReporterInfo.mm in Sources */,
</ins><span class="cx">                                 2E63ED991891ADC7002A7AFC /* TestInvocation.cpp in Sources */,
</span><span class="cx">                                 2E63EDA51891BD8E002A7AFC /* TestInvocationCG.cpp in Sources */,
</span><span class="cx">                                 2E63ED9A1891ADC7002A7AFC /* WebNotificationProvider.cpp in Sources */,
</span><span class="lines">@@ -866,14 +805,6 @@
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><del>-                2EE52CF61890A9A80010ED21 /* Sources */ = {
-                        isa = PBXSourcesBuildPhase;
-                        buildActionMask = 2147483647;
-                        files = (
-                                2EE52D081890A9A90010ED21 /* WebKitTestRunnerAppTests.m in Sources */,
-                        );
-                        runOnlyForDeploymentPostprocessing = 0;
-                };
</del><span class="cx">                 8DD76F990486AA7600D96B5E /* Sources */ = {
</span><span class="cx">                         isa = PBXSourcesBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="lines">@@ -888,6 +819,7 @@
</span><span class="cx">                                 E1C642C617CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm in Sources */,
</span><span class="cx">                                 BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */,
</span><span class="cx">                                 BC793431118F7F19005EA8E2 /* TestController.cpp in Sources */,
</span><ins>+                                0FEB90A91905C548000FDBF3 /* CrashReporterInfo.mm in Sources */,
</ins><span class="cx">                                 BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */,
</span><span class="cx">                                 BCD7D2F811921278006DB7EE /* TestInvocation.cpp in Sources */,
</span><span class="cx">                                 BC9192051333E4F8003011DC /* TestInvocationCG.cpp in Sources */,
</span><span class="lines">@@ -910,11 +842,11 @@
</span><span class="cx">                                 2E63ED8D1891AD7E002A7AFC /* ActivateFontsIOS.mm in Sources */,
</span><span class="cx">                                 2E63ED8E1891AD7E002A7AFC /* EventSenderProxyIOS.mm in Sources */,
</span><span class="cx">                                 2E63ED8F1891AD7E002A7AFC /* InjectedBundleIOS.mm in Sources */,
</span><del>-                                2E63ED901891AD7E002A7AFC /* InjectedBundlePageIOS.mm in Sources */,
</del><span class="cx">                                 29210EDA144CC3EA00835BB6 /* AccessibilityCommonMac.mm in Sources */,
</span><span class="cx">                                 29210EB0144CACBD00835BB5 /* AccessibilityController.cpp in Sources */,
</span><span class="cx">                                 8034C6621487636400AC32E9 /* AccessibilityControllerMac.mm in Sources */,
</span><span class="cx">                                 8097338A14874A5A008156D9 /* AccessibilityNotificationHandler.mm in Sources */,
</span><ins>+                                0FEB90A51905C016000FDBF3 /* CrashReporterInfo.mm in Sources */,
</ins><span class="cx">                                 29210EB4144CACD500835BB5 /* AccessibilityTextMarker.cpp in Sources */,
</span><span class="cx">                                 29210EB5144CACD500835BB5 /* AccessibilityTextMarkerMac.mm in Sources */,
</span><span class="cx">                                 29A8FCE2145F037B009045A6 /* AccessibilityTextMarkerRange.cpp in Sources */,
</span><span class="lines">@@ -928,9 +860,9 @@
</span><span class="cx">                                 BC8DAD7B1316D91000EC96FC /* InjectedBundleMac.mm in Sources */,
</span><span class="cx">                                 BC251A3E11D16831002EBC01 /* InjectedBundleMain.cpp in Sources */,
</span><span class="cx">                                 BCC997A511D3C8F60017BCA2 /* InjectedBundlePage.cpp in Sources */,
</span><del>-                                0FAF67EF160D6C100077CB2B /* InjectedBundlePageMac.mm in Sources */,
</del><span class="cx">                                 29210EDB144CD47900835BB5 /* JSAccessibilityController.cpp in Sources */,
</span><span class="cx">                                 29A8FCCB145EF02E009045A6 /* JSAccessibilityTextMarker.cpp in Sources */,
</span><ins>+                                0FEB90A01905A834000FDBF3 /* InjectedBundlePageCocoa.mm in Sources */,
</ins><span class="cx">                                 29A8FCDD145F0337009045A6 /* JSAccessibilityTextMarkerRange.cpp in Sources */,
</span><span class="cx">                                 29210EE1144CDB2600835BB5 /* JSAccessibilityUIElement.cpp in Sources */,
</span><span class="cx">                                 BC8FD8D2120E545B00F3E71A /* JSEventSendingController.cpp in Sources */,
</span><span class="lines">@@ -953,11 +885,6 @@
</span><span class="cx">                         target = BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */;
</span><span class="cx">                         targetProxy = 2E63ED881891AD47002A7AFC /* PBXContainerItemProxy */;
</span><span class="cx">                 };
</span><del>-                2EE52D001890A9A90010ED21 /* PBXTargetDependency */ = {
-                        isa = PBXTargetDependency;
-                        target = 2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */;
-                        targetProxy = 2EE52CFF1890A9A90010ED21 /* PBXContainerItemProxy */;
-                };
</del><span class="cx">                 BC25194211D15D94002EBC01 /* PBXTargetDependency */ = {
</span><span class="cx">                         isa = PBXTargetDependency;
</span><span class="cx">                         target = BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */;
</span><span class="lines">@@ -980,14 +907,6 @@
</span><span class="cx">                         path = ../WebKitTestRunnerApp;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><del>-                2EE52D041890A9A90010ED21 /* InfoPlist.strings */ = {
-                        isa = PBXVariantGroup;
-                        children = (
-                                2EE52D051890A9A90010ED21 /* en */,
-                        );
-                        name = InfoPlist.strings;
-                        sourceTree = &quot;&lt;group&gt;&quot;;
-                };
</del><span class="cx"> /* End PBXVariantGroup section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin XCBuildConfiguration section */
</span><span class="lines">@@ -1065,143 +984,6 @@
</span><span class="cx">                         };
</span><span class="cx">                         name = Production;
</span><span class="cx">                 };
</span><del>-                2EE52D0C1890A9A90010ED21 /* Debug */ = {
-                        isa = XCBuildConfiguration;
-                        buildSettings = {
-                                ALWAYS_SEARCH_USER_PATHS = NO;
-                                ARCHS = &quot;$(ARCHS_STANDARD_INCLUDING_64_BIT)&quot;;
-                                BUNDLE_LOADER = &quot;$(BUILT_PRODUCTS_DIR)/WebKitTestRunnerApp.app/WebKitTestRunnerApp&quot;;
-                                CLANG_CXX_LANGUAGE_STANDARD = &quot;gnu++0x&quot;;
-                                CLANG_CXX_LIBRARY = &quot;libc++&quot;;
-                                CLANG_ENABLE_MODULES = YES;
-                                CLANG_ENABLE_OBJC_ARC = YES;
-                                CLANG_WARN_BOOL_CONVERSION = YES;
-                                CLANG_WARN_CONSTANT_CONVERSION = YES;
-                                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                                CLANG_WARN_EMPTY_BODY = YES;
-                                CLANG_WARN_ENUM_CONVERSION = YES;
-                                CLANG_WARN_INT_CONVERSION = YES;
-                                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                                COPY_PHASE_STRIP = NO;
-                                FRAMEWORK_SEARCH_PATHS = (
-                                        &quot;$(SDKROOT)/Developer/Library/Frameworks&quot;,
-                                        &quot;$(inherited)&quot;,
-                                        &quot;$(DEVELOPER_FRAMEWORKS_DIR)&quot;,
-                                );
-                                GCC_C_LANGUAGE_STANDARD = gnu99;
-                                GCC_DYNAMIC_NO_PIC = NO;
-                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                                GCC_PREFIX_HEADER = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Prefix.pch&quot;;
-                                GCC_PREPROCESSOR_DEFINITIONS = (
-                                        &quot;DEBUG=1&quot;,
-                                        &quot;$(inherited)&quot;,
-                                );
-                                GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                                GCC_WARN_UNDECLARED_SELECTOR = YES;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES;
-                                GCC_WARN_UNUSED_FUNCTION = YES;
-                                GCC_WARN_UNUSED_VARIABLE = YES;
-                                INFOPLIST_FILE = &quot;WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist&quot;;
-                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                                ONLY_ACTIVE_ARCH = YES;
-                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
-                                SDKROOT = iphoneos;
-                                TEST_HOST = &quot;$(BUNDLE_LOADER)&quot;;
-                                WRAPPER_EXTENSION = xctest;
-                        };
-                        name = Debug;
-                };
-                2EE52D0D1890A9A90010ED21 /* Release */ = {
-                        isa = XCBuildConfiguration;
-                        buildSettings = {
-                                ALWAYS_SEARCH_USER_PATHS = NO;
-                                ARCHS = &quot;$(ARCHS_STANDARD_INCLUDING_64_BIT)&quot;;
-                                BUNDLE_LOADER = &quot;$(BUILT_PRODUCTS_DIR)/WebKitTestRunnerApp.app/WebKitTestRunnerApp&quot;;
-                                CLANG_CXX_LANGUAGE_STANDARD = &quot;gnu++0x&quot;;
-                                CLANG_CXX_LIBRARY = &quot;libc++&quot;;
-                                CLANG_ENABLE_MODULES = YES;
-                                CLANG_ENABLE_OBJC_ARC = YES;
-                                CLANG_WARN_BOOL_CONVERSION = YES;
-                                CLANG_WARN_CONSTANT_CONVERSION = YES;
-                                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                                CLANG_WARN_EMPTY_BODY = YES;
-                                CLANG_WARN_ENUM_CONVERSION = YES;
-                                CLANG_WARN_INT_CONVERSION = YES;
-                                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                                COPY_PHASE_STRIP = YES;
-                                ENABLE_NS_ASSERTIONS = NO;
-                                FRAMEWORK_SEARCH_PATHS = (
-                                        &quot;$(SDKROOT)/Developer/Library/Frameworks&quot;,
-                                        &quot;$(inherited)&quot;,
-                                        &quot;$(DEVELOPER_FRAMEWORKS_DIR)&quot;,
-                                );
-                                GCC_C_LANGUAGE_STANDARD = gnu99;
-                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                                GCC_PREFIX_HEADER = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Prefix.pch&quot;;
-                                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                                GCC_WARN_UNDECLARED_SELECTOR = YES;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES;
-                                GCC_WARN_UNUSED_FUNCTION = YES;
-                                GCC_WARN_UNUSED_VARIABLE = YES;
-                                INFOPLIST_FILE = &quot;WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist&quot;;
-                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
-                                SDKROOT = iphoneos;
-                                TEST_HOST = &quot;$(BUNDLE_LOADER)&quot;;
-                                VALIDATE_PRODUCT = YES;
-                                WRAPPER_EXTENSION = xctest;
-                        };
-                        name = Release;
-                };
-                2EE52D0E1890A9A90010ED21 /* Production */ = {
-                        isa = XCBuildConfiguration;
-                        buildSettings = {
-                                ALWAYS_SEARCH_USER_PATHS = NO;
-                                ARCHS = &quot;$(ARCHS_STANDARD_INCLUDING_64_BIT)&quot;;
-                                BUNDLE_LOADER = &quot;$(BUILT_PRODUCTS_DIR)/WebKitTestRunnerApp.app/WebKitTestRunnerApp&quot;;
-                                CLANG_CXX_LANGUAGE_STANDARD = &quot;gnu++0x&quot;;
-                                CLANG_CXX_LIBRARY = &quot;libc++&quot;;
-                                CLANG_ENABLE_MODULES = YES;
-                                CLANG_ENABLE_OBJC_ARC = YES;
-                                CLANG_WARN_BOOL_CONVERSION = YES;
-                                CLANG_WARN_CONSTANT_CONVERSION = YES;
-                                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-                                CLANG_WARN_EMPTY_BODY = YES;
-                                CLANG_WARN_ENUM_CONVERSION = YES;
-                                CLANG_WARN_INT_CONVERSION = YES;
-                                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-                                COPY_PHASE_STRIP = YES;
-                                ENABLE_NS_ASSERTIONS = NO;
-                                FRAMEWORK_SEARCH_PATHS = (
-                                        &quot;$(SDKROOT)/Developer/Library/Frameworks&quot;,
-                                        &quot;$(inherited)&quot;,
-                                        &quot;$(DEVELOPER_FRAMEWORKS_DIR)&quot;,
-                                );
-                                GCC_C_LANGUAGE_STANDARD = gnu99;
-                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                                GCC_PREFIX_HEADER = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Prefix.pch&quot;;
-                                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-                                GCC_WARN_UNDECLARED_SELECTOR = YES;
-                                GCC_WARN_UNINITIALIZED_AUTOS = YES;
-                                GCC_WARN_UNUSED_FUNCTION = YES;
-                                GCC_WARN_UNUSED_VARIABLE = YES;
-                                INFOPLIST_FILE = &quot;WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist&quot;;
-                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
-                                SDKROOT = iphoneos;
-                                TEST_HOST = &quot;$(BUNDLE_LOADER)&quot;;
-                                VALIDATE_PRODUCT = YES;
-                                WRAPPER_EXTENSION = xctest;
-                        };
-                        name = Production;
-                };
</del><span class="cx">                 BC25186411D15D55002EBC01 /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><span class="cx">                         baseConfigurationReference = BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */;
</span><span class="lines">@@ -1291,16 +1073,6 @@
</span><span class="cx">                         defaultConfigurationIsVisible = 0;
</span><span class="cx">                         defaultConfigurationName = Production;
</span><span class="cx">                 };
</span><del>-                2EE52D101890A9A90010ED21 /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunnerAppTests&quot; */ = {
-                        isa = XCConfigurationList;
-                        buildConfigurations = (
-                                2EE52D0C1890A9A90010ED21 /* Debug */,
-                                2EE52D0D1890A9A90010ED21 /* Release */,
-                                2EE52D0E1890A9A90010ED21 /* Production */,
-                        );
-                        defaultConfigurationIsVisible = 0;
-                        defaultConfigurationName = Production;
-                };
</del><span class="cx">                 BC25186611D15D55002EBC01 /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunnerInjectedBundle&quot; */ = {
</span><span class="cx">                         isa = XCConfigurationList;
</span><span class="cx">                         buildConfigurations = (
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnerWebKitTestRunnerAppTestsWebKitTestRunnerAppTestsInfoplist"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -1,22 +0,0 @@
</span><del>-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
-&lt;plist version=&quot;1.0&quot;&gt;
-&lt;dict&gt;
-        &lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;
-        &lt;string&gt;en&lt;/string&gt;
-        &lt;key&gt;CFBundleExecutable&lt;/key&gt;
-        &lt;string&gt;${EXECUTABLE_NAME}&lt;/string&gt;
-        &lt;key&gt;CFBundleIdentifier&lt;/key&gt;
-        &lt;string&gt;org.webkit.${PRODUCT_NAME:rfc1034identifier}&lt;/string&gt;
-        &lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;
-        &lt;string&gt;6.0&lt;/string&gt;
-        &lt;key&gt;CFBundlePackageType&lt;/key&gt;
-        &lt;string&gt;BNDL&lt;/string&gt;
-        &lt;key&gt;CFBundleShortVersionString&lt;/key&gt;
-        &lt;string&gt;1.0&lt;/string&gt;
-        &lt;key&gt;CFBundleSignature&lt;/key&gt;
-        &lt;string&gt;????&lt;/string&gt;
-        &lt;key&gt;CFBundleVersion&lt;/key&gt;
-        &lt;string&gt;1&lt;/string&gt;
-&lt;/dict&gt;
-&lt;/plist&gt;
</del></span></pre></div>
<a id="trunkToolsWebKitTestRunnerWebKitTestRunnerAppTestsWebKitTestRunnerAppTestsm"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-//
-//  WebKitTestRunnerAppTests.m
-//  WebKitTestRunnerAppTests
-//
-//  Created by David Farler on 1/22/14.
-//
-//
-
-#import &lt;XCTest/XCTest.h&gt;
-
-@interface WebKitTestRunnerAppTests : XCTestCase
-
-@end
-
-@implementation WebKitTestRunnerAppTests
-
-- (void)setUp
-{
-    [super setUp];
-    // Put setup code here. This method is called before the invocation of each test method in the class.
-}
-
-- (void)tearDown
-{
-    // Put teardown code here. This method is called after the invocation of each test method in the class.
-    [super tearDown];
-}
-
-- (void)testExample
-{
-    XCTFail(@&quot;No implementation for \&quot;%s\&quot;&quot;, __PRETTY_FUNCTION__);
-}
-
-@end
</del></span></pre></div>
<a id="trunkToolsWebKitTestRunnerWebKitTestRunnerAppTestsenlprojInfoPliststrings"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -1,2 +0,0 @@
</span><del>-/* Localized versions of Info.plist keys */
-
</del></span></pre></div>
<a id="trunkToolsWebKitTestRunnercocoaCrashReporterInfohfromrev168044trunkToolsWebKitTestRunnerInjectedBundleiosInjectedBundlePageIOSmm"></a>
<div class="copfile"><h4>Copied: trunk/Tools/WebKitTestRunner/cocoa/CrashReporterInfo.h (from rev 168044, trunk/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm) (0 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/cocoa/CrashReporterInfo.h                                (rev 0)
+++ trunk/Tools/WebKitTestRunner/cocoa/CrashReporterInfo.h        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2014 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 CrashReporterInfo_h
+#define CrashReporterInfo_h
+
+namespace WTR {
+
+void setCrashReportApplicationSpecificInformationToURL(WKURLRef);
+
+}
+
+#endif // CrashReporterInfo_h
</ins></span></pre></div>
<a id="trunkToolsWebKitTestRunnercocoaCrashReporterInfommfromrev168044trunkToolsWebKitTestRunnerInjectedBundlemacInjectedBundlePageMacmm"></a>
<div class="copfile"><h4>Copied: trunk/Tools/WebKitTestRunner/cocoa/CrashReporterInfo.mm (from rev 168044, trunk/Tools/WebKitTestRunner/InjectedBundle/mac/InjectedBundlePageMac.mm) (0 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/cocoa/CrashReporterInfo.mm                                (rev 0)
+++ trunk/Tools/WebKitTestRunner/cocoa/CrashReporterInfo.mm        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -0,0 +1,78 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;CrashReporterInfo.h&quot;
+
+#import &quot;StringFunctions.h&quot;
+#import &lt;WebKit2/WKURLCF.h&gt;
+#import &lt;WebKitSystemInterface.h&gt;
+#import &lt;wtf/RetainPtr.h&gt;
+
+namespace WTR {
+
+static String testPathFromURL(WKURLRef url)
+{
+    RetainPtr&lt;CFURLRef&gt; cfURL = adoptCF(WKURLCopyCFURL(kCFAllocatorDefault, url));
+    if (!cfURL)
+        return String();
+
+    RetainPtr&lt;CFStringRef&gt; schemeCFString = adoptCF(CFURLCopyScheme(cfURL.get()));
+    RetainPtr&lt;CFStringRef&gt; pathCFString = adoptCF(CFURLCopyPath(cfURL.get()));
+
+    String schemeString(schemeCFString.get());
+    String pathString(pathCFString.get());
+    
+    if (equalIgnoringCase(schemeString, &quot;file&quot;)) {
+        String layoutTests(&quot;/LayoutTests/&quot;);
+        size_t layoutTestsOffset = pathString.find(layoutTests);
+        if (layoutTestsOffset == notFound)
+            return String();
+
+        return pathString.substring(layoutTestsOffset + layoutTests.length());
+    }
+
+    if (!equalIgnoringCase(schemeString, &quot;http&quot;) &amp;&amp; !equalIgnoringCase(schemeString, &quot;https&quot;))
+        return String();
+
+    RetainPtr&lt;CFStringRef&gt; hostCFString = adoptCF(CFURLCopyHostName(cfURL.get()));
+    String hostString(hostCFString.get());
+    if (hostString == &quot;127.0.0.1&quot;  &amp;&amp; (CFURLGetPortNumber(cfURL.get()) == 8000 || CFURLGetPortNumber(cfURL.get()) == 8443))
+        return pathString;
+
+    return String();
+}
+
+void setCrashReportApplicationSpecificInformationToURL(WKURLRef url)
+{
+    String testPath = testPathFromURL(url);
+    if (!testPath.isNull()) {
+        String message(&quot;CRASHING TEST:&quot;);
+        message = message + testPath;
+        WKSetCrashReportApplicationSpecificInformation(message.createCFString().get());
+    }
+}
+
+} // namespace WTR
</ins></span></pre></div>
<a id="trunkToolsWebKitTestRunnereflTestControllerEflcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/efl/TestControllerEfl.cpp (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/efl/TestControllerEfl.cpp        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/efl/TestControllerEfl.cpp        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -63,6 +63,10 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void TestController::platformWillRunTest(const TestInvocation&amp;)
+{
+}
+
</ins><span class="cx"> void TestController::platformRunUntil(bool&amp; condition, double timeout)
</span><span class="cx"> {
</span><span class="cx">     if (timeout == m_noTimeout) {
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunnergtkTestControllerGtkcpp"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -65,6 +65,10 @@
</span><span class="cx">     return FALSE;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void TestController::platformWillRunTest(const TestInvocation&amp;)
+{
+}
+
</ins><span class="cx"> void TestController::platformRunUntil(bool&amp;, double timeout)
</span><span class="cx"> {
</span><span class="cx">     cancelTimeout();
</span></span></pre></div>
<a id="trunkToolsWebKitTestRunneriosTestControllerIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/ios/TestControllerIOS.mm        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -26,7 +26,9 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;TestController.h&quot;
</span><span class="cx"> 
</span><ins>+#import &quot;CrashReporterInfo.h&quot;
</ins><span class="cx"> #import &quot;PlatformWebView.h&quot;
</span><ins>+#import &quot;TestInvocation.h&quot;
</ins><span class="cx"> #import &lt;WebKit2/WKStringCF.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -55,6 +57,11 @@
</span><span class="cx">     m_testPluginDirectory.adopt(WKStringCreateWithCFString((CFStringRef)[[NSBundle mainBundle] bundlePath]));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void TestController::platformWillRunTest(const TestInvocation&amp; testInvocation)
+{
+    setCrashReportApplicationSpecificInformationToURL(testInvocation.url());
+}
+
</ins><span class="cx"> void TestController::platformRunUntil(bool&amp; done, double timeout)
</span><span class="cx"> {
</span><span class="cx">     NSDate *endDate = (timeout &gt; 0) ? [NSDate dateWithTimeIntervalSinceNow:timeout] : [NSDate distantFuture];
</span><span class="lines">@@ -81,7 +88,8 @@
</span><span class="cx">     return [[@&quot;~/Library/Application Support/WebKitTestRunner&quot; stringByExpandingTildeInPath] UTF8String];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TestController::setHidden(bool) {
</del><ins>+void TestController::setHidden(bool)
+{
</ins><span class="cx">     // FIXME: implement for iOS
</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 (168044 => 168045)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm        2014-04-30 21:48:36 UTC (rev 168044)
+++ trunk/Tools/WebKitTestRunner/mac/TestControllerMac.mm        2014-04-30 21:48:39 UTC (rev 168045)
</span><span class="lines">@@ -26,8 +26,10 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;TestController.h&quot;
</span><span class="cx"> 
</span><ins>+#import &quot;CrashReporterInfo.h&quot;
</ins><span class="cx"> #import &quot;PlatformWebView.h&quot;
</span><span class="cx"> #import &quot;PoseAsClass.h&quot;
</span><ins>+#import &quot;TestInvocation.h&quot;
</ins><span class="cx"> #import &quot;WebKitTestRunnerPasteboard.h&quot;
</span><span class="cx"> #import &lt;WebKit2/WKStringCF.h&gt;
</span><span class="cx"> #import &lt;mach-o/dyld.h&gt; 
</span><span class="lines">@@ -66,6 +68,11 @@
</span><span class="cx">     m_testPluginDirectory.adopt(WKStringCreateWithCFString((CFStringRef)[[NSBundle mainBundle] bundlePath]));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void TestController::platformWillRunTest(const TestInvocation&amp; testInvocation)
+{
+    setCrashReportApplicationSpecificInformationToURL(testInvocation.url());
+}
+
</ins><span class="cx"> void TestController::platformRunUntil(bool&amp; done, double timeout)
</span><span class="cx"> {
</span><span class="cx">     NSDate *endDate = (timeout &gt; 0) ? [NSDate dateWithTimeIntervalSinceNow:timeout] : [NSDate distantFuture];
</span></span></pre>
</div>
</div>

</body>
</html>