Fix plugin placeholders not loading
I have made a truly wonderful mess of WebViewPlugin, via: https://chromium.googlesource.com/chromium/src/+/8489f1bf78c2c6f296e0df6c529751d29e8a0188 https://chromium.googlesource.com/chromium/src/+/8ed4bf69eca5e2696aeab731a8e9a15e8f379f2b My fundamental misunderstanding (I think!) was regarding what WebViewPlugin is listening to via the various interfaces it subclasses. It uses WebFrameClient and WebViewClient to observe its internal WebView, while it uses WebPlugin and RenderViewObserver to interact with the real external page. In the patches above, I mixed and matched messages from those 2 sources because I thought they were coming from the same context. This patch reverts the damage done in those patches, and restores ReplayReceivedData, more-or-less the way it was before I started breaking stuff. It then continues the work I started in https://chromium.googlesource.com/chromium/src/+/8e1badd5fbc054cf4ffc9303e8cb0aa22ce55ca6 and moves the subclassing of WebViewClient to a private helper class. This helper, renamed to WebViewHelper, now handles all callbacks coming from the internal WebView (i.e., the "WebView" in "WebViewPlugin"), and WebViewPlugin continues subclassing WebPlugin and RenderViewObserver to observe the outside world. This will hopefully make it harder to screw things up in the same way in the future. BUG=675585 Review-Url: https://codereview.chromium.org/2600253003 Cr-Commit-Position: refs/heads/master@{#441401}
Showing
Please register or sign in to comment