chromium/third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/renderer/core/paint/pre_paint_tree_walk.h"

#include "base/types/optional_util.h"
#include "third_party/blink/renderer/core/dom/document_lifecycle.h"
#include "third_party/blink/renderer/core/editing/frame_selection.h"
#include "third_party/blink/renderer/core/frame/event_handler_registry.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/frame/pagination_state.h"
#include "third_party/blink/renderer/core/frame/visual_viewport.h"
#include "third_party/blink/renderer/core/intersection_observer/intersection_observer_controller.h"
#include "third_party/blink/renderer/core/layout/block_break_token.h"
#include "third_party/blink/renderer/core/layout/fragmentation_utils.h"
#include "third_party/blink/renderer/core/layout/inline/fragment_item.h"
#include "third_party/blink/renderer/core/layout/inline/inline_cursor.h"
#include "third_party/blink/renderer/core/layout/layout_box_model_object.h"
#include "third_party/blink/renderer/core/layout/layout_embedded_content.h"
#include "third_party/blink/renderer/core/layout/layout_multi_column_flow_thread.h"
#include "third_party/blink/renderer/core/layout/layout_shift_tracker.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/layout/pagination_utils.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/page/link_highlight.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/paint/object_paint_invalidator.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/paint_property_tree_printer.h"
#include "third_party/blink/renderer/core/paint/pre_paint_disable_side_effects_scope.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"

namespace blink {

namespace {

bool IsLinkHighlighted(const LayoutObject& object) {}

}  // anonymous namespace

bool PrePaintTreeWalk::ContainingFragment::IsInFragmentationContext() const {}

void PrePaintTreeWalk::WalkTree(LocalFrameView& root_frame_view) {}

void PrePaintTreeWalk::Walk(LocalFrameView& frame_view,
                            const PrePaintTreeWalkContext& parent_context) {}

namespace {

enum class BlockingEventHandlerType {};

bool HasBlockingEventHandlerHelper(const LocalFrame& frame,
                                   EventTarget& target,
                                   BlockingEventHandlerType event_type) {}

bool HasBlockingEventHandlerHelper(const LayoutObject& object,
                                   BlockingEventHandlerType event_type) {}

bool HasBlockingTouchEventHandler(const LayoutObject& object) {}

bool HasBlockingWheelEventHandler(const LayoutObject& object) {}
}  // namespace

void PrePaintTreeWalk::UpdateEffectiveAllowedTouchAction(
    const LayoutObject& object,
    PrePaintTreeWalk::PrePaintTreeWalkContext& context) {}

void PrePaintTreeWalk::UpdateBlockingWheelEventHandler(
    const LayoutObject& object,
    PrePaintTreeWalk::PrePaintTreeWalkContext& context) {}

void PrePaintTreeWalk::InvalidatePaintForHitTesting(
    const LayoutObject& object,
    PrePaintTreeWalk::PrePaintTreeWalkContext& context) {}

bool PrePaintTreeWalk::NeedsTreeBuilderContextUpdate(
    const LocalFrameView& frame_view,
    const PrePaintTreeWalkContext& context) {}

bool PrePaintTreeWalk::NeedsTreeBuilderContextUpdate(
    const LayoutObject& object,
    const PrePaintTreeWalkContext& parent_context) {}

bool PrePaintTreeWalk::ObjectRequiresPrePaint(const LayoutObject& object) {}

bool PrePaintTreeWalk::ContextRequiresChildPrePaint(
    const PrePaintTreeWalkContext& context) {}

bool PrePaintTreeWalk::ObjectRequiresTreeBuilderContext(
    const LayoutObject& object) {}

bool PrePaintTreeWalk::ContextRequiresChildTreeBuilderContext(
    const PrePaintTreeWalkContext& context) {}

#if DCHECK_IS_ON()
void PrePaintTreeWalk::CheckTreeBuilderContextState(
    const LayoutObject& object,
    const PrePaintTreeWalkContext& parent_context) {}
#endif

PrePaintInfo PrePaintTreeWalk::CreatePrePaintInfo(
    const PhysicalFragmentLink& child,
    const PrePaintTreeWalkContext& context) {}

FragmentData* PrePaintTreeWalk::GetOrCreateFragmentData(
    const LayoutObject& object,
    const PrePaintTreeWalkContext& context,
    const PrePaintInfo& pre_paint_info) {}

void PrePaintTreeWalk::UpdateContextForOOFContainer(
    const LayoutObject& object,
    PrePaintTreeWalkContext& context,
    const PhysicalBoxFragment* fragment) {}

void PrePaintTreeWalk::WalkInternal(const LayoutObject& object,
                                    PrePaintTreeWalkContext& context,
                                    PrePaintInfo* pre_paint_info) {}

bool PrePaintTreeWalk::CollectMissableChildren(
    PrePaintTreeWalkContext& context,
    const PhysicalBoxFragment& parent) {}

const PhysicalBoxFragment* PrePaintTreeWalk::RebuildContextForMissedDescendant(
    const PhysicalBoxFragment& ancestor,
    const LayoutObject& object,
    bool update_tree_builder_context,
    PrePaintTreeWalkContext& context) {}

void PrePaintTreeWalk::WalkMissedChildren(
    const PhysicalBoxFragment& fragment,
    bool is_in_fragment_traversal,
    const PrePaintTreeWalkContext& context) {}

LocalFrameView* FindWebViewPluginContentFrameView(
    const LayoutEmbeddedContent& embedded_content) {}

void PrePaintTreeWalk::WalkFragmentationContextRootChildren(
    const LayoutObject& object,
    const PhysicalBoxFragment& fragment,
    const PrePaintTreeWalkContext& parent_context) {}

void PrePaintTreeWalk::WalkPageContainer(
    const PhysicalFragmentLink& page_container_link,
    const LayoutObject& parent_object,
    const PrePaintTreeWalkContext& parent_context,
    wtf_size_t fragmentainer_idx) {}

void PrePaintTreeWalk::WalkFragmentainer(
    const LayoutObject& parent_object,
    const PhysicalFragmentLink& child_link,
    const PrePaintTreeWalkContext& parent_context,
    wtf_size_t fragmentainer_idx) {}

void PrePaintTreeWalk::WalkLayoutObjectChildren(
    const LayoutObject& parent_object,
    const PhysicalBoxFragment* parent_fragment,
    const PrePaintTreeWalkContext& context) {}

void PrePaintTreeWalk::WalkChildren(
    const LayoutObject& object,
    const PhysicalBoxFragment* traversable_fragment,
    PrePaintTreeWalkContext& context,
    bool is_inside_fragment_child) {}

void PrePaintTreeWalk::Walk(const LayoutObject& object,
                            const PrePaintTreeWalkContext& parent_context,
                            PrePaintInfo* pre_paint_info) {}

}  // namespace blink