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:
bors-servo 2019-12-14 10:42:16 -05:00 committed by GitHub
commit 226b341078
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 87 additions and 402 deletions

View file

@ -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(())

View file

@ -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>());
}
}

View file

@ -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;
};

View file

@ -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> {

View file

@ -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>());
}
}

View file

@ -13,4 +13,3 @@
[X-Content-Type-Options%3A%20%2Cnosniff]
expected: FAIL

View file

@ -19,3 +19,4 @@
[idlharness.any.html]
[idlharness.any.worker.html]
expected: CRASH

View file

@ -5,6 +5,3 @@
[performance-tojson]
expected: FAIL
[Test performance.toJSON()]
expected: FAIL

View file

@ -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

View file

@ -1,5 +1,5 @@
[form-double-submit-2.html]
expected: ERROR
[preventDefault should allow onclick submit() to succeed]
expected: FAIL
expected: TIMEOUT

View file

@ -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

View file

@ -1,5 +0,0 @@
[dom_interactive_image_document.html]
expected: ERROR
[Test domInteractive on image document]
expected: NOTRUN

View file

@ -1,5 +0,0 @@
[dom_interactive_media_document.html]
expected: ERROR
[Test domInteractive on media document]
expected: NOTRUN

View file

@ -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

View file

@ -1,5 +0,0 @@
[secure-connection-start-reuse.https.html]
expected: TIMEOUT
[Test that secureConnectionStart value is as expected when reused]
expected: NOTRUN

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,4 +0,0 @@
[clear_resource_timing_functionality.html]
[No resource timing entries should be stored after clearResourceTimings.]
expected: FAIL

View file

@ -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

View file

@ -0,0 +1,5 @@
[017.html]
expected: TIMEOUT
[origin of the script that invoked the method, about:blank]
expected: TIMEOUT

View file

@ -1,4 +1,5 @@
[import-in-moduleworker.html]
expected: ERROR
[Base URL in module dedicated workers: import]
expected: FAIL

View file

@ -1,4 +1,5 @@
[sharedworker-in-worker.html]
expected: ERROR
[Base URL in workers: new SharedWorker()]
expected: FAIL

View file

@ -0,0 +1,2 @@
[Worker-constructor.html]
expected: ERROR

View file

@ -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

View file

@ -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

View file

@ -1,5 +1,5 @@
[dedicated-worker-options-credentials.html]
expected: ERROR
expected: TIMEOUT
[DedicatedWorker: WorkerOptions 'credentials']
expected: FAIL

View file

@ -1,4 +1,5 @@
[005.html]
expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL

View file

@ -1,5 +1,6 @@
[003.html]
type: testharness
expected: ERROR
[shared]
expected: FAIL

View file

@ -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

View file

@ -0,0 +1,2 @@
[long-expressions-should-not-crash.html]
expected: TIMEOUT