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

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: Add Copy() as syntactic sugar 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 // Don't clear the canvas because drawing a video frame by Src mode.
495 SkCanvas canvas(bitmap); 495 SkCanvas canvas(bitmap);
496 496 video_renderer.Copy(video_frame.get(), &canvas);
497 video_renderer.Paint(video_frame.get(),
498 &canvas,
499 video_frame->visible_rect(),
500 0xff,
501 media::VIDEO_ROTATION_0);
502 497
503 CopyFromCompositingSurfaceCallback(quit_callback, 498 CopyFromCompositingSurfaceCallback(quit_callback,
504 result, 499 result,
505 bitmap); 500 bitmap);
506 } 501 }
507 502
508 void SetExpectedCopyFromCompositingSurfaceResult(bool result, 503 void SetExpectedCopyFromCompositingSurfaceResult(bool result,
509 const SkBitmap& bitmap) { 504 const SkBitmap& bitmap) {
510 expected_copy_from_compositing_surface_result_ = result; 505 expected_copy_from_compositing_surface_result_ = result;
511 expected_copy_from_compositing_surface_bitmap_ = bitmap; 506 expected_copy_from_compositing_surface_bitmap_ = bitmap;
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 CompositingRenderWidgetHostViewBrowserTestTabCapture, 850 CompositingRenderWidgetHostViewBrowserTestTabCapture,
856 testing::ValuesIn(kAllCompositingModes)); 851 testing::ValuesIn(kAllCompositingModes));
857 INSTANTIATE_TEST_CASE_P(GLAndSoftwareCompositing, 852 INSTANTIATE_TEST_CASE_P(GLAndSoftwareCompositing,
858 CompositingRenderWidgetHostViewTabCaptureHighDPI, 853 CompositingRenderWidgetHostViewTabCaptureHighDPI,
859 testing::ValuesIn(kAllCompositingModes)); 854 testing::ValuesIn(kAllCompositingModes));
860 855
861 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) 856 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
862 857
863 } // namespace 858 } // namespace
864 } // namespace content 859 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698