diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/layout_list_item.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/layout/layout_list_item.cc | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/layout_list_item.cc b/chromium/third_party/blink/renderer/core/layout/layout_list_item.cc index f2a7ed19648..cb6d6172e22 100644 --- a/chromium/third_party/blink/renderer/core/layout/layout_list_item.cc +++ b/chromium/third_party/blink/renderer/core/layout/layout_list_item.cc @@ -26,17 +26,15 @@ #include "third_party/blink/renderer/core/dom/flat_tree_traversal.h" #include "third_party/blink/renderer/core/html/html_li_element.h" #include "third_party/blink/renderer/core/html/html_olist_element.h" -#include "third_party/blink/renderer/core/html_names.h" #include "third_party/blink/renderer/core/layout/layout_list_marker.h" #include "third_party/blink/renderer/core/paint/list_item_painter.h" +#include "third_party/blink/renderer/core/paint/paint_layer.h" #include "third_party/blink/renderer/platform/wtf/saturated_arithmetic.h" #include "third_party/blink/renderer/platform/wtf/std_lib_extras.h" #include "third_party/blink/renderer/platform/wtf/text/string_builder.h" namespace blink { -using namespace HTMLNames; - LayoutListItem::LayoutListItem(Element* element) : LayoutBlockFlow(element), marker_(nullptr), @@ -289,6 +287,25 @@ bool LayoutListItem::UpdateMarkerLocation() { return false; } +void LayoutListItem::ComputeVisualOverflow( + const LayoutRect& previous_visual_overflow_rect, + bool recompute_floats) { + AddVisualOverflowFromChildren(); + + AddVisualEffectOverflow(); + AddVisualOverflowFromTheme(); + + if (recompute_floats || CreatesNewFormattingContext() || + HasSelfPaintingLayer()) + AddVisualOverflowFromFloats(); + + if (VisualOverflowRect() != previous_visual_overflow_rect) { + if (Layer()) + Layer()->SetNeedsCompositingInputsUpdate(); + GetFrameView()->SetIntersectionObservationState(LocalFrameView::kDesired); + } +} + void LayoutListItem::AddVisualOverflowFromChildren() { LayoutBlockFlow::AddVisualOverflowFromChildren(); UpdateOverflow(Visual); @@ -539,7 +556,7 @@ void LayoutListItem::OrdinalValueChanged() { if (!marker_) return; marker_->SetNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation( - LayoutInvalidationReason::kListValueChange); + layout_invalidation_reason::kListValueChange); } } // namespace blink |