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

Side by Side Diff: third_party/WebKit/Source/core/paint/BlockPainter.cpp

Issue 1661643002: [Line Layout API] Convert more references in BlockPainter to new line layout API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/paint/BlockPainter.h" 5 #include "core/paint/BlockPainter.h"
6 6
7 #include "core/editing/DragCaretController.h" 7 #include "core/editing/DragCaretController.h"
8 #include "core/editing/FrameSelection.h" 8 #include "core/editing/FrameSelection.h"
9 #include "core/frame/Settings.h" 9 #include "core/frame/Settings.h"
10 #include "core/layout/LayoutBlockFlow.h" 10 #include "core/layout/LayoutBlockFlow.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 void BlockPainter::paintInlineBox(const InlineBox& inlineBox, const PaintInfo& p aintInfo, const LayoutPoint& paintOffset) 114 void BlockPainter::paintInlineBox(const InlineBox& inlineBox, const PaintInfo& p aintInfo, const LayoutPoint& paintOffset)
115 { 115 {
116 if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhase Selection) 116 if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhase Selection)
117 return; 117 return;
118 118
119 // Text clips are painted only for the direct inline children of the object that has a text clip style on it, not block children. 119 // Text clips are painted only for the direct inline children of the object that has a text clip style on it, not block children.
120 ASSERT(paintInfo.phase != PaintPhaseTextClip); 120 ASSERT(paintInfo.phase != PaintPhaseTextClip);
121 121
122 LayoutPoint childPoint = paintOffset; 122 LayoutPoint childPoint = paintOffset;
123 if (inlineBox.parent()->lineLayoutItem().style()->isFlippedBlocksWritingMode ()) // Faster than calling containingBlock(). 123 if (inlineBox.parent()->lineLayoutItem().style()->isFlippedBlocksWritingMode ()) // Faster than calling containingBlock().
124 childPoint = LineLayoutAPIShim::layoutObjectFrom(inlineBox.lineLayoutIte m())->containingBlock()->flipForWritingModeForChild(&toLayoutBox(inlineBox.layou tObject()), childPoint); 124 childPoint = LineLayoutAPIShim::layoutObjectFrom(inlineBox.lineLayoutIte m())->containingBlock()->flipForWritingModeForChild(toLayoutBox(LineLayoutAPIShi m::layoutObjectFrom(inlineBox.lineLayoutItem())), childPoint);
125 125
126 ObjectPainter(*LineLayoutAPIShim::constLayoutObjectFrom(inlineBox.lineLayout Item())).paintAsPseudoStackingContext(paintInfo, childPoint); 126 ObjectPainter(*LineLayoutAPIShim::constLayoutObjectFrom(inlineBox.lineLayout Item())).paintAsPseudoStackingContext(paintInfo, childPoint);
127 } 127 }
128 128
129 void BlockPainter::paintObject(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset) 129 void BlockPainter::paintObject(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset)
130 { 130 {
131 if (RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled() && m_layoutB lock.childrenInline() && !paintInfo.context.paintController().skippingCache()) { 131 if (RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled() && m_layoutB lock.childrenInline() && !paintInfo.context.paintController().skippingCache()) {
132 if (m_layoutBlock.paintOffsetChanged(paintOffset)) { 132 if (m_layoutBlock.paintOffsetChanged(paintOffset)) {
133 LineBoxListPainter(m_layoutBlock.lineBoxes()).invalidateLineBoxPaint Offsets(paintInfo); 133 LineBoxListPainter(m_layoutBlock.lineBoxes()).invalidateLineBoxPaint Offsets(paintInfo);
134 paintInfo.context.paintController().invalidatePaintOffset(m_layoutBl ock); 134 paintInfo.context.paintController().invalidatePaintOffset(m_layoutBl ock);
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 ObjectPainter(m_layoutBlock).paintInlineChildrenOutlines(paintInfo, paintOffset); 251 ObjectPainter(m_layoutBlock).paintInlineChildrenOutlines(paintInfo, paintOffset);
252 else 252 else
253 LineBoxListPainter(m_layoutBlock.lineBoxes()).paint(m_layoutBlock, p aintInfo, paintOffset); 253 LineBoxListPainter(m_layoutBlock.lineBoxes()).paint(m_layoutBlock, p aintInfo, paintOffset);
254 } else { 254 } else {
255 PaintInfo paintInfoForDescendants = paintInfo.forDescendants(); 255 PaintInfo paintInfoForDescendants = paintInfo.forDescendants();
256 m_layoutBlock.paintChildren(paintInfoForDescendants, paintOffset); 256 m_layoutBlock.paintChildren(paintInfoForDescendants, paintOffset);
257 } 257 }
258 } 258 }
259 259
260 } // namespace blink 260 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698