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

Issue 2382883005: Implement OffscreenCanvas.commit() on Unaccelerated 2D on worker (Closed)

Created:
4 years, 2 months ago by xlai (Olivia)
Modified:
4 years, 2 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, jam, darin-cc_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement OffscreenCanvas.commit() on Unaccelerated 2D on worker This CL allows access to shared_bitmap_manager on worker thread, and thereby enabling OffscreenCanvas's unaccelerated 2d commit() on worker. Safety of this approach: 1. The shared_bitmap_manager is guaranteed to be created when RenderThreadImpl's parent class ChildThreadImpl is constructed (see ChildThreadImpl::Init()). Also, Worker threads are created when RenderThreadImpl is alive. Thus, on worker thread, when calling AllocateSharedBitmap(), the shared_bitmap_manager_ is always an alive pointer. 2. When RenderThreadImpl is destroyed, its unique pointer of RendererBlinkPlatformImpl will be destroyed, which will set the raw pointer of shared_bitmap_manager_ to be nullptr. Next, its parent class ChildThreadImpl will be destroyed, and thus tearing down its unique pointer of ChildSharedBitmapManager. Thus, the shared_bitmap_manager_ raw pointer in RendererBlinkPlatformImpl won't be left as a dangling pointer. BUG=563858 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Committed: https://crrev.com/dbed4e430539a6853313b6810ea6a81a397c8556 Cr-Commit-Position: refs/heads/master@{#422460}

Patch Set 1 #

Patch Set 2 : Code and test #

Patch Set 3 : rebase #

Patch Set 4 : style #

Total comments: 2

Patch Set 5 : rebase Nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -72 lines) Patch
M content/renderer/renderer_blink_platform_impl.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M content/renderer/renderer_blink_platform_impl.cc View 1 2 3 4 3 chunks +4 lines, -2 lines 0 comments Download
M content/test/gpu/gpu_tests/pixel_expectations.py View 1 1 chunk +1 line, -0 lines 0 comments Download
M content/test/gpu/gpu_tests/pixel_test_pages.py View 1 2 3 4 2 chunks +11 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp View 1 2 3 4 1 chunk +56 lines, -67 lines 0 comments Download

Messages

Total messages: 21 (14 generated)
xlai (Olivia)
PTAL. Thanks! junov@: OffscreenCanvasFrameDispatcher avi@: content/renderer/ kbr@: gpu pixel tests
4 years, 2 months ago (2016-09-30 19:02:49 UTC) #7
Avi (use Gerrit)
The content changes seem pretty mechanical. LGTM stamp
4 years, 2 months ago (2016-09-30 19:46:51 UTC) #11
Ken Russell (switch to Gerrit)
Great! Nice work adding a test right away. One comment. LGTM https://codereview.chromium.org/2382883005/diff/100001/content/test/gpu/gpu_tests/pixel_test_pages.py File content/test/gpu/gpu_tests/pixel_test_pages.py (right): ...
4 years, 2 months ago (2016-09-30 23:04:41 UTC) #13
Justin Novosad
lgtm https://codereview.chromium.org/2382883005/diff/100001/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp File third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp (right): https://codereview.chromium.org/2382883005/diff/100001/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp#newcode64 third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp:64: if (!image->isTextureBacked()) { Nit: Remove the '!' and ...
4 years, 2 months ago (2016-10-03 15:13:53 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2382883005/120001
4 years, 2 months ago (2016-10-03 16:24:37 UTC) #17
commit-bot: I haz the power
Committed patchset #5 (id:120001)
4 years, 2 months ago (2016-10-03 18:07:46 UTC) #19
commit-bot: I haz the power
4 years, 2 months ago (2016-10-03 18:10:27 UTC) #21
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/dbed4e430539a6853313b6810ea6a81a397c8556
Cr-Commit-Position: refs/heads/master@{#422460}

Powered by Google App Engine
This is Rietveld 408576698