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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_browsertest.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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/message_loop/message_loop_proxy.h" 6 #include "base/message_loop/message_loop_proxy.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "content/browser/gpu/compositor_util.h" 9 #include "content/browser/gpu/compositor_util.h"
10 #include "content/browser/gpu/gpu_data_manager_impl.h" 10 #include "content/browser/gpu/gpu_data_manager_impl.h"
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 if (!result) { 484 if (!result) {
485 quit_callback.Run(); 485 quit_callback.Run();
486 return; 486 return;
487 } 487 }
488 488
489 media::SkCanvasVideoRenderer video_renderer; 489 media::SkCanvasVideoRenderer video_renderer;
490 490
491 SkBitmap bitmap; 491 SkBitmap bitmap;
492 bitmap.allocN32Pixels(video_frame->visible_rect().width(), 492 bitmap.allocN32Pixels(video_frame->visible_rect().width(),
493 video_frame->visible_rect().height()); 493 video_frame->visible_rect().height());
494 bitmap.eraseColor(SK_ColorTRANSPARENT); 494 bitmap.eraseColor(SK_ColorTRANSPARENT);
danakj 2014/08/06 18:31:48 btw can we remove this then?
dshwang 2014/08/06 19:22:01 we can remove this if we use kSrc_Mode, instead of
danakj 2014/08/06 19:23:41 It's a waste of time to touch all the pixels twice
dshwang 2014/08/07 12:47:53 I apply your optimization to new patch set. Thank
495 SkCanvas canvas(bitmap); 495 SkCanvas canvas(bitmap);
496 496
497 video_renderer.Paint(video_frame.get(), 497 video_renderer.Paint(video_frame.get(),
498 &canvas, 498 &canvas,
499 video_frame->visible_rect(), 499 video_frame->visible_rect(),
500 0xff); 500 0xff,
501 SkXfermode::kSrcOver_Mode);
501 502
502 CopyFromCompositingSurfaceCallback(quit_callback, 503 CopyFromCompositingSurfaceCallback(quit_callback,
503 result, 504 result,
504 bitmap); 505 bitmap);
505 } 506 }
506 507
507 void SetExpectedCopyFromCompositingSurfaceResult(bool result, 508 void SetExpectedCopyFromCompositingSurfaceResult(bool result,
508 const SkBitmap& bitmap) { 509 const SkBitmap& bitmap) {
509 expected_copy_from_compositing_surface_result_ = result; 510 expected_copy_from_compositing_surface_result_ = result;
510 expected_copy_from_compositing_surface_bitmap_ = bitmap; 511 expected_copy_from_compositing_surface_bitmap_ = bitmap;
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 CompositingRenderWidgetHostViewBrowserTestTabCapture, 855 CompositingRenderWidgetHostViewBrowserTestTabCapture,
855 testing::ValuesIn(kAllCompositingModes)); 856 testing::ValuesIn(kAllCompositingModes));
856 INSTANTIATE_TEST_CASE_P(GLAndSoftwareCompositing, 857 INSTANTIATE_TEST_CASE_P(GLAndSoftwareCompositing,
857 CompositingRenderWidgetHostViewTabCaptureHighDPI, 858 CompositingRenderWidgetHostViewTabCaptureHighDPI,
858 testing::ValuesIn(kAllCompositingModes)); 859 testing::ValuesIn(kAllCompositingModes));
859 860
860 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) 861 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
861 862
862 } // namespace 863 } // namespace
863 } // namespace content 864 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698