Title: [212518] trunk/Source
Revision
212518
Author
commit-qu...@webkit.org
Date
2017-02-16 18:40:21 -0800 (Thu, 16 Feb 2017)

Log Message

Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
https://bugs.webkit.org/show_bug.cgi?id=168417
<rdar://problem/30541748>

Patch by Daniel Bates <daba...@apple.com> on 2017-02-16
Reviewed by Brent Fulgham.

Source/WebCore:

Remove Chromium-specific code that was added in r125500 to call FrameLoaderClient::redirectDataToPlugin(nullptr)
in PluginDocument::detachFromPluginElement(). Calling redirectDataToPlugin() with nullptr was used by the
Chromium port to signify that the plugin document was being destroyed so that they could tear down their
plugin widget. And PluginDocument::detachFromPluginElement() is the only place that calls redirectDataToPlugin()
passing nullptr. No other port made use of this machinery and the Chromium port has long since been removed
from the Open Source WebKit Project. We should remove this code.

* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::appendBytes): Pass the plugin widget by reference.
(WebCore::PluginDocument::detachFromPluginElement): Remove call to FrameLoaderClient::redirectDataToPlugin().
This call was only used by the Chromium port as means to be notified when the plugin document was being
destroyed. No other port made use of this notification or needed such a notification.
* loader/EmptyClients.cpp: Change argument of redirectDataToPlugin() from Widget* to Widget& to convey
that this function always takes a valid Widget. Also remove unnecessary argument name as the data type
of the argument and the name of the function sufficiently describes the purpose of the argument.
* loader/FrameLoaderClient.h: Ditto.

Source/WebKit/mac:

Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget& instead of a
Widget* as it is always called with a valid Widget.

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::redirectDataToPlugin):
* WebKit.order: Remove symbol for WebFrameLoaderClient::redirectDataToPlugin() that took a Widget*
as it no longer exists. I am unclear if this file is still meaningful as it was last modified in
r180570 (2 years ago) though Xcode still references this ordering file (why?).

Source/WebKit/win:

Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget& instead of a
Widget* as it is always called with a valid Widget.

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::redirectDataToPlugin):
* WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKit2:

Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget& instead of a
Widget* as it is always called with a valid Widget.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::redirectDataToPlugin):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* mac/WebKit2.order: Remove symbol for WebFrameLoaderClient::redirectDataToPlugin() that took a Widget*
as it no longer exists. I am unclear if this file is still meaningful as it was last modified in
r180570 (2 years ago) though Xcode still references this ordering file (why?).

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (212517 => 212518)


--- trunk/Source/WebCore/ChangeLog	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebCore/ChangeLog	2017-02-17 02:40:21 UTC (rev 212518)
@@ -1,3 +1,28 @@
+2017-02-16  Daniel Bates  <daba...@apple.com>
+
+        Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        https://bugs.webkit.org/show_bug.cgi?id=168417
+        <rdar://problem/30541748>
+
+        Reviewed by Brent Fulgham.
+
+        Remove Chromium-specific code that was added in r125500 to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        in PluginDocument::detachFromPluginElement(). Calling redirectDataToPlugin() with nullptr was used by the
+        Chromium port to signify that the plugin document was being destroyed so that they could tear down their
+        plugin widget. And PluginDocument::detachFromPluginElement() is the only place that calls redirectDataToPlugin()
+        passing nullptr. No other port made use of this machinery and the Chromium port has long since been removed
+        from the Open Source WebKit Project. We should remove this code.
+
+        * html/PluginDocument.cpp:
+        (WebCore::PluginDocumentParser::appendBytes): Pass the plugin widget by reference.
+        (WebCore::PluginDocument::detachFromPluginElement): Remove call to FrameLoaderClient::redirectDataToPlugin().
+        This call was only used by the Chromium port as means to be notified when the plugin document was being
+        destroyed. No other port made use of this notification or needed such a notification.
+        * loader/EmptyClients.cpp: Change argument of redirectDataToPlugin() from Widget* to Widget& to convey
+        that this function always takes a valid Widget. Also remove unnecessary argument name as the data type
+        of the argument and the name of the function sufficiently describes the purpose of the argument.
+        * loader/FrameLoaderClient.h: Ditto.
+
 2017-02-16  Myles C. Maxfield  <mmaxfi...@apple.com>
 
         font-weight in @font-face can cause a font to be downloaded even when it's not used

