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

Issue 1798403002: Support rvalue-reference Runnables in base::Bind internals (Closed)

Created:
4 years, 9 months ago by tzik
Modified:
4 years, 6 months ago
Reviewers:
danakj, Nico, dcheng
CC:
chromium-reviews, danakj
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support rvalue-reference Runnables in base::Bind internals This is a preparation of base::Bind for move-only variants of Callback, and also a preparation of the oneshot variant of Callback. On InvokeHelper mod, this CL moves Runnable from a class template parameter to a function template parameter of InvokeHelper::MakeItSo, so that it can run &&-qualified Run() method via rvalue-reference Runnable. On BindState mod, BindState ctor will forward Runnable as Perfect Forwarding into its internal storage. So that BindState can hold move-only Runnable into it. BUG=554299 Committed: https://crrev.com/ee2487294417a82adfc854aa680c7765eef7494e Cr-Commit-Position: refs/heads/master@{#397083}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : rebase #

Total comments: 7

Patch Set 4 : s/IsWeakCall/is_weak_call/. Perfect Forwarding -> pass-by-value + std::move() #

Unified diffs Side-by-side diffs Delta from patch set Stats (+30 lines, -34 lines) Patch
M base/bind_internal.h View 1 2 3 3 chunks +30 lines, -34 lines 0 comments Download

Messages

Total messages: 33 (14 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1798403002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1798403002/1
4 years, 9 months ago (2016-03-15 13:41:47 UTC) #3
tzik
PTAL
4 years, 9 months ago (2016-03-15 13:43:49 UTC) #5
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win8_chromium_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_ng/builds/117580)
4 years, 9 months ago (2016-03-15 14:54:43 UTC) #7
dcheng
Is this change intended to help support one-shot callbacks? I guess the Run() method on ...
4 years, 9 months ago (2016-03-15 23:04:55 UTC) #8
tzik
On 2016/03/15 23:04:55, dcheng wrote: > Is this change intended to help support one-shot callbacks? ...
4 years, 9 months ago (2016-03-16 01:57:42 UTC) #9
dcheng
LGTM, but let's update the CL description to include the direct motivation to support one-shot ...
4 years, 9 months ago (2016-03-16 19:52:34 UTC) #10
tzik
On 2016/03/16 19:52:34, dcheng wrote: > LGTM, but let's update the CL description to include ...
4 years, 9 months ago (2016-03-17 10:26:36 UTC) #12
tzik
Nico: could you take a look to this?
4 years, 8 months ago (2016-04-08 15:00:15 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1798403002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1798403002/20001
4 years, 8 months ago (2016-04-15 02:39:05 UTC) #15
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-15 03:49:02 UTC) #17
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1798403002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1798403002/40001
4 years, 7 months ago (2016-05-17 06:11:24 UTC) #19
tzik
Dana: could you take a look to this?
4 years, 7 months ago (2016-05-17 06:13:07 UTC) #21
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-17 08:03:18 UTC) #23
danakj
https://codereview.chromium.org/1798403002/diff/40001/base/bind_internal.h File base/bind_internal.h (right): https://codereview.chromium.org/1798403002/diff/40001/base/bind_internal.h#newcode296 base/bind_internal.h:296: template <bool IsWeakCall, typename ReturnType> mind making this consistent ...
4 years, 7 months ago (2016-05-19 21:18:59 UTC) #24
tzik
Updated! https://codereview.chromium.org/1798403002/diff/40001/base/bind_internal.h File base/bind_internal.h (right): https://codereview.chromium.org/1798403002/diff/40001/base/bind_internal.h#newcode296 base/bind_internal.h:296: template <bool IsWeakCall, typename ReturnType> On 2016/05/19 21:18:58, ...
4 years, 7 months ago (2016-05-20 06:53:54 UTC) #25
danakj
LGTM https://codereview.chromium.org/1798403002/diff/40001/base/bind_internal.h File base/bind_internal.h (right): https://codereview.chromium.org/1798403002/diff/40001/base/bind_internal.h#newcode364 base/bind_internal.h:364: storage->runnable_, Unwrap(get<bound_indices>(storage->bound_args_))..., On 2016/05/20 06:53:54, tzik wrote: > ...
4 years, 7 months ago (2016-05-20 21:19:40 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1798403002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1798403002/60001
4 years, 6 months ago (2016-06-01 06:50:43 UTC) #29
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 6 months ago (2016-06-01 08:23:04 UTC) #31
commit-bot: I haz the power
4 years, 6 months ago (2016-06-01 08:24:10 UTC) #33
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/ee2487294417a82adfc854aa680c7765eef7494e
Cr-Commit-Position: refs/heads/master@{#397083}

Powered by Google App Engine
This is Rietveld 408576698