зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #16246 - Revert to per-process shared lock for author-origin stylesheets (from servo:revert-per-doc); r=jdm
Fixes https://github.com/servo/servo/issues/16097 Reopens https://github.com/servo/servo/issues/16027 Source-Repo: https://github.com/servo/servo Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : c8b45f3883847d325c30ab9a95193a8eb530bc5c
This commit is contained in:
Родитель
89c508224f
Коммит
8769d0227e
|
@ -2250,6 +2250,7 @@ dependencies = [
|
|||
"ipc-channel 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"js 0.1.4 (git+https://github.com/servo/rust-mozjs)",
|
||||
"jstraceable_derive 0.0.1",
|
||||
"lazy_static 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"mime 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
|
|
@ -54,6 +54,7 @@ image = "0.12"
|
|||
ipc-channel = "0.7"
|
||||
js = {git = "https://github.com/servo/rust-mozjs", features = ["promises"]}
|
||||
jstraceable_derive = {path = "../jstraceable_derive"}
|
||||
lazy_static = "0.2"
|
||||
libc = "0.2"
|
||||
log = "0.3.5"
|
||||
mime = "0.2.1"
|
||||
|
|
|
@ -2132,7 +2132,21 @@ impl Document {
|
|||
scripts: Default::default(),
|
||||
anchors: Default::default(),
|
||||
applets: Default::default(),
|
||||
style_shared_lock: StyleSharedRwLock::new(),
|
||||
style_shared_lock: {
|
||||
lazy_static! {
|
||||
/// Per-process shared lock for author-origin stylesheets
|
||||
///
|
||||
/// FIXME: make it per-document or per-pipeline instead:
|
||||
/// https://github.com/servo/servo/issues/16027
|
||||
/// (Need to figure out what to do with the style attribute
|
||||
/// of elements adopted into another document.)
|
||||
static ref PER_PROCESS_AUTHOR_SHARED_LOCK: StyleSharedRwLock = {
|
||||
StyleSharedRwLock::new()
|
||||
};
|
||||
}
|
||||
PER_PROCESS_AUTHOR_SHARED_LOCK.clone()
|
||||
//StyleSharedRwLock::new()
|
||||
},
|
||||
stylesheets: DOMRefCell::new(None),
|
||||
stylesheets_changed_since_reflow: Cell::new(false),
|
||||
stylesheet_list: MutNullableJS::new(None),
|
||||
|
|
|
@ -60,6 +60,8 @@ extern crate ipc_channel;
|
|||
extern crate js;
|
||||
#[macro_use]
|
||||
extern crate jstraceable_derive;
|
||||
#[macro_use]
|
||||
extern crate lazy_static;
|
||||
extern crate libc;
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
|
|
Загрузка…
Ссылка в новой задаче