Modified: trunk/Source/WebCore/html/PluginDocument.cpp (212517 => 212518)


--- trunk/Source/WebCore/html/PluginDocument.cpp	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebCore/html/PluginDocument.cpp	2017-02-17 02:40:21 UTC (rev 212518)
@@ -128,7 +128,7 @@
 
     if (RenderWidget* renderer = m_embedElement->renderWidget()) {
         if (Widget* widget = renderer->widget()) {
-            frame->loader().client().redirectDataToPlugin(widget);
+            frame->loader().client().redirectDataToPlugin(*widget);
             // In a plugin document, the main resource is the plugin. If we have a null widget, that means
             // the loading of the plugin was cancelled, which gives us a null mainResourceLoader(), so we
             // need to have this call in a null check of the widget or of mainResourceLoader().
@@ -168,7 +168,6 @@
 {
     // Release the plugin Element so that we don't have a circular reference.
     m_pluginElement = nullptr;
-    frame()->loader().client().redirectDataToPlugin(nullptr);
 }
 
 void PluginDocument::cancelManualPluginLoad()

Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (212517 => 212518)


--- trunk/Source/WebCore/loader/EmptyClients.cpp	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebCore/loader/EmptyClients.cpp	2017-02-17 02:40:21 UTC (rev 212518)
@@ -424,7 +424,7 @@
     ObjectContentType objectContentType(const URL&, const String&) final { return ObjectContentType::None; }
     String overrideMediaType() const final { return { }; }
 
-    void redirectDataToPlugin(Widget*) final { }
+    void redirectDataToPlugin(Widget&) final { }
     void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld&) final { }
 
     void registerForIconNotification(bool) final { }

Modified: trunk/Source/WebCore/loader/FrameLoaderClient.h (212517 => 212518)


--- trunk/Source/WebCore/loader/FrameLoaderClient.h	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebCore/loader/FrameLoaderClient.h	2017-02-17 02:40:21 UTC (rev 212518)
@@ -277,7 +277,7 @@
     virtual RefPtr<Frame> createFrame(const URL&, const String& name, HTMLFrameOwnerElement&, const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) = 0;
     virtual RefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement&, const URL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) = 0;
     virtual void recreatePlugin(Widget*) = 0;
-    virtual void redirectDataToPlugin(Widget* pluginWidget) = 0;
+    virtual void redirectDataToPlugin(Widget&) = 0;
 
     virtual RefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement&, const URL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues) = 0;
 

Modified: trunk/Source/WebKit/mac/ChangeLog (212517 => 212518)


--- trunk/Source/WebKit/mac/ChangeLog	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit/mac/ChangeLog	2017-02-17 02:40:21 UTC (rev 212518)
@@ -1,3 +1,21 @@
+2017-02-16  Daniel Bates  <daba...@apple.com>
+
+        Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        https://bugs.webkit.org/show_bug.cgi?id=168417
+        <rdar://problem/30541748>
+
+        Reviewed by Brent Fulgham.
+
+        Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget& instead of a
+        Widget* as it is always called with a valid Widget.
+
+        * WebCoreSupport/WebFrameLoaderClient.h:
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        (WebFrameLoaderClient::redirectDataToPlugin):
+        * WebKit.order: Remove symbol for WebFrameLoaderClient::redirectDataToPlugin() that took a Widget*
+        as it no longer exists. I am unclear if this file is still meaningful as it was last modified in
+        r180570 (2 years ago) though Xcode still references this ordering file (why?).
+
 2017-02-16  Yusuke Suzuki  <utatane....@gmail.com>
 
         [JSC] Drop PassRefPtr in inspector/

Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h (212517 => 212518)


--- trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h	2017-02-17 02:40:21 UTC (rev 212518)
@@ -208,7 +208,7 @@
     RefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement&, const WebCore::URL&,
         const Vector<WTF::String>&, const Vector<WTF::String>&, const WTF::String&, bool) final;
     void recreatePlugin(WebCore::Widget*) final;
-    void redirectDataToPlugin(WebCore::Widget* pluginWidget) final;
+    void redirectDataToPlugin(WebCore::Widget&) final;
 
 #if ENABLE(WEBGL)
     WebCore::WebGLLoadPolicy webGLPolicyForURL(const String&) const final;

Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm (212517 => 212518)


--- trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm	2017-02-17 02:40:21 UTC (rev 212518)
@@ -2053,16 +2053,13 @@
 {
 }
 
-void WebFrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
+void WebFrameLoaderClient::redirectDataToPlugin(Widget& pluginWidget)
 {
-    if (!pluginWidget)
-        return;
-
     BEGIN_BLOCK_OBJC_EXCEPTIONS;
 
     WebHTMLRepresentation *representation = (WebHTMLRepresentation *)[[m_webFrame.get() _dataSource] representation];
 
-    NSView *pluginView = pluginWidget->platformWidget();
+    NSView *pluginView = pluginWidget.platformWidget();
 
 #if ENABLE(NETSCAPE_PLUGIN_API)
     if ([pluginView isKindOfClass:[NETSCAPE_PLUGIN_VIEW class]])

Modified: trunk/Source/WebKit/mac/WebKit.order (212517 => 212518)


--- trunk/Source/WebKit/mac/WebKit.order	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit/mac/WebKit.order	2017-02-17 02:40:21 UTC (rev 212518)
@@ -2119,7 +2119,6 @@
 __WKPHStreamDidFail
 __ZN3JSC8jsStringEPNS_2VMERKN3WTF6StringE
 __ZN3JSC8JSString6createERNS_2VMEN3WTF10PassRefPtrINS3_10StringImplEEE
-__ZN20WebFrameLoaderClient20redirectDataToPluginEPN7WebCore6WidgetE
 -[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]
 -[WebHostedNetscapePluginView pluginView:receivedResponse:]
 __ZN6WebKit26HostedNetscapePluginStreamC1EPNS_27NetscapePluginInstanceProxyEPN7WebCore11FrameLoaderE

Modified: trunk/Source/WebKit/win/ChangeLog (212517 => 212518)


--- trunk/Source/WebKit/win/ChangeLog	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit/win/ChangeLog	2017-02-17 02:40:21 UTC (rev 212518)
@@ -1,3 +1,18 @@
+2017-02-16  Daniel Bates  <daba...@apple.com>
+
+        Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        https://bugs.webkit.org/show_bug.cgi?id=168417
+        <rdar://problem/30541748>
+
+        Reviewed by Brent Fulgham.
+
+        Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget& instead of a
+        Widget* as it is always called with a valid Widget.
+
+        * WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebFrameLoaderClient::redirectDataToPlugin):
+        * WebCoreSupport/WebFrameLoaderClient.h:
+
 2017-02-15  Anders Carlsson  <ander...@apple.com>
 
         Another attempt at fixing the Windows build.

Modified: trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp (212517 => 212518)


--- trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp	2017-02-17 02:40:21 UTC (rev 212518)
@@ -1172,13 +1172,13 @@
     return nullptr;
 }
 
-void WebFrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
+void WebFrameLoaderClient::redirectDataToPlugin(Widget& pluginWidget)
 {
     // Ideally, this function shouldn't be necessary, see <rdar://problem/4852889>
-    if (!pluginWidget || pluginWidget->isPluginView())
-        m_manualLoader = toPluginView(pluginWidget);
+    if (pluginWidget.isPluginView())
+        m_manualLoader = toPluginView(&pluginWidget);
     else 
-        m_manualLoader = static_cast<EmbeddedWidget*>(pluginWidget);
+        m_manualLoader = static_cast<EmbeddedWidget*>(&pluginWidget);
 }
 
 RefPtr<Widget> WebFrameLoaderClient::createJavaAppletWidget(const IntSize& pluginSize, HTMLAppletElement& element, const URL& /*baseURL*/, const Vector<String>& paramNames, const Vector<String>& paramValues)

