aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_thread/dom_wrapper.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2017-09-21 18:10:05 -0500
committerGitHub <noreply@github.com>2017-09-21 18:10:05 -0500
commitbe9c8ec07a0ca745adf1b412d32b3b32adec122c (patch)
tree9c279228e0b0b06e0f72c44c831ed6577dd8b28e /components/layout_thread/dom_wrapper.rs
parent83705a8fa8992a974b32acc6635c7dfeed1afa50 (diff)
parent438740b912b99ebacf3f5269b37be570cbdcaf7e (diff)
downloadservo-be9c8ec07a0ca745adf1b412d32b3b32adec122c.tar.gz
servo-be9c8ec07a0ca745adf1b412d32b3b32adec122c.zip
Auto merge of #18595 - bholley:nth_index_cache, r=emilio
Implement an nth-index cache https://bugzilla.mozilla.org/show_bug.cgi?id=1334730 <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18595) <!-- Reviewable:end -->
Diffstat (limited to 'components/layout_thread/dom_wrapper.rs')
-rw-r--r--components/layout_thread/dom_wrapper.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/components/layout_thread/dom_wrapper.rs b/components/layout_thread/dom_wrapper.rs
index a9596f099a2..962fe09a726 100644
--- a/components/layout_thread/dom_wrapper.rs
+++ b/components/layout_thread/dom_wrapper.rs
@@ -630,6 +630,10 @@ fn as_element<'le>(node: LayoutJS<Node>) -> Option<ServoLayoutElement<'le>> {
impl<'le> ::selectors::Element for ServoLayoutElement<'le> {
type Impl = SelectorImpl;
+ fn opaque(&self) -> ::selectors::OpaqueElement {
+ ::selectors::OpaqueElement::new(self.as_node().opaque().0 as *const ())
+ }
+
fn parent_element(&self) -> Option<ServoLayoutElement<'le>> {
unsafe {
self.element.upcast().parent_node_ref().and_then(as_element)
@@ -1168,6 +1172,11 @@ impl<'le> ThreadSafeLayoutElement for ServoThreadSafeLayoutElement<'le> {
impl<'le> ::selectors::Element for ServoThreadSafeLayoutElement<'le> {
type Impl = SelectorImpl;
+ fn opaque(&self) -> ::selectors::OpaqueElement {
+ ::selectors::OpaqueElement::new(self.as_node().opaque().0 as *const ())
+ }
+
+
fn parent_element(&self) -> Option<Self> {
warn!("ServoThreadSafeLayoutElement::parent_element called");
None