#include "third_party/blink/renderer/core/paint/scrollable_area_painter.h"
#include <optional>
#include "third_party/blink/renderer/core/frame/visual_viewport.h"
#include "third_party/blink/renderer/core/layout/custom_scrollbar.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/paint/custom_scrollbar_theme.h"
#include "third_party/blink/renderer/core/paint/object_paint_properties.h"
#include "third_party/blink/renderer/core/paint/object_painter.h"
#include "third_party/blink/renderer/core/paint/paint_auto_dark_mode.h"
#include "third_party/blink/renderer/core/paint/paint_info.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
#include "third_party/blink/renderer/core/scroll/scrollbar_layer_delegate.h"
#include "third_party/blink/renderer/core/scroll/scrollbar_theme.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context_state_saver.h"
#include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.h"
#include "third_party/blink/renderer/platform/graphics/paint/scoped_paint_chunk_properties.h"
#include "third_party/blink/renderer/platform/graphics/paint/scrollbar_display_item.h"
namespace blink {
namespace {
bool VisibleToHitTesting(const LayoutBox& box) { … }
}
void ScrollableAreaPainter::PaintResizer(GraphicsContext& context,
const PhysicalOffset& paint_offset,
const CullRect& cull_rect) { … }
void ScrollableAreaPainter::RecordResizerScrollHitTestData(
GraphicsContext& context,
const PhysicalOffset& paint_offset) { … }
void ScrollableAreaPainter::DrawPlatformResizerImage(
GraphicsContext& context,
const gfx::Rect& resizer_corner_rect) { … }
bool ScrollableAreaPainter::PaintOverflowControls(
const PaintInfo& paint_info,
const PhysicalOffset& paint_offset,
const FragmentData* fragment) { … }
void ScrollableAreaPainter::PaintScrollbar(GraphicsContext& context,
Scrollbar& scrollbar,
const PhysicalOffset& paint_offset,
const CullRect& cull_rect) { … }
void ScrollableAreaPainter::PaintNativeScrollbar(GraphicsContext& context,
Scrollbar& scrollbar,
gfx::Rect visual_rect) { … }
void ScrollableAreaPainter::PaintScrollCorner(
GraphicsContext& context,
const PhysicalOffset& paint_offset,
const CullRect& cull_rect) { … }
}