| Index: third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.cpp b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| index 7d09b8e9c22cf708242edb9795192f6fa288ab10..070e0f622486ea438b8b8fbf22768aaf82dfc4b4 100644
|
| --- a/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| +++ b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| @@ -489,6 +489,7 @@ bool ComputedStyle::NonInheritedEqual(const ComputedStyle& other) const {
|
| svg_style_->NonInheritedEqual(*other.svg_style_);
|
| }
|
|
|
| +// TODO(nainar): This fast path still remains.
|
| bool ComputedStyle::InheritedDataShared(const ComputedStyle& other) const {
|
| // This is a fast check that only looks if the data structures are shared.
|
| // TODO(sashab): Should ComputedStyleBase have an inheritedDataShared method?
|
| @@ -579,21 +580,17 @@ bool ComputedStyle::ScrollAnchorDisablingPropertyChanged(
|
| if (GetPosition() != other.GetPosition())
|
| return true;
|
|
|
| - if (box_.Get() != other.box_.Get()) {
|
| - if (box_->Width() != other.box_->Width() ||
|
| - box_->MinWidth() != other.box_->MinWidth() ||
|
| - box_->MaxWidth() != other.box_->MaxWidth() ||
|
| - box_->Height() != other.box_->Height() ||
|
| - box_->MinHeight() != other.box_->MinHeight() ||
|
| - box_->MaxHeight() != other.box_->MaxHeight())
|
| - return true;
|
| - }
|
| + if (box_->Width() != other.box_->Width() ||
|
| + box_->MinWidth() != other.box_->MinWidth() ||
|
| + box_->MaxWidth() != other.box_->MaxWidth() ||
|
| + box_->Height() != other.box_->Height() ||
|
| + box_->MinHeight() != other.box_->MinHeight() ||
|
| + box_->MaxHeight() != other.box_->MaxHeight())
|
| + return true;
|
|
|
| - if (surround_.Get() != other.surround_.Get()) {
|
| - if (surround_->margin_ != other.surround_->margin_ || !OffsetEqual(other) ||
|
| - surround_->padding_ != other.surround_->padding_)
|
| - return true;
|
| - }
|
| + if (surround_->margin_ != other.surround_->margin_ || !OffsetEqual(other) ||
|
| + surround_->padding_ != other.surround_->padding_)
|
| + return true;
|
|
|
| if (diff.TransformChanged())
|
| return true;
|
| @@ -610,155 +607,149 @@ bool ComputedStyle::DiffNeedsFullLayoutAndPaintInvalidation(
|
| // - or the layoutObject knows how to exactly invalidate paints caused by the
|
| // layout change instead of forced full paint invalidation.
|
|
|
| - if (surround_.Get() != other.surround_.Get()) {
|
| - // If our border widths change, then we need to layout. Other changes to
|
| - // borders only necessitate a paint invalidation.
|
| - if (BorderLeftWidth() != other.BorderLeftWidth() ||
|
| - BorderTopWidth() != other.BorderTopWidth() ||
|
| - BorderBottomWidth() != other.BorderBottomWidth() ||
|
| - BorderRightWidth() != other.BorderRightWidth())
|
| - return true;
|
| + // If our border widths change, then we need to layout. Other changes to
|
| + // borders only necessitate a paint invalidation.
|
| + if (BorderLeftWidth() != other.BorderLeftWidth() ||
|
| + BorderTopWidth() != other.BorderTopWidth() ||
|
| + BorderBottomWidth() != other.BorderBottomWidth() ||
|
| + BorderRightWidth() != other.BorderRightWidth())
|
| + return true;
|
|
|
| - if (surround_->padding_ != other.surround_->padding_)
|
| - return true;
|
| - }
|
| + if (surround_->padding_ != other.surround_->padding_)
|
| + return true;
|
|
|
| - if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) {
|
| - if (rare_non_inherited_data_->appearance_ !=
|
| - other.rare_non_inherited_data_->appearance_ ||
|
| - rare_non_inherited_data_->margin_before_collapse !=
|
| - other.rare_non_inherited_data_->margin_before_collapse ||
|
| - rare_non_inherited_data_->margin_after_collapse !=
|
| - other.rare_non_inherited_data_->margin_after_collapse ||
|
| - rare_non_inherited_data_->line_clamp !=
|
| - other.rare_non_inherited_data_->line_clamp ||
|
| - rare_non_inherited_data_->text_overflow !=
|
| - other.rare_non_inherited_data_->text_overflow ||
|
| - rare_non_inherited_data_->shape_margin_ !=
|
| - other.rare_non_inherited_data_->shape_margin_ ||
|
| - rare_non_inherited_data_->order_ !=
|
| - other.rare_non_inherited_data_->order_ ||
|
| - rare_non_inherited_data_->HasFilters() !=
|
| - other.rare_non_inherited_data_->HasFilters())
|
| - return true;
|
| + if (rare_non_inherited_data_->appearance_ !=
|
| + other.rare_non_inherited_data_->appearance_ ||
|
| + rare_non_inherited_data_->margin_before_collapse !=
|
| + other.rare_non_inherited_data_->margin_before_collapse ||
|
| + rare_non_inherited_data_->margin_after_collapse !=
|
| + other.rare_non_inherited_data_->margin_after_collapse ||
|
| + rare_non_inherited_data_->line_clamp !=
|
| + other.rare_non_inherited_data_->line_clamp ||
|
| + rare_non_inherited_data_->text_overflow !=
|
| + other.rare_non_inherited_data_->text_overflow ||
|
| + rare_non_inherited_data_->shape_margin_ !=
|
| + other.rare_non_inherited_data_->shape_margin_ ||
|
| + rare_non_inherited_data_->order_ !=
|
| + other.rare_non_inherited_data_->order_ ||
|
| + rare_non_inherited_data_->HasFilters() !=
|
| + other.rare_non_inherited_data_->HasFilters())
|
| + return true;
|
|
|
| - if (rare_non_inherited_data_->grid_.Get() !=
|
| - other.rare_non_inherited_data_->grid_.Get() &&
|
| - *rare_non_inherited_data_->grid_.Get() !=
|
| - *other.rare_non_inherited_data_->grid_.Get())
|
| - return true;
|
| + if (rare_non_inherited_data_->grid_.Get() !=
|
| + other.rare_non_inherited_data_->grid_.Get() &&
|
| + *rare_non_inherited_data_->grid_.Get() !=
|
| + *other.rare_non_inherited_data_->grid_.Get())
|
| + return true;
|
|
|
| - if (rare_non_inherited_data_->grid_item_.Get() !=
|
| - other.rare_non_inherited_data_->grid_item_.Get() &&
|
| - *rare_non_inherited_data_->grid_item_.Get() !=
|
| - *other.rare_non_inherited_data_->grid_item_.Get())
|
| - return true;
|
| + if (rare_non_inherited_data_->grid_item_.Get() !=
|
| + other.rare_non_inherited_data_->grid_item_.Get() &&
|
| + *rare_non_inherited_data_->grid_item_.Get() !=
|
| + *other.rare_non_inherited_data_->grid_item_.Get())
|
| + return true;
|
|
|
| - if (rare_non_inherited_data_->deprecated_flexible_box_.Get() !=
|
| - other.rare_non_inherited_data_->deprecated_flexible_box_.Get() &&
|
| - *rare_non_inherited_data_->deprecated_flexible_box_.Get() !=
|
| - *other.rare_non_inherited_data_->deprecated_flexible_box_.Get())
|
| - return true;
|
| + if (rare_non_inherited_data_->deprecated_flexible_box_.Get() !=
|
| + other.rare_non_inherited_data_->deprecated_flexible_box_.Get() &&
|
| + *rare_non_inherited_data_->deprecated_flexible_box_.Get() !=
|
| + *other.rare_non_inherited_data_->deprecated_flexible_box_.Get())
|
| + return true;
|
|
|
| - if (rare_non_inherited_data_->flexible_box_.Get() !=
|
| - other.rare_non_inherited_data_->flexible_box_.Get() &&
|
| - *rare_non_inherited_data_->flexible_box_.Get() !=
|
| - *other.rare_non_inherited_data_->flexible_box_.Get())
|
| - return true;
|
| + if (rare_non_inherited_data_->flexible_box_.Get() !=
|
| + other.rare_non_inherited_data_->flexible_box_.Get() &&
|
| + *rare_non_inherited_data_->flexible_box_.Get() !=
|
| + *other.rare_non_inherited_data_->flexible_box_.Get())
|
| + return true;
|
|
|
| - if (rare_non_inherited_data_->multi_col_.Get() !=
|
| - other.rare_non_inherited_data_->multi_col_.Get() &&
|
| - *rare_non_inherited_data_->multi_col_.Get() !=
|
| - *other.rare_non_inherited_data_->multi_col_.Get())
|
| - return true;
|
| + if (rare_non_inherited_data_->multi_col_.Get() !=
|
| + other.rare_non_inherited_data_->multi_col_.Get() &&
|
| + *rare_non_inherited_data_->multi_col_.Get() !=
|
| + *other.rare_non_inherited_data_->multi_col_.Get())
|
| + return true;
|
|
|
| - // If the counter directives change, trigger a relayout to re-calculate
|
| - // counter values and rebuild the counter node tree.
|
| - const CounterDirectiveMap* map_a =
|
| - rare_non_inherited_data_->counter_directives_.get();
|
| - const CounterDirectiveMap* map_b =
|
| - other.rare_non_inherited_data_->counter_directives_.get();
|
| - if (!(map_a == map_b || (map_a && map_b && *map_a == *map_b)))
|
| - return true;
|
| + // If the counter directives change, trigger a relayout to re-calculate
|
| + // counter values and rebuild the counter node tree.
|
| + const CounterDirectiveMap* map_a =
|
| + rare_non_inherited_data_->counter_directives_.get();
|
| + const CounterDirectiveMap* map_b =
|
| + other.rare_non_inherited_data_->counter_directives_.get();
|
| + if (!(map_a == map_b || (map_a && map_b && *map_a == *map_b)))
|
| + return true;
|
|
|
| - // We only need do layout for opacity changes if adding or losing opacity
|
| - // could trigger a change
|
| - // in us being a stacking context.
|
| - if (IsStackingContext() != other.IsStackingContext() &&
|
| - rare_non_inherited_data_->HasOpacity() !=
|
| - other.rare_non_inherited_data_->HasOpacity()) {
|
| - // FIXME: We would like to use SimplifiedLayout here, but we can't quite
|
| - // do that yet. We need to make sure SimplifiedLayout can operate
|
| - // correctly on LayoutInlines (we will need to add a
|
| - // selfNeedsSimplifiedLayout bit in order to not get confused and taint
|
| - // every line). In addition we need to solve the floating object issue
|
| - // when layers come and go. Right now a full layout is necessary to keep
|
| - // floating object lists sane.
|
| - return true;
|
| - }
|
| + // We only need do layout for opacity changes if adding or losing opacity
|
| + // could trigger a change
|
| + // in us being a stacking context.
|
| + if (IsStackingContext() != other.IsStackingContext() &&
|
| + rare_non_inherited_data_->HasOpacity() !=
|
| + other.rare_non_inherited_data_->HasOpacity()) {
|
| + // FIXME: We would like to use SimplifiedLayout here, but we can't quite
|
| + // do that yet. We need to make sure SimplifiedLayout can operate
|
| + // correctly on LayoutInlines (we will need to add a
|
| + // selfNeedsSimplifiedLayout bit in order to not get confused and taint
|
| + // every line). In addition we need to solve the floating object issue
|
| + // when layers come and go. Right now a full layout is necessary to keep
|
| + // floating object lists sane.
|
| + return true;
|
| }
|
|
|
| - if (rare_inherited_data_.Get() != other.rare_inherited_data_.Get()) {
|
| - if (rare_inherited_data_->highlight !=
|
| - other.rare_inherited_data_->highlight ||
|
| - rare_inherited_data_->indent != other.rare_inherited_data_->indent ||
|
| - rare_inherited_data_->text_align_last_ !=
|
| - other.rare_inherited_data_->text_align_last_ ||
|
| - rare_inherited_data_->text_indent_line_ !=
|
| - other.rare_inherited_data_->text_indent_line_ ||
|
| - rare_inherited_data_->effective_zoom_ !=
|
| - other.rare_inherited_data_->effective_zoom_ ||
|
| - rare_inherited_data_->word_break !=
|
| - other.rare_inherited_data_->word_break ||
|
| - rare_inherited_data_->overflow_wrap !=
|
| - other.rare_inherited_data_->overflow_wrap ||
|
| - rare_inherited_data_->line_break !=
|
| - other.rare_inherited_data_->line_break ||
|
| - rare_inherited_data_->text_security !=
|
| - other.rare_inherited_data_->text_security ||
|
| - rare_inherited_data_->hyphens != other.rare_inherited_data_->hyphens ||
|
| - rare_inherited_data_->hyphenation_limit_before !=
|
| - other.rare_inherited_data_->hyphenation_limit_before ||
|
| - rare_inherited_data_->hyphenation_limit_after !=
|
| - other.rare_inherited_data_->hyphenation_limit_after ||
|
| - rare_inherited_data_->hyphenation_string !=
|
| - other.rare_inherited_data_->hyphenation_string ||
|
| - rare_inherited_data_->respect_image_orientation_ !=
|
| - other.rare_inherited_data_->respect_image_orientation_ ||
|
| - rare_inherited_data_->ruby_position_ !=
|
| - other.rare_inherited_data_->ruby_position_ ||
|
| - rare_inherited_data_->text_emphasis_mark !=
|
| - other.rare_inherited_data_->text_emphasis_mark ||
|
| - rare_inherited_data_->text_emphasis_position !=
|
| - other.rare_inherited_data_->text_emphasis_position ||
|
| - rare_inherited_data_->text_emphasis_custom_mark !=
|
| - other.rare_inherited_data_->text_emphasis_custom_mark ||
|
| - rare_inherited_data_->text_justify_ !=
|
| - other.rare_inherited_data_->text_justify_ ||
|
| - rare_inherited_data_->text_orientation_ !=
|
| - other.rare_inherited_data_->text_orientation_ ||
|
| - rare_inherited_data_->text_combine_ !=
|
| - other.rare_inherited_data_->text_combine_ ||
|
| - rare_inherited_data_->tab_size_ !=
|
| - other.rare_inherited_data_->tab_size_ ||
|
| - rare_inherited_data_->text_size_adjust_ !=
|
| - other.rare_inherited_data_->text_size_adjust_ ||
|
| - rare_inherited_data_->list_style_image !=
|
| - other.rare_inherited_data_->list_style_image ||
|
| - rare_inherited_data_->line_height_step_ !=
|
| - other.rare_inherited_data_->line_height_step_ ||
|
| - rare_inherited_data_->text_stroke_width !=
|
| - other.rare_inherited_data_->text_stroke_width)
|
| - return true;
|
| + if (rare_inherited_data_->highlight !=
|
| + other.rare_inherited_data_->highlight ||
|
| + rare_inherited_data_->indent != other.rare_inherited_data_->indent ||
|
| + rare_inherited_data_->text_align_last_ !=
|
| + other.rare_inherited_data_->text_align_last_ ||
|
| + rare_inherited_data_->text_indent_line_ !=
|
| + other.rare_inherited_data_->text_indent_line_ ||
|
| + rare_inherited_data_->effective_zoom_ !=
|
| + other.rare_inherited_data_->effective_zoom_ ||
|
| + rare_inherited_data_->word_break !=
|
| + other.rare_inherited_data_->word_break ||
|
| + rare_inherited_data_->overflow_wrap !=
|
| + other.rare_inherited_data_->overflow_wrap ||
|
| + rare_inherited_data_->line_break !=
|
| + other.rare_inherited_data_->line_break ||
|
| + rare_inherited_data_->text_security !=
|
| + other.rare_inherited_data_->text_security ||
|
| + rare_inherited_data_->hyphens != other.rare_inherited_data_->hyphens ||
|
| + rare_inherited_data_->hyphenation_limit_before !=
|
| + other.rare_inherited_data_->hyphenation_limit_before ||
|
| + rare_inherited_data_->hyphenation_limit_after !=
|
| + other.rare_inherited_data_->hyphenation_limit_after ||
|
| + rare_inherited_data_->hyphenation_string !=
|
| + other.rare_inherited_data_->hyphenation_string ||
|
| + rare_inherited_data_->respect_image_orientation_ !=
|
| + other.rare_inherited_data_->respect_image_orientation_ ||
|
| + rare_inherited_data_->ruby_position_ !=
|
| + other.rare_inherited_data_->ruby_position_ ||
|
| + rare_inherited_data_->text_emphasis_mark !=
|
| + other.rare_inherited_data_->text_emphasis_mark ||
|
| + rare_inherited_data_->text_emphasis_position !=
|
| + other.rare_inherited_data_->text_emphasis_position ||
|
| + rare_inherited_data_->text_emphasis_custom_mark !=
|
| + other.rare_inherited_data_->text_emphasis_custom_mark ||
|
| + rare_inherited_data_->text_justify_ !=
|
| + other.rare_inherited_data_->text_justify_ ||
|
| + rare_inherited_data_->text_orientation_ !=
|
| + other.rare_inherited_data_->text_orientation_ ||
|
| + rare_inherited_data_->text_combine_ !=
|
| + other.rare_inherited_data_->text_combine_ ||
|
| + rare_inherited_data_->tab_size_ !=
|
| + other.rare_inherited_data_->tab_size_ ||
|
| + rare_inherited_data_->text_size_adjust_ !=
|
| + other.rare_inherited_data_->text_size_adjust_ ||
|
| + rare_inherited_data_->list_style_image !=
|
| + other.rare_inherited_data_->list_style_image ||
|
| + rare_inherited_data_->line_height_step_ !=
|
| + other.rare_inherited_data_->line_height_step_ ||
|
| + rare_inherited_data_->text_stroke_width !=
|
| + other.rare_inherited_data_->text_stroke_width)
|
| + return true;
|
|
|
| - if (!rare_inherited_data_->ShadowDataEquivalent(
|
| - *other.rare_inherited_data_.Get()))
|
| - return true;
|
| + if (!rare_inherited_data_->ShadowDataEquivalent(
|
| + *other.rare_inherited_data_.Get()))
|
| + return true;
|
|
|
| - if (!rare_inherited_data_->QuotesDataEquivalent(
|
| - *other.rare_inherited_data_.Get()))
|
| - return true;
|
| - }
|
| + if (!rare_inherited_data_->QuotesDataEquivalent(
|
| + *other.rare_inherited_data_.Get()))
|
| + return true;
|
|
|
| if (style_inherited_data_->text_autosizing_multiplier !=
|
| other.style_inherited_data_->text_autosizing_multiplier)
|
| @@ -768,16 +759,14 @@ bool ComputedStyle::DiffNeedsFullLayoutAndPaintInvalidation(
|
| other.style_inherited_data_->font.LoadingCustomFonts())
|
| return true;
|
|
|
| - if (style_inherited_data_.Get() != other.style_inherited_data_.Get()) {
|
| - if (style_inherited_data_->line_height !=
|
| - other.style_inherited_data_->line_height ||
|
| - style_inherited_data_->font != other.style_inherited_data_->font ||
|
| - style_inherited_data_->horizontal_border_spacing !=
|
| - other.style_inherited_data_->horizontal_border_spacing ||
|
| - style_inherited_data_->vertical_border_spacing !=
|
| - other.style_inherited_data_->vertical_border_spacing)
|
| - return true;
|
| - }
|
| + if (style_inherited_data_->line_height !=
|
| + other.style_inherited_data_->line_height ||
|
| + style_inherited_data_->font != other.style_inherited_data_->font ||
|
| + style_inherited_data_->horizontal_border_spacing !=
|
| + other.style_inherited_data_->horizontal_border_spacing ||
|
| + style_inherited_data_->vertical_border_spacing !=
|
| + other.style_inherited_data_->vertical_border_spacing)
|
| + return true;
|
|
|
| if (BoxDirection() != other.BoxDirection() ||
|
| RtlOrdering() != other.RtlOrdering() ||
|
| @@ -841,62 +830,56 @@ bool ComputedStyle::DiffNeedsFullLayoutAndPaintInvalidation(
|
| }
|
|
|
| bool ComputedStyle::DiffNeedsFullLayout(const ComputedStyle& other) const {
|
| - if (box_.Get() != other.box_.Get()) {
|
| - if (box_->Width() != other.box_->Width() ||
|
| - box_->MinWidth() != other.box_->MinWidth() ||
|
| - box_->MaxWidth() != other.box_->MaxWidth() ||
|
| - box_->Height() != other.box_->Height() ||
|
| - box_->MinHeight() != other.box_->MinHeight() ||
|
| - box_->MaxHeight() != other.box_->MaxHeight())
|
| - return true;
|
| + if (box_->Width() != other.box_->Width() ||
|
| + box_->MinWidth() != other.box_->MinWidth() ||
|
| + box_->MaxWidth() != other.box_->MaxWidth() ||
|
| + box_->Height() != other.box_->Height() ||
|
| + box_->MinHeight() != other.box_->MinHeight() ||
|
| + box_->MaxHeight() != other.box_->MaxHeight())
|
| + return true;
|
|
|
| - if (box_->VerticalAlign() != other.box_->VerticalAlign())
|
| - return true;
|
| + if (box_->VerticalAlign() != other.box_->VerticalAlign())
|
| + return true;
|
|
|
| - if (box_->BoxSizing() != other.box_->BoxSizing())
|
| - return true;
|
| - }
|
| + if (box_->BoxSizing() != other.box_->BoxSizing())
|
| + return true;
|
|
|
| if (VerticalAlign() != other.VerticalAlign() ||
|
| GetPosition() != other.GetPosition())
|
| return true;
|
|
|
| - if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) {
|
| - if (rare_non_inherited_data_->align_content_ !=
|
| - other.rare_non_inherited_data_->align_content_ ||
|
| - rare_non_inherited_data_->align_items_ !=
|
| - other.rare_non_inherited_data_->align_items_ ||
|
| - rare_non_inherited_data_->align_self_ !=
|
| - other.rare_non_inherited_data_->align_self_ ||
|
| - rare_non_inherited_data_->justify_content_ !=
|
| - other.rare_non_inherited_data_->justify_content_ ||
|
| - rare_non_inherited_data_->justify_items_ !=
|
| - other.rare_non_inherited_data_->justify_items_ ||
|
| - rare_non_inherited_data_->justify_self_ !=
|
| - other.rare_non_inherited_data_->justify_self_ ||
|
| - rare_non_inherited_data_->contain_ !=
|
| - other.rare_non_inherited_data_->contain_)
|
| - return true;
|
| - }
|
| + if (rare_non_inherited_data_->align_content_ !=
|
| + other.rare_non_inherited_data_->align_content_ ||
|
| + rare_non_inherited_data_->align_items_ !=
|
| + other.rare_non_inherited_data_->align_items_ ||
|
| + rare_non_inherited_data_->align_self_ !=
|
| + other.rare_non_inherited_data_->align_self_ ||
|
| + rare_non_inherited_data_->justify_content_ !=
|
| + other.rare_non_inherited_data_->justify_content_ ||
|
| + rare_non_inherited_data_->justify_items_ !=
|
| + other.rare_non_inherited_data_->justify_items_ ||
|
| + rare_non_inherited_data_->justify_self_ !=
|
| + other.rare_non_inherited_data_->justify_self_ ||
|
| + rare_non_inherited_data_->contain_ !=
|
| + other.rare_non_inherited_data_->contain_)
|
| + return true;
|
|
|
| return false;
|
| }
|
|
|
| bool ComputedStyle::DiffNeedsPaintInvalidationSubtree(
|
| const ComputedStyle& other) const {
|
| - if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) {
|
| - if (rare_non_inherited_data_->effective_blend_mode_ !=
|
| - other.rare_non_inherited_data_->effective_blend_mode_ ||
|
| - rare_non_inherited_data_->isolation_ !=
|
| - other.rare_non_inherited_data_->isolation_)
|
| - return true;
|
| + if (rare_non_inherited_data_->effective_blend_mode_ !=
|
| + other.rare_non_inherited_data_->effective_blend_mode_ ||
|
| + rare_non_inherited_data_->isolation_ !=
|
| + other.rare_non_inherited_data_->isolation_)
|
| + return true;
|
|
|
| - if (rare_non_inherited_data_->mask_ !=
|
| - other.rare_non_inherited_data_->mask_ ||
|
| - rare_non_inherited_data_->mask_box_image_ !=
|
| - other.rare_non_inherited_data_->mask_box_image_)
|
| - return true;
|
| - }
|
| + if (rare_non_inherited_data_->mask_ !=
|
| + other.rare_non_inherited_data_->mask_ ||
|
| + rare_non_inherited_data_->mask_box_image_ !=
|
| + other.rare_non_inherited_data_->mask_box_image_)
|
| + return true;
|
|
|
| return false;
|
| }
|
| @@ -910,45 +893,40 @@ bool ComputedStyle::DiffNeedsPaintInvalidationObject(
|
| *background_ != *other.background_)
|
| return true;
|
|
|
| - if (rare_inherited_data_.Get() != other.rare_inherited_data_.Get()) {
|
| - if (rare_inherited_data_->user_modify !=
|
| - other.rare_inherited_data_->user_modify ||
|
| - rare_inherited_data_->user_select !=
|
| - other.rare_inherited_data_->user_select ||
|
| - rare_inherited_data_->image_rendering_ !=
|
| - other.rare_inherited_data_->image_rendering_)
|
| - return true;
|
| - }
|
| + if (rare_inherited_data_->user_modify !=
|
| + other.rare_inherited_data_->user_modify ||
|
| + rare_inherited_data_->user_select !=
|
| + other.rare_inherited_data_->user_select ||
|
| + rare_inherited_data_->image_rendering_ !=
|
| + other.rare_inherited_data_->image_rendering_)
|
| + return true;
|
|
|
| - if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) {
|
| - if (rare_non_inherited_data_->user_drag !=
|
| - other.rare_non_inherited_data_->user_drag ||
|
| - rare_non_inherited_data_->object_fit_ !=
|
| - other.rare_non_inherited_data_->object_fit_ ||
|
| - rare_non_inherited_data_->object_position_ !=
|
| - other.rare_non_inherited_data_->object_position_ ||
|
| - !rare_non_inherited_data_->ShadowDataEquivalent(
|
| - *other.rare_non_inherited_data_.Get()) ||
|
| - !rare_non_inherited_data_->ShapeOutsideDataEquivalent(
|
| - *other.rare_non_inherited_data_.Get()) ||
|
| - !rare_non_inherited_data_->ClipPathDataEquivalent(
|
| - *other.rare_non_inherited_data_.Get()) ||
|
| - !rare_non_inherited_data_->outline_.VisuallyEqual(
|
| - other.rare_non_inherited_data_->outline_) ||
|
| - (VisitedLinkBorderLeftColor() != other.VisitedLinkBorderLeftColor() &&
|
| - BorderLeftWidth()) ||
|
| - (VisitedLinkBorderRightColor() != other.VisitedLinkBorderRightColor() &&
|
| - BorderRightWidth()) ||
|
| - (VisitedLinkBorderBottomColor() !=
|
| - other.VisitedLinkBorderBottomColor() &&
|
| - BorderBottomWidth()) ||
|
| - (VisitedLinkBorderTopColor() != other.VisitedLinkBorderTopColor() &&
|
| - BorderTopWidth()) ||
|
| - (VisitedLinkOutlineColor() != other.VisitedLinkOutlineColor() &&
|
| - OutlineWidth()) ||
|
| - (VisitedLinkBackgroundColor() != other.VisitedLinkBackgroundColor()))
|
| - return true;
|
| - }
|
| + if (rare_non_inherited_data_->user_drag !=
|
| + other.rare_non_inherited_data_->user_drag ||
|
| + rare_non_inherited_data_->object_fit_ !=
|
| + other.rare_non_inherited_data_->object_fit_ ||
|
| + rare_non_inherited_data_->object_position_ !=
|
| + other.rare_non_inherited_data_->object_position_ ||
|
| + !rare_non_inherited_data_->ShadowDataEquivalent(
|
| + *other.rare_non_inherited_data_.Get()) ||
|
| + !rare_non_inherited_data_->ShapeOutsideDataEquivalent(
|
| + *other.rare_non_inherited_data_.Get()) ||
|
| + !rare_non_inherited_data_->ClipPathDataEquivalent(
|
| + *other.rare_non_inherited_data_.Get()) ||
|
| + !rare_non_inherited_data_->outline_.VisuallyEqual(
|
| + other.rare_non_inherited_data_->outline_) ||
|
| + (VisitedLinkBorderLeftColor() != other.VisitedLinkBorderLeftColor() &&
|
| + BorderLeftWidth()) ||
|
| + (VisitedLinkBorderRightColor() != other.VisitedLinkBorderRightColor() &&
|
| + BorderRightWidth()) ||
|
| + (VisitedLinkBorderBottomColor() != other.VisitedLinkBorderBottomColor() &&
|
| + BorderBottomWidth()) ||
|
| + (VisitedLinkBorderTopColor() != other.VisitedLinkBorderTopColor() &&
|
| + BorderTopWidth()) ||
|
| + (VisitedLinkOutlineColor() != other.VisitedLinkOutlineColor() &&
|
| + OutlineWidth()) ||
|
| + (VisitedLinkBackgroundColor() != other.VisitedLinkBackgroundColor()))
|
| + return true;
|
|
|
| if (Resize() != other.Resize())
|
| return true;
|
| @@ -1017,42 +995,40 @@ void ComputedStyle::UpdatePropertySpecificDifferences(
|
| IsStackingContext() != other.IsStackingContext())
|
| diff.SetZIndexChanged();
|
|
|
| - if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) {
|
| - // It's possible for the old and new style transform data to be equivalent
|
| - // while hasTransform() differs, as it checks a number of conditions aside
|
| - // from just the matrix, including but not limited to animation state.
|
| - if (HasTransform() != other.HasTransform() ||
|
| - !TransformDataEquivalent(other) ||
|
| - rare_non_inherited_data_->perspective_ !=
|
| - other.rare_non_inherited_data_->perspective_ ||
|
| - rare_non_inherited_data_->perspective_origin_ !=
|
| - other.rare_non_inherited_data_->perspective_origin_)
|
| - diff.SetTransformChanged();
|
| -
|
| - if (rare_non_inherited_data_->opacity !=
|
| - other.rare_non_inherited_data_->opacity)
|
| - diff.SetOpacityChanged();
|
| -
|
| - if (rare_non_inherited_data_->filter_ !=
|
| - other.rare_non_inherited_data_->filter_)
|
| - diff.SetFilterChanged();
|
| -
|
| - if (!rare_non_inherited_data_->ShadowDataEquivalent(
|
| - *other.rare_non_inherited_data_.Get()))
|
| - diff.SetNeedsRecomputeOverflow();
|
| -
|
| - if (rare_non_inherited_data_->backdrop_filter_ !=
|
| - other.rare_non_inherited_data_->backdrop_filter_)
|
| - diff.SetBackdropFilterChanged();
|
| -
|
| - if (!rare_non_inherited_data_->ReflectionDataEquivalent(
|
| - *other.rare_non_inherited_data_.Get()))
|
| - diff.SetFilterChanged();
|
| -
|
| - if (!rare_non_inherited_data_->outline_.VisuallyEqual(
|
| - other.rare_non_inherited_data_->outline_))
|
| - diff.SetNeedsRecomputeOverflow();
|
| - }
|
| + // It's possible for the old and new style transform data to be equivalent
|
| + // while hasTransform() differs, as it checks a number of conditions aside
|
| + // from just the matrix, including but not limited to animation state.
|
| + if (HasTransform() != other.HasTransform() ||
|
| + !TransformDataEquivalent(other) ||
|
| + rare_non_inherited_data_->perspective_ !=
|
| + other.rare_non_inherited_data_->perspective_ ||
|
| + rare_non_inherited_data_->perspective_origin_ !=
|
| + other.rare_non_inherited_data_->perspective_origin_)
|
| + diff.SetTransformChanged();
|
| +
|
| + if (rare_non_inherited_data_->opacity !=
|
| + other.rare_non_inherited_data_->opacity)
|
| + diff.SetOpacityChanged();
|
| +
|
| + if (rare_non_inherited_data_->filter_ !=
|
| + other.rare_non_inherited_data_->filter_)
|
| + diff.SetFilterChanged();
|
| +
|
| + if (!rare_non_inherited_data_->ShadowDataEquivalent(
|
| + *other.rare_non_inherited_data_.Get()))
|
| + diff.SetNeedsRecomputeOverflow();
|
| +
|
| + if (rare_non_inherited_data_->backdrop_filter_ !=
|
| + other.rare_non_inherited_data_->backdrop_filter_)
|
| + diff.SetBackdropFilterChanged();
|
| +
|
| + if (!rare_non_inherited_data_->ReflectionDataEquivalent(
|
| + *other.rare_non_inherited_data_.Get()))
|
| + diff.SetFilterChanged();
|
| +
|
| + if (!rare_non_inherited_data_->outline_.VisuallyEqual(
|
| + other.rare_non_inherited_data_->outline_))
|
| + diff.SetNeedsRecomputeOverflow();
|
|
|
| if (!surround_->border_.VisualOverflowEqual(other.surround_->border_))
|
| diff.SetNeedsRecomputeOverflow();
|
| @@ -1064,9 +1040,7 @@ void ComputedStyle::UpdatePropertySpecificDifferences(
|
| has_simple_underline_ != other.has_simple_underline_ ||
|
| visual_->text_decoration != other.visual_->text_decoration) {
|
| diff.SetTextDecorationOrColorChanged();
|
| - } else if (rare_non_inherited_data_.Get() !=
|
| - other.rare_non_inherited_data_.Get() &&
|
| - (rare_non_inherited_data_->text_decoration_style_ !=
|
| + } else if ((rare_non_inherited_data_->text_decoration_style_ !=
|
| other.rare_non_inherited_data_->text_decoration_style_ ||
|
| rare_non_inherited_data_->text_decoration_color_ !=
|
| other.rare_non_inherited_data_->text_decoration_color_ ||
|
| @@ -1074,8 +1048,7 @@ void ComputedStyle::UpdatePropertySpecificDifferences(
|
| other.rare_non_inherited_data_
|
| ->visited_link_text_decoration_color_)) {
|
| diff.SetTextDecorationOrColorChanged();
|
| - } else if (rare_inherited_data_.Get() != other.rare_inherited_data_.Get() &&
|
| - (rare_inherited_data_->TextFillColor() !=
|
| + } else if ((rare_inherited_data_->TextFillColor() !=
|
| other.rare_inherited_data_->TextFillColor() ||
|
| rare_inherited_data_->TextStrokeColor() !=
|
| other.rare_inherited_data_->TextStrokeColor() ||
|
|
|