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

Unified Diff: content/renderer/media/webmediaplayer_impl.cc

Issue 441303002: 2D Canvas doesn't blend video with the destination buffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove redundant SkCanvas::clear on compositor Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/webmediaplayer_impl.cc
diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc
index 09633bde08c4e972a6b4742d67ba4a5bf90ac9bd..38db09c273f81b33b293a72398cd5e204566069a 100644
--- a/content/renderer/media/webmediaplayer_impl.cc
+++ b/content/renderer/media/webmediaplayer_impl.cc
@@ -532,9 +532,16 @@ bool WebMediaPlayerImpl::didLoadingProgress() {
return pipeline_progress || data_progress;
}
-void WebMediaPlayerImpl::paint(WebCanvas* canvas,
- const WebRect& rect,
+void WebMediaPlayerImpl::paint(blink::WebCanvas* canvas,
+ const blink::WebRect& rect,
unsigned char alpha) {
+ paint(canvas, rect, alpha, SkXfermode::kSrcOver_Mode);
+}
+
+void WebMediaPlayerImpl::paint(blink::WebCanvas* canvas,
+ const blink::WebRect& rect,
+ unsigned char alpha,
+ SkXfermode::Mode mode) {
DCHECK(main_loop_->BelongsToCurrentThread());
TRACE_EVENT0("media", "WebMediaPlayerImpl:paint");
@@ -547,7 +554,8 @@ void WebMediaPlayerImpl::paint(WebCanvas* canvas,
GetCurrentFrameFromCompositor();
gfx::Rect gfx_rect(rect);
- skcanvas_video_renderer_.Paint(video_frame.get(), canvas, gfx_rect, alpha);
+ skcanvas_video_renderer_.Paint(
+ video_frame.get(), canvas, gfx_rect, alpha, mode);
}
bool WebMediaPlayerImpl::hasSingleSecurityOrigin() const {

Powered by Google App Engine
This is Rietveld 408576698