<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>60568</bug_id>
          
          <creation_ts>2011-05-10 11:55:15 -0700</creation_ts>
          <short_desc>REGRESSION (WebKit2): Flash plugin doesn&apos;t appear on a hanes.com page</short_desc>
          <delta_ts>2011-05-11 13:37:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.hanes.com/Hanes/Products/Kids-Hanes/Kids_Boys-Hanes/Kids_Boys_boysbottoms-Hanes/WD307.aspx</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>sfalken</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>401394</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 11:55:15 -0700</bug_when>
    <thetext>To reproduce:

1. Go to http://www.hanes.com/Hanes/Products/Kids-Hanes/Kids_Boys-Hanes/Kids_Boys_boysbottoms-Hanes/WD307.aspx

The picture of the product never appears. If you right-click in the blank area, you see &quot;Movie not loaded...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401395</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 11:55:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/8610657&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401398</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 11:56:39 -0700</bug_when>
    <thetext>The bug does not occur in WebKit1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401399</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 11:56:49 -0700</bug_when>
    <thetext>Nor does it occur on Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401402</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 11:57:42 -0700</bug_when>
    <thetext>Things seem to proceed about the same in WebKit1 and WebKit2 until we&apos;re asked to load this URL:

http://hanes.richfx.com.edgesuite.net/image/viewers/base/asp/getSettings.aspx?RFX_SettingsPath=settings/&amp;RFX_Image=WD307_YT&amp;RFX_DontCache=False&amp;RFX_Client=hanes&amp;RFX_Catalog=&amp;RFX_Int=anyspot_hanes&amp;RFX_Lang=

When we call NPP_NewStream in WebKit2, we get back an NPERR_STREAM_NOT_SEEKABLE error. When we call NPP_NewStream in WebKit1, we get back NPERR_NO_ERROR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401405</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 12:02:03 -0700</bug_when>
    <thetext>Looks like WebKit1 and WebKit2 are passing the same parameters to NPP_NewStream. Maybe Flash is calling back into WebKit from inside NPP_NewStream and we&apos;re doing something different in WebKit1 vs. WebKit2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401408</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 12:06:37 -0700</bug_when>
    <thetext>I don&apos;t see any calls being made back into WebKit from within NPP_NewStream. Maybe some earlier call is to blame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401417</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 12:19:30 -0700</bug_when>
    <thetext>Here are the NPP_NewStream calls we make:

NPP_NewStream(&quot;application/x-shockwave-flash&quot;, &quot;http://hanes.richfx.com.edgesuite.net/image/viewers/base/loader.swf&quot;, false, NP_NORMAL)

NPP_NewStream(&quot;application/x-shockwave-flash&quot;, &quot;http://hanes.richfx.com.edgesuite.net/image/viewers/base/Zeus.swf&quot;, false, NP_NORMAL)

NPP_NewStream(&quot;text/xml&quot;, &quot;http://hanes.richfx.com.edgesuite.net/image/viewers/base/asp/getSettings.aspx?RFX_SettingsPath=settings/&amp;RFX_Image=WD307_YT&amp;RFX_DontCache=False&amp;RFX_Client=hanes&amp;RFX_Catalog=&amp;RFX_Int=anyspot_hanes&amp;RFX_Lang=&quot;, false, NP_NORMAL)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401436</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 13:17:00 -0700</bug_when>
    <thetext>I tried using the Flash content debugger plugin. The only output that&apos;s generated is:

Warning: Reference to undeclared variable, &apos;disableBlocker&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401554</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 15:14:54 -0700</bug_when>
    <thetext>It looks like WebKit2 calls NPP_URLNotify for the javascript: URLs the plugin loads, while WebKit1 does not. Maybe that&apos;s significant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401569</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 15:31:46 -0700</bug_when>
    <thetext>I tried making WebKit2 never call NPP_URLNotify for javascript: URLs (just for testing purposes), and this bug went away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401587</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 15:45:25 -0700</bug_when>
    <thetext>WebKit1 doesn&apos;t call NPP_URLNotify for javascript: URLs if the URL had a non-null target. The javascript: URLs in question here (which all have the form &quot;javascript:geturl_FSCommand(&apos;debug&apos;, ...)&quot;) all have a target of &quot;_self&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401590</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 15:46:39 -0700</bug_when>
    <thetext>Relevant WebKit1 code: &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/plugins/PluginView.cpp?rev=84371#L474&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401595</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 15:53:15 -0700</bug_when>
    <thetext>In WebKit2, we are telling the plugin that the javascript: load failed (because the result of the script evaluation is a null string).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401599</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-10 15:55:46 -0700</bug_when>
    <thetext>Next I will try making WebKit2 always tell Flash that the javascript: load succeeded, to see whether that is sufficient to fix the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401817</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-11 00:24:27 -0700</bug_when>
    <thetext>I wonder if this is related to bug 36721 at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401903</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 04:40:03 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Next I will try making WebKit2 always tell Flash that the javascript: load succeeded, to see whether that is sufficient to fix the bug.

That does seem to be sufficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401905</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 04:50:48 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Relevant WebKit1 code: &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/plugins/PluginView.cpp?rev=84371#L474&gt;

More relevant code:

WebKit1 Mac: &lt;http://trac.webkit.org/browser/trunk/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm?rev=85036#L1573&gt;

WebKit2: &lt;http://trac.webkit.org/browser/trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp?rev=85036#L753&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401916</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 05:10:45 -0700</bug_when>
    <thetext>Here&apos;s a summary of the behaviors of the various plugin implementations, from reading the code. (I&apos;ve omitted the cases where no notification was requested.):

WebKit1 Mac:
* If the target is null
   * If the result is non-empty
      * Send the result via a stream
         * NPP_URLNotify(NPRES_DONE)
   * Else
      * Do nothing
* Else
   * NPP_URLNotify(NPRES_DONE)

WebKit1 Windows (and Qt, GTK+, etc.):
* If the target is null
   * Send the result via a stream
      * If the result is null
         * NPP_URLNotify(NPRES_NETWORK_ERR)
      * Else
         * NPP_URLNotify(NPRES_DONE)
* Else
   Do nothing

WebKit2:
* If the target is null
   * Send the result via a stream
      * If the result is null
         * NPP_URLNotify(NPRES_NETWORK_ERR)
      * Else
         * NPP_URLNotify(NPRES_DONE)
* Else
   * If the result is null
      * NPP_URLNotify(NPRES_NETWORK_ERR)
   * Else
      * NPP_URLNotify(NPRES_DONE)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401935</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 06:24:46 -0700</bug_when>
    <thetext>Found another implementation (of course!): &lt;http://trac.webkit.org/browser/trunk/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm?rev=83385#L688&gt;

WebKit1 Mac OOP:
* If the target is null
   * Do nothing
* Else if the result is empty
   * Do nothing
* Else
   * Send the result via a stream
      * NPP_URLNotify(NPRES_DONE)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401937</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 06:35:31 -0700</bug_when>
    <thetext>The requests that seem to matter on this page have the following attributes:

1) Target is not null (&quot;_self&quot;)
2) Result is null

Based on the above pseudocode, this means the implementations have the following behavior on this page:

WebKit1 Mac:
* NPP_URLNotify(NPRES_DONE)

WebKit1 Mac OOP:
* Do nothing

WebKit1 Windows (/Qt/GTK/etc.):
* Do nothing

WebKit2:
* NPP_URLNotify(NPRES_NETWORK_ERR)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401944</commentid>
    <comment_count>21</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 06:54:11 -0700</bug_when>
    <thetext>Another implementation:

http://google.com/codesearch/p#OAMlx_jo-ck/src/webkit/plugins/npapi/webplugin_impl.cc&amp;l=1073
http://google.com/codesearch/p#OAMlx_jo-ck/src/webkit/plugins/npapi/plugin_instance.cc&amp;l=360
http://google.com/codesearch/p#OAMlx_jo-ck/src/webkit/plugins/npapi/plugin_string_stream.cc&amp;l=23

Chromium:
* If the result is null
   * NPP_URLNotify(NPRES_DONE)
* Else
   * Send the result via a stream
      * NPP_URLNotify(NPRES_DONE)

I&apos;ve only included the behavior for javascript: requests above. Note that the target is ignored (other than an initial security check).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401959</commentid>
    <comment_count>22</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 07:30:10 -0700</bug_when>
    <thetext>And another:

http://mxr.mozilla.org/mozilla-central/source/dom/plugins/base/nsNPAPIPlugin.cpp#975
http://mxr.mozilla.org/mozilla-central/source/dom/plugins/base/nsPluginHost.cpp#642
http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3402
http://mxr.mozilla.org/mozilla-central/source/dom/plugins/base/nsPluginHost.cpp#3095
http://mxr.mozilla.org/mozilla-central/source/netwerk/base/public/nsNetUtil.h#212
http://mxr.mozilla.org/mozilla-central/source/netwerk/base/src/nsIOService.cpp#597
http://mxr.mozilla.org/mozilla-central/source/dom/src/jsurl/nsJSProtocolHandler.cpp#1252
http://mxr.mozilla.org/mozilla-central/source/dom/src/jsurl/nsJSProtocolHandler.cpp#636
http://mxr.mozilla.org/mozilla-central/source/dom/src/jsurl/nsJSProtocolHandler.cpp#748
http://mxr.mozilla.org/mozilla-central/source/dom/src/jsurl/nsJSProtocolHandler.cpp#170
http://mxr.mozilla.org/mozilla-central/source/dom/src/jsurl/nsJSProtocolHandler.cpp#862

Mozilla:
* If the target is null
   * Send the result via a stream
      * If the result is null
         * NPP_URLNotify(NPRES_NETWORK_ERROR)
      * Else
         * NPP_URLNotify(NPRES_DONE)
* Else
   * Do nothing


So, for the javascript: requests relevant for this bug, Mozilla will &quot;* Do nothing&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401961</commentid>
    <comment_count>23</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 07:31:42 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Based on the above pseudocode, this means the implementations have the following behavior on this page:
&gt; 
&gt; WebKit1 Mac:
&gt; * NPP_URLNotify(NPRES_DONE)
&gt; 
&gt; WebKit1 Mac OOP:
&gt; * Do nothing
&gt; 
&gt; WebKit1 Windows (/Qt/GTK/etc.):
&gt; * Do nothing
&gt; 
&gt; WebKit2:
&gt; * NPP_URLNotify(NPRES_NETWORK_ERR)

Chromium:
* NPP_URLNotify(NPRES_DONE)

Mozilla:
* Do nothing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401965</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 07:39:20 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; I wonder if this is related to bug 36721 at all.

Yes, it is related. But it&apos;s only dealing with non-javascript: requests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401967</commentid>
    <comment_count>25</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 07:40:58 -0700</bug_when>
    <thetext>Mozilla and WebKit1 Windows/Qt/GTK+/etc. have the same behavior with respect to javascript: requests. Anders and I think we should make WebKit2 have this same behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402169</commentid>
    <comment_count>26</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 12:35:07 -0700</bug_when>
    <thetext>I confirmed that my analyses of the various implementations&apos; behaviors were correct using a test page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402202</commentid>
    <comment_count>27</comment_count>
      <attachid>93164</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 13:21:47 -0700</bug_when>
    <thetext>Created attachment 93164
Don&apos;t notify the plugin when a targeted javascript: URL request completes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402227</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-05-11 13:37:09 -0700</bug_when>
    <thetext>Committed r86259: &lt;http://trac.webkit.org/changeset/86259&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93164</attachid>
            <date>2011-05-11 13:21:47 -0700</date>
            <delta_ts>2011-05-11 13:27:08 -0700</delta_ts>
            <desc>Don&apos;t notify the plugin when a targeted javascript: URL request completes</desc>
            <filename>bug-60568-20110511162149.patch</filename>
            <type>text/plain</type>
            <size>7345</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYyNDQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiZTlhY2VlODVjYjg5ZjdkODI5ZTI1
NzRkODMxMTFlMGY0MDExZDE2Li5lZmEzYjEwM2NmMjM5NDdhMzFhMzZkZDNlOThlNmQxMjRhMjg3
NDIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDUtMTEgIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgorCisgICAgICAgIFRlc3Qgd2hhdCBoYXBwZW5zIHdoZW4gYSBwbHVnaW4g
bWFrZXMgYSB0YXJnZXRlZCBqYXZhc2NyaXB0OiByZXF1ZXN0CisKKyAgICAgICAgVGVzdCBmb3Ig
PGh0dHA6Ly93ZWJraXQub3JnL2IvNjA1Njg+IDxyZGFyOi8vcHJvYmxlbS84NjEwNjU3PiBSRUdS
RVNTSU9OIChXZWJLaXQyKTogRmxhc2gKKyAgICAgICAgcGx1Z2luIGRvZXNuJ3QgYXBwZWFyIG9u
IGEgaGFuZXMuY29tIHBhZ2UKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBsdWdpbnMvZ2V0LXRhcmdldGVkLWphdmFzY3JpcHQtdXJsLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGx1Z2lucy9nZXQtdGFyZ2V0ZWQtamF2YXNjcmlwdC11
cmwuaHRtbDogQWRkZWQuCisgICAgICAgIChzdGFydFRlc3QpOiBUZWxsIHRoZSBwbHVnaW4gdG8g
bWFrZSB0d28gdGFyZ2V0ZWQgamF2YXNjcmlwdDogcmVxdWVzdHMuIE9uZSBjYWxscyBhIGZ1bmN0
aW9uCisgICAgICAgIHdpdGggYSByZXR1cm4gdmFsdWUsIHRoZSBvdGhlciBjYWxscyBhIGZ1bmN0
aW9uIHdpdGggbm8gcmV0dXJuIHZhbHVlLgorICAgICAgICAoZmluaXNoVGVzdCk6IENoZWNrIHRo
YXQgYm90aCBmdW5jdGlvbnMgd2VyZSBjYWxsZWQsIGFuZCB0aGF0IHdlIGVpdGhlciBkaWRuJ3Qg
Z2V0IGFuCisgICAgICAgIE5QUF9VUkxOb3RpZnkgY2FsbCAobGlrZSBpbiBNb3ppbGxhLCBXZWJL
aXQxLCBhbmQgV2ViS2l0MiksIG9yIGdvdCBhbiBOUFBfVVJMTm90aWZ5IGNhbGwKKyAgICAgICAg
d2l0aCBOUFJFU19ET05FIChsaWtlIGluIENocm9tZSkuCisKIDIwMTEtMDUtMTEgIENoYW5nIFNo
dSAgPGNzaHVAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVz
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9nZXQtdGFyZ2V0ZWQtamF2YXNjcmlw
dC11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9nZXQtdGFyZ2V0ZWQtamF2
YXNjcmlwdC11cmwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NzM5OTM1Y2Q4YzlhYzA5OGQy
MWRmM2NhMmMzMTc1YzVkMDc3YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVn
aW5zL2dldC10YXJnZXRlZC1qYXZhc2NyaXB0LXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2
IEBACisKK1Rlc3QgZm9yIEJ1ZyA2MDU2ODogUkVHUkVTU0lPTiAoV2ViS2l0Mik6IEZsYXNoIHBs
dWdpbiBkb2Vzbid0IGFwcGVhciBvbiBhIGhhbmVzLmNvbSBwYWdlLgorCitTVUNDRVNTIChubyBy
ZXR1cm4gdmFsdWUpOiBOUFBfVVJMTm90aWZ5IHdhcyBub3QgY2FsbGVkLCBvciB3YXMgY2FsbGVk
IHdpdGggYSByZWFzb24gb2YgTlBSRVNfRE9ORQorU1VDQ0VTUyAocmV0dXJuIHZhbHVlKTogTlBQ
X1VSTE5vdGlmeSB3YXMgbm90IGNhbGxlZCwgb3Igd2FzIGNhbGxlZCB3aXRoIGEgcmVhc29uIG9m
IE5QUkVTX0RPTkUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9nZXQtdGFyZ2V0
ZWQtamF2YXNjcmlwdC11cmwuaHRtbCBiL0xheW91dFRlc3RzL3BsdWdpbnMvZ2V0LXRhcmdldGVk
LWphdmFzY3JpcHQtdXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmY0MTRhMjkwYzViYjVkMzRmMzhkZjJh
NTBmNzRiNmU2ODQ2YThlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMv
Z2V0LXRhcmdldGVkLWphdmFzY3JpcHQtdXJsLmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGFkZEV2ZW50
TGlzdGVuZXIoJ2xvYWQnLCBzdGFydFRlc3QsIGZhbHNlKTsKKyAgICAgICAgdmFyIG5vUmV0dXJu
VmFsdWVGdW5jdGlvbkNhbGxlZCA9IGZhbHNlOworICAgICAgICB2YXIgcmV0dXJuVmFsdWVGdW5j
dGlvbkNhbGxlZCA9IGZhbHNlOworICAgICAgICB2YXIgbm9SZXR1cm5WYWx1ZVJlYXNvbiA9IC0x
OworICAgICAgICB2YXIgcmV0dXJuVmFsdWVSZWFzb24gPSAtMTsKKworICAgICAgICBmdW5jdGlv
biBzdGFydFRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdmFyIHBsdWdpbiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCdlbWJlZCcpWzBdOworICAgICAgICAgICAgcGx1Z2luLmdldFVSTE5v
dGlmeSgnamF2YXNjcmlwdDpub1JldHVyblZhbHVlRnVuY3Rpb24oKScsICdfc2VsZicsICdub1Jl
dHVyblZhbHVlVVJMTm90aWZ5Jyk7CisgICAgICAgICAgICBwbHVnaW4uZ2V0VVJMTm90aWZ5KCdq
YXZhc2NyaXB0OnJldHVyblZhbHVlRnVuY3Rpb24oKScsICdfc2VsZicsICdyZXR1cm5WYWx1ZVVS
TE5vdGlmeScpOworCisgICAgICAgICAgICAvLyBUaGUgamF2YXNjcmlwdDogVVJMcyB3aWxsIGJl
IGV2YWx1YXRlZCBhc3luY2hyb25vdXNseS4gU2luY2Ugd2UgZG9uJ3QgZXhwZWN0IGEKKyAgICAg
ICAgICAgIC8vIGNhbGxiYWNrIHdoZW4gdGhlIGV2YWx1YXRpb24gaXMgY29tcGxldGUsIHdlIGhh
dmUgdG8gdXNlIGEgbGFtZSB0aW1lb3V0IHRvIGdpdmUKKyAgICAgICAgICAgIC8vIHRoZSBjYWxs
YmFjayB0aW1lIHRvIGJlIGV2YWx1YXRlZC4KKyAgICAgICAgICAgIHNldFRpbWVvdXQoZmluaXNo
VGVzdCwgMjUwKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7
CisgICAgICAgICAgICBpZiAoIW5vUmV0dXJuVmFsdWVGdW5jdGlvbkNhbGxlZCkKKyAgICAgICAg
ICAgICAgICBsb2coJ0ZBSUw6IG5vUmV0dXJuVmFsdWVGdW5jdGlvbiB3YXMgbm90IGNhbGxlZCcp
OworICAgICAgICAgICAgZWxzZSBpZiAobm9SZXR1cm5WYWx1ZVJlYXNvbiAhPT0gLTEgJiYgbm9S
ZXR1cm5WYWx1ZVJlYXNvbiAhPT0gMCkKKyAgICAgICAgICAgICAgICBsb2coJ0ZBSUwgKG5vIHJl
dHVybiB2YWx1ZSk6IE5QUF9VUkxOb3RpZnkgY2FsbGVkIHdpdGggdW5leHBlY3RlZCByZWFzb24g
JyArIG5vUmV0dXJuVmFsdWVSZWFzb24pOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIGxvZygnU1VDQ0VTUyAobm8gcmV0dXJuIHZhbHVlKTogTlBQX1VSTE5vdGlmeSB3YXMgbm90
IGNhbGxlZCwgb3Igd2FzIGNhbGxlZCB3aXRoIGEgcmVhc29uIG9mIE5QUkVTX0RPTkUnKTsKKwor
ICAgICAgICAgICAgaWYgKCFyZXR1cm5WYWx1ZUZ1bmN0aW9uQ2FsbGVkKQorICAgICAgICAgICAg
ICAgIGxvZygnRkFJTDogcmV0dXJuVmFsdWVGdW5jdGlvbiB3YXMgbm90IGNhbGxlZCcpOworICAg
ICAgICAgICAgZWxzZSBpZiAocmV0dXJuVmFsdWVSZWFzb24gIT09IC0xICYmIHJldHVyblZhbHVl
UmVhc29uICE9PSAwKQorICAgICAgICAgICAgICAgIGxvZygnRkFJTCAocmV0dXJuIHZhbHVlKTog
TlBQX1VSTE5vdGlmeSBjYWxsZWQgd2l0aCB1bmV4cGVjdGVkIHJlYXNvbiAnICsgcmV0dXJuVmFs
dWVSZWFzb24pOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZygnU1VDQ0VT
UyAocmV0dXJuIHZhbHVlKTogTlBQX1VSTE5vdGlmeSB3YXMgbm90IGNhbGxlZCwgb3Igd2FzIGNh
bGxlZCB3aXRoIGEgcmVhc29uIG9mIE5QUkVTX0RPTkUnKTsKKworICAgICAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBsb2co
bXNnKSB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nJykuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsgJ1xuJykpOworICAgICAgICB9CisK
KyAgICAgICAgZnVuY3Rpb24gbm9SZXR1cm5WYWx1ZUZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
bm9SZXR1cm5WYWx1ZUZ1bmN0aW9uQ2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAg
IGZ1bmN0aW9uIHJldHVyblZhbHVlRnVuY3Rpb24oKSB7CisgICAgICAgICAgICByZXR1cm5WYWx1
ZUZ1bmN0aW9uQ2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiAnZm9vJzsKKyAgICAg
ICAgfQorCisgICAgICAgIGZ1bmN0aW9uIG5vUmV0dXJuVmFsdWVVUkxOb3RpZnkocmVhc29uKSB7
CisgICAgICAgICAgICBub1JldHVyblZhbHVlUmVhc29uID0gcmVhc29uOworICAgICAgICB9CisK
KyAgICAgICAgZnVuY3Rpb24gcmV0dXJuVmFsdWVVUkxOb3RpZnkocmVhc29uKSB7CisgICAgICAg
ICAgICByZXR1cm5WYWx1ZVJlYXNvbiA9IHJlYXNvbjsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGVtYmVkIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0
LXRlc3QtbmV0c2NhcGUiPjwvZW1iZWQ+CisgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNTY4Ij5CdWcgNjA1Njg6IFJFR1JF
U1NJT04gKFdlYktpdDIpOiBGbGFzaCBwbHVnaW4gZG9lc24ndCBhcHBlYXIgb24gYSBoYW5lcy5j
b20gcGFnZTwvYT4uPC9wPgorICAgIDxwcmUgaWQ9ImxvZyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggNTI3ZDUyZWI3MWI3NGQ3NzZmMDkxMzMyZWVjMTU1ZWNmYzg1MGIw
ZS4uMjdhZDEzZmQyOTczY2EzYjgxNTAyNTVjYjQ1MGIzYmIxNjJiZjhkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDExLTA1LTExICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNv
bT4KKworICAgICAgICBEb24ndCBub3RpZnkgdGhlIHBsdWdpbiB3aGVuIGEgdGFyZ2V0ZWQgamF2
YXNjcmlwdDogVVJMIHJlcXVlc3QgY29tcGxldGVzCisKKyAgICAgICAgVGhpcyBtYXRjaGVzIE1v
emlsbGEgYW5kIFdlYktpdDEuCisKKyAgICAgICAgRml4ZXMgPGh0dHA6Ly93ZWJraXQub3JnL2Iv
NjA1Njg+IDxyZGFyOi8vcHJvYmxlbS84NjEwNjU3PiBSRUdSRVNTSU9OIChXZWJLaXQyKTogRmxh
c2gKKyAgICAgICAgcGx1Z2luIGRvZXNuJ3QgYXBwZWFyIG9uIGEgaGFuZXMuY29tIHBhZ2UKKwor
ICAgICAgICBUZXN0OiBwbHVnaW5zL2dldC10YXJnZXRlZC1qYXZhc2NyaXB0LXVybC5odG1sCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6
OnBlcmZvcm1KYXZhU2NyaXB0VVJMUmVxdWVzdCk6IERvbid0IGNhbGwgYmFjayB0byB0aGUgcGx1
Z2luIGlmIHRoZQorICAgICAgICByZXF1ZXN0IGhhZCBhIHRhcmdldC4KKwogMjAxMS0wNS0xMSAg
Sm9obiBTdWxsaXZhbiAgPHN1bGxpdmFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5WaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcAppbmRleCAyOGZlZWVhNDk5YWRmNmNiOGU5YjVkOWEzMDdkMGIwMTdlODFj
NGY3Li5jNzNlZjMxN2Y5ODdiOGViZmRjM2ViZmJiYTdhMDExMmYwM2QzZDlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCkBAIC03ODEs
MTkgKzc4MSwxNCBAQCB2b2lkIFBsdWdpblZpZXc6OnBlcmZvcm1KYXZhU2NyaXB0VVJMUmVxdWVz
dChVUkxSZXF1ZXN0KiByZXF1ZXN0KQogICAgIGlmICghcGx1Z2luLT5jb250cm9sbGVyKCkpCiAg
ICAgICAgIHJldHVybjsKIAorICAgIC8vIERvbid0IG5vdGlmeSB0aGUgcGx1Zy1pbiBhdCBhbGwg
YWJvdXQgdGFyZ2V0ZWQgamF2YXNjcmlwdDogcmVxdWVzdHMuIFRoaXMgbWF0Y2hlcyBNb3ppbGxh
IGFuZCBXZWJLaXQxLgorICAgIGlmICghcmVxdWVzdC0+dGFyZ2V0KCkuaXNOdWxsKCkpCisgICAg
ICAgIHJldHVybjsKKwogICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSA9IGZyYW1lLT5zY3Jp
cHQoKS0+Z2xvYmFsT2JqZWN0KHBsdWdpbldvcmxkKCkpLT5nbG9iYWxFeGVjKCk7CiAgICAgU3Ry
aW5nIHJlc3VsdFN0cmluZzsKICAgICByZXN1bHQuZ2V0U3RyaW5nKHNjcmlwdFN0YXRlLCByZXN1
bHRTdHJpbmcpOwogICAKLSAgICBpZiAoIXJlcXVlc3QtPnRhcmdldCgpLmlzTnVsbCgpKSB7Ci0g
ICAgICAgIC8vIEp1c3Qgc2VuZCBiYWNrIHdoZXRoZXIgdGhlIGZyYW1lIGxvYWQgc3VjY2VlZGVk
IG9yIG5vdC4KLSAgICAgICAgaWYgKHJlc3VsdFN0cmluZy5pc051bGwoKSkKLSAgICAgICAgICAg
IG1fcGx1Z2luLT5mcmFtZURpZEZhaWwocmVxdWVzdC0+cmVxdWVzdElEKCksIGZhbHNlKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgbV9wbHVnaW4tPmZyYW1lRGlkRmluaXNoTG9hZGluZyhy
ZXF1ZXN0LT5yZXF1ZXN0SUQoKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICAvLyBT
ZW5kIHRoZSByZXN1bHQgYmFjayB0byB0aGUgcGx1Zy1pbi4KICAgICBwbHVnaW4tPmRpZEV2YWx1
YXRlSmF2YVNjcmlwdChyZXF1ZXN0LT5yZXF1ZXN0SUQoKSwgZGVjb2RlVVJMRXNjYXBlU2VxdWVu
Y2VzKHJlcXVlc3QtPnJlcXVlc3QoKS51cmwoKSksIHJlc3VsdFN0cmluZyk7CiB9Cg==
</data>
<flag name="review"
          id="86279"
          type_id="1"
          status="+"
          setter="sfalken"
    />
          </attachment>
      

    </bug>

</bugzilla>