<!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>[200232] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/200232">200232</a></dd>
<dt>Author</dt> <dd>yoav@yoav.ws</dd>
<dt>Date</dt> <dd>2016-04-29 00:33:02 -0700 (Fri, 29 Apr 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Move ResourceTiming behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=157133

Reviewed by Alex Christensen.

.:

* Source/cmake/WebKitFeatures.cmake: Remove the PERFORMANCE_TIMELINE build flag.

Source/JavaScriptCore:

* runtime/CommonIdentifiers.h: Added PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming as property names.

Source/WebCore:

Move the ResourceTiming API from being behind a build time flag to be behind an
off-by-default runtime flag, that can be turned on using internals.

Tests: fast/dom/Window/window-properties-performance-resource-timing.html
       http/tests/performance/performance-resource-timing-entries.html

* DerivedSources.make: Added idl files for PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming.
* WebCore.xcodeproj/project.pbxproj: Added the various Performance* files to the project.
* bindings/generic/RuntimeEnabledFeatures.cpp: Added ResourceTiming as a runtime flag.
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
* bindings/generic/RuntimeEnabledFeatures.h: Added ResourceTiming as a runtime flag.
(WebCore::RuntimeEnabledFeatures::setResourceTimingEnabled):
(WebCore::RuntimeEnabledFeatures::resourceTimingEnabled):
* bindings/js/JSPerformanceEntryCustom.cpp: Removed #if for ResourceTiming. Added build flag around UserTiming related h files.
(WebCore::toJS): Deleted.
* dom/EventNames.h: Renamed webkitresourcetimingbufferfull to resourcetimingbufferfull.
* loader/DocumentThreadableLoader.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/ResourceLoadNotifier.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
* loader/cache/CachedResourceLoader.cpp: Replace #if for ResourceTiming with runtime flag.
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation):
(WebCore::CachedResourceLoader::loadDone):
* loader/cache/CachedResourceLoader.h: Remove #if for ResourceTiming.
* page/Performance.cpp: Remove #if for ResourceTiming.
(WebCore::Performance::Performance): Removed #if for ResourceTiming related initialization.
(WebCore::Performance::webkitGetEntries): Renamed to getEntries.
(WebCore::Performance::webkitGetEntriesByType): Renamed to getEntriesByType.
(WebCore::Performance::webkitGetEntriesByName): Renamed to getEntriesByName.
* page/Performance.h: Remove #if for ResourceTiming.
* page/Performance.idl: Replace #if for ResourceTiming with runtime flag.
* page/PerformanceEntry.cpp: Remove the PERFORMANCE_TIMELINE build flag.
* page/PerformanceEntry.h: Remove the PERFORMANCE_TIMELINE build flag.
* page/PerformanceEntry.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
* page/PerformanceEntryList.cpp: Remove the PERFORMANCE_TIMELINE build flag.
* page/PerformanceEntryList.h: Remove the PERFORMANCE_TIMELINE build flag.
* page/PerformanceEntryList.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
* page/PerformanceResourceTiming.cpp: Remove the RESOURCE_TIMING build flag.
* page/PerformanceResourceTiming.h: Remove the RESOURCE_TIMING build flag.
* page/PerformanceResourceTiming.idl: Replace the RESOURCE_TIMING build flag with runtime flag.
* testing/Internals.cpp: Add a method that enables ResourceTiming.
(WebCore::Internals::setResourceTimingSupport):
* testing/Internals.h: Add a method that enables ResourceTiming.
* testing/Internals.idl: Add a method that enables ResourceTiming.

LayoutTests:

Added tests that make sure ResourceTiming APIs are exposed and that resources
show up as entries in the performance timeline.

