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

Issue 185613003: Oilpan: Delay frameDetached() so it won't dispatch event inside ~SVGImage (Closed)

Created:
6 years, 9 months ago by kouhei (in TOK)
Modified:
6 years, 9 months ago
CC:
blink-reviews, krit, fs, ed+blinkwatch_opera.com, f(malita), gyuyoung.kim_webkit.org, Stephen Chennney, pdr., rwlbuis, abarth-chromium, dcheng
Visibility:
Public.

Description

Oilpan: Delay frameDetached() so it won't dispatch event inside ~SVGImage This CL moves frameDetached() call outside of ~SVGImage. Oilpan disallows any heap-allocated object creation inside destructors. SVGImageChromeClient and Page to be deleted are queued to DelayedSVGImageDestructor singleton, and oneshot timer is invoked to call |frameDetached| outside of destructor scope. TESTS=svg/ (w/ enable_oilpan=1) BUG=None NOTRY=true Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=168612

Patch Set 1 #

Total comments: 2

Patch Set 2 : add comments #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+54 lines, -8 lines) Patch
M Source/core/svg/graphics/SVGImage.cpp View 1 1 chunk +53 lines, -8 lines 1 comment Download
M Source/core/svg/graphics/SVGImageChromeClient.h View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 35 (0 generated)
kouhei (in TOK)
PTAL. This CL solves SVGImage issue, however this patch is quite a workaround...
6 years, 9 months ago (2014-03-03 03:35:15 UTC) #1
kouhei (in TOK)
More context: - haraken's patch made Event GarbageCollected. - Event removes the last ref to ...
6 years, 9 months ago (2014-03-03 03:40:38 UTC) #2
zerny-chromium
On 2014/03/03 03:40:38, kouhei wrote: > More context: > > - haraken's patch made Event ...
6 years, 9 months ago (2014-03-03 07:26:37 UTC) #3
kouhei (in TOK)
> Hi Kouhei, > > On the oilpan branch we had a related issue with ...
6 years, 9 months ago (2014-03-03 07:32:39 UTC) #4
kouhei (in TOK)
On 2014/03/03 07:32:39, kouhei wrote: > > Hi Kouhei, > > > > On the ...
6 years, 9 months ago (2014-03-03 09:27:25 UTC) #5
zerny-chromium
Out of the several options in your document, this change seems to be our best ...
6 years, 9 months ago (2014-03-04 12:04:36 UTC) #6
haraken
> Out of the several options in your document, this change seems to be our ...
6 years, 9 months ago (2014-03-04 12:16:17 UTC) #7
zerny-chromium
On 2014/03/04 12:16:17, haraken wrote: > > Out of the several options in your document, ...
6 years, 9 months ago (2014-03-04 12:20:15 UTC) #8
kouhei (in TOK)
On 2014/03/04 12:04:36, zerny-chromium wrote: > Out of the several options in your document, this ...
6 years, 9 months ago (2014-03-05 08:07:40 UTC) #9
haraken
LGTM We might want to implement a DelayedDestructor class (which generalizes DelayedSVGImageDestructor) but we can ...
6 years, 9 months ago (2014-03-05 08:13:10 UTC) #10
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 9 months ago (2014-03-05 08:26:51 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/185613003/20001
6 years, 9 months ago (2014-03-05 08:27:07 UTC) #12
kouhei (in TOK)
https://codereview.chromium.org/185613003/diff/1/Source/core/svg/graphics/SVGImage.cpp File Source/core/svg/graphics/SVGImage.cpp (right): https://codereview.chromium.org/185613003/diff/1/Source/core/svg/graphics/SVGImage.cpp#newcode60 Source/core/svg/graphics/SVGImage.cpp:60: class DelayedSVGImageDestructor { On 2014/03/05 08:13:10, haraken wrote: > ...
6 years, 9 months ago (2014-03-05 08:27:32 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/185613003/20001
6 years, 9 months ago (2014-03-05 20:57:21 UTC) #14
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-05 21:37:02 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: win_blink_rel
6 years, 9 months ago (2014-03-05 21:37:03 UTC) #16
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 9 months ago (2014-03-06 01:36:32 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/185613003/20001
6 years, 9 months ago (2014-03-06 01:36:50 UTC) #18
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-06 06:38:02 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: win_blink_rel
6 years, 9 months ago (2014-03-06 06:38:03 UTC) #20
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 9 months ago (2014-03-06 08:25:39 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/185613003/20001
6 years, 9 months ago (2014-03-06 08:25:56 UTC) #22
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-06 09:03:21 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: win_blink_rel
6 years, 9 months ago (2014-03-06 09:03:22 UTC) #24
kouhei (in TOK)
On 2014/03/06 09:03:22, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
6 years, 9 months ago (2014-03-06 09:05:19 UTC) #25
kouhei (in TOK)
The CQ bit was checked by kouhei@chromium.org
6 years, 9 months ago (2014-03-06 09:05:24 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kouhei@chromium.org/185613003/20001
6 years, 9 months ago (2014-03-06 09:05:33 UTC) #27
commit-bot: I haz the power
Change committed as 168612
6 years, 9 months ago (2014-03-06 09:37:57 UTC) #28
eseidel
https://codereview.chromium.org/185613003/diff/20001/Source/core/svg/graphics/SVGImage.cpp File Source/core/svg/graphics/SVGImage.cpp (right): https://codereview.chromium.org/185613003/diff/20001/Source/core/svg/graphics/SVGImage.cpp#newcode71 Source/core/svg/graphics/SVGImage.cpp:71: entry.chromeClient = chromeClient.leakPtr(); Why not just use an OwnPtr ...
6 years, 9 months ago (2014-03-10 21:49:08 UTC) #29
eseidel
I don't think this was a good change, or at least an incomplete change. It ...
6 years, 9 months ago (2014-03-10 21:53:11 UTC) #30
eseidel
Don't GC environments normally do this kind of thing by having a synchronous finalize which ...
6 years, 9 months ago (2014-03-10 21:55:26 UTC) #31
eseidel
Nothing non-trivial, rather. :)
6 years, 9 months ago (2014-03-10 21:55:43 UTC) #32
Vyacheslav Egorov (Chromium)
I actually support Eric here. Given that we are facing some crashes in the wild ...
6 years, 9 months ago (2014-03-11 00:05:29 UTC) #33
haraken
I agree with Eric. As I commented in #7, we'll need a more general way ...
6 years, 9 months ago (2014-03-11 00:51:39 UTC) #34
Mads Ager (chromium)
6 years, 9 months ago (2014-03-11 07:54:22 UTC) #35
Message was sent while issue was closed.
I think we are all in agreement. At least for the time being we need to look
into allowing allocation during finalization. We are encountering this issue
repeatedly right now (I'm seeing other cases where the Document is destructed
during finalization because the last RefPtr is in an oilpan managed object; the
Document destructor does a lot of stuff which leads to allocations.) We'll start
looking into that and we should revert these changes ASAP.

Powered by Google App Engine
This is Rietveld 408576698