| Index: third_party/WebKit/Source/core/paint/NGBoxFragmentPainter.h
|
| diff --git a/third_party/WebKit/Source/core/paint/BoxPainter.h b/third_party/WebKit/Source/core/paint/NGBoxFragmentPainter.h
|
| similarity index 50%
|
| copy from third_party/WebKit/Source/core/paint/BoxPainter.h
|
| copy to third_party/WebKit/Source/core/paint/NGBoxFragmentPainter.h
|
| index 32ce82329497ce0343981a1bab338f2bc6510189..c544649d6e6217c35a63158ba34e15ca28bae8e7 100644
|
| --- a/third_party/WebKit/Source/core/paint/BoxPainter.h
|
| +++ b/third_party/WebKit/Source/core/paint/NGBoxFragmentPainter.h
|
| @@ -1,9 +1,9 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef BoxPainter_h
|
| -#define BoxPainter_h
|
| +#ifndef NGBoxFragmentPainter_h
|
| +#define NGBoxFragmentPainter_h
|
|
|
| #include "core/layout/BackgroundBleedAvoidance.h"
|
| #include "core/paint/BoxPainterBase.h"
|
| @@ -16,41 +16,29 @@ namespace blink {
|
|
|
| class ComputedStyle;
|
| class FillLayer;
|
| -class GraphicsContext;
|
| -class Image;
|
| -class InlineFlowBox;
|
| class LayoutPoint;
|
| class LayoutRect;
|
| -class NinePieceImage;
|
| +class NGPhysicalBoxFragment;
|
| +class NGPhysicalLineBoxFragment;
|
| +class NGPhysicalFragment;
|
| struct PaintInfo;
|
| -class LayoutBox;
|
| -class LayoutObject;
|
| -class LayoutBoxModelObject;
|
| +class Document;
|
|
|
| -class BoxPainter : public BoxPainterBase {
|
| +class NGBoxFragmentPainter : public BoxPainterBase {
|
| STACK_ALLOCATED();
|
|
|
| public:
|
| - BoxPainter(const LayoutBox& layout_box) : layout_box_(layout_box) {}
|
| + NGBoxFragmentPainter(const NGPhysicalBoxFragment* box_fragment)
|
| + : box_fragment_(box_fragment) {}
|
| + ~NGBoxFragmentPainter() {}
|
| void Paint(const PaintInfo&, const LayoutPoint&);
|
|
|
| void PaintChildren(const PaintInfo&, const LayoutPoint&);
|
| + void PaintLineBox(const NGPhysicalLineBoxFragment*,
|
| + const PaintInfo&,
|
| + const LayoutPoint& paint_offset);
|
| +
|
| void PaintBoxDecorationBackground(const PaintInfo&, const LayoutPoint&);
|
| - void PaintMask(const PaintInfo&, const LayoutPoint&);
|
| - void PaintClippingMask(const PaintInfo&, const LayoutPoint&);
|
| -
|
| - typedef Vector<const FillLayer*, 8> FillLayerOcclusionOutputList;
|
| - // Returns true if the result fill layers have non-associative blending or
|
| - // compositing mode. (i.e. The rendering will be different without creating
|
| - // isolation group by context.saveLayer().) Note that the output list will be
|
| - // in top-bottom order.
|
| - bool CalculateFillLayerOcclusionCulling(
|
| - FillLayerOcclusionOutputList& reversed_paint_list,
|
| - const FillLayer&);
|
| -
|
| - // Returns true if the fill layer will certainly occlude anything painted
|
| - // behind it.
|
| - static bool IsFillLayerOpaque(const FillLayer&, const LayoutObject&);
|
|
|
| void PaintFillLayers(const PaintInfo&,
|
| const Color&,
|
| @@ -58,32 +46,23 @@ class BoxPainter : public BoxPainterBase {
|
| const LayoutRect&,
|
| BackgroundBleedAvoidance = kBackgroundBleedNone,
|
| SkBlendMode = SkBlendMode::kSrcOver,
|
| - const LayoutObject* background_object = nullptr);
|
| - void PaintMaskImages(const PaintInfo&, const LayoutRect&);
|
| + const NGPhysicalFragment* bg_fragment = nullptr);
|
| +
|
| void PaintBoxDecorationBackgroundWithRect(const PaintInfo&,
|
| const LayoutPoint&,
|
| const LayoutRect&);
|
| - static void PaintFillLayer(const LayoutBoxModelObject&,
|
| + static void PaintFillLayer(const NGPhysicalBoxFragment*,
|
| const PaintInfo&,
|
| const Color&,
|
| const FillLayer&,
|
| const LayoutRect&,
|
| BackgroundBleedAvoidance,
|
| - const InlineFlowBox* = nullptr,
|
| + const NGPhysicalFragment* = nullptr,
|
| const LayoutSize& = LayoutSize(),
|
| SkBlendMode = SkBlendMode::kSrcOver,
|
| - const LayoutObject* background_object = nullptr);
|
| - static InterpolationQuality ChooseInterpolationQuality(const LayoutObject&,
|
| - Image*,
|
| - const void*,
|
| - const LayoutSize&);
|
| - static bool PaintNinePieceImage(const LayoutBoxModelObject&,
|
| - GraphicsContext&,
|
| - const LayoutRect&,
|
| - const ComputedStyle&,
|
| - const NinePieceImage&,
|
| - SkBlendMode = SkBlendMode::kSrcOver);
|
| - static void PaintBorder(const LayoutBoxModelObject&,
|
| + const NGPhysicalFragment* bg_object = nullptr);
|
| +
|
| + static void PaintBorder(const NGPhysicalBoxFragment*,
|
| const PaintInfo&,
|
| const LayoutRect&,
|
| const ComputedStyle&,
|
| @@ -94,19 +73,16 @@ class BoxPainter : public BoxPainterBase {
|
| LayoutRect BoundsForDrawingRecorder(const PaintInfo&,
|
| const LayoutPoint& adjusted_paint_offset);
|
|
|
| - static bool IsPaintingBackgroundOfPaintContainerIntoScrollingContentsLayer(
|
| - const LayoutBoxModelObject*,
|
| - const PaintInfo&);
|
| -
|
| private:
|
| + const Document& GetDocument() const;
|
| void PaintBackground(const PaintInfo&,
|
| const LayoutRect&,
|
| const Color& background_color,
|
| BackgroundBleedAvoidance = kBackgroundBleedNone);
|
|
|
| - const LayoutBox& layout_box_;
|
| + const NGPhysicalBoxFragment* box_fragment_;
|
| };
|
|
|
| } // namespace blink
|
|
|
| -#endif
|
| +#endif // NGBoxFragmentPainter_h
|
|
|