Move BrowserPluginDelegate's lifetime mgmt out of content/
This CL makes BrowserPlugin not own BPDelegate (GuestViewContainer)
anymore.
BrowserPluginDelegate's lifetime has been tied to garbage collection
of the shadow root HTML element that contains the plugin. For
example, for <webview>, this is the <webview> element.
Before registering BPDelegate to GC, there's a brief period while
BPDelegate is not owned by anyone directly, this case is covered
with the static PostTask that deletes the delegate if we did not
tie it to GC (UpdateInternalInstanceIdAndBindDelegateToGC()).
To make <webview> run without BrowserPlugin, we need to manage
GuestViewContainer's (which is a BPDelegate) lifetime out of
content/.
BUG=330264
Test=None, internal change only.
Review URL: https://codereview.chromium.org/1162053003
Cr-Commit-Position: refs/heads/master@{#333552}
14 files changed