mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Auto merge of #25205 - shnmorimoto:fix_performance_interface_timing_member, r=jdm
Fix performance interface timing member <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #23330 and #24468 (GitHub issue number if applicable) <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This commit is contained in:
commit
226b341078
37 changed files with 87 additions and 402 deletions
|
@ -96,10 +96,10 @@ impl PerformanceEntryList {
|
|||
entry_type: Option<DOMString>,
|
||||
) {
|
||||
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 {
|
|||
/// <https://w3c.github.io/performance-timeline/#queue-a-performanceentry>
|
||||
/// Also this algorithm has been extented according to :
|
||||
/// <https://w3c.github.io/resource-timing/#sec-extensions-performance-interface>
|
||||
pub fn queue_entry(&self, entry: &PerformanceEntry, add_to_performance_entries_buffer: bool) {
|
||||
pub fn queue_entry(&self, entry: &PerformanceEntry) -> Option<usize> {
|
||||
// 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::<PerformanceEntry>(),
|
||||
true, /* buffer performance entry */
|
||||
);
|
||||
self.queue_entry(&entry.upcast::<PerformanceEntry>());
|
||||
|
||||
// Step 9.
|
||||
Ok(())
|
||||
|
@ -488,10 +492,7 @@ impl PerformanceMethods for Performance {
|
|||
);
|
||||
|
||||
// Step 9 and 10.
|
||||
self.queue_entry(
|
||||
&entry.upcast::<PerformanceEntry>(),
|
||||
true, /* buffer performance entry */
|
||||
);
|
||||
self.queue_entry(&entry.upcast::<PerformanceEntry>());
|
||||
|
||||
// Step 11.
|
||||
Ok(())
|
||||
|
|
|
@ -689,6 +689,8 @@ pub struct ParserContext {
|
|||
url: ServoUrl,
|
||||
/// timing data for this resource
|
||||
resource_timing: ResourceFetchTiming,
|
||||
/// pushed entry index
|
||||
pushed_entry_index: Option<usize>,
|
||||
}
|
||||
|
||||
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::<PerformanceEntry>());
|
||||
}
|
||||
}
|
||||
|
||||
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::<PerformanceEntry>(), true);
|
||||
.queue_entry(performance_entry.upcast::<PerformanceEntry>());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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::<PerformanceEntry>(), true);
|
||||
.queue_entry(performance_entry.upcast::<PerformanceEntry>());
|
||||
}
|
||||
|
||||
impl<Listener: PreInvoke + Send + 'static> NetworkListener<Listener> {
|
||||
|
|
|
@ -3889,10 +3889,9 @@ impl ScriptThread {
|
|||
metric_type,
|
||||
metric_value,
|
||||
);
|
||||
window.Performance().queue_entry(
|
||||
&entry.upcast::<PerformanceEntry>(),
|
||||
true, /* buffer performance entry */
|
||||
);
|
||||
window
|
||||
.Performance()
|
||||
.queue_entry(&entry.upcast::<PerformanceEntry>());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,4 +13,3 @@
|
|||
|
||||
[X-Content-Type-Options%3A%20%2Cnosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -19,3 +19,4 @@
|
|||
[idlharness.any.html]
|
||||
|
||||
[idlharness.any.worker.html]
|
||||
expected: CRASH
|
||||
|
|
|
@ -5,6 +5,3 @@
|
|||
[performance-tojson]
|
||||
expected: FAIL
|
||||
|
||||
[Test performance.toJSON()]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[form-double-submit-2.html]
|
||||
expected: ERROR
|
||||
[preventDefault should allow onclick submit() to succeed]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[dom_interactive_image_document.html]
|
||||
expected: ERROR
|
||||
[Test domInteractive on image document]
|
||||
expected: NOTRUN
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[dom_interactive_media_document.html]
|
||||
expected: ERROR
|
||||
[Test domInteractive on media document]
|
||||
expected: NOTRUN
|
||||
|
|
@ -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
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[secure-connection-start-reuse.https.html]
|
||||
expected: TIMEOUT
|
||||
[Test that secureConnectionStart value is as expected when reused]
|
||||
expected: NOTRUN
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[clear_resource_timing_functionality.html]
|
||||
[No resource timing entries should be stored after clearResourceTimings.]
|
||||
expected: FAIL
|
||||
|
|
@ -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
|
||||
|
||||
|
|
5
tests/wpt/metadata/webmessaging/with-ports/017.html.ini
Normal file
5
tests/wpt/metadata/webmessaging/with-ports/017.html.ini
Normal file
|
@ -0,0 +1,5 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
[import-in-moduleworker.html]
|
||||
expected: ERROR
|
||||
[Base URL in module dedicated workers: import]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[sharedworker-in-worker.html]
|
||||
expected: ERROR
|
||||
[Base URL in workers: new SharedWorker()]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[Worker-constructor.html]
|
||||
expected: ERROR
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[dedicated-worker-options-credentials.html]
|
||||
expected: ERROR
|
||||
expected: TIMEOUT
|
||||
[DedicatedWorker: WorkerOptions 'credentials']
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[005.html]
|
||||
expected: ERROR
|
||||
[dedicated worker in shared worker in dedicated worker]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
[003.html]
|
||||
type: testharness
|
||||
expected: ERROR
|
||||
[shared]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[long-expressions-should-not-crash.html]
|
||||
expected: TIMEOUT
|
Loading…
Add table
Add a link
Reference in a new issue