mirror of
https://github.com/servo/servo.git
synced 2025-08-13 17:35:36 +01:00
Use Servo to implement GetStatesForPseudoClass function in InspectorUtils.
This commit is contained in:
parent
84513d43ba
commit
bb15111dab
2 changed files with 32 additions and 16 deletions
|
@ -31,7 +31,7 @@ use style::font_metrics::{FontMetricsProvider, get_metrics_provider_for_product}
|
|||
use style::gecko::data::{GeckoStyleSheet, PerDocumentStyleData, PerDocumentStyleDataImpl};
|
||||
use style::gecko::global_style_data::{GLOBAL_STYLE_DATA, GlobalStyleData, STYLE_THREAD_POOL};
|
||||
use style::gecko::restyle_damage::GeckoRestyleDamage;
|
||||
use style::gecko::selector_parser::PseudoElement;
|
||||
use style::gecko::selector_parser::{NonTSPseudoClass, PseudoElement};
|
||||
use style::gecko::traversal::RecalcStyleOnly;
|
||||
use style::gecko::wrapper::{GeckoElement, GeckoNode};
|
||||
use style::gecko_bindings::bindings;
|
||||
|
@ -5115,3 +5115,14 @@ pub extern "C" fn Servo_ParseCounterStyleDescriptor(
|
|||
result,
|
||||
).is_ok()
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub unsafe extern "C" fn Servo_PseudoClass_GetStates(name: *const nsACString) -> u64 {
|
||||
let name = name.as_ref().unwrap().as_str_unchecked();
|
||||
match NonTSPseudoClass::parse_non_functional(name) {
|
||||
None => 0,
|
||||
// Ignore :any-link since it contains both visited and unvisited state.
|
||||
Some(NonTSPseudoClass::AnyLink) => 0,
|
||||
Some(pseudo_class) => pseudo_class.state_flag().bits(),
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue