<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[212518] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/212518">212518</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2017-02-16 18:40:21 -0800 (Thu, 16 Feb 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
https://bugs.webkit.org/show_bug.cgi?id=168417
&lt;rdar://problem/30541748&gt;

Patch by Daniel Bates &lt;dabates@apple.com&gt; on 2017-02-16
Reviewed by Brent Fulgham.

Source/WebCore:

Remove Chromium-specific code that was added in <a href="http://trac.webkit.org/projects/webkit/changeset/125500">r125500</a> 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&amp; 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&amp; 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
<a href="http://trac.webkit.org/projects/webkit/changeset/180570">r180570</a> (2 years ago) though Xcode still references this ordering file (why?).

Source/WebKit/win:

Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget&amp; 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&amp; 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
<a href="http://trac.webkit.org/projects/webkit/changeset/180570">r180570</a> (2 years ago) though Xcode still references this ordering file (why?).</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorehtmlPluginDocumentcpp">trunk/Source/WebCore/html/PluginDocument.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderEmptyClientscpp">trunk/Source/WebCore/loader/EmptyClients.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderClienth">trunk/Source/WebCore/loader/FrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKitmacWebCoreSupportWebFrameLoaderClientmm">trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebKitorder">trunk/Source/WebKit/mac/WebKit.order</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKitwinWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClienth">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKit2macWebKit2order">trunk/Source/WebKit2/mac/WebKit2.order</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2017-02-16  Daniel Bates  &lt;dabates@apple.com&gt;
+
+        Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        https://bugs.webkit.org/show_bug.cgi?id=168417
+        &lt;rdar://problem/30541748&gt;
+
+        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&amp; 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.
+
</ins><span class="cx"> 2017-02-16  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         font-weight in @font-face can cause a font to be downloaded even when it's not used
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlPluginDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/PluginDocument.cpp (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (RenderWidget* renderer = m_embedElement-&gt;renderWidget()) {
</span><span class="cx">         if (Widget* widget = renderer-&gt;widget()) {
</span><del>-            frame-&gt;loader().client().redirectDataToPlugin(widget);
</del><ins>+            frame-&gt;loader().client().redirectDataToPlugin(*widget);
</ins><span class="cx">             // In a plugin document, the main resource is the plugin. If we have a null widget, that means
</span><span class="cx">             // the loading of the plugin was cancelled, which gives us a null mainResourceLoader(), so we
</span><span class="cx">             // need to have this call in a null check of the widget or of mainResourceLoader().
</span><span class="lines">@@ -168,7 +168,6 @@
</span><span class="cx"> {
</span><span class="cx">     // Release the plugin Element so that we don't have a circular reference.
</span><span class="cx">     m_pluginElement = nullptr;
</span><del>-    frame()-&gt;loader().client().redirectDataToPlugin(nullptr);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PluginDocument::cancelManualPluginLoad()
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderEmptyClientscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -424,7 +424,7 @@
</span><span class="cx">     ObjectContentType objectContentType(const URL&amp;, const String&amp;) final { return ObjectContentType::None; }
</span><span class="cx">     String overrideMediaType() const final { return { }; }
</span><span class="cx"> 
</span><del>-    void redirectDataToPlugin(Widget*) final { }
</del><ins>+    void redirectDataToPlugin(Widget&amp;) final { }
</ins><span class="cx">     void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld&amp;) final { }
</span><span class="cx"> 
</span><span class="cx">     void registerForIconNotification(bool) final { }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoaderClient.h (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx">     virtual RefPtr&lt;Frame&gt; createFrame(const URL&amp;, const String&amp; name, HTMLFrameOwnerElement&amp;, const String&amp; referrer, bool allowsScrolling, int marginWidth, int marginHeight) = 0;
</span><span class="cx">     virtual RefPtr&lt;Widget&gt; createPlugin(const IntSize&amp;, HTMLPlugInElement&amp;, const URL&amp;, const Vector&lt;String&gt;&amp;, const Vector&lt;String&gt;&amp;, const String&amp;, bool loadManually) = 0;
</span><span class="cx">     virtual void recreatePlugin(Widget*) = 0;
</span><del>-    virtual void redirectDataToPlugin(Widget* pluginWidget) = 0;
</del><ins>+    virtual void redirectDataToPlugin(Widget&amp;) = 0;
</ins><span class="cx"> 
</span><span class="cx">     virtual RefPtr&lt;Widget&gt; createJavaAppletWidget(const IntSize&amp;, HTMLAppletElement&amp;, const URL&amp; baseURL, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues) = 0;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2017-02-16  Daniel Bates  &lt;dabates@apple.com&gt;
+
+        Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        https://bugs.webkit.org/show_bug.cgi?id=168417
+        &lt;rdar://problem/30541748&gt;
+
+        Reviewed by Brent Fulgham.
+
+        Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget&amp; 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?).
+
</ins><span class="cx"> 2017-02-16  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [JSC] Drop PassRefPtr in inspector/
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -208,7 +208,7 @@
</span><span class="cx">     RefPtr&lt;WebCore::Widget&gt; createPlugin(const WebCore::IntSize&amp;, WebCore::HTMLPlugInElement&amp;, const WebCore::URL&amp;,
</span><span class="cx">         const Vector&lt;WTF::String&gt;&amp;, const Vector&lt;WTF::String&gt;&amp;, const WTF::String&amp;, bool) final;
</span><span class="cx">     void recreatePlugin(WebCore::Widget*) final;
</span><del>-    void redirectDataToPlugin(WebCore::Widget* pluginWidget) final;
</del><ins>+    void redirectDataToPlugin(WebCore::Widget&amp;) final;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx">     WebCore::WebGLLoadPolicy webGLPolicyForURL(const String&amp;) const final;
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebCoreSupportWebFrameLoaderClientmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -2053,16 +2053,13 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
</del><ins>+void WebFrameLoaderClient::redirectDataToPlugin(Widget&amp; pluginWidget)
</ins><span class="cx"> {
</span><del>-    if (!pluginWidget)
-        return;
-
</del><span class="cx">     BEGIN_BLOCK_OBJC_EXCEPTIONS;
</span><span class="cx"> 
</span><span class="cx">     WebHTMLRepresentation *representation = (WebHTMLRepresentation *)[[m_webFrame.get() _dataSource] representation];
</span><span class="cx"> 
</span><del>-    NSView *pluginView = pluginWidget-&gt;platformWidget();
</del><ins>+    NSView *pluginView = pluginWidget.platformWidget();
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><span class="cx">     if ([pluginView isKindOfClass:[NETSCAPE_PLUGIN_VIEW class]])
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebKitorder"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebKit.order (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -2119,7 +2119,6 @@
</span><span class="cx"> __WKPHStreamDidFail
</span><span class="cx"> __ZN3JSC8jsStringEPNS_2VMERKN3WTF6StringE
</span><span class="cx"> __ZN3JSC8JSString6createERNS_2VMEN3WTF10PassRefPtrINS3_10StringImplEEE
</span><del>-__ZN20WebFrameLoaderClient20redirectDataToPluginEPN7WebCore6WidgetE
</del><span class="cx"> -[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]
</span><span class="cx"> -[WebHostedNetscapePluginView pluginView:receivedResponse:]
</span><span class="cx"> __ZN6WebKit26HostedNetscapePluginStreamC1EPNS_27NetscapePluginInstanceProxyEPN7WebCore11FrameLoaderE
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2017-02-16  Daniel Bates  &lt;dabates@apple.com&gt;
+
+        Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        https://bugs.webkit.org/show_bug.cgi?id=168417
+        &lt;rdar://problem/30541748&gt;
+
+        Reviewed by Brent Fulgham.
+
+        Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget&amp; instead of a
+        Widget* as it is always called with a valid Widget.
+
+        * WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebFrameLoaderClient::redirectDataToPlugin):
+        * WebCoreSupport/WebFrameLoaderClient.h:
+
</ins><span class="cx"> 2017-02-15  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Another attempt at fixing the Windows build.
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1172,13 +1172,13 @@
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
</del><ins>+void WebFrameLoaderClient::redirectDataToPlugin(Widget&amp; pluginWidget)
</ins><span class="cx"> {
</span><span class="cx">     // Ideally, this function shouldn't be necessary, see &lt;rdar://problem/4852889&gt;
</span><del>-    if (!pluginWidget || pluginWidget-&gt;isPluginView())
-        m_manualLoader = toPluginView(pluginWidget);
</del><ins>+    if (pluginWidget.isPluginView())
+        m_manualLoader = toPluginView(&amp;pluginWidget);
</ins><span class="cx">     else 
</span><del>-        m_manualLoader = static_cast&lt;EmbeddedWidget*&gt;(pluginWidget);
</del><ins>+        m_manualLoader = static_cast&lt;EmbeddedWidget*&gt;(&amp;pluginWidget);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;Widget&gt; WebFrameLoaderClient::createJavaAppletWidget(const IntSize&amp; pluginSize, HTMLAppletElement&amp; element, const URL&amp; /*baseURL*/, const Vector&lt;String&gt;&amp; paramNames, const Vector&lt;String&gt;&amp; paramValues)
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -186,7 +186,7 @@
</span><span class="cx">         const WTF::String&amp; referrer, bool allowsScrolling, int marginWidth, int marginHeight) override;
</span><span class="cx">     RefPtr&lt;WebCore::Widget&gt; createPlugin(const WebCore::IntSize&amp;, WebCore::HTMLPlugInElement&amp;, const WebCore::URL&amp;, const Vector&lt;WTF::String&gt;&amp;, const Vector&lt;WTF::String&gt;&amp;, const WTF::String&amp;, bool loadManually) override;
</span><span class="cx">     void recreatePlugin(WebCore::Widget*) override { }
</span><del>-    void redirectDataToPlugin(WebCore::Widget* pluginWidget) override;
</del><ins>+    void redirectDataToPlugin(WebCore::Widget&amp;) override;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;WebCore::Widget&gt; createJavaAppletWidget(const WebCore::IntSize&amp;, WebCore::HTMLAppletElement&amp;, const WebCore::URL&amp; baseURL, const Vector&lt;WTF::String&gt;&amp; paramNames, const Vector&lt;WTF::String&gt;&amp; paramValues) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,21 @@
</span><ins>+2017-02-16  Daniel Bates  &lt;dabates@apple.com&gt;
+
+        Remove Chromium-specific code to call FrameLoaderClient::redirectDataToPlugin(nullptr)
+        https://bugs.webkit.org/show_bug.cgi?id=168417
+        &lt;rdar://problem/30541748&gt;
+
+        Reviewed by Brent Fulgham.
+
+        Update override of FrameLoaderClient::redirectDataToPlugin() to take a Widget&amp; 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?).
+
</ins><span class="cx"> 2017-02-16  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove EFL-specific files in WebKit2.
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1489,10 +1489,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebFrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
</del><ins>+void WebFrameLoaderClient::redirectDataToPlugin(Widget&amp; pluginWidget)
</ins><span class="cx"> {
</span><del>-    if (pluginWidget)
-        m_pluginView = static_cast&lt;PluginView*&gt;(pluginWidget);
</del><ins>+    m_pluginView = static_cast&lt;PluginView*&gt;(&amp;pluginWidget);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEBGL)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -201,7 +201,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;WebCore::Widget&gt; createPlugin(const WebCore::IntSize&amp;, WebCore::HTMLPlugInElement&amp;, const WebCore::URL&amp;, const Vector&lt;String&gt;&amp;, const Vector&lt;String&gt;&amp;, const String&amp;, bool loadManually) final;
</span><span class="cx">     void recreatePlugin(WebCore::Widget*) final;
</span><del>-    void redirectDataToPlugin(WebCore::Widget* pluginWidget) final;
</del><ins>+    void redirectDataToPlugin(WebCore::Widget&amp;) final;
</ins><span class="cx">     
</span><span class="cx"> #if ENABLE(WEBGL)
</span><span class="cx">     WebCore::WebGLLoadPolicy webGLPolicyForURL(const String&amp;) const final;
</span></span></pre></div>
<a id="trunkSourceWebKit2macWebKit2order"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/mac/WebKit2.order (212517 => 212518)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -6990,7 +6990,6 @@
</span><span class="cx"> __ZN6WebKit15SimplePDFPlugin23windowVisibilityChangedEb
</span><span class="cx"> __ZN6WebKit15SimplePDFPlugin18windowFocusChangedEb
</span><span class="cx"> __ZN6WebKit15SimplePDFPlugin16wantsWheelEventsEv
</span><del>-__ZN6WebKit20WebFrameLoaderClient20redirectDataToPluginEPN7WebCore6WidgetE
</del><span class="cx"> __ZN6WebKit10PluginView28manualLoadDidReceiveResponseERKN7WebCore16ResourceResponseE
</span><span class="cx"> __ZN6WebKit15SimplePDFPlugin30manualStreamDidReceiveResponseERKN7WebCore4KURLEjjRKN3WTF6StringES8_S8_
</span><span class="cx"> __ZN6WebKit10PluginView24manualLoadDidReceiveDataEPKci
</span></span></pre>
</div>
</div>

</body>
</html>