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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutReplaced.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: 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2009 Apple Inc. All rights reserved.
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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 LayoutRect replacedContentRect(const LayoutSize* overriddenIntrinsicSize = n ullptr) const; 59 LayoutRect replacedContentRect(const LayoutSize* overriddenIntrinsicSize = n ullptr) const;
60 60
61 bool needsPreferredWidthsRecalculation() const override; 61 bool needsPreferredWidthsRecalculation() const override;
62 62
63 // These values are specified to be 300 and 150 pixels in the CSS 2.1 spec. 63 // These values are specified to be 300 and 150 pixels in the CSS 2.1 spec.
64 // http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width 64 // http://www.w3.org/TR/CSS2/visudet.html#inline-replaced-width
65 static const int defaultWidth; 65 static const int defaultWidth;
66 static const int defaultHeight; 66 static const int defaultHeight;
67 bool canHaveChildren() const override { return false; } 67 bool canHaveChildren() const override { return false; }
68 virtual void paintReplaced(const PaintInfo&, const LayoutPoint&) const { } 68 virtual void paintReplaced(const PaintInfo&, const LayoutPoint&) const { }
69 LayoutRect localSelectionRect() const; // This is in local coordinates, but it's a physical rect (so the top left corner is physical top left). 69 LayoutRect localSelectionRect() const final;
70 70
71 bool hasObjectFit() const { return style()->getObjectFit() != ComputedStyle: :initialObjectFit(); } 71 bool hasObjectFit() const { return style()->getObjectFit() != ComputedStyle: :initialObjectFit(); }
72 72
73 void paint(const PaintInfo&, const LayoutPoint&) const override; 73 void paint(const PaintInfo&, const LayoutPoint&) const override;
74 74
75 struct IntrinsicSizingInfo { 75 struct IntrinsicSizingInfo {
76 STACK_ALLOCATED(); 76 STACK_ALLOCATED();
77 IntrinsicSizingInfo() : hasWidth(true), hasHeight(true) {} 77 IntrinsicSizingInfo() : hasWidth(true), hasHeight(true) {}
78 78
79 FloatSize size; 79 FloatSize size;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 116
117 virtual LayoutReplaced* embeddedReplacedContent() const { return nullptr; } 117 virtual LayoutReplaced* embeddedReplacedContent() const { return nullptr; }
118 118
119 PositionWithAffinity positionForPoint(const LayoutPoint&) override; 119 PositionWithAffinity positionForPoint(const LayoutPoint&) override;
120 120
121 private: 121 private:
122 void computePreferredLogicalWidths() final; 122 void computePreferredLogicalWidths() final;
123 123
124 bool canBeSelectionLeaf() const override { return true; } 124 bool canBeSelectionLeaf() const override { return true; }
125 125
126 LayoutRect selectionRectForPaintInvalidation(const LayoutBoxModelObject* pai ntInvalidationContainer) const final;
127 void computeIntrinsicSizingInfoForReplacedContent(LayoutReplaced*, Intrinsic SizingInfo&) const; 126 void computeIntrinsicSizingInfoForReplacedContent(LayoutReplaced*, Intrinsic SizingInfo&) const;
128 FloatSize constrainIntrinsicSizeToMinMax(const IntrinsicSizingInfo&) const; 127 FloatSize constrainIntrinsicSizeToMinMax(const IntrinsicSizingInfo&) const;
129 128
130 mutable LayoutSize m_intrinsicSize; 129 mutable LayoutSize m_intrinsicSize;
131 }; 130 };
132 131
133 } // namespace blink 132 } // namespace blink
134 133
135 #endif 134 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698