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

Issue 1032293002: Oilpan: dispose an HTMLImportsController on document detach/removal. (Closed)

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

Description

Oilpan: dispose an HTMLImportsController on document detach/removal. When a Document becomes detached and removes its HTMLImportsController supplement, this will synchronously remove the controller and all its "HTML imports" owned objects, in a non-Oilpan setting. This cancels all ongoing loaders and more (cf. HTMLImportsController::removeFrom().) ResourceFetcher objects are moving to accurately detaching from their FrameFetchContexts when their frames become detached from a document (http://crbug.com/458222). This implies that we cannot have loader objects active, as that may cause FrameFetchContexts to be accessed, but once lacking a frame. The code is no longer that expecting that. For HTML imports loaders, this is avoided by synchronously cancelling & finalizing the loaders, but that doesn't happen for Oilpan. It needs to, so an explicit dispose() step is introduced for HTMLImportsController and all its associated objects. R=haraken BUG=340522 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=192677

Patch Set 1 #

Total comments: 5

Patch Set 2 : No need to call dispose() when destructing HTMLImportsController #

Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -35 lines) Patch
M Source/core/html/imports/HTMLImportChild.h View 2 chunks +1 line, -1 line 0 comments Download
M Source/core/html/imports/HTMLImportChild.cpp View 4 chunks +3 lines, -5 lines 0 comments Download
M Source/core/html/imports/HTMLImportLoader.h View 2 chunks +2 lines, -5 lines 0 comments Download
M Source/core/html/imports/HTMLImportLoader.cpp View 2 chunks +3 lines, -12 lines 0 comments Download
M Source/core/html/imports/HTMLImportTreeRoot.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/html/imports/HTMLImportTreeRoot.cpp View 1 chunk +8 lines, -2 lines 0 comments Download
M Source/core/html/imports/HTMLImportsController.h View 1 2 chunks +6 lines, -7 lines 0 comments Download
M Source/core/html/imports/HTMLImportsController.cpp View 1 2 chunks +15 lines, -3 lines 0 comments Download

Messages

Total messages: 13 (3 generated)
sof
please take a look. Test results are a bit noisy atm, but none of the ...
5 years, 9 months ago (2015-03-26 11:30:25 UTC) #2
haraken
https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp File Source/core/html/imports/HTMLImportsController.cpp (right): https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp#newcode58 Source/core/html/imports/HTMLImportsController.cpp:58: void HTMLImportsController::removeFrom(Document& master) It seems that HTMLImportsController::removeFrom is not ...
5 years, 9 months ago (2015-03-26 23:27:27 UTC) #4
sof
https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp File Source/core/html/imports/HTMLImportsController.cpp (right): https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp#newcode58 Source/core/html/imports/HTMLImportsController.cpp:58: void HTMLImportsController::removeFrom(Document& master) On 2015/03/26 23:27:26, haraken wrote: > ...
5 years, 9 months ago (2015-03-27 06:30:24 UTC) #5
haraken
On 2015/03/27 06:30:24, sof wrote: > https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp > File Source/core/html/imports/HTMLImportsController.cpp (right): > > https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp#newcode58 > ...
5 years, 9 months ago (2015-03-27 06:59:38 UTC) #6
sof
On 2015/03/27 06:59:38, haraken wrote: > On 2015/03/27 06:30:24, sof wrote: > > > https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp ...
5 years, 9 months ago (2015-03-27 07:24:49 UTC) #7
sof
https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp File Source/core/html/imports/HTMLImportsController.cpp (right): https://codereview.chromium.org/1032293002/diff/1/Source/core/html/imports/HTMLImportsController.cpp#newcode76 Source/core/html/imports/HTMLImportsController.cpp:76: dispose(); On 2015/03/26 23:27:26, haraken wrote: > > As ...
5 years, 9 months ago (2015-03-27 08:44:31 UTC) #8
haraken
LGTM The last thing I don't fully understand is why it was OK not to ...
5 years, 9 months ago (2015-03-27 11:02:41 UTC) #9
sof
On 2015/03/27 11:02:41, haraken wrote: > LGTM > > The last thing I don't fully ...
5 years, 9 months ago (2015-03-27 12:54:17 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1032293002/20001
5 years, 9 months ago (2015-03-27 13:14:26 UTC) #12
commit-bot: I haz the power
5 years, 9 months ago (2015-03-27 13:18:44 UTC) #13
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=192677

Powered by Google App Engine
This is Rietveld 408576698