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

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

Issue 2392443009: reflow comments in core/paint (Closed)
Patch Set: Created 4 years, 2 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/VideoPainter.h" 5 #include "core/paint/VideoPainter.h"
6 6
7 #include "core/dom/Document.h" 7 #include "core/dom/Document.h"
8 #include "core/frame/FrameView.h" 8 #include "core/frame/FrameView.h"
9 #include "core/html/HTMLVideoElement.h" 9 #include "core/html/HTMLVideoElement.h"
10 #include "core/layout/LayoutVideo.h" 10 #include "core/layout/LayoutVideo.h"
(...skipping 21 matching lines...) Expand all
32 return; 32 return;
33 33
34 if (LayoutObjectDrawingRecorder::useCachedDrawingIfPossible( 34 if (LayoutObjectDrawingRecorder::useCachedDrawingIfPossible(
35 paintInfo.context, m_layoutVideo, paintInfo.phase)) 35 paintInfo.context, m_layoutVideo, paintInfo.phase))
36 return; 36 return;
37 37
38 GraphicsContext& context = paintInfo.context; 38 GraphicsContext& context = paintInfo.context;
39 LayoutRect contentRect = m_layoutVideo.contentBoxRect(); 39 LayoutRect contentRect = m_layoutVideo.contentBoxRect();
40 contentRect.moveBy(paintOffset); 40 contentRect.moveBy(paintOffset);
41 41
42 // Video frames are only painted in software for printing or capturing node im ages via web APIs. 42 // Video frames are only painted in software for printing or capturing node
43 // images via web APIs.
43 bool forceSoftwareVideoPaint = 44 bool forceSoftwareVideoPaint =
44 paintInfo.getGlobalPaintFlags() & GlobalPaintFlattenCompositingLayers; 45 paintInfo.getGlobalPaintFlags() & GlobalPaintFlattenCompositingLayers;
45 46
46 bool paintWithForeignLayer = !displayingPoster && !forceSoftwareVideoPaint && 47 bool paintWithForeignLayer = !displayingPoster && !forceSoftwareVideoPaint &&
47 RuntimeEnabledFeatures::slimmingPaintV2Enabled(); 48 RuntimeEnabledFeatures::slimmingPaintV2Enabled();
48 if (paintWithForeignLayer) { 49 if (paintWithForeignLayer) {
49 if (WebLayer* layer = m_layoutVideo.mediaElement()->platformLayer()) { 50 if (WebLayer* layer = m_layoutVideo.mediaElement()->platformLayer()) {
50 IntRect pixelSnappedRect = pixelSnappedIntRect(contentRect); 51 IntRect pixelSnappedRect = pixelSnappedIntRect(contentRect);
51 recordForeignLayer(context, m_layoutVideo, 52 recordForeignLayer(context, m_layoutVideo,
52 DisplayItem::kForeignLayerVideo, layer, 53 DisplayItem::kForeignLayerVideo, layer,
53 pixelSnappedRect.location(), pixelSnappedRect.size()); 54 pixelSnappedRect.location(), pixelSnappedRect.size());
54 return; 55 return;
55 } 56 }
56 } 57 }
57 58
58 // TODO(trchen): Video rect could overflow the content rect due to object-fit. 59 // TODO(trchen): Video rect could overflow the content rect due to object-fit.
59 // Should apply a clip here like EmbeddedObjectPainter does. 60 // Should apply a clip here like EmbeddedObjectPainter does.
60 LayoutObjectDrawingRecorder drawingRecorder(context, m_layoutVideo, 61 LayoutObjectDrawingRecorder drawingRecorder(context, m_layoutVideo,
61 paintInfo.phase, contentRect); 62 paintInfo.phase, contentRect);
62 63
63 if (displayingPoster || !forceSoftwareVideoPaint) { 64 if (displayingPoster || !forceSoftwareVideoPaint) {
64 // This will display the poster image, if one is present, and otherwise pain t nothing. 65 // This will display the poster image, if one is present, and otherwise
66 // paint nothing.
65 ImagePainter(m_layoutVideo) 67 ImagePainter(m_layoutVideo)
66 .paintIntoRect(context, replacedRect, contentRect); 68 .paintIntoRect(context, replacedRect, contentRect);
67 } else { 69 } else {
68 SkPaint videoPaint = context.fillPaint(); 70 SkPaint videoPaint = context.fillPaint();
69 videoPaint.setColor(SK_ColorBLACK); 71 videoPaint.setColor(SK_ColorBLACK);
70 m_layoutVideo.videoElement()->paintCurrentFrame( 72 m_layoutVideo.videoElement()->paintCurrentFrame(
71 context.canvas(), snappedReplacedRect, &videoPaint); 73 context.canvas(), snappedReplacedRect, &videoPaint);
72 } 74 }
73 } 75 }
74 76
75 } // namespace blink 77 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/paint/ThemePainterMac.mm ('k') | third_party/WebKit/Source/core/paint/ViewPainter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698