From 98698b78016196964400acf1d69363efc4350dc8 Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Wed, 18 Oct 2017 17:11:04 +0800 Subject: [PATCH] geckolib: Add FFI function for checking document state dependencies. --- ports/geckolib/glue.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 45eb85d839e..c8a5140fcfd 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -21,7 +21,7 @@ use style::context::ThreadLocalStyleContext; use style::data::{ElementStyles, self}; use style::dom::{ShowSubtreeData, TElement, TNode}; use style::driver; -use style::element_state::ElementState; +use style::element_state::{DocumentState, ElementState}; use style::error_reporting::{NullReporter, ParseErrorReporter}; use style::font_metrics::{FontMetricsProvider, get_metrics_provider_for_product}; use style::gecko::data::{GeckoStyleSheet, PerDocumentStyleData, PerDocumentStyleDataImpl}; @@ -4103,6 +4103,17 @@ pub extern "C" fn Servo_StyleSet_HasStateDependency( has_dep } +#[no_mangle] +pub extern "C" fn Servo_StyleSet_HasDocumentStateDependency( + raw_data: RawServoStyleSetBorrowed, + state: u64, +) -> bool { + let state = DocumentState::from_bits_truncate(state); + let data = PerDocumentStyleData::from_ffi(raw_data).borrow(); + + data.stylist.has_document_state_dependency(state) +} + #[no_mangle] pub extern "C" fn Servo_GetCustomPropertyValue( computed_values: ServoStyleContextBorrowed,