diff --git a/components/script/dom/performance.rs b/components/script/dom/performance.rs index 6c418b44316..b1f72f405f2 100644 --- a/components/script/dom/performance.rs +++ b/components/script/dom/performance.rs @@ -96,10 +96,10 @@ impl PerformanceEntryList { entry_type: Option, ) { self.entries.retain(|e| { - name.as_ref().map_or(true, |name_| *e.name() == *name_) && + name.as_ref().map_or(true, |name_| *e.name() != *name_) && entry_type .as_ref() - .map_or(true, |type_| *e.entry_type() == *type_) + .map_or(true, |type_| *e.entry_type() != *type_) }); } @@ -233,10 +233,10 @@ impl Performance { /// /// Also this algorithm has been extented according to : /// - pub fn queue_entry(&self, entry: &PerformanceEntry, add_to_performance_entries_buffer: bool) { + pub fn queue_entry(&self, entry: &PerformanceEntry) -> Option { // https://w3c.github.io/performance-timeline/#dfn-determine-eligibility-for-adding-a-performance-entry if entry.entry_type() == "resource" && !self.should_queue_resource_entry(entry) { - return; + return None; } // Steps 1-3. @@ -253,19 +253,18 @@ impl Performance { } // Step 4. - // If the "add to performance entry buffer flag" is set, add the - // new entry to the buffer. - if add_to_performance_entries_buffer { - self.buffer - .borrow_mut() - .entries - .push(DomRoot::from_ref(entry)); - } + //add the new entry to the buffer. + self.buffer + .borrow_mut() + .entries + .push(DomRoot::from_ref(entry)); + + let entry_last_index = self.buffer.borrow_mut().entries.len() - 1; // Step 5. // If there is already a queued notification task, we just bail out. if self.pending_notification_observers_task.get() { - return; + return None; } // Step 6. @@ -273,6 +272,8 @@ impl Performance { self.pending_notification_observers_task.set(true); let task_source = self.global().performance_timeline_task_source(); task_source.queue_notification(&self.global()); + + Some(entry_last_index) } /// Observers notifications task. @@ -321,7 +322,7 @@ impl Performance { .borrow_mut() .pop_front(); if let Some(ref entry) = entry { - self.queue_entry(entry, true); + self.queue_entry(entry); } else { break; } @@ -370,6 +371,12 @@ impl Performance { .push_back(DomRoot::from_ref(entry)); false } + + pub fn update_entry(&self, index: usize, entry: &PerformanceEntry) { + if let Some(e) = self.buffer.borrow_mut().entries.get_mut(index) { + *e = DomRoot::from_ref(entry); + } + } } impl PerformanceMethods for Performance { @@ -438,10 +445,7 @@ impl PerformanceMethods for Performance { // Steps 2 to 6. let entry = PerformanceMark::new(&global, mark_name, self.now(), 0.); // Steps 7 and 8. - self.queue_entry( - &entry.upcast::(), - true, /* buffer performance entry */ - ); + self.queue_entry(&entry.upcast::()); // Step 9. Ok(()) @@ -488,10 +492,7 @@ impl PerformanceMethods for Performance { ); // Step 9 and 10. - self.queue_entry( - &entry.upcast::(), - true, /* buffer performance entry */ - ); + self.queue_entry(&entry.upcast::()); // Step 11. Ok(()) diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs index 004daeed9be..b968aa47274 100644 --- a/components/script/dom/servoparser/mod.rs +++ b/components/script/dom/servoparser/mod.rs @@ -689,6 +689,8 @@ pub struct ParserContext { url: ServoUrl, /// timing data for this resource resource_timing: ResourceFetchTiming, + /// pushed entry index + pushed_entry_index: Option, } impl ParserContext { @@ -699,6 +701,7 @@ impl ParserContext { id: id, url: url, resource_timing: ResourceFetchTiming::new(ResourceTimingType::Navigation), + pushed_entry_index: None, } } } @@ -774,6 +777,8 @@ impl FetchResponseListener for ParserContext { self.parser = Some(Trusted::new(&*parser)); + self.submit_resource_timing(); + match content_type { Some(ref mime) if mime.type_() == mime::IMAGE => { self.is_synthesized_document = true; @@ -881,8 +886,16 @@ impl FetchResponseListener for ParserContext { parser.parse_sync(); } - //TODO only submit if this is the current document resource - self.submit_resource_timing(); + //TODO only update if this is the current document resource + if let Some(pushed_index) = self.pushed_entry_index { + let document = &parser.document; + let performance_entry = + PerformanceNavigationTiming::new(&document.global(), 0, 0, &document); + document + .global() + .performance() + .update_entry(pushed_index, performance_entry.upcast::()); + } } fn resource_timing_mut(&mut self) -> &mut ResourceFetchTiming { @@ -908,10 +921,10 @@ impl FetchResponseListener for ParserContext { //TODO nav_start and nav_start_precise let performance_entry = PerformanceNavigationTiming::new(&document.global(), 0, 0, &document); - document + self.pushed_entry_index = document .global() .performance() - .queue_entry(performance_entry.upcast::(), true); + .queue_entry(performance_entry.upcast::()); } } diff --git a/components/script/dom/webidls/Performance.webidl b/components/script/dom/webidls/Performance.webidl index 0e2f7a960d5..5db6551ff96 100644 --- a/components/script/dom/webidls/Performance.webidl +++ b/components/script/dom/webidls/Performance.webidl @@ -34,23 +34,20 @@ partial interface Performance { [Throws] void measure(DOMString measureName, optional DOMString startMark, optional DOMString endMark); void clearMeasures(optional DOMString measureName); - - }; + //https://w3c.github.io/resource-timing/#sec-extensions-performance-interface partial interface Performance { void clearResourceTimings (); void setResourceTimingBufferSize (unsigned long maxSize); attribute EventHandler onresourcetimingbufferfull; }; -// FIXME(avada): this should be deprecated, but is currently included for web compat -// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html#performance-timing-attribute -[Exposed=(Window)] -partial interface Performance { - PerformanceNavigationTiming timing(); -}; + // https://w3c.github.io/navigation-timing/#extensions-to-the-performance-interface +[Exposed=Window] partial interface Performance { - [SameObject, Exposed=Window] + [SameObject] + readonly attribute PerformanceNavigationTiming timing; + [SameObject] readonly attribute PerformanceNavigation navigation; }; diff --git a/components/script/network_listener.rs b/components/script/network_listener.rs index 699a8e70f72..29c43450aac 100644 --- a/components/script/network_listener.rs +++ b/components/script/network_listener.rs @@ -62,7 +62,7 @@ pub fn submit_timing_data( PerformanceResourceTiming::new(global, url, initiator_type, None, resource_timing); global .performance() - .queue_entry(performance_entry.upcast::(), true); + .queue_entry(performance_entry.upcast::()); } impl NetworkListener { diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 1373896cdff..64fd85b210b 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -3889,10 +3889,9 @@ impl ScriptThread { metric_type, metric_value, ); - window.Performance().queue_entry( - &entry.upcast::(), - true, /* buffer performance entry */ - ); + window + .Performance() + .queue_entry(&entry.upcast::()); } } diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index 536384f36e1..7a0a6c44aad 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -13,4 +13,3 @@ [X-Content-Type-Options%3A%20%2Cnosniff] expected: FAIL - diff --git a/tests/wpt/metadata/hr-time/idlharness.any.js.ini b/tests/wpt/metadata/hr-time/idlharness.any.js.ini index 4f414a6521b..e7e8c641ef8 100644 --- a/tests/wpt/metadata/hr-time/idlharness.any.js.ini +++ b/tests/wpt/metadata/hr-time/idlharness.any.js.ini @@ -19,3 +19,4 @@ [idlharness.any.html] [idlharness.any.worker.html] + expected: CRASH diff --git a/tests/wpt/metadata/hr-time/performance-tojson.html.ini b/tests/wpt/metadata/hr-time/performance-tojson.html.ini index 60a1d0e672b..6e73eb2caca 100644 --- a/tests/wpt/metadata/hr-time/performance-tojson.html.ini +++ b/tests/wpt/metadata/hr-time/performance-tojson.html.ini @@ -5,6 +5,3 @@ [performance-tojson] expected: FAIL - [Test performance.toJSON()] - expected: FAIL - diff --git a/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini b/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini index b23214f6f39..f69edc0bd37 100644 --- a/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini +++ b/tests/wpt/metadata/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html.ini @@ -6,15 +6,3 @@ [Set HTTP URL frame location.protocol to gopher] expected: FAIL - [Set HTTP URL frame location.protocol to http+x] - expected: FAIL - - [Set HTTP URL frame location.protocol to ftp] - expected: FAIL - - [Set HTTP URL frame location.protocol to data] - expected: FAIL - - [Set HTTP URL frame location.protocol to x] - expected: FAIL - diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini index 61799e4c935..f6eecd82b49 100644 --- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini +++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/form-double-submit-2.html.ini @@ -1,5 +1,5 @@ [form-double-submit-2.html] expected: ERROR [preventDefault should allow onclick submit() to succeed] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini b/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini index 65424f7891a..daa264ed535 100644 --- a/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini +++ b/tests/wpt/metadata/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener.html.ini @@ -1,18 +1,18 @@ [htmlanchorelement_noopener.html] type: testharness - expected: ERROR + expected: TIMEOUT [Check that targeting of rel=noopener with a given name ignores an existing window with that name] expected: NOTRUN [Check that rel=noopener with target=_parent does a normal load] - expected: FAIL + expected: NOTRUN [Check that rel=noopener with target=_top does a normal load] - expected: FAIL + expected: NOTRUN [Check that targeting of rel=noopener with a given name reuses an existing window with that name] expected: NOTRUN [Check that rel=noopener with target=_self does a normal load] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata/navigation-timing/dom_interactive_image_document.html.ini b/tests/wpt/metadata/navigation-timing/dom_interactive_image_document.html.ini deleted file mode 100644 index ba16ab0609f..00000000000 --- a/tests/wpt/metadata/navigation-timing/dom_interactive_image_document.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[dom_interactive_image_document.html] - expected: ERROR - [Test domInteractive on image document] - expected: NOTRUN - diff --git a/tests/wpt/metadata/navigation-timing/dom_interactive_media_document.html.ini b/tests/wpt/metadata/navigation-timing/dom_interactive_media_document.html.ini deleted file mode 100644 index 03e4f3cf11c..00000000000 --- a/tests/wpt/metadata/navigation-timing/dom_interactive_media_document.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[dom_interactive_media_document.html] - expected: ERROR - [Test domInteractive on media document] - expected: NOTRUN - diff --git a/tests/wpt/metadata/navigation-timing/idlharness.window.js.ini b/tests/wpt/metadata/navigation-timing/idlharness.window.js.ini index 444c09ec09c..2fdb4c6d54a 100644 --- a/tests/wpt/metadata/navigation-timing/idlharness.window.js.ini +++ b/tests/wpt/metadata/navigation-timing/idlharness.window.js.ini @@ -95,71 +95,9 @@ [PerformanceTiming interface: performance.timing must inherit property "navigationStart" with the proper type] expected: FAIL - [PerformanceTiming interface: performance.timing must inherit property "unloadEventStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "unloadEventEnd" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "redirectStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "redirectEnd" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "fetchStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "domainLookupStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "domainLookupEnd" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "connectStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "connectEnd" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "secureConnectionStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "requestStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "responseStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "responseEnd" with the proper type] - expected: FAIL - [PerformanceTiming interface: performance.timing must inherit property "domLoading" with the proper type] expected: FAIL - [PerformanceTiming interface: performance.timing must inherit property "domInteractive" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "domContentLoadedEventStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "domContentLoadedEventEnd" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "domComplete" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "loadEventStart" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "loadEventEnd" with the proper type] - expected: FAIL - - [PerformanceTiming interface: performance.timing must inherit property "toJSON()" with the proper type] - expected: FAIL - [PerformanceTiming interface: default toJSON operation on performance.timing] expected: FAIL - [Performance interface: attribute timing] - expected: FAIL diff --git a/tests/wpt/metadata/navigation-timing/secure-connection-start-reuse.https.html.ini b/tests/wpt/metadata/navigation-timing/secure-connection-start-reuse.https.html.ini deleted file mode 100644 index 0fa99e59f1d..00000000000 --- a/tests/wpt/metadata/navigation-timing/secure-connection-start-reuse.https.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[secure-connection-start-reuse.https.html] - expected: TIMEOUT - [Test that secureConnectionStart value is as expected when reused] - expected: NOTRUN - diff --git a/tests/wpt/metadata/navigation-timing/test_navigation_redirectCount_none.html.ini b/tests/wpt/metadata/navigation-timing/test_navigation_redirectCount_none.html.ini deleted file mode 100644 index 0de344264bf..00000000000 --- a/tests/wpt/metadata/navigation-timing/test_navigation_redirectCount_none.html.ini +++ /dev/null @@ -1,8 +0,0 @@ -[test_navigation_redirectCount_none.html] - type: testharness - [timing.redirectStart on an non-redirected navigation] - expected: FAIL - - [timing.redirectEnd on an non-redirected navigation] - expected: FAIL - diff --git a/tests/wpt/metadata/navigation-timing/test_navigation_type_reload.html.ini b/tests/wpt/metadata/navigation-timing/test_navigation_type_reload.html.ini index 19a2f0b9e96..eb67ff0f803 100644 --- a/tests/wpt/metadata/navigation-timing/test_navigation_type_reload.html.ini +++ b/tests/wpt/metadata/navigation-timing/test_navigation_type_reload.html.ini @@ -6,18 +6,12 @@ [Reload fetchStart > Original fetchStart] expected: FAIL - [Reload domContentLoadedEventEnd > Original domContentLoadedEventEnd] - expected: FAIL - [Reload redirectStart > Original redirectStart] expected: FAIL [Reload domLoading > Original domLoading] expected: FAIL - [Reload loadEventEnd > Original loadEventEnd] - expected: FAIL - [Reload redirectEnd > Original redirectEnd] expected: FAIL @@ -33,12 +27,6 @@ [Reload connectStart > Original connectStart] expected: FAIL - [Reload domContentLoadedEventStart > Original domContentLoadedEventStart] - expected: FAIL - - [Reload domComplete > Original domComplete] - expected: FAIL - [Reload domainLookupStart > Original domainLookupStart] expected: FAIL @@ -57,9 +45,3 @@ [Reload responseEnd > Original responseEnd] expected: FAIL - [Reload loadEventStart > Original loadEventStart] - expected: FAIL - - [Reload domInteractive > Original domInteractive] - expected: FAIL - diff --git a/tests/wpt/metadata/navigation-timing/test_no_previous_document.html.ini b/tests/wpt/metadata/navigation-timing/test_no_previous_document.html.ini deleted file mode 100644 index 26111407e01..00000000000 --- a/tests/wpt/metadata/navigation-timing/test_no_previous_document.html.ini +++ /dev/null @@ -1,8 +0,0 @@ -[test_no_previous_document.html] - type: testharness - [timing.unloadEventEnd == 0 navigation with no previous document] - expected: FAIL - - [timing.unloadEventStart == 0 on navigation with no previous document] - expected: FAIL - diff --git a/tests/wpt/metadata/navigation-timing/test_timing_attributes_exist.html.ini b/tests/wpt/metadata/navigation-timing/test_timing_attributes_exist.html.ini index 5f256e10605..c74cd6f1219 100644 --- a/tests/wpt/metadata/navigation-timing/test_timing_attributes_exist.html.ini +++ b/tests/wpt/metadata/navigation-timing/test_timing_attributes_exist.html.ini @@ -1,62 +1,8 @@ [test_timing_attributes_exist.html] type: testharness - [window.performance.timing.connectEnd is defined.] - expected: FAIL - - [window.performance.timing.connectStart is defined.] - expected: FAIL - - [window.performance.timing.domainLookupEnd is defined.] - expected: FAIL - - [window.performance.timing.domainLookupStart is defined.] - expected: FAIL - - [window.performance.timing.fetchStart is defined.] - expected: FAIL - - [window.performance.timing.redirectEnd is defined.] - expected: FAIL - - [window.performance.timing.redirectStart is defined.] - expected: FAIL - - [window.performance.timing.requestStart is defined.] - expected: FAIL - - [window.performance.timing.responseEnd is defined.] - expected: FAIL - - [window.performance.timing.responseStart is defined.] - expected: FAIL - - [window.performance.timing.unloadEventEnd is defined.] - expected: FAIL - - [window.performance.timing.unloadEventStart is defined.] - expected: FAIL - - [window.performance.timing.domComplete is defined.] - expected: FAIL - - [window.performance.timing.domContentLoadedEventEnd is defined.] - expected: FAIL - - [window.performance.timing.domContentLoadedEventStart is defined.] - expected: FAIL - - [window.performance.timing.domInteractive is defined.] - expected: FAIL - [window.performance.timing.domLoading is defined.] expected: FAIL - [window.performance.timing.loadEventEnd is defined.] - expected: FAIL - - [window.performance.timing.loadEventStart is defined.] - expected: FAIL - [window.performance.timing.navigationStart is defined.] expected: FAIL diff --git a/tests/wpt/metadata/navigation-timing/test_timing_attributes_order.html.ini b/tests/wpt/metadata/navigation-timing/test_timing_attributes_order.html.ini index be26635671a..7e6c9ba11c0 100644 --- a/tests/wpt/metadata/navigation-timing/test_timing_attributes_order.html.ini +++ b/tests/wpt/metadata/navigation-timing/test_timing_attributes_order.html.ini @@ -6,27 +6,9 @@ [window.performance.timing.unloadEventStart difference with window.performance.timing.navigationStart is 0 or at least 5 microseconds] expected: FAIL - [window.performance.timing.loadEventStart difference with window.performance.timing.domContentLoadedEventEnd is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.unloadEventEnd difference with window.performance.timing.unloadEventStart is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.requestStart difference with window.performance.timing.connectEnd is 0 or at least 5 microseconds] - expected: FAIL - [window.performance.timing.unloadEventStart >= window.performance.timing.navigationStart] expected: FAIL - [window.performance.timing.loadEventEnd >= window.performance.timing.loadEventStart] - expected: FAIL - - [window.performance.timing.domainLookupEnd >= window.performance.timing.domainLookupStart] - expected: FAIL - - [window.performance.timing.domContentLoadedEventStart > 0] - expected: FAIL - [window.performance.timing.domLoading >= window.performance.timing.fetchStart] expected: FAIL @@ -36,129 +18,39 @@ [window.performance.timing.fetchStart >= window.performance.timing.navigationStart] expected: FAIL - [window.performance.timing.domInteractive >= window.performance.timing.responseEnd] - expected: FAIL - [window.performance.timing.navigationStart > 0] expected: FAIL - [window.performance.timing.loadEventEnd difference with window.performance.timing.loadEventStart is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.redirectEnd == 0] - expected: FAIL - - [window.performance.timing.responseEnd >= window.performance.timing.responseStart] - expected: FAIL - - [window.performance.timing.connectStart difference with window.performance.timing.domainLookupEnd is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.unloadEventEnd >= window.performance.timing.unloadEventStart] - expected: FAIL - - [window.performance.timing.connectStart >= window.performance.timing.domainLookupEnd] - expected: FAIL - - [window.performance.timing.redirectStart == 0] - expected: FAIL - - [window.performance.timing.domInteractive difference with window.performance.timing.responseEnd is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.domContentLoadedEventEnd > 0] - expected: FAIL - [window.performance.timing.domainLookupEnd > 0] expected: FAIL [window.performance.timing.domLoading > 0] expected: FAIL - [window.performance.timing.domComplete >= window.performance.timing.domContentLoadedEventEnd] - expected: FAIL - - [window.performance.timing.connectEnd difference with window.performance.timing.connectStart is 0 or at least 5 microseconds] - expected: FAIL - [window.performance.timing.connectEnd > 0] expected: FAIL - [window.performance.timing.domContentLoadedEventEnd >= window.performance.timing.domContentLoadedEventStart] - expected: FAIL - [window.performance.timing.domLoading difference with window.performance.timing.fetchStart is 0 or at least 5 microseconds] expected: FAIL [window.performance.timing.unloadEventStart > 0] expected: FAIL - [window.performance.timing.domContentLoadedEventStart >= window.performance.timing.domInteractive] - expected: FAIL - [window.performance.timing.connectStart > 0] expected: FAIL - [window.performance.timing.responseEnd difference with window.performance.timing.responseStart is 0 or at least 5 microseconds] - expected: FAIL - [window.performance.timing.fetchStart > 0] expected: FAIL - [window.performance.timing.domainLookupEnd difference with window.performance.timing.domainLookupStart is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.responseStart difference with window.performance.timing.requestStart is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.domComplete difference with window.performance.timing.domContentLoadedEventEnd is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.domContentLoadedEventEnd difference with window.performance.timing.domContentLoadedEventStart is 0 or at least 5 microseconds] - expected: FAIL - - [window.performance.timing.domainLookupStart >= window.performance.timing.fetchStart] - expected: FAIL - [window.performance.timing.responseEnd > 0] expected: FAIL [window.performance.timing.unloadEventEnd > 0] expected: FAIL - [window.performance.timing.domainLookupStart difference with window.performance.timing.fetchStart is 0 or at least 5 microseconds] - expected: FAIL - [window.performance.timing.domainLookupStart > 0] expected: FAIL - [window.performance.timing.domInteractive > 0] - expected: FAIL - - [window.performance.timing.domContentLoadedEventStart difference with window.performance.timing.domInteractive is 0 or at least 5 microseconds] - expected: FAIL - [window.performance.timing.responseStart > 0] expected: FAIL - [window.performance.timing.responseStart >= window.performance.timing.requestStart] - expected: FAIL - - [window.performance.timing.loadEventStart >= window.performance.timing.domContentLoadedEventEnd] - expected: FAIL - - [window.performance.timing.requestStart >= window.performance.timing.connectEnd] - expected: FAIL - - [window.performance.timing.connectEnd >= window.performance.timing.connectStart] - expected: FAIL - - [window.performance.timing.domComplete > 0] - expected: FAIL - - [window.performance.timing.loadEventStart > 0] - expected: FAIL - - [window.performance.timing.loadEventEnd > 0] - expected: FAIL - diff --git a/tests/wpt/metadata/navigation-timing/test_timing_reload.html.ini b/tests/wpt/metadata/navigation-timing/test_timing_reload.html.ini index b6734bbecef..3bb0a49f97a 100644 --- a/tests/wpt/metadata/navigation-timing/test_timing_reload.html.ini +++ b/tests/wpt/metadata/navigation-timing/test_timing_reload.html.ini @@ -1,11 +1,5 @@ [test_timing_reload.html] type: testharness - [loadEventStart is different after the reload.] - expected: FAIL - - [domContentLoadedEventEnd is different after the reload.] - expected: FAIL - [domainLookupEnd is different after the reload.] expected: FAIL @@ -18,15 +12,9 @@ [redirectStart is different after the reload.] expected: FAIL - [domComplete is different after the reload.] - expected: FAIL - [redirectEnd is different after the reload.] expected: FAIL - [loadEventEnd is different after the reload.] - expected: FAIL - [connectStart is different after the reload.] expected: FAIL @@ -54,12 +42,6 @@ [fetchStart is different after the reload.] expected: FAIL - [domInteractive is different after the reload.] - expected: FAIL - - [domContentLoadedEventStart is different after the reload.] - expected: FAIL - [requestStart is different after the reload.] expected: FAIL diff --git a/tests/wpt/metadata/navigation-timing/test_timing_server_redirect.html.ini b/tests/wpt/metadata/navigation-timing/test_timing_server_redirect.html.ini index 6d844fb90ac..e79d02475c1 100644 --- a/tests/wpt/metadata/navigation-timing/test_timing_server_redirect.html.ini +++ b/tests/wpt/metadata/navigation-timing/test_timing_server_redirect.html.ini @@ -6,21 +6,9 @@ [window.performance.timing.redirectStart > 0] expected: FAIL - [window.performance.timing.fetchStart >= window.performance.timing.redirectEnd] - expected: FAIL - - [window.performance.timing.requestStart difference with window.performance.timing.fetchStart is 0 or at least 5 microseconds] - expected: FAIL - [window.performance.timing.redirectStart >= window.performance.timing.navigationStart] expected: FAIL - [window.performance.timing.redirectEnd >= window.performance.timing.redirectStart] - expected: FAIL - - [window.performance.timing.redirectEnd difference with window.performance.timing.redirectStart is 0 or at least 5 microseconds] - expected: FAIL - [window.performance.timing.redirectStart difference with window.performance.timing.navigationStart is 0 or at least 5 microseconds] expected: FAIL @@ -33,12 +21,6 @@ [window.performance.timing.requestStart > 0] expected: FAIL - [window.performance.timing.fetchStart difference with window.performance.timing.redirectEnd is 0 or at least 5 microseconds] - expected: FAIL - [window.performance.timing.redirectEnd > 0] expected: FAIL - [window.performance.timing.requestStart >= window.performance.timing.fetchStart] - expected: FAIL - diff --git a/tests/wpt/metadata/navigation-timing/test_timing_xserver_redirect.html.ini b/tests/wpt/metadata/navigation-timing/test_timing_xserver_redirect.html.ini index b6c5e5c69cf..08df6551dc9 100644 --- a/tests/wpt/metadata/navigation-timing/test_timing_xserver_redirect.html.ini +++ b/tests/wpt/metadata/navigation-timing/test_timing_xserver_redirect.html.ini @@ -3,9 +3,3 @@ [window.performance.timing.navigationStart > 0] expected: FAIL - [timing.redirectStart == 0 on a server redirected navigation from another domain] - expected: FAIL - - [timing.redirectEnd == 0 on a server redirected navigation from another domain] - expected: FAIL - diff --git a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini index 7725b118e9d..47a38444be4 100644 --- a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini +++ b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini @@ -1,17 +1,11 @@ [webtiming-resolution.any.html] - expected: TIMEOUT + [Verifies the resolution of performance.now() is at least 5 microseconds.] + expected: FAIL [webtiming-resolution.any.worker.html] - expected: TIMEOUT [Verifies the resolution of performance.now() is at least 20 microseconds.] expected: FAIL [Verifies the resolution of entry.startTime is at least 20 microseconds.] expected: TIMEOUT - [Verifies the resolution of entry.startTime is at least 5 microseconds.] - expected: TIMEOUT - - [Verifies the resolution of performance.now() is at least 5 microseconds.] - expected: FAIL - diff --git a/tests/wpt/metadata/resource-timing/clear_resource_timing_functionality.html.ini b/tests/wpt/metadata/resource-timing/clear_resource_timing_functionality.html.ini deleted file mode 100644 index 5a269807d83..00000000000 --- a/tests/wpt/metadata/resource-timing/clear_resource_timing_functionality.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[clear_resource_timing_functionality.html] - [No resource timing entries should be stored after clearResourceTimings.] - expected: FAIL - diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini index 66bd350083b..a56bad443a2 100644 --- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini +++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini @@ -1,4 +1,5 @@ [realtimeanalyser-fft-scaling.html] + expected: TIMEOUT [X 2048-point FFT peak position is not equal to 64. Got 0.] expected: FAIL diff --git a/tests/wpt/metadata/webmessaging/with-ports/017.html.ini b/tests/wpt/metadata/webmessaging/with-ports/017.html.ini new file mode 100644 index 00000000000..064cf47545b --- /dev/null +++ b/tests/wpt/metadata/webmessaging/with-ports/017.html.ini @@ -0,0 +1,5 @@ +[017.html] + expected: TIMEOUT + [origin of the script that invoked the method, about:blank] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini index bf2a1d61bab..bfd4d6dd2d6 100644 --- a/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini +++ b/tests/wpt/metadata/workers/baseurl/alpha/import-in-moduleworker.html.ini @@ -1,4 +1,5 @@ [import-in-moduleworker.html] + expected: ERROR [Base URL in module dedicated workers: import] expected: FAIL diff --git a/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini b/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini index 333edb3a26e..650c91da4a6 100644 --- a/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini +++ b/tests/wpt/metadata/workers/baseurl/alpha/sharedworker-in-worker.html.ini @@ -1,4 +1,5 @@ [sharedworker-in-worker.html] + expected: ERROR [Base URL in workers: new SharedWorker()] expected: FAIL diff --git a/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini new file mode 100644 index 00000000000..80f9a4f15b8 --- /dev/null +++ b/tests/wpt/metadata/workers/constructors/Worker/Worker-constructor.html.ini @@ -0,0 +1,2 @@ +[Worker-constructor.html] + expected: ERROR diff --git a/tests/wpt/metadata/workers/modules/dedicated-worker-import-data-url.any.js.ini b/tests/wpt/metadata/workers/modules/dedicated-worker-import-data-url.any.js.ini index 0c6066b044e..1f9cbfa4c71 100644 --- a/tests/wpt/metadata/workers/modules/dedicated-worker-import-data-url.any.js.ini +++ b/tests/wpt/metadata/workers/modules/dedicated-worker-import-data-url.any.js.ini @@ -1,44 +1,55 @@ [dedicated-worker-import-data-url.any.html] type: testharness expected: ERROR - [dedicated-worker-import-data-url] expected: FAIL [Static import.] expected: TIMEOUT + [Nested static import.] expected: NOTRUN + [Static import and then dynamic import.] expected: NOTRUN + [Dynamic import.] expected: NOTRUN + [Nested dynamic import.] expected: NOTRUN + [Dynamic import and then static import.] expected: NOTRUN + [eval(import()).] expected: NOTRUN [dedicated-worker-import-data-url.any.worker.html] type: testharness - expected: ERROR - + expected: TIMEOUT [dedicated-worker-import-data-url] expected: FAIL [Static import.] expected: TIMEOUT + [Nested static import.] expected: NOTRUN + [Static import and then dynamic import.] expected: NOTRUN + [Dynamic import.] expected: NOTRUN + [Nested dynamic import.] expected: NOTRUN + [Dynamic import and then static import.] expected: NOTRUN + [eval(import()).] expected: NOTRUN + diff --git a/tests/wpt/metadata/workers/modules/dedicated-worker-import-referrer.html.ini b/tests/wpt/metadata/workers/modules/dedicated-worker-import-referrer.html.ini index 51644d3659a..9be28c54d9c 100644 --- a/tests/wpt/metadata/workers/modules/dedicated-worker-import-referrer.html.ini +++ b/tests/wpt/metadata/workers/modules/dedicated-worker-import-referrer.html.ini @@ -1,11 +1,7 @@ [dedicated-worker-import-referrer.html] - expected: CRASH [DedicatedWorker: Referrer] expected: FAIL - [Same-origin top-level module script loading with "no-referrer" referrer policy] - expected: FAIL - [Same-origin top-level module script loading with "origin" referrer policy] expected: FAIL diff --git a/tests/wpt/metadata/workers/modules/dedicated-worker-options-credentials.html.ini b/tests/wpt/metadata/workers/modules/dedicated-worker-options-credentials.html.ini index c2ee9826593..d897d6bba5a 100644 --- a/tests/wpt/metadata/workers/modules/dedicated-worker-options-credentials.html.ini +++ b/tests/wpt/metadata/workers/modules/dedicated-worker-options-credentials.html.ini @@ -1,5 +1,5 @@ [dedicated-worker-options-credentials.html] - expected: ERROR + expected: TIMEOUT [DedicatedWorker: WorkerOptions 'credentials'] expected: FAIL diff --git a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini index 268949ced5c..f584fce5df1 100644 --- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini +++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini @@ -1,4 +1,5 @@ [005.html] + expected: ERROR [dedicated worker in shared worker in dedicated worker] expected: FAIL diff --git a/tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini b/tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini index d6e39444229..49f489d2a1c 100644 --- a/tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini +++ b/tests/wpt/metadata/workers/semantics/run-a-worker/003.html.ini @@ -1,5 +1,6 @@ [003.html] type: testharness + expected: ERROR [shared] expected: FAIL diff --git a/tests/wpt/metadata/workers/worker-performance.worker.js.ini b/tests/wpt/metadata/workers/worker-performance.worker.js.ini index d68b3fc39c3..962ed0765f0 100644 --- a/tests/wpt/metadata/workers/worker-performance.worker.js.ini +++ b/tests/wpt/metadata/workers/worker-performance.worker.js.ini @@ -6,12 +6,6 @@ [Performance marks and measures seem to be working correctly in workers] expected: FAIL - [Can use clearMarks and clearMeasures in workers] - expected: FAIL - - [performance.clearResourceTimings in workers] - expected: FAIL - [performance.setResourceTimingBufferSize in workers] expected: FAIL diff --git a/tests/wpt/webgl/meta/conformance/glsl/bugs/long-expressions-should-not-crash.html.ini b/tests/wpt/webgl/meta/conformance/glsl/bugs/long-expressions-should-not-crash.html.ini new file mode 100644 index 00000000000..a62aadf2b61 --- /dev/null +++ b/tests/wpt/webgl/meta/conformance/glsl/bugs/long-expressions-should-not-crash.html.ini @@ -0,0 +1,2 @@ +[long-expressions-should-not-crash.html] + expected: TIMEOUT