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

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

Issue 2764313002: Move plugins to be stored in HTMLPlugInElement. (Closed)
Patch Set: Update comments about duplicating code Created 3 years, 8 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 // 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/PartPainter.h" 5 #include "core/paint/PartPainter.h"
6 6
7 #include "core/layout/LayoutPart.h" 7 #include "core/layout/LayoutPart.h"
8 #include "core/paint/BoxPainter.h" 8 #include "core/paint/BoxPainter.h"
9 #include "core/paint/LayoutObjectDrawingRecorder.h" 9 #include "core/paint/LayoutObjectDrawingRecorder.h"
10 #include "core/paint/ObjectPainter.h" 10 #include "core/paint/ObjectPainter.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 BoxPainter(m_layoutPart).paintMask(paintInfo, adjustedPaintOffset); 62 BoxPainter(m_layoutPart).paintMask(paintInfo, adjustedPaintOffset);
63 return; 63 return;
64 } 64 }
65 65
66 if (shouldPaintSelfOutline(paintInfo.phase)) 66 if (shouldPaintSelfOutline(paintInfo.phase))
67 ObjectPainter(m_layoutPart).paintOutline(paintInfo, adjustedPaintOffset); 67 ObjectPainter(m_layoutPart).paintOutline(paintInfo, adjustedPaintOffset);
68 68
69 if (paintInfo.phase != PaintPhaseForeground) 69 if (paintInfo.phase != PaintPhaseForeground)
70 return; 70 return;
71 71
72 if (m_layoutPart.frameViewBase()) { 72 if (m_layoutPart.pluginOrFrame()) {
73 // TODO(schenney) crbug.com/93805 Speculative release assert to verify that 73 // TODO(schenney) crbug.com/93805 Speculative release assert to verify that
74 // the crashes we see in FrameViewBase painting are due to a destroyed 74 // the crashes we see in FrameViewBase painting are due to a destroyed
75 // LayoutPart object. 75 // LayoutPart object.
76 CHECK(m_layoutPart.node()); 76 CHECK(m_layoutPart.node());
77 Optional<RoundedInnerRectClipper> clipper; 77 Optional<RoundedInnerRectClipper> clipper;
78 if (m_layoutPart.style()->hasBorderRadius()) { 78 if (m_layoutPart.style()->hasBorderRadius()) {
79 if (borderRect.isEmpty()) 79 if (borderRect.isEmpty())
80 return; 80 return;
81 81
82 FloatRoundedRect roundedInnerRect = 82 FloatRoundedRect roundedInnerRect =
(...skipping 28 matching lines...) Expand all
111 if (m_layoutPart.canResize()) 111 if (m_layoutPart.canResize())
112 ScrollableAreaPainter(*m_layoutPart.layer()->getScrollableArea()) 112 ScrollableAreaPainter(*m_layoutPart.layer()->getScrollableArea())
113 .paintResizer(paintInfo.context, roundedIntPoint(adjustedPaintOffset), 113 .paintResizer(paintInfo.context, roundedIntPoint(adjustedPaintOffset),
114 paintInfo.cullRect()); 114 paintInfo.cullRect());
115 } 115 }
116 116
117 void PartPainter::paintContents(const PaintInfo& paintInfo, 117 void PartPainter::paintContents(const PaintInfo& paintInfo,
118 const LayoutPoint& paintOffset) { 118 const LayoutPoint& paintOffset) {
119 LayoutPoint adjustedPaintOffset = paintOffset + m_layoutPart.location(); 119 LayoutPoint adjustedPaintOffset = paintOffset + m_layoutPart.location();
120 120
121 FrameViewBase* frameViewBase = m_layoutPart.frameViewBase(); 121 FrameViewBase* frameViewBase = m_layoutPart.pluginOrFrame();
122 CHECK(frameViewBase); 122 CHECK(frameViewBase);
123 123
124 IntPoint paintLocation(roundedIntPoint( 124 IntPoint paintLocation(roundedIntPoint(
125 adjustedPaintOffset + m_layoutPart.replacedContentRect().location())); 125 adjustedPaintOffset + m_layoutPart.replacedContentRect().location()));
126 126
127 // FrameViewBases don't support painting with a paint offset, but instead 127 // FrameViewBases don't support painting with a paint offset, but instead
128 // offset themselves using the frame rect location. To paint FrameViewBases at 128 // offset themselves using the frame rect location. To paint FrameViewBases at
129 // our desired location, we need to apply paint offset as a transform, with 129 // our desired location, we need to apply paint offset as a transform, with
130 // the frame rect neutralized. 130 // the frame rect neutralized.
131 IntSize frameViewBasePaintOffset = 131 IntSize frameViewBasePaintOffset =
132 paintLocation - frameViewBase->frameRect().location(); 132 paintLocation - frameViewBase->frameRect().location();
133 TransformRecorder transform( 133 TransformRecorder transform(
134 paintInfo.context, m_layoutPart, 134 paintInfo.context, m_layoutPart,
135 AffineTransform::translation(frameViewBasePaintOffset.width(), 135 AffineTransform::translation(frameViewBasePaintOffset.width(),
136 frameViewBasePaintOffset.height())); 136 frameViewBasePaintOffset.height()));
137 CullRect adjustedCullRect(paintInfo.cullRect(), -frameViewBasePaintOffset); 137 CullRect adjustedCullRect(paintInfo.cullRect(), -frameViewBasePaintOffset);
138 frameViewBase->paint(paintInfo.context, adjustedCullRect); 138 frameViewBase->paint(paintInfo.context, adjustedCullRect);
139 } 139 }
140 140
141 } // namespace blink 141 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698