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

Issue 1017043002: Remove all event listeners during window's frame destruction step. (Closed)

Created:
5 years, 9 months ago by sof
Modified:
5 years, 9 months ago
Reviewers:
oilpan-reviews, haraken
CC:
blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Remove all event listeners during window's frame destruction step. Perform the removal of LocalDOMWindow event listeners as part of it being informed of LocalFrame's destruction (via frameDestroyed()). This is preferable to waiting until LocalDOMWindow's destructor is run, as it makes the timing of it independent of when that destructor actually gets to run. With Oilpan, it is possible that a frame and its window will be swept out without an explicit frame destruction notification. In that event, a prefinalizing action is run to take care of the removal. Additionally, this CL removes an explicit call to reset() from the LocalDOMWindow destructor. We have since r182337 been asserting that the reset() has already occurred, without it ever triggering. Time to remove the redundant reset() call. R=haraken BUG=340522 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=192149

Patch Set 1 #

Patch Set 2 : Fix detached unregistration #

Patch Set 3 : minor tidying #

Total comments: 5

Patch Set 4 : Improve LocalDOMWindow::dispose() comment a bit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+47 lines, -85 lines) Patch
M Source/core/frame/DOMWindowLifecycleObserver.h View 1 1 chunk +0 lines, -5 lines 0 comments Download
M Source/core/frame/LocalDOMWindow.h View 3 chunks +2 lines, -11 lines 0 comments Download
M Source/core/frame/LocalDOMWindow.cpp View 1 2 3 10 chunks +45 lines, -69 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
sof
please take a look.
5 years, 9 months ago (2015-03-18 22:12:31 UTC) #2
haraken
Nice cleanup. LGTM. https://codereview.chromium.org/1017043002/diff/40001/Source/core/frame/LocalDOMWindow.cpp File Source/core/frame/LocalDOMWindow.cpp (right): https://codereview.chromium.org/1017043002/diff/40001/Source/core/frame/LocalDOMWindow.cpp#newcode506 Source/core/frame/LocalDOMWindow.cpp:506: #if ENABLE(OILPAN) Not related to your ...
5 years, 9 months ago (2015-03-18 23:38:45 UTC) #3
sof
https://codereview.chromium.org/1017043002/diff/40001/Source/core/frame/LocalDOMWindow.cpp File Source/core/frame/LocalDOMWindow.cpp (right): https://codereview.chromium.org/1017043002/diff/40001/Source/core/frame/LocalDOMWindow.cpp#newcode506 Source/core/frame/LocalDOMWindow.cpp:506: #if ENABLE(OILPAN) On 2015/03/18 23:38:45, haraken wrote: > > ...
5 years, 9 months ago (2015-03-19 06:27:36 UTC) #4
haraken
https://codereview.chromium.org/1017043002/diff/40001/Source/core/frame/LocalDOMWindow.cpp File Source/core/frame/LocalDOMWindow.cpp (right): https://codereview.chromium.org/1017043002/diff/40001/Source/core/frame/LocalDOMWindow.cpp#newcode522 Source/core/frame/LocalDOMWindow.cpp:522: // (Non-Oilpan, LocalDOMWindow::reset() will always be invoked which takes ...
5 years, 9 months ago (2015-03-19 06:54:45 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1017043002/60001
5 years, 9 months ago (2015-03-19 08:21:29 UTC) #8
commit-bot: I haz the power
5 years, 9 months ago (2015-03-19 10:17:01 UTC) #9
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=192149

Powered by Google App Engine
This is Rietveld 408576698