Merge branch 'ResourceTiming' of github.com:pdeng6/web-performance into pdeng6-ResourceTiming
diff --git a/tests/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html b/tests/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html
index a21396e..2693896 100644
--- a/tests/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html
+++ b/tests/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_populate_entries.html
@@ -13,7 +13,6 @@
if (performance && performance.setResourceTimingBufferSize)
{
supportBufferControlInterface = true;
- performance.onresourcetimingbufferfull = buffer_full_call_back;
performance.setResourceTimingBufferSize(2);
}
</script>
@@ -24,9 +23,6 @@
<script src="/webperf/tests/resources/webperftestharness.js"></script>
<script>
setup({ explicit_done: true });
- test_namespace();
- if (!supportBufferControlInterface)
- test_true(false, "performance.setResourceTimingBufferSize() interface is supported!");
function onload_test()
{
@@ -38,6 +34,20 @@
<body onload="onload_test();">
<h1>Description</h1>
<p>This test validates the functionality of onresourcetimingbufferfull in resource timing.</p>
+ <script>
+ test_namespace();
+ if (!supportBufferControlInterface)
+ test_true(false, "performance.setResourceTimingBufferSize() interface is supported!");
+
+ if (performance && performance.clearResourceTimings) {
+ performance.clearResourceTimings();
+ performance.addEventListener("resourcetimingbufferfull", buffer_full_call_back);
+ for (var i = 1; i <= 3; i++) {
+ var image = document.createElement("img");
+ image.src = "/webperf/tests/resources/generate_resource.php?type=image&id=" + i;
+ }
+ }
+ </script>
<div id="log"></div>
</body>
</html>
diff --git a/tests/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html b/tests/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html
index 6efcd09..52cac84 100644
--- a/tests/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html
+++ b/tests/submission/Intel/resource-timing/test_resource_timing_buffer_full_when_shrink_buffer_size.html
@@ -13,8 +13,6 @@
{
count++;
}
-
- performance.onresourcetimingbufferfull = buffer_full_call_back;
</script>
<link rel="author" title="Intel" href="http://www.intel.com/" />
<link rel="help" href="http://www.w3.org/TR/resource-timing/#performanceresourcetiming"/>
@@ -30,7 +28,7 @@
test_true(false, "performance.setResourceTimingBufferSize() interface is supported!");
done();
return;
- }
+ }
performance.setResourceTimingBufferSize(3);
performance.setResourceTimingBufferSize(2);
@@ -42,6 +40,16 @@
<body onload="onload_test();">
<h1>Description</h1>
<p>This test validates the functionality of onresourcetimingbufferfull in resource timing.</p>
+ <script>
+ if (performance && performance.clearResourceTimings) {
+ performance.clearResourceTimings();
+ performance.addEventListener("resourcetimingbufferfull", buffer_full_call_back);
+ for (var i = 1; i <= 3; i++) {
+ var image = document.createElement("img");
+ image.src = "/webperf/tests/resources/generate_resource.php?type=image&id=" + i;
+ }
+ }
+ </script>
<div id="log"></div>
</body>
</html>
diff --git a/tests/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html b/tests/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html
index acef5be..397fbdd 100644
--- a/tests/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html
+++ b/tests/submission/Intel/resource-timing/test_resource_timing_buffer_size_restriction.html
@@ -21,6 +21,13 @@
<script>
setup({ explicit_done: true });
test_namespace();
+ if (performance && performance.clearResourceTimings) {
+ performance.clearResourceTimings();
+ for (var i = 1; i <= 3; i++) {
+ var image = document.createElement("img");
+ image.src = "/webperf/tests/resources/generate_resource.php?type=image&id=" + i;
+ }
+ }
function onload_test()
{
diff --git a/tests/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html b/tests/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html
index 2ae3b42..54b1485 100644
--- a/tests/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html
+++ b/tests/submission/Intel/resource-timing/test_resource_timing_store_and_clear_during_callback.html
@@ -5,21 +5,54 @@
<title>read and clear resource timing entry in onresourcetimingbufferfull callback</title>
<script>
var resource_timing_buffer_size = 1;
+ var resource_number = 3;
var global_buffer = [];
+ var iframe;
+ var d;
+ var w;
+ var supportBufferControlInterface = false;
+
function store_and_clear()
{
- var entry_list = performance.getEntriesByType('resource');
+ var entry_list = w.performance.getEntriesByType('resource');
for (var i = 0; i < entry_list.length; ++i)
global_buffer.push(entry_list[i]);
- performance.clearResourceTimings();
+ w.performance.clearResourceTimings();
}
- var supportBufferControlInterface = false;
- if (performance && performance.setResourceTimingBufferSize)
+ function onload_test()
{
- var supportBufferControlInterface = true;
- performance.onresourcetimingbufferfull = store_and_clear;
- performance.setResourceTimingBufferSize(resource_timing_buffer_size);
+ if (!supportBufferControlInterface || !performance.getEntriesByType)
+ {
+ test_true(false, "Resource Timing and Performance Timeline interface required by this test are supported!");
+ done();
+ return;
+ }
+
+ test_equals(w.performance.getEntriesByType('resource').length, 0, "No entry should be stored in resource timing buffer since it's cleared once an item arrived!");
+ test_equals(global_buffer.length, resource_number, resource_number + " resource timing entries should be moved to global buffer!");
+ done();
+ }
+
+ function setup_iframe() {
+ iframe = document.getElementById('frameContext');
+ iframe.onload = onload_test;
+ w = iframe.contentWindow;
+ d = iframe.contentWindow.document;
+ body = d.createElement('body');
+ d.getElementsByTagName('html')[0].appendChild(body);
+
+ if (performance && performance.setResourceTimingBufferSize)
+ {
+ supportBufferControlInterface = true;
+ w.performance.setResourceTimingBufferSize(resource_timing_buffer_size);
+ w.performance.addEventListener('resourcetimingbufferfull', store_and_clear);
+ }
+
+ for (var i = 1; i <= resource_number; i++) {
+ var image = d.createElement("img");
+ image.src = "/webperf/tests/resources/generate_resource.php?type=image&id=" + i;
+ }
}
</script>
<link rel="author" title="Intel" href="http://www.intel.com/" />
@@ -30,24 +63,12 @@
<script>
setup({ explicit_done: true });
test_namespace();
- function onload_test()
- {
- if (!supportBufferControlInterface || !performance.getEntriesByType)
- {
- test_true(false, "Resource Timing and Performance Timeline interface required by this test are supported!");
- done();
- return;
- }
-
- test_equals(performance.getEntriesByType('resource').length, 0, "No entry should be stored in resource timing buffer since it's cleared once an item arrived!");
- test_equals(global_buffer.length, 3, "3 resource timing entries should be moved to global buffer!");
- done();
- }
</script>
</head>
- <body onload="onload_test();">
+ <body>
<h1>Description</h1>
<p>This test validates the behavior of read and clear operation in onresourcetimingbufferfull callback of resource timing.</p>
<div id="log"></div>
+ <iframe id="frameContext" src="/webperf/tests/resources/inject_resource_test.html"></iframe>
</body>
</html>