mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Temporarily convert existing cfg(debug_assertions) crashes to warnings (#30578)
This commit is contained in:
parent
351b5036bf
commit
66258bfbbd
9 changed files with 53 additions and 16 deletions
|
@ -2108,9 +2108,12 @@ impl WebGLImpl {
|
||||||
error!("JS backtrace from failed WebGL API:\n{}", backtrace);
|
error!("JS backtrace from failed WebGL API:\n{}", backtrace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
panic!(
|
// TODO(servo#30568) revert to panic!() once underlying bug is fixed
|
||||||
"Unexpected WebGL error: 0x{:x} ({}) [{:?}]",
|
log::warn!(
|
||||||
error, error, command
|
"debug assertion failed! Unexpected WebGL error: 0x{:x} ({}) [{:?}]",
|
||||||
|
error,
|
||||||
|
error,
|
||||||
|
command
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3168,10 +3168,11 @@ where
|
||||||
// https://github.com/rust-lang/rust/issues/59159
|
// https://github.com/rust-lang/rust/issues/59159
|
||||||
let browsing_context_size = browsing_context.size;
|
let browsing_context_size = browsing_context.size;
|
||||||
let browsing_context_is_visible = browsing_context.is_visible;
|
let browsing_context_is_visible = browsing_context.is_visible;
|
||||||
debug_assert_eq!(
|
// TODO(servo#30571) revert to debug_assert_eq!() once underlying bug is fixed
|
||||||
browsing_context_size,
|
#[cfg(debug_assertions)]
|
||||||
load_info.window_size.initial_viewport
|
if !(browsing_context_size == load_info.window_size.initial_viewport) {
|
||||||
);
|
log::warn!("debug assertion failed! browsing_context_size == load_info.window_size.initial_viewport");
|
||||||
|
}
|
||||||
|
|
||||||
// Create the new pipeline, attached to the parent and push to pending changes
|
// Create the new pipeline, attached to the parent and push to pending changes
|
||||||
self.new_pipeline(
|
self.new_pipeline(
|
||||||
|
|
|
@ -1762,7 +1762,11 @@ impl BlockFlow {
|
||||||
}
|
}
|
||||||
|
|
||||||
// If you remove the might_have_floats_in conditional, this will go off.
|
// If you remove the might_have_floats_in conditional, this will go off.
|
||||||
debug_assert!(!self.is_inline_flex_item());
|
// TODO(servo#30572) revert to debug_assert!() once underlying bug is fixed
|
||||||
|
#[cfg(debug_assertions)]
|
||||||
|
if !(!self.is_inline_flex_item()) {
|
||||||
|
log::warn!("debug assertion failed! !self.is_inline_flex_item()");
|
||||||
|
}
|
||||||
|
|
||||||
// Compute the available space for us, based on the actual floats.
|
// Compute the available space for us, based on the actual floats.
|
||||||
let rect = self.base.floats.available_rect(
|
let rect = self.base.floats.available_rect(
|
||||||
|
|
|
@ -163,7 +163,9 @@ impl Floats {
|
||||||
|
|
||||||
/// Adjusts the recorded offset of the flow relative to the first float.
|
/// Adjusts the recorded offset of the flow relative to the first float.
|
||||||
pub fn translate(&mut self, delta: LogicalSize<Au>) {
|
pub fn translate(&mut self, delta: LogicalSize<Au>) {
|
||||||
self.offset = self.offset + delta
|
// TODO(servo#30577) revert once underlying bug is fixed
|
||||||
|
// self.offset = self.offset + delta
|
||||||
|
self.offset = self.offset.add_or_warn(delta)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns the position of the last float in flow coordinates.
|
/// Returns the position of the last float in flow coordinates.
|
||||||
|
|
|
@ -1376,7 +1376,11 @@ impl MutableOwnedFlowUtils for FlowRef {
|
||||||
let base = FlowRef::deref_mut(self).mut_base();
|
let base = FlowRef::deref_mut(self).mut_base();
|
||||||
|
|
||||||
for descendant_link in abs_descendants.descendant_links.iter_mut() {
|
for descendant_link in abs_descendants.descendant_links.iter_mut() {
|
||||||
debug_assert!(!descendant_link.has_reached_containing_block);
|
// TODO(servo#30573) revert to debug_assert!() once underlying bug is fixed
|
||||||
|
#[cfg(debug_assertions)]
|
||||||
|
if !(!descendant_link.has_reached_containing_block) {
|
||||||
|
log::warn!("debug assertion failed! !descendant_link.has_reached_containing_block");
|
||||||
|
}
|
||||||
let descendant_base = FlowRef::deref_mut(&mut descendant_link.flow).mut_base();
|
let descendant_base = FlowRef::deref_mut(&mut descendant_link.flow).mut_base();
|
||||||
descendant_base.absolute_cb.set(this.clone());
|
descendant_base.absolute_cb.set(this.clone());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1517,7 +1517,9 @@ impl Fragment {
|
||||||
if let Some(ref inline_fragment_context) = self.inline_context {
|
if let Some(ref inline_fragment_context) = self.inline_context {
|
||||||
for node in &inline_fragment_context.nodes {
|
for node in &inline_fragment_context.nodes {
|
||||||
if node.style.get_box().position == Position::Relative {
|
if node.style.get_box().position == Position::Relative {
|
||||||
rel_pos = rel_pos + from_style(&*node.style, containing_block_size);
|
// TODO(servo#30577) revert once underlying bug is fixed
|
||||||
|
// rel_pos = rel_pos + from_style(&*node.style, containing_block_size);
|
||||||
|
rel_pos = rel_pos.add_or_warn(from_style(&*node.style, containing_block_size));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -544,7 +544,11 @@ impl StackingContext {
|
||||||
first
|
first
|
||||||
} else {
|
} else {
|
||||||
// This should only happen if the root element has `display: none`
|
// This should only happen if the root element has `display: none`
|
||||||
debug_panic!("`CanvasBackground::for_root_element` should have returned `style: None`");
|
// TODO(servo#30569) revert to debug_panic!() once underlying bug is fixed
|
||||||
|
log::warn!(
|
||||||
|
"debug assertion failed! `CanvasBackground::for_root_element` should have returned `style: None`",
|
||||||
|
);
|
||||||
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
let StackingContextContent::Fragment { fragment, scroll_node_id, containing_block, .. }
|
let StackingContextContent::Fragment { fragment, scroll_node_id, containing_block, .. }
|
||||||
|
|
|
@ -258,10 +258,11 @@ impl BoxFragment {
|
||||||
return PhysicalSides::new(top, right, bottom, left);
|
return PhysicalSides::new(top, right, bottom, left);
|
||||||
}
|
}
|
||||||
|
|
||||||
debug_assert!(
|
// TODO(servo#30570) revert to debug_assert!() once underlying bug is fixed
|
||||||
position == ComputedPosition::Fixed || position == ComputedPosition::Absolute,
|
#[cfg(debug_assertions)]
|
||||||
"Got unknown position."
|
if !(position == ComputedPosition::Fixed || position == ComputedPosition::Absolute) {
|
||||||
);
|
log::warn!("debug assertion failed! Got unknown position.");
|
||||||
|
}
|
||||||
|
|
||||||
let resolve = |value: &LengthPercentageOrAuto, container_length| {
|
let resolve = |value: &LengthPercentageOrAuto, container_length| {
|
||||||
value
|
value
|
||||||
|
|
|
@ -570,6 +570,22 @@ impl<T: Add<T, Output = T>> Add for LogicalSize<T> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO(servo#30577) remove this once underlying bugs are fixed
|
||||||
|
impl<T: Add<T, Output = T>> LogicalSize<T> {
|
||||||
|
#[inline]
|
||||||
|
pub fn add_or_warn(self, other: LogicalSize<T>) -> LogicalSize<T> {
|
||||||
|
#[cfg(debug_assertions)]
|
||||||
|
if !(self.debug_writing_mode.mode == other.debug_writing_mode.mode) {
|
||||||
|
log::warn!("debug assertion failed! self.debug_writing_mode.mode == other.debug_writing_mode.mode");
|
||||||
|
}
|
||||||
|
LogicalSize {
|
||||||
|
debug_writing_mode: self.debug_writing_mode,
|
||||||
|
inline: self.inline + other.inline,
|
||||||
|
block: self.block + other.block,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<T: Sub<T, Output = T>> Sub for LogicalSize<T> {
|
impl<T: Sub<T, Output = T>> Sub for LogicalSize<T> {
|
||||||
type Output = LogicalSize<T>;
|
type Output = LogicalSize<T>;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue