Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(888)

Side by Side Diff: third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.h

Issue 1813383002: Move all fast-path paint invalidation mapping into PaintInvalidationState (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reorganize conditions in PaintInvalidationState constructor Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz> 2 * Copyright (C) 2006 Oliver Hunt <ojh16@student.canterbury.ac.nz>
3 * Copyright (C) 2006 Apple Computer Inc. 3 * Copyright (C) 2006 Apple Computer Inc.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 26 matching lines...) Expand all
37 37
38 // Chapter 10.4 of the SVG Specification say that we should use the 38 // Chapter 10.4 of the SVG Specification say that we should use the
39 // object bounding box of the parent text element. 39 // object bounding box of the parent text element.
40 // We search for the root text element and take its bounding box. 40 // We search for the root text element and take its bounding box.
41 // It is also necessary to take the stroke and paint invalidation rect of 41 // It is also necessary to take the stroke and paint invalidation rect of
42 // this element, since we need it for filters. 42 // this element, since we need it for filters.
43 FloatRect objectBoundingBox() const final; 43 FloatRect objectBoundingBox() const final;
44 FloatRect strokeBoundingBox() const final; 44 FloatRect strokeBoundingBox() const final;
45 FloatRect paintInvalidationRectInLocalSVGCoordinates() const final; 45 FloatRect paintInvalidationRectInLocalSVGCoordinates() const final;
46 46
47 LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObjec t* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const fi nal; 47 LayoutRect absoluteClippedOverflowRect() const final;
48 void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState &, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr, const Pai ntInvalidationState* = nullptr) const final; 48 void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState &, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr) const fin al;
49 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances torToStopAt, LayoutGeometryMap&) const final; 49 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances torToStopAt, LayoutGeometryMap&) const final;
50 void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const final; 50 void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const final;
51 51
52 private: 52 private:
53 InlineFlowBox* createInlineFlowBox() final; 53 InlineFlowBox* createInlineFlowBox() final;
54 54
55 // This method should never be called. Should use paintInvalidationRectInLoc alSVGCoordinates().
56 using LayoutObject::localOverflowRectForPaintInvalidation;
57
55 void invalidateTreeIfNeeded(const PaintInvalidationState&) final; 58 void invalidateTreeIfNeeded(const PaintInvalidationState&) final;
56 59
57 void willBeDestroyed() final; 60 void willBeDestroyed() final;
58 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) final; 61 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) final;
59 62
60 void addChild(LayoutObject* child, LayoutObject* beforeChild = nullptr) fina l; 63 void addChild(LayoutObject* child, LayoutObject* beforeChild = nullptr) fina l;
61 void removeChild(LayoutObject*) final; 64 void removeChild(LayoutObject*) final;
62 }; 65 };
63 66
64 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGInline, isSVGInline()); 67 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGInline, isSVGInline());
65 68
66 } // namespace blink 69 } // namespace blink
67 70
68 #endif // LayoutSVGInline_H 71 #endif // LayoutSVGInline_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698