[Performance Timeline API](https://www.w3.org/TR/performance-timeline-2/) implementation. This API is required to allow DOM access to the [Paint Timing API](https://wicg.github.io/paint-timing/#example) metrics implemented in #17256. Unfortunately, I couldn't test it properly, as its usage depends on other APIs like the Paint Timing, User Timing, Resource Timing or Server Timing APIs. I'll work in the integration with the Paint Timing API next. - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [ ] There are [WPTs](https://github.com/servo/servo/tree/master/tests/wpt/web-platform-tests/performance-timeline) for this API, however they depend on the implementation of the User Timing and the Resource Timing APIs, which I'll hopefully be implementing soon. Source-Repo: https://github.com/servo/servo Source-Revision: 6988c7424ddfdd9a98e6a458ff2ad307a74237aa
26 lines
918 B
Rust
26 lines
918 B
Rust
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
pub mod dom_manipulation;
|
|
pub mod file_reading;
|
|
pub mod history_traversal;
|
|
pub mod networking;
|
|
pub mod performance_timeline;
|
|
pub mod user_interaction;
|
|
|
|
use dom::globalscope::GlobalScope;
|
|
use script_thread::{Runnable, RunnableWrapper};
|
|
use std::result::Result;
|
|
|
|
pub trait TaskSource {
|
|
fn queue_with_wrapper<T>(&self,
|
|
msg: Box<T>,
|
|
wrapper: &RunnableWrapper)
|
|
-> Result<(), ()>
|
|
where T: Runnable + Send + 'static;
|
|
fn queue<T: Runnable + Send + 'static>(&self, msg: Box<T>, global: &GlobalScope) -> Result<(), ()> {
|
|
self.queue_with_wrapper(msg, &global.get_runnable_wrapper())
|
|
}
|
|
}
|