diff options
Diffstat (limited to 'components/layout/fragment.rs')
-rw-r--r-- | components/layout/fragment.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 6217527bf6b..521b000dfcf 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -44,9 +44,9 @@ use std::sync::{Arc, Mutex}; use string_cache::Atom; use style::{ComputedValues, TElement, TNode, cascade_anonymous}; use style::computed_values::{LengthOrPercentage, LengthOrPercentageOrAuto}; -use style::computed_values::{LengthOrPercentageOrNone}; -use style::computed_values::{clear, overflow_wrap, position, text_align, text_decoration}; -use style::computed_values::{vertical_align, white_space, word_break}; +use style::computed_values::{LengthOrPercentageOrNone, clear, mix_blend_mode, overflow_wrap}; +use style::computed_values::{position, text_align, text_decoration, vertical_align, white_space}; +use style::computed_values::{word_break}; use url::Url; /// Fragments (`struct Fragment`) are the leaves of the layout tree. They cannot position @@ -1747,6 +1747,9 @@ impl Fragment { if !self.style().get_effects().filter.is_empty() { return true } + if self.style().get_effects().mix_blend_mode != mix_blend_mode::T::normal { + return true + } match self.style().get_box().position { position::T::absolute | position::T::fixed => { // FIXME(pcwalton): This should only establish a new stacking context when |