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
tree: a287df568b3578360fa30d876f3ba8868ab7fe04
  1. third_party/