Issue FrameDestructionObserver::frameDestroyed() notification on detach.

Send this notification during detach instead of waiting until finalization,
which will typically proceed shortly afterwards (non-Oilpan.) The
supplements of the LocalFrame are cleared at the same time so as to
prevent FrameDestructionObservers that are also supplements from being
used in their detached state.

Doing so makes the observable lifetimes for FrameDestructionObserver's
frame() identical, with and without Oilpan. Not having GC/finalization
of frames be observable to scripts is preferable.

For LocalDOMWindow, a FrameDestructionObserver, its set of registered
DOMWindowProperty objects are also detached on frameDestroyed(),
clearing their frame references at the same time.

R=haraken,dcheng
BUG=446452

Review URL: https://codereview.chromium.org/881683003

git-svn-id: svn://svn.chromium.org/blink/trunk@189906 bbb929c8-8fbe-4397-9dbb-9b2b20218538
9 files changed
tree: 08d8b494efede3aa0fb7c2277a87d8d359ef64f0
  1. third_party/