summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/layout/layout_list_item.cc
diff options
context:
space:
mode:
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.cc25
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