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

Issue 292493006: cc: BlockingTaskRunner without MessageLoopProxy (Closed)

Created:
6 years, 7 months ago by boliu
Modified:
6 years, 7 months ago
Reviewers:
danakj, piman
CC:
chromium-reviews, cc-bugs_chromium.org
Visibility:
Public.

Description

cc: Compositor without MessageLoopProxy Support using single-threaded compositor with a single DelegatedRendererLayer on a thread that does not have a MessageLoop. First, Allow BlockingTaskRunner to be used on a thread that does not have a MessageLoopProxy. For these threads, all PostTask calls must be wrapped in CapturePostTasks. Use PlatformThreadId rather than MessageLoopProxy::BelongsToCurrent thread to check for current. Then fix DCHECK failures in Proxy to allow MessageLoopProxy to be NULL. Add tests to verify these code paths are indeed working. BUG=344087 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=272473

Patch Set 1 #

Total comments: 4

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : no message loop test harness #

Total comments: 2

Patch Set 6 : delegated layer test #

Total comments: 2

Patch Set 7 : Mailbox::Generate #

Unified diffs Side-by-side diffs Delta from patch set Stats (+272 lines, -28 lines) Patch
M cc/cc_tests.gyp View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/blocking_task_runner.h View 3 chunks +3 lines, -3 lines 0 comments Download
M cc/trees/blocking_task_runner.cc View 1 2 chunks +24 lines, -23 lines 0 comments Download
A cc/trees/layer_tree_host_unittest_no_message_loop.cc View 1 2 3 4 5 6 1 chunk +235 lines, -0 lines 0 comments Download
M cc/trees/proxy.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M cc/trees/proxy.cc View 1 2 chunks +7 lines, -2 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
boliu
Dana/Antoine, I'd like to get your opinion before continuing further. This is to support android ...
6 years, 7 months ago (2014-05-17 00:16:16 UTC) #1
piman
https://codereview.chromium.org/292493006/diff/1/cc/trees/blocking_task_runner.cc File cc/trees/blocking_task_runner.cc (right): https://codereview.chromium.org/292493006/diff/1/cc/trees/blocking_task_runner.cc#newcode71 cc/trees/blocking_task_runner.cc:71: return task_runner_->PostTask(from_here, task); How is this going to work ...
6 years, 7 months ago (2014-05-17 00:32:31 UTC) #2
boliu
https://codereview.chromium.org/292493006/diff/1/cc/trees/blocking_task_runner.cc File cc/trees/blocking_task_runner.cc (right): https://codereview.chromium.org/292493006/diff/1/cc/trees/blocking_task_runner.cc#newcode71 cc/trees/blocking_task_runner.cc:71: return task_runner_->PostTask(from_here, task); On 2014/05/17 00:32:31, piman wrote: > ...
6 years, 7 months ago (2014-05-17 00:34:26 UTC) #3
piman
https://codereview.chromium.org/292493006/diff/1/cc/trees/blocking_task_runner.cc File cc/trees/blocking_task_runner.cc (right): https://codereview.chromium.org/292493006/diff/1/cc/trees/blocking_task_runner.cc#newcode71 cc/trees/blocking_task_runner.cc:71: return task_runner_->PostTask(from_here, task); On 2014/05/17 00:34:25, boliu wrote: > ...
6 years, 7 months ago (2014-05-17 00:51:47 UTC) #4
boliu
So...sounds like approach for now is ok, and just need a whole lot of end-to-end ...
6 years, 7 months ago (2014-05-17 01:08:54 UTC) #5
boliu
Wrote a new test harness that creates a base::SimpleThread with no MessageLoop, and a SmokeTest ...
6 years, 7 months ago (2014-05-22 19:36:07 UTC) #6
piman
It'd be nice to have at least one test that actually exercises the BlockingTaskRunner (with ...
6 years, 7 months ago (2014-05-22 20:53:30 UTC) #7
boliu
Added test with delegated layer with resources. Ready for full review. https://codereview.chromium.org/292493006/diff/80001/cc/trees/layer_tree_host_unittest_no_message_loop.cc File cc/trees/layer_tree_host_unittest_no_message_loop.cc (right): ...
6 years, 7 months ago (2014-05-22 23:17:37 UTC) #8
piman
lgtm https://codereview.chromium.org/292493006/diff/100001/cc/trees/layer_tree_host_unittest_no_message_loop.cc File cc/trees/layer_tree_host_unittest_no_message_loop.cc (right): https://codereview.chromium.org/292493006/diff/100001/cc/trees/layer_tree_host_unittest_no_message_loop.cc#newcode216 cc/trees/layer_tree_host_unittest_no_message_loop.cc:216: resource.mailbox_holder.mailbox.SetName(arbitrary_mailbox); nit: you can also use gpu::Mailbox::Generate().
6 years, 7 months ago (2014-05-22 23:36:23 UTC) #9
boliu
https://codereview.chromium.org/292493006/diff/100001/cc/trees/layer_tree_host_unittest_no_message_loop.cc File cc/trees/layer_tree_host_unittest_no_message_loop.cc (right): https://codereview.chromium.org/292493006/diff/100001/cc/trees/layer_tree_host_unittest_no_message_loop.cc#newcode216 cc/trees/layer_tree_host_unittest_no_message_loop.cc:216: resource.mailbox_holder.mailbox.SetName(arbitrary_mailbox); On 2014/05/22 23:36:23, piman wrote: > nit: you ...
6 years, 7 months ago (2014-05-22 23:48:31 UTC) #10
boliu
The CQ bit was checked by boliu@chromium.org
6 years, 7 months ago (2014-05-22 23:49:01 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/boliu@chromium.org/292493006/120001
6 years, 7 months ago (2014-05-22 23:50:45 UTC) #12
commit-bot: I haz the power
6 years, 7 months ago (2014-05-23 10:45:49 UTC) #13
Message was sent while issue was closed.
Change committed as 272473

Powered by Google App Engine
This is Rietveld 408576698