Modified: trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h (212517 => 212518)


--- trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h	2017-02-17 02:40:21 UTC (rev 212518)
@@ -186,7 +186,7 @@
         const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) override;
     RefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement&, const WebCore::URL&, const Vector<WTF::String>&, const Vector<WTF::String>&, const WTF::String&, bool loadManually) override;
     void recreatePlugin(WebCore::Widget*) override { }
-    void redirectDataToPlugin(WebCore::Widget* pluginWidget) override;
+    void redirectDataToPlugin(WebCore::Widget&) override;
 
     RefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement&, const WebCore::URL& baseURL, const Vector<WTF::String>& paramNames, const Vector<WTF::String>& paramValues) override;
 

Modified: trunk/Source/WebKit2/ChangeLog (212517 => 212518)


--- trunk/Source/WebKit2/ChangeLog	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit2/ChangeLog	2017-02-17 02:40:21 UTC (rev 212518)
@@ -1,3 +1,21 @@
+2017-02-16  Daniel Bates  <daba...@apple.com>
+
+        Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        https://bugs.webkit.org/show_bug.cgi?id=168417
+        <rdar://problem/30541748>
+
+        Reviewed by Brent Fulgham.
+
+        Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget& instead of a
+        Widget* as it is always called with a valid Widget.
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::redirectDataToPlugin):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+        * mac/WebKit2.order: Remove symbol for WebFrameLoaderClient::redirectDataToPlugin() that took a Widget*
+        as it no longer exists. I am unclear if this file is still meaningful as it was last modified in
+        r180570 (2 years ago) though Xcode still references this ordering file (why?).
+
 2017-02-16  Alex Christensen  <achristen...@webkit.org>
 
         Remove EFL-specific files in WebKit2.

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (212517 => 212518)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2017-02-17 02:40:21 UTC (rev 212518)
@@ -1489,10 +1489,9 @@
 #endif
 }
 
-void WebFrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
+void WebFrameLoaderClient::redirectDataToPlugin(Widget& pluginWidget)
 {
-    if (pluginWidget)
-        m_pluginView = static_cast<PluginView*>(pluginWidget);
+    m_pluginView = static_cast<PluginView*>(&pluginWidget);
 }
 
 #if ENABLE(WEBGL)

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (212517 => 212518)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h	2017-02-17 02:40:21 UTC (rev 212518)
@@ -201,7 +201,7 @@
 
     RefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement&, const WebCore::URL&, const Vector<String>&, const Vector<String>&, const String&, bool loadManually) final;
     void recreatePlugin(WebCore::Widget*) final;
-    void redirectDataToPlugin(WebCore::Widget* pluginWidget) final;
+    void redirectDataToPlugin(WebCore::Widget&) final;
     
 #if ENABLE(WEBGL)
     WebCore::WebGLLoadPolicy webGLPolicyForURL(const String&) const final;

Modified: trunk/Source/WebKit2/mac/WebKit2.order (212517 => 212518)


--- trunk/Source/WebKit2/mac/WebKit2.order	2017-02-17 02:15:35 UTC (rev 212517)
+++ trunk/Source/WebKit2/mac/WebKit2.order	2017-02-17 02:40:21 UTC (rev 212518)
@@ -6990,7 +6990,6 @@
 __ZN6WebKit15SimplePDFPlugin23windowVisibilityChangedEb
 __ZN6WebKit15SimplePDFPlugin18windowFocusChangedEb
 __ZN6WebKit15SimplePDFPlugin16wantsWheelEventsEv
-__ZN6WebKit20WebFrameLoaderClient20redirectDataToPluginEPN7WebCore6WidgetE
 __ZN6WebKit10PluginView28manualLoadDidReceiveResponseERKN7WebCore16ResourceResponseE
 __ZN6WebKit15SimplePDFPlugin30manualStreamDidReceiveResponseERKN7WebCore4KURLEjjRKN3WTF6StringES8_S8_
 __ZN6WebKit10PluginView24manualLoadDidReceiveDataEPKci
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to