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

Issue 1517993004: Oilpan: simplify plugin container finalization. (Closed)

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

Description

Oilpan: simplify plugin container finalization. Simplify the finalization of WebPluginContainerImpl by registering a prefinalizer for it. By doing so, we can let go of the LocalFrame registration scheme currently used -- a scheme needed to ensure that plugin containers could safely dispose of their plugin while the owning LocalFrame was still alive and accessible. That mechanism predated prefinalizer/eager finalization support. But with it well in place, we can make good use of it here -- the prefinalizer disposing of the plugin container while the LocalFrame is accessible. Notice that plugin containers (PluginView widgets) still need to be explicitly disposed of in places. Their plugins will have to be summarily & predictably destroyed at those points, something that cannot be left until the next GC (whenever it goes ahead.) R=dcheng BUG=340522 Committed: https://crrev.com/bc3e1557791eb247d7bb820e1f8e96a55475119e Cr-Commit-Position: refs/heads/master@{#365792}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : reinstate disconnectConnectFrame() ifdef #

Patch Set 4 : remove unused pluginFrame() helper #

Patch Set 5 : simplify away disconnectContentFrame override #

Unified diffs Side-by-side diffs Delta from patch set Stats (+6 lines, -177 lines) Patch
M third_party/WebKit/Source/core/frame/LocalFrame.h View 1 2 chunks +0 lines, -23 lines 0 comments Download
M third_party/WebKit/Source/core/frame/LocalFrame.cpp View 3 chunks +0 lines, -34 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.cpp View 1 2 3 4 1 chunk +0 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLPlugInElement.h View 1 2 3 4 2 chunks +0 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/core/html/HTMLPlugInElement.cpp View 1 2 3 4 3 chunks +1 line, -56 lines 0 comments Download
M third_party/WebKit/Source/core/plugins/PluginView.h View 1 2 3 1 chunk +0 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp View 1 chunk +2 lines, -10 lines 0 comments Download
M third_party/WebKit/Source/web/WebPluginContainerImpl.h View 1 2 3 3 chunks +1 line, -10 lines 0 comments Download
M third_party/WebKit/Source/web/WebPluginContainerImpl.cpp View 2 chunks +2 lines, -19 lines 0 comments Download

Messages

Total messages: 29 (15 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/1517993004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1517993004/1
5 years ago (2015-12-11 19:14:11 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/92116) chromeos_amd64-generic_chromium_compile_only_ng on ...
5 years ago (2015-12-11 19:27:26 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/1517993004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1517993004/20001
5 years ago (2015-12-11 20:09:40 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_gn_chromeos_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_chromeos_rel/builds/119360)
5 years ago (2015-12-11 20:58:27 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1517993004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1517993004/40001
5 years ago (2015-12-11 21:17:05 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/144031)
5 years ago (2015-12-11 22:15:50 UTC) #13
sof
please take a look. (no rush, i'd prefer waiting until after next week's Canary before ...
5 years ago (2015-12-12 07:38:10 UTC) #15
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1517993004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1517993004/80001
5 years ago (2015-12-12 16:00:24 UTC) #17
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/155295)
5 years ago (2015-12-12 17:52:36 UTC) #19
dcheng
lgtm
5 years ago (2015-12-14 18:22:42 UTC) #20
sof
With Canary builds on hold, landing this.
5 years ago (2015-12-17 06:44:10 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1517993004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1517993004/80001
5 years ago (2015-12-17 06:44:49 UTC) #25
commit-bot: I haz the power
Committed patchset #5 (id:80001)
5 years ago (2015-12-17 09:51:18 UTC) #27
commit-bot: I haz the power
5 years ago (2015-12-17 09:52:16 UTC) #29
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/bc3e1557791eb247d7bb820e1f8e96a55475119e
Cr-Commit-Position: refs/heads/master@{#365792}

Powered by Google App Engine
This is Rietveld 408576698