Oilpan: make shutdown of plugin container objects work better.
The plugin container object/widget that's kept by the plugin element has
a destructor that accesses its element's document in a couple of ways:
- Optionally notifying that a touch event handler has been removed.
- Tries to notify element (and its document) that compositing update
is needed.
- Indirectly clears out the script objects registered on the document
frame's ScriptController when destroying the container's plugin object.
With Oilpan, none of these can be done during finalization as the document
cannot be assumed to be alive.
To address, introduce an explicit detach() step for when the element is
cleanly removed from the document (along with its container.) Otherwise,
the plugin container is assumed to go away at the same time as the
element (and the document.) The container's destructor will then only
notify any off-heap objects.
R=tkent@chromium.org,haraken@chromium.org
BUG=340522
Review URL: https://codereview.chromium.org/357443005
git-svn-id: svn://svn.chromium.org/blink/trunk@176967 bbb929c8-8fbe-4397-9dbb-9b2b20218538
4 files changed