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

Issue 2355153002: Disallowed PassRefPtr copies across threads. (Closed)

Created:
4 years, 3 months ago by Bugs Nash
Modified:
4 years, 2 months ago
Reviewers:
haraken, Yuta Kitamura
CC:
darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-animation_chromium.org, blink-reviews-bindings_chromium.org, blink-reviews-css, blink-reviews-dom_chromium.org, blink-reviews-paint_chromium.org, blink-reviews-style_chromium.org, blink-worker-reviews_chromium.org, chromium-reviews, dglazkov+blink, dshwang, eae+blinkwatch, Eric Willigers, falken, hongchan, horo+watch_chromium.org, kinuko+worker_chromium.org, kinuko+watch, rjwright, rwlbuis, Raymond Toy, shans, shimazu+worker_chromium.org, sof, slimming-paint-reviews_chromium.org, tyoshino+watch_chromium.org, yhirano+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Disallowed PassRefPtr copies across threads. Part of making PassRefPtr move only, in preparation for the removal of PassRefPtr. Overrode CrossThreadCopier<PassRefPtr>::copy taking an rvalue, disallowing lvalues of PassRefPtr to be passed in. Wrapped return value of CrossThreadCopier<PassRefPtr<T>>::copy in std::move to ensure an rvalue is returned. This is necessary to prevent PassRefPtr copies where a PassRefPtr object is constructed inside the call to CrossThreadCopier::copy, e.g. https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modules/webaudio/AudioScheduledSourceNode.cpp?l=215 BUG=640449 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Committed: https://crrev.com/be469c01f9657a1598ba00423f26279e2c24f0c9 Cr-Commit-Position: refs/heads/master@{#421127}

Patch Set 1 #

Patch Set 2 : rebased #

Total comments: 1

Patch Set 3 : Removed CrossThreadCopierPassThrough inheritence #

Total comments: 2

Patch Set 4 : Changed typedef to PassRefPtr<T> #

Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -1 line) Patch
M third_party/WebKit/Source/platform/CrossThreadCopier.h View 1 2 3 1 chunk +6 lines, -1 line 0 comments Download

Messages

Total messages: 35 (23 generated)
Bugs Nash
Not sure if this is the best solution, ptal
4 years, 3 months ago (2016-09-21 23:15:42 UTC) #13
Yuta Kitamura
This looks okay, LGTM w/ a nit. https://codereview.chromium.org/2355153002/diff/20001/third_party/WebKit/Source/platform/CrossThreadCopier.h File third_party/WebKit/Source/platform/CrossThreadCopier.h (right): https://codereview.chromium.org/2355153002/diff/20001/third_party/WebKit/Source/platform/CrossThreadCopier.h#newcode94 third_party/WebKit/Source/platform/CrossThreadCopier.h:94: struct CrossThreadCopier<PassRefPtr<T>> ...
4 years, 3 months ago (2016-09-23 07:33:35 UTC) #16
Bugs Nash
On 2016/09/23 at 07:33:35, yutak wrote: > This looks okay, LGTM w/ a nit. > ...
4 years, 2 months ago (2016-09-27 00:12:49 UTC) #19
Yuta Kitamura
https://codereview.chromium.org/2355153002/diff/40001/third_party/WebKit/Source/platform/CrossThreadCopier.cpp File third_party/WebKit/Source/platform/CrossThreadCopier.cpp (right): https://codereview.chromium.org/2355153002/diff/40001/third_party/WebKit/Source/platform/CrossThreadCopier.cpp#newcode79 third_party/WebKit/Source/platform/CrossThreadCopier.cpp:79: CopierThreadSafeRefCountedTest, You don't have to change this. https://codereview.chromium.org/2355153002/diff/40001/third_party/WebKit/Source/platform/CrossThreadCopier.h File ...
4 years, 2 months ago (2016-09-27 01:59:28 UTC) #22
Yuta Kitamura
LGTM if my prior comments are addressed.
4 years, 2 months ago (2016-09-27 02:00:36 UTC) #23
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/2355153002/60001
4 years, 2 months ago (2016-09-27 04:54:07 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/267429)
4 years, 2 months ago (2016-09-27 05:03:01 UTC) #28
haraken
owner LGTM
4 years, 2 months ago (2016-09-27 05:07:31 UTC) #29
Bugs Nash
On 2016/09/27 at 05:07:31, haraken wrote: > owner LGTM of course, thanks Kentaro!
4 years, 2 months ago (2016-09-27 05:28:07 UTC) #30
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/2355153002/60001
4 years, 2 months ago (2016-09-27 05:28:27 UTC) #32
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 2 months ago (2016-09-27 06:21:41 UTC) #33
commit-bot: I haz the power
4 years, 2 months ago (2016-09-27 06:23:04 UTC) #35
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/be469c01f9657a1598ba00423f26279e2c24f0c9
Cr-Commit-Position: refs/heads/master@{#421127}

Powered by Google App Engine
This is Rietveld 408576698