mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Always get browsing context from document
This commit is contained in:
parent
2e5c058463
commit
be06f1e9b3
3 changed files with 39 additions and 31 deletions
|
@ -23,7 +23,7 @@ use dom_struct::dom_struct;
|
|||
pub struct ShadowRoot {
|
||||
document_fragment: DocumentFragment,
|
||||
document_or_shadow_root: DocumentOrShadowRootImpl,
|
||||
has_browsing_context: bool,
|
||||
document: Dom<Document>,
|
||||
host: Dom<Element>,
|
||||
stylesheet_list: MutNullableDom<StyleSheetList>,
|
||||
window: Dom<Window>,
|
||||
|
@ -32,18 +32,14 @@ pub struct ShadowRoot {
|
|||
impl ShadowRoot {
|
||||
#[allow(unrooted_must_root)]
|
||||
fn new_inherited(host: &Element, document: &Document) -> ShadowRoot {
|
||||
let has_browsing_context = true;
|
||||
let document_fragment = DocumentFragment::new_inherited(document);
|
||||
document_fragment
|
||||
.upcast::<Node>()
|
||||
.set_flag(NodeFlags::IS_IN_SHADOW_TREE, true);
|
||||
ShadowRoot {
|
||||
document_fragment,
|
||||
document_or_shadow_root: DocumentOrShadowRootImpl::new(
|
||||
document.window(),
|
||||
has_browsing_context,
|
||||
),
|
||||
has_browsing_context,
|
||||
document_or_shadow_root: DocumentOrShadowRootImpl::new(document.window()),
|
||||
document: Dom::from_ref(document),
|
||||
host: Dom::from_ref(host),
|
||||
stylesheet_list: MutNullableDom::new(None),
|
||||
window: Dom::from_ref(document.window()),
|
||||
|
@ -85,14 +81,24 @@ impl ShadowRootMethods for ShadowRoot {
|
|||
fn ElementFromPoint(&self, x: Finite<f64>, y: Finite<f64>) -> Option<DomRoot<Element>> {
|
||||
// XXX return the result of running the retargeting algorithm with context object
|
||||
// and the original result as input
|
||||
self.document_or_shadow_root.element_from_point(x, y, None)
|
||||
self.document_or_shadow_root.element_from_point(
|
||||
x,
|
||||
y,
|
||||
None,
|
||||
self.document.has_browsing_context(),
|
||||
)
|
||||
}
|
||||
|
||||
// https://drafts.csswg.org/cssom-view/#dom-document-elementsfrompoint
|
||||
fn ElementsFromPoint(&self, x: Finite<f64>, y: Finite<f64>) -> Vec<DomRoot<Element>> {
|
||||
// XXX return the result of running the retargeting algorithm with context object
|
||||
// and the original result as input
|
||||
self.document_or_shadow_root.elements_from_point(x, y, None)
|
||||
self.document_or_shadow_root.elements_from_point(
|
||||
x,
|
||||
y,
|
||||
None,
|
||||
self.document.has_browsing_context(),
|
||||
)
|
||||
}
|
||||
|
||||
/// https://dom.spec.whatwg.org/#dom-shadowroot-mode
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue