diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-07-15 05:49:54 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-15 05:49:54 -0700 |
commit | 5c5c5147eae4159f94dbad9012e04ab9480063fd (patch) | |
tree | b6be21f60f581f21589596080b3d2bdaadd41041 | |
parent | f9642b36bda3beb01dfedbc33e3586e5f7df473a (diff) | |
parent | 3000326885145aae70655be1c2043b26bc12b2b8 (diff) | |
download | servo-5c5c5147eae4159f94dbad9012e04ab9480063fd.tar.gz servo-5c5c5147eae4159f94dbad9012e04ab9480063fd.zip |
Auto merge of #17743 - emilio:assert-properly, r=heycam
stylo: Assert our stuff properly.
-rw-r--r-- | ports/geckolib/glue.rs | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 0ae6264e12f..ed698531c07 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -2770,20 +2770,18 @@ pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, #[no_mangle] pub extern "C" fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, - raw_data: RawServoStyleSetBorrowed) + _raw_data: RawServoStyleSetBorrowed) -> ServoComputedValuesStrong { let element = GeckoElement(element); debug!("Servo_ResolveStyle: {:?}", element); - let data = unsafe { element.ensure_data() }.borrow(); - - if !element.has_current_styles(&*data) { - debug_assert!(false, "Resolving style on element without current styles with lazy \ - computation forbidden."); - let per_doc_data = PerDocumentStyleData::from_ffi(raw_data).borrow(); - return per_doc_data.default_computed_values().clone().into_strong(); - } + let data = + element.borrow_data().expect("Resolving style on unstyled element"); + // TODO(emilio): Downgrade to debug assertions when close to release. + assert!(data.has_styles(), "Resolving style on unstyled element"); + assert!(element.has_current_styles(&*data), + "Resolving style on element without current styles"); data.styles.primary().clone().into_strong() } |