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

Issue 393133003: Oilpan: WebAudio: Apply the weak HashMap pattern to remove an entry from AudioContext::m_dirtyAudio… (Closed)

Created:
6 years, 5 months ago by tkent
Modified:
6 years, 5 months ago
Reviewers:
oilpan-reviews, haraken
CC:
blink-reviews, Raymond Toy
Project:
blink
Visibility:
Public.

Description

Oilpan: WebAudio: Apply the weak HashMap pattern to remove an entry from AudioContext::m_dirtyAudioSummingJunctions. r178238, which made AudioSummingJunction::m_context a weak member, didn't work. If the AudioContext and an AudioSummingJunction object become unreachable togeter, AudioSummingJunction::m_context is not cleared and their destuction order is not deterministic. We must not touch weak members in destructors. With this CL, we register all of AudioSummingJunction objects to AudioContext, and applies the weak HashMap pattern to clear m_dirtyAudioSummingJunctions. BUG=392788 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=178521

Patch Set 1 #

Total comments: 10

Patch Set 2 : Add a comment, etc. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+47 lines, -12 lines) Patch
M Source/modules/webaudio/AudioContext.h View 1 2 chunks +18 lines, -0 lines 0 comments Download
M Source/modules/webaudio/AudioContext.cpp View 1 3 chunks +22 lines, -0 lines 0 comments Download
M Source/modules/webaudio/AudioSummingJunction.h View 1 1 chunk +1 line, -10 lines 0 comments Download
M Source/modules/webaudio/AudioSummingJunction.cpp View 1 1 chunk +6 lines, -2 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
tkent
Please take a look at this.
6 years, 5 months ago (2014-07-18 09:08:06 UTC) #1
haraken
https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp File Source/modules/webaudio/AudioContext.cpp (right): https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp#newcode774 Source/modules/webaudio/AudioContext.cpp:774: AudioContext::AutoLocker locker(m_junction.context()); Won't this cause a dead lock? removeMarkedSummingJunction ...
6 years, 5 months ago (2014-07-18 09:49:31 UTC) #2
tkent
https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp File Source/modules/webaudio/AudioContext.cpp (right): https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp#newcode774 Source/modules/webaudio/AudioContext.cpp:774: AudioContext::AutoLocker locker(m_junction.context()); On 2014/07/18 09:49:30, haraken wrote: > > ...
6 years, 5 months ago (2014-07-18 09:52:16 UTC) #3
tkent
https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp File Source/modules/webaudio/AudioContext.cpp (right): https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp#newcode774 Source/modules/webaudio/AudioContext.cpp:774: AudioContext::AutoLocker locker(m_junction.context()); On 2014/07/18 09:52:16, tkent wrote: > On ...
6 years, 5 months ago (2014-07-18 09:54:22 UTC) #4
haraken
https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp File Source/modules/webaudio/AudioContext.cpp (right): https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp#newcode774 Source/modules/webaudio/AudioContext.cpp:774: AudioContext::AutoLocker locker(m_junction.context()); On 2014/07/18 09:52:16, tkent wrote: > On ...
6 years, 5 months ago (2014-07-18 10:01:01 UTC) #5
tkent
https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp File Source/modules/webaudio/AudioContext.cpp (right): https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioContext.cpp#newcode774 Source/modules/webaudio/AudioContext.cpp:774: AudioContext::AutoLocker locker(m_junction.context()); On 2014/07/18 10:01:01, haraken wrote: > On ...
6 years, 5 months ago (2014-07-18 13:43:09 UTC) #6
haraken
LGTM with the nit comments addressed. https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioSummingJunction.cpp File Source/modules/webaudio/AudioSummingJunction.cpp (right): https://codereview.chromium.org/393133003/diff/1/Source/modules/webaudio/AudioSummingJunction.cpp#newcode43 Source/modules/webaudio/AudioSummingJunction.cpp:43: m_context->registerLiveAudioSummingJunction(*this); On 2014/07/18 ...
6 years, 5 months ago (2014-07-18 13:49:01 UTC) #7
tkent
The CQ bit was checked by tkent@chromium.org
6 years, 5 months ago (2014-07-20 00:02:01 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tkent@chromium.org/393133003/20001
6 years, 5 months ago (2014-07-20 00:03:06 UTC) #9
commit-bot: I haz the power
6 years, 5 months ago (2014-07-20 00:05:51 UTC) #10
Message was sent while issue was closed.
Change committed as 178521

Powered by Google App Engine
This is Rietveld 408576698