* fast/dom/Window/window-properties-performance-resource-timing-expected.txt: Added.
* fast/dom/Window/window-properties-performance-resource-timing.html: Added.
* fast/dom/Window/window-properties-performance.html: Removed &quot;//;&quot;.
* http/tests/performance/performance-resource-timing-entries-expected.txt: Added.
* http/tests/performance/performance-resource-timing-entries.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastdomWindowwindowpropertiesperformancehtml">trunk/LayoutTests/fast/dom/Window/window-properties-performance.html</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonIdentifiersh">trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsgenericRuntimeEnabledFeaturescpp">trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsgenericRuntimeEnabledFeaturesh">trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSPerformanceEntryCustomcpp">trunk/Source/WebCore/bindings/js/JSPerformanceEntryCustom.cpp</a></li>
<li><a href="#trunkSourceWebCoredomEventNamesh">trunk/Source/WebCore/dom/EventNames.h</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentThreadableLoadercpp">trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadNotifiercpp">trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceLoadercpp">trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceLoaderh">trunk/Source/WebCore/loader/cache/CachedResourceLoader.h</a></li>
<li><a href="#trunkSourceWebCorepagePerformancecpp">trunk/Source/WebCore/page/Performance.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceh">trunk/Source/WebCore/page/Performance.h</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceidl">trunk/Source/WebCore/page/Performance.idl</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceEntrycpp">trunk/Source/WebCore/page/PerformanceEntry.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceEntryh">trunk/Source/WebCore/page/PerformanceEntry.h</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceEntryidl">trunk/Source/WebCore/page/PerformanceEntry.idl</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceEntryListcpp">trunk/Source/WebCore/page/PerformanceEntryList.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceEntryListh">trunk/Source/WebCore/page/PerformanceEntryList.h</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceEntryListidl">trunk/Source/WebCore/page/PerformanceEntryList.idl</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceResourceTimingcpp">trunk/Source/WebCore/page/PerformanceResourceTiming.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceResourceTimingh">trunk/Source/WebCore/page/PerformanceResourceTiming.h</a></li>
<li><a href="#trunkSourceWebCorepagePerformanceResourceTimingidl">trunk/Source/WebCore/page/PerformanceResourceTiming.idl</a></li>
<li><a href="#trunkSourceWebCoretestingInternalscpp">trunk/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsh">trunk/Source/WebCore/testing/Internals.h</a></li>
<li><a href="#trunkSourceWebCoretestingInternalsidl">trunk/Source/WebCore/testing/Internals.idl</a></li>
<li><a href="#trunkSourcecmakeWebKitFeaturescmake">trunk/Source/cmake/WebKitFeatures.cmake</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastdomWindowwindowpropertiesperformanceresourcetimingexpectedtxt">trunk/LayoutTests/fast/dom/Window/window-properties-performance-resource-timing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastdomWindowwindowpropertiesperformanceresourcetiminghtml">trunk/LayoutTests/fast/dom/Window/window-properties-performance-resource-timing.html</a></li>
<li>trunk/LayoutTests/http/tests/performance/</li>
<li><a href="#trunkLayoutTestshttptestsperformanceperformanceresourcetimingentriesexpectedtxt">trunk/LayoutTests/http/tests/performance/performance-resource-timing-entries-expected.txt</a></li>
<li><a href="#trunkLayoutTestshttptestsperformanceperformanceresourcetimingentrieshtml">trunk/LayoutTests/http/tests/performance/performance-resource-timing-entries.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/ChangeLog        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-04-29  Yoav Weiss  &lt;yoav@yoav.ws&gt;
+
+        Move ResourceTiming behind a runtime flag
+        https://bugs.webkit.org/show_bug.cgi?id=157133
+
+        Reviewed by Alex Christensen.
+
+        * Source/cmake/WebKitFeatures.cmake: Remove the PERFORMANCE_TIMELINE build flag.
+
</ins><span class="cx"> 2016-04-28  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r200185.
</span></span></pre></div>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/LayoutTests/ChangeLog        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2016-04-29  Yoav Weiss  &lt;yoav@yoav.ws&gt;
+
+        Move ResourceTiming behind a runtime flag
+        https://bugs.webkit.org/show_bug.cgi?id=157133
+
+        Reviewed by Alex Christensen.
+
+        Added tests that make sure ResourceTiming APIs are exposed and that resources
+        show up as entries in the performance timeline.
+
+        * fast/dom/Window/window-properties-performance-resource-timing-expected.txt: Added.
+        * fast/dom/Window/window-properties-performance-resource-timing.html: Added.
+        * fast/dom/Window/window-properties-performance.html: Removed &quot;//;&quot;.
+        * http/tests/performance/performance-resource-timing-entries-expected.txt: Added.
+        * http/tests/performance/performance-resource-timing-entries.html: Added.
+
</ins><span class="cx"> 2016-04-29  Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
</span><span class="cx"> 
</span><span class="cx">         Drop [UsePointersEvenForNonNullableObjectArguments] from MediaStream interfaces
</span></span></pre></div>
<a id="trunkLayoutTestsfastdomWindowwindowpropertiesperformanceresourcetimingexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/dom/Window/window-properties-performance-resource-timing-expected.txt (0 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Window/window-properties-performance-resource-timing-expected.txt                                (rev 0)
+++ trunk/LayoutTests/fast/dom/Window/window-properties-performance-resource-timing-expected.txt        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+This test dumps all of the properties that are reachable from the window.performance object, along with their types.
+
+window.performance [object Performance]
+window.performance.addEventListener [function]
+window.performance.clearResourceTimings [function]
+window.performance.dispatchEvent [function]
+window.performance.getEntries [function]
+window.performance.getEntriesByName [function]
+window.performance.getEntriesByType [function]
+window.performance.navigation [object PerformanceNavigation]
+window.performance.navigation.TYPE_BACK_FORWARD [number]
+window.performance.navigation.TYPE_NAVIGATE [number]
+window.performance.navigation.TYPE_RELOAD [number]
+window.performance.navigation.TYPE_RESERVED [number]
+window.performance.navigation.redirectCount [number]
+window.performance.navigation.type [number]
+window.performance.now [function]
+window.performance.onresourcetimingbufferfull [null]
+window.performance.removeEventListener [function]
+window.performance.setResourceTimingBufferSize [function]
+window.performance.timing [object PerformanceTiming]
+window.performance.timing.connectEnd [number]
+window.performance.timing.connectStart [number]
+window.performance.timing.domComplete [number]
+window.performance.timing.domContentLoadedEventEnd [number]
+window.performance.timing.domContentLoadedEventStart [number]
+window.performance.timing.domInteractive [number]
+window.performance.timing.domLoading [number]
+window.performance.timing.domainLookupEnd [number]
+window.performance.timing.domainLookupStart [number]
+window.performance.timing.fetchStart [number]
+window.performance.timing.loadEventEnd [number]
+window.performance.timing.loadEventStart [number]
+window.performance.timing.navigationStart [number]
+window.performance.timing.redirectEnd [number]
+window.performance.timing.redirectStart [number]
+window.performance.timing.requestStart [number]
+window.performance.timing.responseEnd [number]
+window.performance.timing.responseStart [number]
+window.performance.timing.secureConnectionStart [number]
+window.performance.timing.unloadEventEnd [number]
+window.performance.timing.unloadEventStart [number]
+window.performance.timing [printed above as window.performance.timing]
+window.performance.navigation [printed above as window.performance.navigation]
+window.performance [string]
+
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomWindowwindowpropertiesperformanceresourcetiminghtmlfromrev200231trunkLayoutTestsfastdomWindowwindowpropertiesperformancehtml"></a>
<div class="copfile"><h4>Copied: trunk/LayoutTests/fast/dom/Window/window-properties-performance-resource-timing.html (from rev 200231, trunk/LayoutTests/fast/dom/Window/window-properties-performance.html) (0 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Window/window-properties-performance-resource-timing.html                                (rev 0)
+++ trunk/LayoutTests/fast/dom/Window/window-properties-performance-resource-timing.html        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -0,0 +1,104 @@
</span><ins>+&lt;p&gt;This test dumps all of the properties that are reachable from the window.performance object, along with their types.&lt;/p&gt;
+&lt;hr&gt;
+&lt;pre id=&quot;pre&quot;&gt;&lt;/pre&gt;
+
+&lt;script&gt;
+if (window.testRunner)
+    testRunner.dumpAsText();
+
+if (window.internals)
+    internals.setResourceTimingSupport(true);
+    
+var logBuffer = [];
+function log(s)
+{
+    logBuffer.push(s);
+}
+
+var pre = document.getElementById('pre');
+function flushLog()
+{
+    var logMessage = logBuffer.join(&quot;&quot;);
+    pre.appendChild(document.createTextNode(logMessage));
+}
+
+function tryEval(string)
+{
+    try {
+        return eval(string);
+    } catch (e) {
+        return new String(&quot;Caught exception: &quot; + e);
+    }
+}
+
+function typeOfNullAware(value)
+{
+    if (typeof value == &quot;object&quot; &amp;&amp; value == null)
+        return &quot;null&quot;;
+    return typeof value;
+}
+
+function typeStringNullAware(value)
+{
+    var valueType = typeOfNullAware(value);
+    return valueType == &quot;object&quot;
+        ? Object.prototype.toString.call(value)
+        : &quot;[&quot; + valueType + &quot;]&quot;;
+}
+
+function logValue(valueName)
+{
+    var value = tryEval(valueName);
+    var valueType = typeOfNullAware(value);
+
+    // Don't taint the test with our own variables
+    if (value == logBuffer || value == pre)
+        return;
+
+    // Don't taint the test with our own properties
+    if (/__visitedByLogValue__/.test(valueName) || /__nameWhenVisitedByLogValue__/.test(valueName))
+        return;
+
+    // Work around Firefox infinite recursion
+    if (/\.[0-9]/.test(valueName))
+        return;
+
+    // Avoid infinite recursion
+    if (valueType == &quot;object&quot; &amp;&amp; value.__visitedByLogValue__) {
+        log(valueName + &quot; [printed above as &quot; + value.__nameWhenVisitedByLogValue__ + &quot;]\n&quot;);
+        return;
+    }
+
+    log(valueName + &quot; &quot; + typeStringNullAware(value) + &quot;\n&quot;);
+
+    if (valueType == &quot;object&quot;) {
+        value.__visitedByLogValue__ = true;
+        value.__nameWhenVisitedByLogValue__ = valueName;
+        logProperties(value, valueName);
+    }
+}
+
+function logProperties(object, objectName)
+{
+    var array = new Array;
+    for (var property in object) {
+        array.push(property);
+    }
+    array.sort();
+    for (var i = 0; i &lt; array.length; i++) {
+        var property = array[i];
+        logValue(objectName + &quot;.&quot; + property);
+    }
+}
+
+logValue('window.performance');
+window.performance.timing = 'timing is not replaceable';
+logValue('window.performance.timing');
+window.performance.navigation = 'navigation is not replaceable';
+logValue('window.performance.navigation');
+window.performance = 'performance is replaceable';
+logValue('window.performance');
+flushLog();
+if (window.internals)
+    internals.setResourceTimingSupport(false);
+&lt;/script&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastdomWindowwindowpropertiesperformancehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/dom/Window/window-properties-performance.html (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/dom/Window/window-properties-performance.html        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/LayoutTests/fast/dom/Window/window-properties-performance.html        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> function typeOfNullAware(value)
</span><span class="cx"> {
</span><del>-    if (typeof value == &quot;object&quot; &amp;&amp; value == null) //;
</del><ins>+    if (typeof value == &quot;object&quot; &amp;&amp; value == null)
</ins><span class="cx">         return &quot;null&quot;;
</span><span class="cx">     return typeof value;
</span><span class="cx"> }
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     // Avoid infinite recursion
</span><del>-    if (valueType == &quot;object&quot; &amp;&amp; value.__visitedByLogValue__) { //;
</del><ins>+    if (valueType == &quot;object&quot; &amp;&amp; value.__visitedByLogValue__) {
</ins><span class="cx">         log(valueName + &quot; [printed above as &quot; + value.__nameWhenVisitedByLogValue__ + &quot;]\n&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsperformanceperformanceresourcetimingentriesexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/http/tests/performance/performance-resource-timing-entries-expected.txt (0 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/performance/performance-resource-timing-entries-expected.txt                                (rev 0)
+++ trunk/LayoutTests/http/tests/performance/performance-resource-timing-entries-expected.txt        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -0,0 +1,5 @@
</span><ins>+PASS successfullyParsed is true
+
+TEST COMPLETE
+PASS performance.getEntriesByType('resource').length is 2
+
</ins></span></pre></div>
<a id="trunkLayoutTestshttptestsperformanceperformanceresourcetimingentrieshtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/http/tests/performance/performance-resource-timing-entries.html (0 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/performance/performance-resource-timing-entries.html                                (rev 0)
+++ trunk/LayoutTests/http/tests/performance/performance-resource-timing-entries.html        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script&gt;
+if (window.internals)
+    internals.setResourceTimingSupport(true);
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;span id=&quot;e&quot;&gt;&lt;/span&gt;
+&lt;span id=&quot;f&quot;&gt;&lt;/span&gt;
+&lt;script&gt;
+window.addEventListener(&quot;load&quot;, function() {
+    shouldBe(&quot;performance.getEntriesByType('resource').length&quot;, &quot;2&quot;);
+    if (window.internals)
+        window.internals.setResourceTimingSupport(false);
+});
+
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-04-29  Yoav Weiss  &lt;yoav@yoav.ws&gt;
+
+        Move ResourceTiming behind a runtime flag
+        https://bugs.webkit.org/show_bug.cgi?id=157133
+
+        Reviewed by Alex Christensen.
+
+        * runtime/CommonIdentifiers.h: Added PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming as property names.
+
</ins><span class="cx"> 2016-04-28  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove unused bool parameter in CodeCache::getGlobalCodeBlock
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonIdentifiersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/JavaScriptCore/runtime/CommonIdentifiers.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -71,6 +71,9 @@
</span><span class="cx">     macro(Number) \
</span><span class="cx">     macro(NumberFormat) \
</span><span class="cx">     macro(Object) \
</span><ins>+    macro(PerformanceEntry) \
+    macro(PerformanceEntryList) \
+    macro(PerformanceResourceTiming) \
</ins><span class="cx">     macro(Promise) \
</span><span class="cx">     macro(Proxy) \
</span><span class="cx">     macro(RangeError) \
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/ChangeLog        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -1,3 +1,57 @@
</span><ins>+2016-04-29  Yoav Weiss  &lt;yoav@yoav.ws&gt;
+
+        Move ResourceTiming behind a runtime flag
+        https://bugs.webkit.org/show_bug.cgi?id=157133
+
+        Reviewed by Alex Christensen.
+
+        Move the ResourceTiming API from being behind a build time flag to be behind an
+        off-by-default runtime flag, that can be turned on using internals.
+
+        Tests: fast/dom/Window/window-properties-performance-resource-timing.html
+               http/tests/performance/performance-resource-timing-entries.html
+
+        * DerivedSources.make: Added idl files for PerformanceEntry, PerformanceEntryList and PerformanceResourceTiming.
+        * WebCore.xcodeproj/project.pbxproj: Added the various Performance* files to the project.
+        * bindings/generic/RuntimeEnabledFeatures.cpp: Added ResourceTiming as a runtime flag.
+        (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
+        * bindings/generic/RuntimeEnabledFeatures.h: Added ResourceTiming as a runtime flag.
+        (WebCore::RuntimeEnabledFeatures::setResourceTimingEnabled):
+        (WebCore::RuntimeEnabledFeatures::resourceTimingEnabled):
+        * bindings/js/JSPerformanceEntryCustom.cpp: Removed #if for ResourceTiming. Added build flag around UserTiming related h files.
+        (WebCore::toJS): Deleted.
+        * dom/EventNames.h: Renamed webkitresourcetimingbufferfull to resourcetimingbufferfull.
+        * loader/DocumentThreadableLoader.cpp: Replace #if for ResourceTiming with runtime flag.
+        (WebCore::DocumentThreadableLoader::loadRequest):
+        * loader/ResourceLoadNotifier.cpp: Replace #if for ResourceTiming with runtime flag.
+        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
+        * loader/cache/CachedResourceLoader.cpp: Replace #if for ResourceTiming with runtime flag.
+        (WebCore::CachedResourceLoader::revalidateResource):
+        (WebCore::CachedResourceLoader::loadResource):
+        (WebCore::CachedResourceLoader::storeResourceTimingInitiatorInformation):
+        (WebCore::CachedResourceLoader::loadDone):
+        * loader/cache/CachedResourceLoader.h: Remove #if for ResourceTiming.
+        * page/Performance.cpp: Remove #if for ResourceTiming.
+        (WebCore::Performance::Performance): Removed #if for ResourceTiming related initialization.
+        (WebCore::Performance::webkitGetEntries): Renamed to getEntries.
+        (WebCore::Performance::webkitGetEntriesByType): Renamed to getEntriesByType.
+        (WebCore::Performance::webkitGetEntriesByName): Renamed to getEntriesByName.
+        * page/Performance.h: Remove #if for ResourceTiming.
+        * page/Performance.idl: Replace #if for ResourceTiming with runtime flag.
+        * page/PerformanceEntry.cpp: Remove the PERFORMANCE_TIMELINE build flag.
+        * page/PerformanceEntry.h: Remove the PERFORMANCE_TIMELINE build flag.
+        * page/PerformanceEntry.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
+        * page/PerformanceEntryList.cpp: Remove the PERFORMANCE_TIMELINE build flag.
+        * page/PerformanceEntryList.h: Remove the PERFORMANCE_TIMELINE build flag.
+        * page/PerformanceEntryList.idl: Replace the PERFORMANCE_TIMELINE build flag with runtime flag.
+        * page/PerformanceResourceTiming.cpp: Remove the RESOURCE_TIMING build flag.
+        * page/PerformanceResourceTiming.h: Remove the RESOURCE_TIMING build flag.
+        * page/PerformanceResourceTiming.idl: Replace the RESOURCE_TIMING build flag with runtime flag.
+        * testing/Internals.cpp: Add a method that enables ResourceTiming.
+        (WebCore::Internals::setResourceTimingSupport):
+        * testing/Internals.h: Add a method that enables ResourceTiming.
+        * testing/Internals.idl: Add a method that enables ResourceTiming.
+
</ins><span class="cx"> 2016-04-29  Youenn Fablet  &lt;youenn.fablet@crf.canon.fr&gt;
</span><span class="cx"> 
</span><span class="cx">         Drop [UsePointersEvenForNonNullableObjectArguments] from MediaStream interfaces
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/DerivedSources.make        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -518,7 +518,10 @@
</span><span class="cx">     $(WebCore)/page/Location.idl \
</span><span class="cx">     $(WebCore)/page/Navigator.idl \
</span><span class="cx">     $(WebCore)/page/Performance.idl \
</span><ins>+    $(WebCore)/page/PerformanceEntry.idl \
+    $(WebCore)/page/PerformanceEntryList.idl \
</ins><span class="cx">     $(WebCore)/page/PerformanceNavigation.idl \
</span><ins>+    $(WebCore)/page/PerformanceResourceTiming.idl \
</ins><span class="cx">     $(WebCore)/page/PerformanceTiming.idl \
</span><span class="cx">     $(WebCore)/page/Screen.idl \
</span><span class="cx">     $(WebCore)/page/WebKitPoint.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -5991,6 +5991,14 @@
</span><span class="cx">                 CA3BF67E10D99BAE00E6CE53 /* ScrollAnimator.h in Headers */ = {isa = PBXBuildFile; fileRef = CA3BF67D10D99BAE00E6CE53 /* ScrollAnimator.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 CAE9F90F146441F000C245B0 /* CSSAspectRatioValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CAE9F90D146441F000C245B0 /* CSSAspectRatioValue.cpp */; };
</span><span class="cx">                 CAE9F910146441F000C245B0 /* CSSAspectRatioValue.h in Headers */ = {isa = PBXBuildFile; fileRef = CAE9F90E146441F000C245B0 /* CSSAspectRatioValue.h */; };
</span><ins>+                CB38FD4B1CCCF36600592A3F /* PerformanceEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB38FD4A1CCCF2DD00592A3F /* PerformanceEntry.cpp */; };
+                CB38FD511CCF938900592A3F /* JSPerformanceEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB38FD4D1CCF937E00592A3F /* JSPerformanceEntry.cpp */; };
+                CB38FD521CCF939400592A3F /* JSPerformanceEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = CB38FD4E1CCF937E00592A3F /* JSPerformanceEntry.h */; };
+                CB38FD531CCF939B00592A3F /* JSPerformanceEntryList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB38FD4F1CCF937E00592A3F /* JSPerformanceEntryList.cpp */; };
+                CB38FD541CCF939E00592A3F /* JSPerformanceEntryList.h in Headers */ = {isa = PBXBuildFile; fileRef = CB38FD501CCF937E00592A3F /* JSPerformanceEntryList.h */; };
+                CB38FD571CD21E2A00592A3F /* JSPerformanceEntryCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB38FD551CD21D5B00592A3F /* JSPerformanceEntryCustom.cpp */; };
+                CB38FD5A1CD2325800592A3F /* JSPerformanceResourceTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB38FD581CD2314500592A3F /* JSPerformanceResourceTiming.cpp */; };
+                CB38FD5B1CD2325B00592A3F /* JSPerformanceResourceTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = CB38FD591CD2314500592A3F /* JSPerformanceResourceTiming.h */; };
</ins><span class="cx">                 CB8CF0181A9358D4000D510B /* Microtasks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB8CF0151A934B43000D510B /* Microtasks.cpp */; };
</span><span class="cx">                 CCC2B51415F613060048CDD6 /* DeviceClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CCC2B51015F613060048CDD6 /* DeviceClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 CCC2B51515F613060048CDD6 /* DeviceController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CCC2B51115F613060048CDD6 /* DeviceController.cpp */; };
</span><span class="lines">@@ -13956,6 +13964,14 @@
</span><span class="cx">                 CA3BF67D10D99BAE00E6CE53 /* ScrollAnimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollAnimator.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CAE9F90D146441F000C245B0 /* CSSAspectRatioValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSAspectRatioValue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CAE9F90E146441F000C245B0 /* CSSAspectRatioValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSAspectRatioValue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                CB38FD4A1CCCF2DD00592A3F /* PerformanceEntry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerformanceEntry.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                CB38FD4D1CCF937E00592A3F /* JSPerformanceEntry.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = JSPerformanceEntry.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                CB38FD4E1CCF937E00592A3F /* JSPerformanceEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPerformanceEntry.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                CB38FD4F1CCF937E00592A3F /* JSPerformanceEntryList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPerformanceEntryList.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                CB38FD501CCF937E00592A3F /* JSPerformanceEntryList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = JSPerformanceEntryList.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                CB38FD551CD21D5B00592A3F /* JSPerformanceEntryCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPerformanceEntryCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                CB38FD581CD2314500592A3F /* JSPerformanceResourceTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPerformanceResourceTiming.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                CB38FD591CD2314500592A3F /* JSPerformanceResourceTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPerformanceResourceTiming.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 CB8CF0151A934B43000D510B /* Microtasks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Microtasks.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CCC2B51015F613060048CDD6 /* DeviceClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeviceClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 CCC2B51115F613060048CDD6 /* DeviceController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeviceController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -18058,6 +18074,7 @@
</span><span class="cx">                                 8A844D0211D3C18E0014065C /* Performance.h */,
</span><span class="cx">                                 8A844D0311D3C18E0014065C /* Performance.idl */,
</span><span class="cx">                                 86BE33FB15058CB200CE0FD8 /* PerformanceEntry.h */,
</span><ins>+                                CB38FD4A1CCCF2DD00592A3F /* PerformanceEntry.cpp */,
</ins><span class="cx">                                 86BE33FC15058CB200CE0FD8 /* PerformanceEntry.idl */,
</span><span class="cx">                                 86BE33FD15058CB200CE0FD8 /* PerformanceEntryList.cpp */,
</span><span class="cx">                                 86BE33FE15058CB200CE0FD8 /* PerformanceEntryList.h */,
</span><span class="lines">@@ -22313,6 +22330,7 @@
</span><span class="cx">                                 83F1206A1B8C103600D75F63 /* JSNodeFilterCustom.cpp */,
</span><span class="cx">                                 7C91A38D1B498ABE003F9EFA /* JSNodeOrString.cpp */,
</span><span class="cx">                                 7C91A38E1B498ABE003F9EFA /* JSNodeOrString.h */,
</span><ins>+                                CB38FD551CD21D5B00592A3F /* JSPerformanceEntryCustom.cpp */,
</ins><span class="cx">                                 93B70D4F09EB0C7C009D8468 /* JSPluginElementFunctions.cpp */,
</span><span class="cx">                                 93B70D5009EB0C7C009D8468 /* JSPluginElementFunctions.h */,
</span><span class="cx">                                 4129DF831BB5B7F700322A16 /* JSReadableStreamPrivateConstructors.cpp */,
</span><span class="lines">@@ -22649,8 +22667,14 @@
</span><span class="cx">                                 A9D247F60D757E3300FDF959 /* JSNavigator.h */,
</span><span class="cx">                                 E51A81DE17298D7700BFCA61 /* JSPerformance.cpp */,
</span><span class="cx">                                 8A9A587311E84C81008ACFD1 /* JSPerformance.h */,
</span><ins>+                                CB38FD4D1CCF937E00592A3F /* JSPerformanceEntry.cpp */,
+                                CB38FD4E1CCF937E00592A3F /* JSPerformanceEntry.h */,
+                                CB38FD4F1CCF937E00592A3F /* JSPerformanceEntryList.cpp */,
+                                CB38FD501CCF937E00592A3F /* JSPerformanceEntryList.h */,
</ins><span class="cx">                                 8A9A586E11E84C35008ACFD1 /* JSPerformanceNavigation.cpp */,
</span><span class="cx">                                 8A9A586F11E84C36008ACFD1 /* JSPerformanceNavigation.h */,
</span><ins>+                                CB38FD581CD2314500592A3F /* JSPerformanceResourceTiming.cpp */,
+                                CB38FD591CD2314500592A3F /* JSPerformanceResourceTiming.h */,
</ins><span class="cx">                                 0F43C85E189E15A600019AE2 /* JSPerformanceTiming.cpp */,
</span><span class="cx">                                 8A9A587711E84C98008ACFD1 /* JSPerformanceTiming.h */,
</span><span class="cx">                                 BCEC01C00C274DDD009F4EC9 /* JSScreen.cpp */,
</span><span class="lines">@@ -25556,6 +25580,7 @@
</span><span class="cx">                                 2D29ECCA192F1F1D00984B78 /* DisplayRefreshMonitorIOS.h in Headers */,
</span><span class="cx">                                 2DE70023192FE82A00B0975C /* DisplayRefreshMonitorMac.h in Headers */,
</span><span class="cx">                                 2D29ECC8192ECC8300984B78 /* DisplayRefreshMonitorManager.h in Headers */,
</span><ins>+                                CB38FD521CCF939400592A3F /* JSPerformanceEntry.h in Headers */,
</ins><span class="cx">                                 CD52481B18E200ED0008A07D /* DisplaySleepDisabler.h in Headers */,
</span><span class="cx">                                 5D8C4DC01428222C0026CE72 /* DisplaySleepDisablerCocoa.h in Headers */,
</span><span class="cx">                                 FD31609112B026F700C1A359 /* Distance.h in Headers */,
</span><span class="lines">@@ -27691,6 +27716,7 @@
</span><span class="cx">                                 BCEA4868097D93020094C9E4 /* RenderView.h in Headers */,
</span><span class="cx">                                 BE20507E18A458C20080647E /* RenderVTTCue.h in Headers */,
</span><span class="cx">                                 A871DFE40A15376B00B12A68 /* RenderWidget.h in Headers */,
</span><ins>+                                CB38FD5B1CD2325B00592A3F /* JSPerformanceResourceTiming.h in Headers */,
</ins><span class="cx">                                 A89CCC530F44E98100B5DA10 /* ReplaceNodeWithSpanCommand.h in Headers */,
</span><span class="cx">                                 93309E0A099E64920056E581 /* ReplaceSelectionCommand.h in Headers */,
</span><span class="cx">                                 99CC0B5418BE9849006CEBCC /* ReplayController.h in Headers */,
</span><span class="lines">@@ -28020,6 +28046,7 @@
</span><span class="cx">                                 A8EA800A0A19516E00A8EF5F /* StyleSheetList.h in Headers */,
</span><span class="cx">                                 BC5EB5E50E81BF6D00B25965 /* StyleSurroundData.h in Headers */,
</span><span class="cx">                                 BC5EB8100E81F2CE00B25965 /* StyleTransformData.h in Headers */,
</span><ins>+                                CB38FD541CCF939E00592A3F /* JSPerformanceEntryList.h in Headers */,
</ins><span class="cx">                                 E4DEAA1817A93DC3000E0430 /* StyleTreeResolver.h in Headers */,
</span><span class="cx">                                 BC5EB69A0E81DA6300B25965 /* StyleVisualData.h in Headers */,
</span><span class="cx">                                 D000ED2811C1B9CD00C47726 /* SubframeLoader.h in Headers */,
</span><span class="lines">@@ -29202,6 +29229,7 @@
</span><span class="cx">                                 B27535770B053814002CE64F /* ColorMac.mm in Sources */,
</span><span class="cx">                                 43EDD67E1B485DBF00640E75 /* CombinedFiltersAlphabet.cpp in Sources */,
</span><span class="cx">                                 26E944D81AC4B2DD007B85B5 /* CombinedURLFilters.cpp in Sources */,
</span><ins>+                                CB38FD4B1CCCF36600592A3F /* PerformanceEntry.cpp in Sources */,
</ins><span class="cx">                                 A584FE341864D5AF00843B10 /* CommandLineAPIHost.cpp in Sources */,
</span><span class="cx">                                 A584FE2B1863870F00843B10 /* CommandLineAPIModule.cpp in Sources */,
</span><span class="cx">                                 6550B6A1099DF0270090D781 /* Comment.cpp in Sources */,
</span><span class="lines">@@ -31220,6 +31248,7 @@
</span><span class="cx">                                 BC96DB460F3A882200573CB3 /* RenderBoxModelObject.cpp in Sources */,
</span><span class="cx">                                 BCEA4865097D93020094C9E4 /* RenderButton.cpp in Sources */,
</span><span class="cx">                                 BCE4413312F748E2009B84B8 /* RenderCombineText.cpp in Sources */,
</span><ins>+                                CB38FD5A1CD2325800592A3F /* JSPerformanceResourceTiming.cpp in Sources */,
</ins><span class="cx">                                 9392F1440AD185FE00691BD4 /* RenderCounter.cpp in Sources */,
</span><span class="cx">                                 BCEA486D097D93020094C9E4 /* RenderDeprecatedFlexibleBox.cpp in Sources */,
</span><span class="cx">                                 D302754912A5FE84004BD828 /* RenderDetailsMarker.cpp in Sources */,
</span><span class="lines">@@ -31996,6 +32025,7 @@
</span><span class="cx">                                 444D4E230F708B2E003158E0 /* WebCoreURLResponseIOS.mm in Sources */,
</span><span class="cx">                                 93F19B0708245E59001E9ABC /* WebCoreView.m in Sources */,
</span><span class="cx">                                 A5E616731894581F009ADF50 /* WebDebuggerAgent.cpp in Sources */,
</span><ins>+                                CB38FD571CD21E2A00592A3F /* JSPerformanceEntryCustom.cpp in Sources */,
</ins><span class="cx">                                 FE0D84EB1048436E001A179E /* WebEvent.mm in Sources */,
</span><span class="cx">                                 225A16B60D5C11E900090295 /* WebEventRegion.mm in Sources */,
</span><span class="cx">                                 D3F3D36D1A69B7DC0059FC2B /* WebGL2RenderingContext.cpp in Sources */,
</span><span class="lines">@@ -32075,6 +32105,7 @@
</span><span class="cx">                                 B10B6981140C174000BC1C26 /* WebVTTTokenizer.cpp in Sources */,
</span><span class="cx">                                 CD8203111395ACE700F956C6 /* WebWindowAnimation.mm in Sources */,
</span><span class="cx">                                 F55B3DDF1251F12D003EF269 /* WeekInputType.cpp in Sources */,
</span><ins>+                                CB38FD511CCF938900592A3F /* JSPerformanceEntry.cpp in Sources */,
</ins><span class="cx">                                 85031B500A44EFC700F992E0 /* WheelEvent.cpp in Sources */,
</span><span class="cx">                                 2E19516B1B6598D200DF6EEF /* WheelEventDeltaFilter.cpp in Sources */,
</span><span class="cx">                                 2EEEE55C1B66A047008E2CBC /* WheelEventDeltaFilterMac.mm in Sources */,
</span><span class="lines">@@ -32112,6 +32143,7 @@
</span><span class="cx">                                 00B9318913BA8DBC0035A948 /* XMLDocumentParserLibxml2.cpp in Sources */,
</span><span class="cx">                                 00B9318B13BA8DC90035A948 /* XMLDocumentParserScope.cpp in Sources */,
</span><span class="cx">                                 59C28045138DC2410079B7E2 /* XMLErrors.cpp in Sources */,
</span><ins>+                                CB38FD531CCF939B00592A3F /* JSPerformanceEntryList.cpp in Sources */,
</ins><span class="cx">                                 BC772C460C4EB2C60083285F /* XMLHttpRequest.cpp in Sources */,
</span><span class="cx">                                 A136A00C1134DBD200CC8D50 /* XMLHttpRequestProgressEventThrottle.cpp in Sources */,
</span><span class="cx">                                 BCDFD48F0E305290009D10AD /* XMLHttpRequestUpload.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsgenericRuntimeEnabledFeaturescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -59,6 +59,7 @@
</span><span class="cx"> #else
</span><span class="cx">     , m_isPluginReplacementEnabled(false)
</span><span class="cx"> #endif
</span><ins>+    , m_isResourceTimingEnabled(false)
</ins><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">     , m_isIndexedDBEnabled(false)
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsgenericRuntimeEnabledFeaturesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -201,6 +201,9 @@
</span><span class="cx">     void setPluginReplacementEnabled(bool isEnabled) { m_isPluginReplacementEnabled = isEnabled; }
</span><span class="cx">     bool pluginReplacementEnabled() const { return m_isPluginReplacementEnabled; }
</span><span class="cx"> 
</span><ins>+    void setResourceTimingEnabled(bool isEnabled) { m_isResourceTimingEnabled = isEnabled; }
+    bool resourceTimingEnabled() const { return m_isResourceTimingEnabled; }
+
</ins><span class="cx"> #if ENABLE(GAMEPAD)
</span><span class="cx">     void setGamepadsEnabled(bool areEnabled) { m_areGamepadsEnabled = areEnabled; }
</span><span class="cx">     bool gamepadsEnabled() const { return m_areGamepadsEnabled; }
</span><span class="lines">@@ -267,6 +270,7 @@
</span><span class="cx">     bool m_isCSSCompositingEnabled;
</span><span class="cx">     bool m_isLangAttributeAwareFormControlUIEnabled;
</span><span class="cx">     bool m_isPluginReplacementEnabled;
</span><ins>+    bool m_isResourceTimingEnabled;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(INDEXED_DATABASE)
</span><span class="cx">     bool m_isIndexedDBEnabled;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSPerformanceEntryCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSPerformanceEntryCustom.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSPerformanceEntryCustom.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/bindings/js/JSPerformanceEntryCustom.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -30,13 +30,13 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> 
</span><del>-#if ENABLE(PERFORMANCE_TIMELINE)
-
</del><span class="cx"> #include &quot;JSPerformanceEntry.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;JSDOMBinding.h&quot;
</span><ins>+#if ENABLE(USER_TIMING)
</ins><span class="cx"> #include &quot;JSPerformanceMark.h&quot;
</span><span class="cx"> #include &quot;JSPerformanceMeasure.h&quot;
</span><ins>+#endif
</ins><span class="cx"> #include &quot;JSPerformanceResourceTiming.h&quot;
</span><span class="cx"> #include &quot;PerformanceMark.h&quot;
</span><span class="cx"> #include &quot;PerformanceMeasure.h&quot;
</span><span class="lines">@@ -51,10 +51,8 @@
</span><span class="cx">     if (!entry)
</span><span class="cx">         return jsNull();
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx">     if (entry-&gt;isResource())
</span><span class="cx">         return wrap&lt;JSPerformanceResourceTiming&gt;(globalObject, static_cast&lt;PerformanceResourceTiming*&gt;(entry));
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(USER_TIMING)
</span><span class="cx">     if (entry-&gt;isMark())
</span><span class="lines">@@ -68,5 +66,3 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // ENABLE(PERFORMANCE_TIMELINE)
</del></span></pre></div>
<a id="trunkSourceWebCoredomEventNamesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventNames.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventNames.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/dom/EventNames.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -183,6 +183,7 @@
</span><span class="cx">     macro(removetrack) \
</span><span class="cx">     macro(reset) \
</span><span class="cx">     macro(resize) \
</span><ins>+    macro(resourcetimingbufferfull) \
</ins><span class="cx">     macro(result) \
</span><span class="cx">     macro(resume) \
</span><span class="cx">     macro(scroll) \
</span><span class="lines">@@ -261,7 +262,6 @@
</span><span class="cx">     macro(webkitpresentationmodechanged) \
</span><span class="cx">     macro(webkitregionoversetchange) \
</span><span class="cx">     macro(webkitremovesourcebuffer) \
</span><del>-    macro(webkitresourcetimingbufferfull) \
</del><span class="cx">     macro(webkitsourceclose) \
</span><span class="cx">     macro(webkitsourceended) \
</span><span class="cx">     macro(webkitsourceopen) \
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -45,6 +45,7 @@
</span><span class="cx"> #include &quot;ProgressTracker.h&quot;
</span><span class="cx"> #include &quot;ResourceError.h&quot;
</span><span class="cx"> #include &quot;ResourceRequest.h&quot;
</span><ins>+#include &quot;RuntimeEnabledFeatures.h&quot;
</ins><span class="cx"> #include &quot;SchemeRegistry.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &quot;SubresourceLoader.h&quot;
</span><span class="lines">@@ -385,9 +386,8 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         CachedResourceRequest newRequest(request, options);
</span><del>-#if ENABLE(RESOURCE_TIMING)
-        newRequest.setInitiator(m_options.initiator);
-#endif
</del><ins>+        if (RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
+            newRequest.setInitiator(m_options.initiator);
</ins><span class="cx">         ASSERT(!m_resource);
</span><span class="cx">         m_resource = m_document.cachedResourceLoader().requestRawResource(newRequest);
</span><span class="cx">         if (m_resource)
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadNotifiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/loader/ResourceLoadNotifier.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;ProgressTracker.h&quot;
</span><span class="cx"> #include &quot;ResourceLoader.h&quot;
</span><ins>+#include &quot;RuntimeEnabledFeatures.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if USE(QUICK_LOOK)
</span><span class="cx"> #include &quot;QuickLook.h&quot;
</span><span class="lines">@@ -146,9 +147,8 @@
</span><span class="cx">     if (loader &amp;&amp; !request.isNull() &amp;&amp; request.url() == loader-&gt;url())
</span><span class="cx">         request.setReportLoadTiming(true);
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
-    request.setReportLoadTiming(true);
-#endif
</del><ins>+    if (RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
+        request.setReportLoadTiming(true);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ResourceLoadNotifier::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse&amp; r, ResourceLoader* resourceLoader)
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -57,10 +57,12 @@
</span><span class="cx"> #include &quot;MainFrame.h&quot;
</span><span class="cx"> #include &quot;MemoryCache.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><ins>+#include &quot;Performance.h&quot;
</ins><span class="cx"> #include &quot;PingLoader.h&quot;
</span><span class="cx"> #include &quot;PlatformStrategies.h&quot;
</span><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;ResourceLoadInfo.h&quot;
</span><ins>+#include &quot;RuntimeEnabledFeatures.h&quot;
</ins><span class="cx"> #include &quot;ScriptController.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &quot;SessionID.h&quot;
</span><span class="lines">@@ -75,10 +77,6 @@
</span><span class="cx"> #include &quot;CachedTextTrack.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
-#include &quot;Performance.h&quot;
-#endif
-
</del><span class="cx"> #define PRELOAD_DEBUG 0
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -671,11 +669,8 @@
</span><span class="cx">     
</span><span class="cx">     memoryCache.remove(*resource);
</span><span class="cx">     memoryCache.add(*newResource);
</span><del>-#if ENABLE(RESOURCE_TIMING)
-    storeResourceTimingInitiatorInformation(resource, request);
-#else
-    UNUSED_PARAM(request);
-#endif
</del><ins>+    if (RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
+        storeResourceTimingInitiatorInformation(resource, request);
</ins><span class="cx">     return newResource;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -690,15 +685,14 @@
</span><span class="cx"> 
</span><span class="cx">     if (request.allowsCaching() &amp;&amp; !memoryCache.add(*resource))
</span><span class="cx">         resource-&gt;setOwningCachedResourceLoader(this);
</span><del>-#if ENABLE(RESOURCE_TIMING)
-    storeResourceTimingInitiatorInformation(resource, request);
-#endif
</del><ins>+    if (RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
+        storeResourceTimingInitiatorInformation(resource, request);
</ins><span class="cx">     return resource;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx"> void CachedResourceLoader::storeResourceTimingInitiatorInformation(const CachedResourceHandle&lt;CachedResource&gt;&amp; resource, const CachedResourceRequest&amp; request)
</span><span class="cx"> {
</span><ins>+    ASSERT(RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled());
</ins><span class="cx">     if (resource-&gt;type() == CachedResource::MainResource) {
</span><span class="cx">         // &lt;iframe&gt;s should report the initial navigation requested by the parent document, but not subsequent navigations.
</span><span class="cx">         if (frame()-&gt;ownerElement() &amp;&amp; m_documentLoader-&gt;frameLoader()-&gt;stateMachine().committingFirstRealLoad()) {
</span><span class="lines">@@ -710,7 +704,6 @@
</span><span class="cx">         m_initiatorMap.add(resource.get(), info);
</span><span class="cx">     }
</span><span class="cx"> }
</span><del>-#endif // ENABLE(RESOURCE_TIMING)
</del><span class="cx"> 
</span><span class="cx"> static void logRevalidation(const String&amp; reason, DiagnosticLoggingClient&amp; logClient)
</span><span class="cx"> {
</span><span class="lines">@@ -976,8 +969,9 @@
</span><span class="cx">     RefPtr&lt;DocumentLoader&gt; protectDocumentLoader(m_documentLoader);
</span><span class="cx">     RefPtr&lt;Document&gt; protectDocument(m_document);
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
-    if (resource &amp;&amp; resource-&gt;response().isHTTP() &amp;&amp; ((!resource-&gt;errorOccurred() &amp;&amp; !resource-&gt;wasCanceled()) || resource-&gt;response().httpStatusCode() == 304)) {
</del><ins>+    if (RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled()
+        &amp;&amp; resource &amp;&amp; resource-&gt;response().isHTTP()
+        &amp;&amp; ((!resource-&gt;errorOccurred() &amp;&amp; !resource-&gt;wasCanceled()) || resource-&gt;response().httpStatusCode() == 304)) {
</ins><span class="cx">         HashMap&lt;CachedResource*, InitiatorInfo&gt;::iterator initiatorIt = m_initiatorMap.find(resource);
</span><span class="cx">         if (initiatorIt != m_initiatorMap.end()) {
</span><span class="cx">             ASSERT(document());
</span><span class="lines">@@ -990,9 +984,6 @@
</span><span class="cx">             m_initiatorMap.remove(initiatorIt);
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-#else
-    UNUSED_PARAM(resource);
-#endif // ENABLE(RESOURCE_TIMING)
</del><span class="cx"> 
</span><span class="cx">     if (frame())
</span><span class="cx">         frame()-&gt;loader().loadDone();
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceLoaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -144,9 +144,7 @@
</span><span class="cx">     CachedResourceHandle&lt;CachedResource&gt; requestResource(CachedResource::Type, CachedResourceRequest&amp;);
</span><span class="cx">     CachedResourceHandle&lt;CachedResource&gt; revalidateResource(const CachedResourceRequest&amp;, CachedResource*);
</span><span class="cx">     CachedResourceHandle&lt;CachedResource&gt; loadResource(CachedResource::Type, CachedResourceRequest&amp;);
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx">     void storeResourceTimingInitiatorInformation(const CachedResourceHandle&lt;CachedResource&gt;&amp;, const CachedResourceRequest&amp;);
</span><del>-#endif
</del><span class="cx">     void requestPreload(CachedResource::Type, CachedResourceRequest&amp;, const String&amp; charset);
</span><span class="cx"> 
</span><span class="cx">     enum RevalidationPolicy { Use, Revalidate, Reload, Load };
</span><span class="lines">@@ -179,13 +177,11 @@
</span><span class="cx"> 
</span><span class="cx">     Timer m_garbageCollectDocumentResourcesTimer;
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx">     struct InitiatorInfo {
</span><span class="cx">         AtomicString name;
</span><span class="cx">         double startTime;
</span><span class="cx">     };
</span><span class="cx">     HashMap&lt;CachedResource*, InitiatorInfo&gt; m_initiatorMap;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     // 29 bits left
</span><span class="cx">     bool m_autoLoadImages : 1;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformancecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Performance.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Performance.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/Performance.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -47,15 +47,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx"> static const size_t defaultResourceTimingBufferSize = 150;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> Performance::Performance(Frame&amp; frame)
</span><span class="cx">     : DOMWindowProperty(&amp;frame)
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx">     , m_resourceTimingBufferSize(defaultResourceTimingBufferSize)
</span><del>-#endif // ENABLE(RESOURCE_TIMING)
</del><span class="cx">     , m_referenceTime(frame.document()-&gt;loader() ? frame.document()-&gt;loader()-&gt;timing().referenceMonotonicTime() : monotonicallyIncreasingTime())
</span><span class="cx"> #if ENABLE(USER_TIMING)
</span><span class="cx">     , m_userTiming(nullptr)
</span><span class="lines">@@ -91,14 +87,11 @@
</span><span class="cx">     return m_timing.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(PERFORMANCE_TIMELINE)
-PassRefPtr&lt;PerformanceEntryList&gt; Performance::webkitGetEntries() const
</del><ins>+RefPtr&lt;PerformanceEntryList&gt; Performance::getEntries() const
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;PerformanceEntryList&gt; entries = PerformanceEntryList::create();
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx">     entries-&gt;appendAll(m_resourceTimingBuffer);
</span><del>-#endif // ENABLE(RESOURCE_TIMING)
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(USER_TIMING)
</span><span class="cx">     if (m_userTiming) {
</span><span class="lines">@@ -111,16 +104,14 @@
</span><span class="cx">     return entries;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;PerformanceEntryList&gt; Performance::webkitGetEntriesByType(const String&amp; entryType)
</del><ins>+RefPtr&lt;PerformanceEntryList&gt; Performance::getEntriesByType(const String&amp; entryType)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;PerformanceEntryList&gt; entries = PerformanceEntryList::create();
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx">     if (equalLettersIgnoringASCIICase(entryType, &quot;resource&quot;)) {
</span><span class="cx">         for (auto&amp; resource : m_resourceTimingBuffer)
</span><span class="cx">             entries-&gt;append(resource);
</span><span class="cx">     }
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(USER_TIMING)
</span><span class="cx">     if (m_userTiming) {
</span><span class="lines">@@ -135,18 +126,16 @@
</span><span class="cx">     return entries;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;PerformanceEntryList&gt; Performance::webkitGetEntriesByName(const String&amp; name, const String&amp; entryType)
</del><ins>+RefPtr&lt;PerformanceEntryList&gt; Performance::getEntriesByName(const String&amp; name, const String&amp; entryType)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;PerformanceEntryList&gt; entries = PerformanceEntryList::create();
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
</del><span class="cx">     if (entryType.isNull() || equalLettersIgnoringASCIICase(entryType, &quot;resource&quot;)) {
</span><span class="cx">         for (auto&amp; resource : m_resourceTimingBuffer) {
</span><span class="cx">             if (resource-&gt;name() == name)
</span><span class="cx">                 entries-&gt;append(resource);
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(USER_TIMING)
</span><span class="cx">     if (m_userTiming) {
</span><span class="lines">@@ -161,20 +150,16 @@
</span><span class="cx">     return entries;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#endif // ENABLE(PERFORMANCE_TIMELINE)
-
-#if ENABLE(RESOURCE_TIMING)
-
-void Performance::webkitClearResourceTimings()
</del><ins>+void Performance::clearResourceTimings()
</ins><span class="cx"> {
</span><span class="cx">     m_resourceTimingBuffer.clear();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Performance::webkitSetResourceTimingBufferSize(unsigned size)
</del><ins>+void Performance::setResourceTimingBufferSize(unsigned size)
</ins><span class="cx"> {
</span><span class="cx">     m_resourceTimingBufferSize = size;
</span><span class="cx">     if (isResourceTimingBufferFull())
</span><del>-        dispatchEvent(Event::create(eventNames().webkitresourcetimingbufferfullEvent, false, false));
</del><ins>+        dispatchEvent(Event::create(eventNames().resourcetimingbufferfullEvent, false, false));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Performance::addResourceTiming(const String&amp; initiatorName, Document* initiatorDocument, const ResourceRequest&amp; request, const ResourceResponse&amp; response, double initiationTime, double finishTime)
</span><span class="lines">@@ -187,7 +172,7 @@
</span><span class="cx">     m_resourceTimingBuffer.append(entry);
</span><span class="cx"> 
</span><span class="cx">     if (isResourceTimingBufferFull())
</span><del>-        dispatchEvent(Event::create(eventNames().webkitresourcetimingbufferfullEvent, false, false));
</del><ins>+        dispatchEvent(Event::create(eventNames().resourcetimingbufferfullEvent, false, false));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool Performance::isResourceTimingBufferFull()
</span><span class="lines">@@ -195,8 +180,6 @@
</span><span class="cx">     return m_resourceTimingBuffer.size() &gt;= m_resourceTimingBufferSize;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#endif // ENABLE(RESOURCE_TIMING)
-
</del><span class="cx"> #if ENABLE(USER_TIMING)
</span><span class="cx"> void Performance::webkitMark(const String&amp; markName, ExceptionCode&amp; ec)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Performance.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Performance.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/Performance.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx"> #include &quot;PerformanceNavigation.h&quot;
</span><span class="cx"> #include &quot;PerformanceTiming.h&quot;
</span><span class="cx"> #include &quot;ScriptWrappable.h&quot;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -64,18 +63,14 @@
</span><span class="cx">     PerformanceTiming* timing() const;
</span><span class="cx">     double now() const;
</span><span class="cx"> 
</span><del>-#if ENABLE(PERFORMANCE_TIMELINE)
-    PassRefPtr&lt;PerformanceEntryList&gt; webkitGetEntries() const;
-    PassRefPtr&lt;PerformanceEntryList&gt; webkitGetEntriesByType(const String&amp; entryType);
-    PassRefPtr&lt;PerformanceEntryList&gt; webkitGetEntriesByName(const String&amp; name, const String&amp; entryType);
-#endif
</del><ins>+    RefPtr&lt;PerformanceEntryList&gt; getEntries() const;
+    RefPtr&lt;PerformanceEntryList&gt; getEntriesByType(const String&amp; entryType);
+    RefPtr&lt;PerformanceEntryList&gt; getEntriesByName(const String&amp; name, const String&amp; entryType);
</ins><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
-    void webkitClearResourceTimings();
-    void webkitSetResourceTimingBufferSize(unsigned int);
</del><ins>+    void clearResourceTimings();
+    void setResourceTimingBufferSize(unsigned);
</ins><span class="cx"> 
</span><span class="cx">     void addResourceTiming(const String&amp; initiatorName, Document*, const ResourceRequest&amp;, const ResourceResponse&amp;, double initiationTime, double finishTime);
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     using RefCounted&lt;Performance&gt;::ref;
</span><span class="cx">     using RefCounted&lt;Performance&gt;::deref;
</span><span class="lines">@@ -97,11 +92,9 @@
</span><span class="cx"> 
</span><span class="cx">     mutable RefPtr&lt;PerformanceNavigation&gt; m_navigation;
</span><span class="cx">     mutable RefPtr&lt;PerformanceTiming&gt; m_timing;
</span><del>-    
-#if ENABLE(RESOURCE_TIMING)
</del><ins>+
</ins><span class="cx">     Vector&lt;RefPtr&lt;PerformanceEntry&gt;&gt; m_resourceTimingBuffer;
</span><span class="cx">     unsigned m_resourceTimingBufferSize;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     double m_referenceTime;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Performance.idl (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Performance.idl        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/Performance.idl        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -36,19 +36,16 @@
</span><span class="cx">     readonly attribute PerformanceNavigation navigation;
</span><span class="cx">     readonly attribute PerformanceTiming timing;
</span><span class="cx"> 
</span><del>-#if defined(ENABLE_PERFORMANCE_TIMELINE) &amp;&amp; ENABLE_PERFORMANCE_TIMELINE
-    PerformanceEntryList webkitGetEntries();
-    PerformanceEntryList webkitGetEntriesByType(DOMString entryType);
-    PerformanceEntryList webkitGetEntriesByName(DOMString name, optional DOMString entryType);
-#endif
</del><ins>+    [EnabledAtRuntime=ResourceTiming] PerformanceEntryList getEntries();
+    [EnabledAtRuntime=ResourceTiming] PerformanceEntryList getEntriesByType(DOMString entryType);
+    [EnabledAtRuntime=ResourceTiming] PerformanceEntryList getEntriesByName(DOMString name, optional DOMString entryType);
</ins><span class="cx"> 
</span><del>-#if defined(ENABLE_RESOURCE_TIMING) &amp;&amp; ENABLE_RESOURCE_TIMING
-    void webkitClearResourceTimings();
-    void webkitSetResourceTimingBufferSize(unsigned long maxSize);
</del><span class="cx"> 
</span><del>-    attribute EventHandler onwebkitresourcetimingbufferfull;
-#endif
</del><ins>+    [EnabledAtRuntime=ResourceTiming] void clearResourceTimings();
+    [EnabledAtRuntime=ResourceTiming] void setResourceTimingBufferSize(unsigned long maxSize);
</ins><span class="cx"> 
</span><ins>+    [EnabledAtRuntime=ResourceTiming] attribute EventHandler onresourcetimingbufferfull;
+
</ins><span class="cx">     // See http://www.w3.org/TR/2012/CR-user-timing-20120726/
</span><span class="cx"> #if defined(ENABLE_USER_TIMING) &amp;&amp; ENABLE_USER_TIMING
</span><span class="cx">     [RaisesException] void webkitMark(DOMString markName);
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceEntrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceEntry.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceEntry.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceEntry.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;PerformanceEntry.h&quot;
</span><span class="cx"> 
</span><del>-#if ENABLE(WEB_TIMING) &amp;&amp; ENABLE(PERFORMANCE_TIMELINE)
</del><ins>+#if ENABLE(WEB_TIMING)
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -69,4 +69,4 @@
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><del>-#endif // ENABLE(WEB_TIMING) &amp;&amp; ENABLE(PERFORMANCE_TIMELINE)
</del><ins>+#endif // ENABLE(WEB_TIMING)
</ins></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceEntryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceEntry.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceEntry.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceEntry.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #ifndef PerformanceEntry_h
</span><span class="cx"> #define PerformanceEntry_h
</span><span class="cx"> 
</span><del>-#if ENABLE(WEB_TIMING) &amp;&amp; ENABLE(PERFORMANCE_TIMELINE)
</del><ins>+#if ENABLE(WEB_TIMING)
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;Performance.h&quot;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="lines">@@ -71,5 +71,5 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#endif // !ENABLE(WEB_TIMING) &amp;&amp; ENABLE(PERFORMANCE_TIMELINE)
</del><ins>+#endif // !ENABLE(WEB_TIMING)
</ins><span class="cx"> #endif // !defined(PerformanceEntry_h)
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceEntryidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceEntry.idl (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceEntry.idl        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceEntry.idl        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> // See: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html
</span><span class="cx"> [
</span><span class="cx">     Conditional=WEB_TIMING,
</span><del>-    Conditional=PERFORMANCE_TIMELINE,
</del><ins>+    EnabledAtRuntime=ResourceTiming,
</ins><span class="cx">     CustomToJSObject,
</span><span class="cx"> ] interface PerformanceEntry {
</span><span class="cx">     readonly attribute DOMString name;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceEntryListcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceEntryList.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceEntryList.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceEntryList.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;PerformanceEntryList.h&quot;
</span><span class="cx"> 
</span><del>-#if ENABLE(WEB_TIMING) &amp;&amp; ENABLE(PERFORMANCE_TIMELINE)
</del><ins>+#if ENABLE(WEB_TIMING)
</ins><span class="cx"> 
</span><span class="cx"> #include &quot;PerformanceEntry.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -75,4 +75,4 @@
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><del>-#endif // ENABLE(WEB_TIMING) &amp;&amp; ENABLE(PERFORMANCE_TIMELINE)
</del><ins>+#endif // ENABLE(WEB_TIMING)
</ins></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceEntryListh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceEntryList.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceEntryList.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceEntryList.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #ifndef PerformanceEntryList_h
</span><span class="cx"> #define PerformanceEntryList_h
</span><span class="cx"> 
</span><del>-#if ENABLE(WEB_TIMING) &amp;&amp; ENABLE(PERFORMANCE_TIMELINE)
</del><ins>+#if ENABLE(WEB_TIMING)
</ins><span class="cx"> 
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="lines">@@ -64,5 +64,5 @@
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><del>-#endif // !ENABLE(WEB_TIMING) &amp;&amp; ENABLE(PERFORMANCE_TIMELINE)
</del><ins>+#endif // !ENABLE(WEB_TIMING)
</ins><span class="cx"> #endif // PerformanceEntryList_h
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceEntryListidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceEntryList.idl (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceEntryList.idl        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceEntryList.idl        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -32,10 +32,9 @@
</span><span class="cx"> [
</span><span class="cx">     NoInterfaceObject,
</span><span class="cx">     Conditional=WEB_TIMING,
</span><del>-    Conditional=PERFORMANCE_TIMELINE,
</del><ins>+    EnabledAtRuntime=ResourceTiming,
</ins><span class="cx">     ImplementationLacksVTable,
</span><span class="cx"> ] interface PerformanceEntryList {
</span><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx">     getter PerformanceEntry item(unsigned long index);
</span><span class="cx"> };
</span><del>-
</del></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceResourceTimingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceResourceTiming.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceResourceTiming.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceResourceTiming.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -32,8 +32,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;PerformanceResourceTiming.h&quot;
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
-
</del><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;DocumentLoadTiming.h&quot;
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="lines">@@ -199,5 +197,3 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-
-#endif // ENABLE(RESOURCE_TIMING)
</del></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceResourceTimingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceResourceTiming.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceResourceTiming.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceResourceTiming.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -32,8 +32,6 @@
</span><span class="cx"> #ifndef PerformanceResourceTiming_h
</span><span class="cx"> #define PerformanceResourceTiming_h
</span><span class="cx"> 
</span><del>-#if ENABLE(RESOURCE_TIMING)
-
</del><span class="cx"> #include &quot;PerformanceEntry.h&quot;
</span><span class="cx"> #include &quot;ResourceLoadTiming.h&quot;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="lines">@@ -85,6 +83,4 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#endif // ENABLE(RESOURCE_TIMING)
-
</del><span class="cx"> #endif // !defined(PerformanceResourceTiming_h)
</span></span></pre></div>
<a id="trunkSourceWebCorepagePerformanceResourceTimingidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PerformanceResourceTiming.idl (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PerformanceResourceTiming.idl        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/page/PerformanceResourceTiming.idl        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> // See: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/ResourceTiming/Overview.html
</span><span class="cx"> [
</span><del>-    Conditional=RESOURCE_TIMING,
</del><ins>+    EnabledAtRuntime=ResourceTiming
</ins><span class="cx"> ] interface PerformanceResourceTiming : PerformanceEntry {
</span><span class="cx">     readonly attribute DOMString initiatorType;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.cpp (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.cpp        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/testing/Internals.cpp        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -3325,4 +3325,9 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+void Internals::setResourceTimingSupport(bool enable)
+{
+    RuntimeEnabledFeatures::sharedFeatures().setResourceTimingEnabled(enable);
</ins><span class="cx"> }
</span><ins>+
+}
</ins></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.h (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.h        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/testing/Internals.h        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -468,6 +468,7 @@
</span><span class="cx">     
</span><span class="cx">     void setViewportForceAlwaysUserScalable(bool);
</span><span class="cx">     void setLinkPreloadSupport(bool);
</span><ins>+    void setResourceTimingSupport(bool);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><span class="cx">     void setCSSGridLayoutEnabled(bool);
</span></span></pre></div>
<a id="trunkSourceWebCoretestingInternalsidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/testing/Internals.idl (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/testing/Internals.idl        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/WebCore/testing/Internals.idl        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -451,4 +451,5 @@
</span><span class="cx">     void setCSSGridLayoutEnabled(boolean enable);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    void setResourceTimingSupport(boolean scalable);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourcecmakeWebKitFeaturescmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/WebKitFeatures.cmake (200231 => 200232)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/WebKitFeatures.cmake        2016-04-29 07:18:30 UTC (rev 200231)
+++ trunk/Source/cmake/WebKitFeatures.cmake        2016-04-29 07:33:02 UTC (rev 200232)
</span><span class="lines">@@ -158,7 +158,6 @@
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_NOTIFICATIONS &quot;Toggle Desktop Notifications Support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_ORIENTATION_EVENTS &quot;Toggle Orientation Events support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_PDFKIT_PLUGIN &quot;Toggle PDFKit plugin support&quot; PRIVATE OFF)
</span><del>-    WEBKIT_OPTION_DEFINE(ENABLE_PERFORMANCE_TIMELINE &quot;Toggle Performance Timeline support&quot; PRIVATE OFF)
</del><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_POINTER_LOCK &quot;Toggle pointer lock support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_PROXIMITY_EVENTS &quot;Toggle Proximity Events support&quot; PRIVATE OFF)
</span><span class="cx">     WEBKIT_OPTION_DEFINE(ENABLE_PUBLIC_SUFFIX_LIST &quot;Toggle public suffix list support&quot; PRIVATE OFF)
</span></span></pre>
</div>
</div>

</body>
</html>