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

Issue 1904283004: Replace threadSafeBind() + GCed pointers with CrossThreadPersistent (Closed)

Created:
4 years, 8 months ago by hiroshige
Modified:
4 years, 7 months ago
Reviewers:
haraken, kinuko, tzik
CC:
Mads Ager (chromium), ajuma+watch-canvas_chromium.org, blink-reviews, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, Rik, chromium-reviews, dglazkov+blink, dshwang, eae+blinkwatch, haraken, hongchan, Justin Novosad, kinuko+watch, kouhei+heap_chromium.org, oilpan-reviews, rwlbuis, Raymond Toy, sof
Base URL:
https://chromium.googlesource.com/chromium/src.git@temp1912053002
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Replace threadSafeBind() + GCed pointers with CrossThreadPersistent Disable GCed raw pointers in threadSafeBind(), use CrossThreadPersistent instead: - Remove CrossThreadCopier for GCed raw pointers - Introduce CrossThreadCopier for CrossThreadPersistent - Apply wrapCrossThreadPersistent() to GCed raw pointers BUG=597856 Committed: https://crrev.com/4a3b5f099c7831d163fbafde81f618b90736ceb4 Cr-Commit-Position: refs/heads/master@{#393555}

Patch Set 1 #

Patch Set 2 : Use crossThreadRetainedRef() #

Patch Set 3 : Rebase #

Patch Set 4 : auto-Rebase #

Patch Set 5 : Rebase #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+25 lines, -33 lines) Patch
M third_party/WebKit/Source/core/dom/CrossThreadTaskTest.cpp View 1 2 3 4 1 chunk +6 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp View 1 2 3 4 1 chunk +1 line, -1 line 2 comments Download
M third_party/WebKit/Source/modules/webaudio/AbstractAudioContext.cpp View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp View 1 2 3 4 2 chunks +2 lines, -2 lines 2 comments Download
M third_party/WebKit/Source/modules/webdatabase/DatabaseThread.cpp View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/CrossThreadCopier.h View 1 2 3 4 4 chunks +11 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/platform/CrossThreadCopier.cpp View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 48 (26 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/1904283004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904283004/1
4 years, 8 months ago (2016-04-22 11:07:35 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/215874)
4 years, 8 months ago (2016-04-22 12:09:39 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904283004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904283004/20001
4 years, 8 months ago (2016-04-22 12:27:50 UTC) #7
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-22 13:55:24 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904283004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904283004/40001
4 years, 7 months ago (2016-04-27 05:24:45 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/128469) chromeos_daisy_chromium_compile_only_ng on ...
4 years, 7 months ago (2016-04-27 05:34:23 UTC) #16
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904283004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904283004/40001
4 years, 7 months ago (2016-04-27 06:30:12 UTC) #20
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-04-27 06:47:43 UTC) #22
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904283004/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904283004/60001
4 years, 7 months ago (2016-04-27 09:27:36 UTC) #24
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/219602)
4 years, 7 months ago (2016-04-27 12:56:29 UTC) #26
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904283004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904283004/80001
4 years, 7 months ago (2016-05-13 06:30:17 UTC) #28
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-13 07:57:55 UTC) #30
hiroshige
PTAL.
4 years, 7 months ago (2016-05-13 08:24:06 UTC) #33
haraken
LGTM https://codereview.chromium.org/1904283004/diff/80001/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp File third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp (right): https://codereview.chromium.org/1904283004/diff/80001/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp#newcode207 third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp:207: Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FROM_HERE, threadSafeBind(&BlobCallback::handleEvent, wrapCrossThreadPersistent(m_callback.get()), nullptr)); Do we need get()?
4 years, 7 months ago (2016-05-13 09:02:06 UTC) #34
tzik
lgtm
4 years, 7 months ago (2016-05-13 09:09:08 UTC) #35
kinuko
lgtm https://codereview.chromium.org/1904283004/diff/80001/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp File third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp (right): https://codereview.chromium.org/1904283004/diff/80001/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp#newcode56 third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp:56: m_thread->getWebTaskRunner()->postTask(BLINK_FROM_HERE, threadSafeBind(&AsyncAudioDecoder::decode, AllowCrossThreadAccess(audioData), sampleRate, wrapCrossThreadPersistent(successCallback), wrapCrossThreadPersistent(errorCallback), wrapCrossThreadPersistent(resolver), wrapCrossThreadPersistent(context))); ...
4 years, 7 months ago (2016-05-13 09:27:28 UTC) #36
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904283004/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904283004/100001
4 years, 7 months ago (2016-05-13 10:45:16 UTC) #38
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_chromium_compile_only_ng/builds/136849) chromeos_x86-generic_chromium_compile_only_ng on ...
4 years, 7 months ago (2016-05-13 10:56:01 UTC) #40
hiroshige
https://codereview.chromium.org/1904283004/diff/80001/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp File third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp (right): https://codereview.chromium.org/1904283004/diff/80001/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp#newcode207 third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp:207: Platform::current()->mainThread()->getWebTaskRunner()->postTask(BLINK_FROM_HERE, threadSafeBind(&BlobCallback::handleEvent, wrapCrossThreadPersistent(m_callback.get()), nullptr)); On 2016/05/13 09:02:06, haraken wrote: ...
4 years, 7 months ago (2016-05-13 16:47:19 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1904283004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1904283004/80001
4 years, 7 months ago (2016-05-13 16:48:13 UTC) #44
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 7 months ago (2016-05-13 16:56:09 UTC) #46
commit-bot: I haz the power
4 years, 7 months ago (2016-05-13 16:57:44 UTC) #48
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/4a3b5f099c7831d163fbafde81f618b90736ceb4
Cr-Commit-Position: refs/heads/master@{#393555}

Powered by Google App Engine
This is Rietveld 408576698