<?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>116020</bug_id>
          
          <creation_ts>2013-05-13 03:54:00 -0700</creation_ts>
          <short_desc>[GTK][WK2] Java applets remain visible even if you navigate to a different page</short_desc>
          <delta_ts>2016-01-03 08:16:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Manuel Rego Casasnovas">rego</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cgarcia</cc>
    
    <cc>csaavedra</cc>
    
    <cc>gustavo</cc>
    
    <cc>kling</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>888181</commentid>
    <comment_count>0</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2013-05-13 03:54:00 -0700</bug_when>
    <thetext>Steps to reproduce in MiniBrowser:
1) Go to http://lessonplans.btskinner.com/applet.html
2) Change the URL in MiniBrowser to http://www.webkit.org
3) You&apos;ll see that the applet is still visible and working in WebKit page.

BTW, you need to install &quot;icedtea-plugin&quot; in your machine in order to have the Java applets working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888185</commentid>
    <comment_count>1</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2013-05-13 04:02:30 -0700</bug_when>
    <thetext>Some more information about the bug.

In WebPageProxy::createPluginContainer() we connect a callback to &quot;plug-removed&quot; signal (https://developer.gnome.org/gtk3/stable/GtkSocket.html#GtkSocket-plug-removed). But this signal is never emitted.

I&apos;ve been doing some tests and if I emit manually the signal from WebKitWebView::webkit_web_view_load_uri() the applet is still visible in the other page.

I had to destroy manually the applet to make it disappear.

I&apos;ve added the following lines to WebKitWebView::webkit_web_view_load_uri() in order to do this quick hack:

    GList* items = gtk_container_get_children(GTK_CONTAINER(webView));
    GList* iter;

    for (iter = items; iter; iter = g_list_next(iter)) {
        GtkWidget* item = GTK_WIDGET(iter-&gt;data);

        if (GTK_IS_SOCKET(item)) {
            gboolean result;
            // With this the callback is called, but the applet is not destroyed.
            g_signal_emit_by_name(item, &quot;plug-removed&quot;, &amp;result);
            // This destroys the applet, gtk_container_remove() also works here.
            gtk_widget_destroy(item);
        }
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888244</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-13 07:05:56 -0700</bug_when>
    <thetext>Fun!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888510</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-13 13:50:56 -0700</bug_when>
    <thetext>Spent a good amount of time on this, no success yet.

When navigating away from the test page, I can see that the HTMLAppletElement is not getting detached from the DOM, and that&apos;s why its renderer isn&apos;t getting destroyed. HTMLAppletElement inherits from HTMLPlugInImageElement, which inherist from HTMLPluginElement, which inherist from HTMLElement and so on to the Node class.

The renderer is a RenderApplet, which inherits all the way from RenderWidget, which holds a reference to the Widget that it renders, the Widget being the PluginView that&apos;s created in the WebFrameLoaderClient::createPlugin method (called from SubframeLoader::loadPlugin).

Continuing on the note of HTMLAppletElement not detaching, the node normally detaches (and has its render destroyed) in its deconstructor. Since this is not happening in WK2, I think there&apos;s a reference of the HTMLAppletElement object being kept somewhere, preventing for the element to be destroyed. Not 100% sure about this, but it certainly seems so to me given that in WK1, the HTML element is destroyed first, with the renderer destroyed second and the PluginView following immediately after.

The PluginView class actually holds a RefPtr for the HTMLPluginElement, the very element for which the plugin is loaded. Replacing the RefPtr with a raw pointer to the HTMLPluginElement object doesn&apos;t help, the problem persists, though it&apos;s kind of unusual to do so, especially given that this is not done in the WK1 layer (in Source/WebCore/plugins/PluginView.cpp).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888822</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-14 07:19:12 -0700</bug_when>
    <thetext>The HTMLPlugInElement not being detached is due to the page cache enabled when using the MiniBrowser. Specifically, the whole DOM document is not detached &amp; destroyed  (initiaded at [1]) if the page cache is in use. As proof, with the page cache disabled, the Java applet renderer is properly destroyed when navigating away from the test page.

Still, even with the page cache enabled, the plugin renderer should be removed.
When the FrameView is being replaced in Frame::createView (which happens when navigating to another location), the current FrameView&apos;s parent is set to not visible[2]. The FrameView inherits from the ScrollView, meaning that ScrollView::setParentVisible[3] is called. That method calls the same method on every child widget, which, on the test page, is also the WebKit2 PluginView[4], the Widget-implementing object that controls the plugin. The PluginView doesn&apos;t doesn&apos;t implement the setParentVisible function, but when added, it does get called with the &apos;visible&apos; argument being false. Still, that has no effect on hiding the widget when navigating away (which of course doesn&apos;t happen when it should).

[1] http://trac.webkit.org/browser/trunk/Source/WebCore/page/Frame.cpp#L262
[2] http://trac.webkit.org/browser/trunk/Source/WebCore/page/Frame.cpp#L772
[3] http://trac.webkit.org/browser/trunk/Source/WebCore/platform/ScrollView.cpp#L1249
[4] http://trac.webkit.org/browser/trunk/Source/WebKit2/WebProcess/Plugins/PluginView.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>889803</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-16 07:10:55 -0700</bug_when>
    <thetext>The main problem here seems to be that the pages containing the plugin are still stored into the page cache when navigating away from them. For the GTK port, I don&apos;t believe that&apos;s a good idea.

For instance, when leaving Youtube with a video playing, the Flash plugin would also be stored in the page cache had it not been for unload event listeners on the page that actually prevent the page from entering the cache[1]. Similarly with the pages containing Java applets, the applet&apos;s PluginView is kept as is instead of being destroyed, meaning that the windowed plugin is both not hidden and is kept alive and functioning - even if it would be hidden, it would most likely continue to run in the background (note that I haven&apos;t really tested that, but can if someone explicitly requests for it) which I believe is not expected.

The pages that contain plugins can be prevented from entering the cache by adjusting the according setting[2] which defaults to false. In WebKit1GTK+ the setting was not adjusted at all (meaning its value was kept at false), while in WebKit2GTK+ the setting defaults to true[3].

I&apos;d recommend to use false as the default for this setting in WebKit2GTK+. If approved, the patch is pretty straight-forward.

[1] http://trac.webkit.org/browser/trunk/Source/WebCore/history/PageCache.cpp#L305
[2] http://trac.webkit.org/browser/trunk/Source/WebCore/page/Settings.in#L72
[3] http://trac.webkit.org/browser/trunk/Source/WebKit2/Shared/WebPreferencesStore.h#L105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>889887</commentid>
    <comment_count>6</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-05-16 10:11:17 -0700</bug_when>
    <thetext>It makes sense to me. On Mac all plugins are windowless AFAIK. I remember talking about this with Martin at some point and he mentioned forcing all plugins to go windowless for wk2gtk, was that not possible after all or was it decided against?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>889891</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-05-16 10:28:30 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; It makes sense to me. On Mac all plugins are windowless AFAIK. I remember talking about this with Martin at some point and he mentioned forcing all plugins to go windowless for wk2gtk, was that not possible after all or was it decided against?

Hrm. I don&apos;t remember the specifics, but we support windowed plugins now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890545</commentid>
    <comment_count>8</comment_count>
      <attachid>202127</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-17 11:38:26 -0700</bug_when>
    <thetext>Created attachment 202127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890548</commentid>
    <comment_count>9</comment_count>
      <attachid>202127</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-05-17 11:40:32 -0700</bug_when>
    <thetext>Comment on attachment 202127
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=202127&amp;action=review

Looks okay, but needs a WebKit2 owner to review it formally.

&gt; Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:197
&gt; +    g_signal_connect(socket, &quot;plug-removed&quot;, G_CALLBACK(socketPlugRemovedCallback), m_platformPluginWidget);

Are you sure that removing the widget doesn&apos;t destroy it as a side-effect of decreasing the reference count?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>890557</commentid>
    <comment_count>10</comment_count>
      <attachid>202127</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-17 11:48:46 -0700</bug_when>
    <thetext>Comment on attachment 202127
Patch

Removing it from where exactly?

This callback gets fired when the windowed plugin is destroyed/stopped, so the intermediate GtkSocket (the one created on the previous line) has this signal emitted and the callback is removed.

This GtkSocket is inside the GtkPlug that&apos;s belonging to the GtkSocket that was created in the UIProcess. That GtkSocket does not get removed until its GtkPlug is removed.

Not destroying the parent plug of the windowed widget&apos;s socket leaves a gray area where the UIProcess socket is displaying the contents of the now-defunct parent plug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891006</commentid>
    <comment_count>11</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-19 00:13:27 -0700</bug_when>
    <thetext>Benjamin, Andreas -- could one of you please take a look at this one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891071</commentid>
    <comment_count>12</comment_count>
      <attachid>202127</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-19 15:41:02 -0700</bug_when>
    <thetext>Comment on attachment 202127
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=202127&amp;action=review

&gt; Source/WebKit2/Shared/WebPreferencesStore.h:107
&gt; -    macro(PageCacheSupportsPlugins, pageCacheSupportsPlugins, Bool, bool, true) \
&gt; +    macro(PageCacheSupportsPlugins, pageCacheSupportsPlugins, Bool, bool, DEFAULT_PAGE_CACHE_SUPPORTS_PLUGINS_ENABLED) \

I don&apos;t understand why this change is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891122</commentid>
    <comment_count>13</comment_count>
      <attachid>202127</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-19 23:10:37 -0700</bug_when>
    <thetext>Comment on attachment 202127
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=202127&amp;action=review

&gt;&gt; Source/WebKit2/Shared/WebPreferencesStore.h:107
&gt;&gt; +    macro(PageCacheSupportsPlugins, pageCacheSupportsPlugins, Bool, bool, DEFAULT_PAGE_CACHE_SUPPORTS_PLUGINS_ENABLED) \
&gt; 
&gt; I don&apos;t understand why this change is needed.

The GTK port still supports windowed Netscape plugins. When entered into the page cache, their PluginView is not destroyed, so these plugins continue to run as if nothing happened. Because they are windowed, their display window does not get hidden or destroyed, so they are still displayed when navigating away from the page that contained them. Disabling this setting for the GTK port fixes this without any unnecessary hacks that would be required in the PluginView and would extend all the way into the plugin process.

This setting was also disabled for the WebKit1 GTK port, so this wasn&apos;t happening there. Furthermore, of the WebKit1 layer ports, only the Mac port was enabling this setting (or at least exposing the enabling and disabling mechanism), meaning that Qt and EFL ports of the WK2 layer may now be exposed to the very same problem (if they support windowed plugins).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899717</commentid>
    <comment_count>14</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-06-12 12:07:43 -0700</bug_when>
    <thetext>Any remaining objections from WK2 owner(s)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049968</commentid>
    <comment_count>15</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-11-19 15:59:00 -0800</bug_when>
    <thetext>Interested in pushing this fix still?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1150882</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-12-22 06:56:17 -0800</bug_when>
    <thetext>Zan, is this patch still needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152095</commentid>
    <comment_count>17</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-01-03 01:58:40 -0800</bug_when>
    <thetext>The patch in this form doesn&apos;t apply anymore, and I&apos;m not aware of Java applets still being a problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152105</commentid>
    <comment_count>18</comment_count>
      <attachid>202127</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-03 08:15:47 -0800</bug_when>
    <thetext>Comment on attachment 202127
Patch

Removing from request queue then, and closing the bug... please reopen if this is discovered to still be a problem.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202127</attachid>
            <date>2013-05-17 11:38:26 -0700</date>
            <delta_ts>2016-01-03 08:15:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116020-20130517203719.patch</filename>
            <type>text/plain</type>
            <size>4530</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjI0YTg3MjBhMTU1NGM3
ZWUzNzQxMmQyMTlhZTkxODlkYWMxZjNhNi4uOGE3NWZiNjJlZjQ5YWUzNzMyZDYxNWQ4OWE1NjUy
NTFkZGQxMmE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTA1LTE3ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXSzJdIEph
dmEgYXBwbGV0cyByZW1haW4gdmlzaWJsZSBldmVuIGlmIHlvdSBuYXZpZ2F0ZSB0byBhIGRpZmZl
cmVudCBwYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTYwMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgR1RLIHBvcnQgc3RpbGwgc3VwcG9ydHMgdGhlIHdpbmRvd2VkIE5ldHNjYXBlIHBsdWdp
bnMuIEJlY2F1c2Ugb2YgdGhhdCBpdCBzaG91bGQsIG11Y2ggbGlrZSBpbiB0aGUKKyAgICAgICAg
R1RLIHBvcnQgb2YgV2ViS2l0MSwgZGVmYXVsdCB0byBub3QgY2FjaGluZyB3ZWIgcGFnZXMgdGhh
dCBjb250YWluIHBsdWdpbnMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9y
ZS5oOgorICAgICAgICAoV2ViS2l0KTogRG8gbm90IGRlZmF1bHQgdG8gY2FjaGluZyBwYWdlcyB0
aGF0IGNvbnRhaW4gcGx1Z2lucyBmb3IgdGhlIEdUSyBwb3J0LgorICAgICAgICAqIFdlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS94MTEvTmV0c2NhcGVQbHVnaW5YMTEuY3BwOgorICAgICAgICAo
V2ViS2l0Ojpzb2NrZXRQbHVnUmVtb3ZlZENhbGxiYWNrKTogV2hlbiB0aGUgd2luZG93ZWQgcGx1
Z2luJ3MgR3RrU29ja2V0IGhhcyBpdHMgR3RrUGx1ZyByZW1vdmVkLCB0aGUgR3RrUGx1ZyBiZWxv
bmdpbmcKKyAgICAgICAgdG8gdGhlIFVJUHJvY2VzcydzIEd0a1NvY2tldCAodGhhdCdzIGNyZWF0
ZWQgaW4gV2ViUGFnZVByb3h5OjpjcmVhdGVQbHVnaW5Db250YWluZXIpIHNob3VsZCBiZSBkZXN0
cm95ZWQgYXMgd2VsbC4KKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3Jt
UG9zdEluaXRpYWxpemVXaW5kb3dlZCk6IFBhc3MgdGhlIHBvaW50ZXIgdG8gdGhlIFVJUHJvY2Vz
cydzIEd0a1NvY2tldCB0byB0aGUgY2FsbGJhY2sgdGhhdCdsbAorICAgICAgICBiZSBpbnZva2Vk
IG9uIHRoZSBuZXdseSBjcmVhdGVkIEd0a1NvY2tldCB3aGVuIGl0cyBHdGtQbHVnIGlzIHJlbW92
ZWQgKHdoaWNoIHNob3VsZCBvY2N1ciB3aGVuIHRoZSB3aW5kb3dlZCBwbHVnaW4gc3RvcHMpLgor
CiAyMDEzLTA1LTE3ICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1bGFAc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBTdXBwb3J0IHN1YiBtZW51IGluIGV3ayBjb250
ZXh0IG1lbnVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaApp
bmRleCAzZjJkNzUxYTFkNmIzNWJjOGEyODUyZTcwYmQxMGMxYzkzODlkNjFiLi5mOTliNmExZDQz
OTk1M2VkZjZmYThmMTgzYjBhZmUzMTY2NDlhYTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKQEAgLTM4LDggKzM4LDEwIEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogCiAjaWYgUExBVEZPUk0oR1RLKQogI2RlZmluZSBERUZBVUxUX1dFQktJVF9UQUJTVE9M
SU5LU19FTkFCTEVEIHRydWUKKyNkZWZpbmUgREVGQVVMVF9QQUdFX0NBQ0hFX1NVUFBPUlRTX1BM
VUdJTlNfRU5BQkxFRCBmYWxzZQogI2Vsc2UKICNkZWZpbmUgREVGQVVMVF9XRUJLSVRfVEFCU1RP
TElOS1NfRU5BQkxFRCBmYWxzZQorI2RlZmluZSBERUZBVUxUX1BBR0VfQ0FDSEVfU1VQUE9SVFNf
UExVR0lOU19FTkFCTEVEIHRydWUKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNNT09USF9TQ1JPTExJ
TkcpICYmICFQTEFURk9STShRVCkKQEAgLTEwMiw3ICsxMDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKICAgICBtYWNybyhXZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZCwgd2ViQXJjaGl2ZURlYnVn
TW9kZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oTG9jYWxGaWxlQ29u
dGVudFNuaWZmaW5nRW5hYmxlZCwgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhVc2VzUGFnZUNhY2hlLCB1c2VzUGFnZUNhY2hl
LCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oUGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5z
LCBwYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMsIEJvb2wsIGJvb2wsIHRydWUpIFwKKyAgICBtYWNy
byhQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMsIHBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucywgQm9v
bCwgYm9vbCwgREVGQVVMVF9QQUdFX0NBQ0hFX1NVUFBPUlRTX1BMVUdJTlNfRU5BQkxFRCkgXAog
ICAgIG1hY3JvKEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkLCBhdXRob3JBbmRVc2VyU3R5bGVz
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKFBhZ2luYXRlRHVyaW5nTGF5
b3V0RW5hYmxlZCwgcGFnaW5hdGVEdXJpbmdMYXlvdXRFbmFibGVkLCBCb29sLCBib29sLCBmYWxz
ZSkgXAogICAgIG1hY3JvKERPTVBhc3RlQWxsb3dlZCwgZG9tUGFzdGVBbGxvd2VkLCBCb29sLCBi
b29sLCBmYWxzZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL3gxMS9OZXRzY2FwZVBsdWdpblgxMS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcAppbmRl
eCBkNzM0ZmY2ODQzMWE4NzMyYzA2OWRiMjgxNTg4M2FjMTI4N2M2OTAxLi5mN2JhOWMwYzk3MDUz
NzZmMzIzMDZhMGJiZDA4MjVmYzJkODAyN2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBlUGx1Z2luWDExLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUveDExL05ldHNjYXBl
UGx1Z2luWDExLmNwcApAQCAtMTY1LDggKzE2NSwxMSBAQCBEaXNwbGF5KiBOZXRzY2FwZVBsdWdp
bjo6eDExSG9zdERpc3BsYXkoKQogfQogCiAjaWYgUExBVEZPUk0oR1RLKQotc3RhdGljIGdib29s
ZWFuIHNvY2tldFBsdWdSZW1vdmVkQ2FsbGJhY2soR3RrU29ja2V0KikKK3N0YXRpYyBnYm9vbGVh
biBzb2NrZXRQbHVnUmVtb3ZlZENhbGxiYWNrKEd0a1NvY2tldCosIEd0a1dpZGdldCogcGFyZW50
UGx1ZykKIHsKKyAgICAvLyBUaGUgcGFyZW50IEd0a1BsdWcgaXMgbm90IHJlcXVpcmVkIGFueW1v
cmUsIHNvIGl0IG11c3QgYmUgZGVzdHJveWVkLgorICAgIGd0a193aWRnZXRfZGVzdHJveShwYXJl
bnRQbHVnKTsKKwogICAgIC8vIERlZmF1bHQgYWN0aW9uIGlzIHRvIGRlc3Ryb3kgdGhlIEd0a1Nv
Y2tldCwgc28gd2UganVzdCByZXR1cm4gVFJVRSBoZXJlCiAgICAgLy8gdG8gYmUgYWJsZSB0byBy
ZXVzZSB0aGUgc29ja2V0LiBGb3Igc29tZSBvYnNjdXJlIHJlYXNvbiwgbmV3ZXIgdmVyc2lvbnMK
ICAgICAvLyBvZiBmbGFzaCBwbHVnaW4gcmVtb3ZlIHRoZSBwbHVnIGZyb20gdGhlIHNvY2tldCwg
cHJvYmFibHkgYmVjYXVzZSB0aGUgcGx1ZwpAQCAtMTkxLDcgKzE5NCw3IEBAIGJvb2wgTmV0c2Nh
cGVQbHVnaW46OnBsYXRmb3JtUG9zdEluaXRpYWxpemVXaW5kb3dlZChib29sIG5lZWRzWEVtYmVk
LCB1aW50NjRfdCB3CiAgICAgLy8gY29udGFpbmluZyBhIHBsdWcgd2l0aCB0aGUgVUkgcHJvY2Vz
cyBzb2NrZXQgZW1iZWRkZWQuCiAgICAgbV9wbGF0Zm9ybVBsdWdpbldpZGdldCA9IGd0a19wbHVn
X25ldyhzdGF0aWNfY2FzdDxXaW5kb3c+KHdpbmRvd0lEKSk7CiAgICAgR3RrV2lkZ2V0KiBzb2Nr
ZXQgPSBndGtfc29ja2V0X25ldygpOwotICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc29ja2V0LCAicGx1
Zy1yZW1vdmVkIiwgR19DQUxMQkFDSyhzb2NrZXRQbHVnUmVtb3ZlZENhbGxiYWNrKSwgMCk7Cisg
ICAgZ19zaWduYWxfY29ubmVjdChzb2NrZXQsICJwbHVnLXJlbW92ZWQiLCBHX0NBTExCQUNLKHNv
Y2tldFBsdWdSZW1vdmVkQ2FsbGJhY2spLCBtX3BsYXRmb3JtUGx1Z2luV2lkZ2V0KTsKICAgICBn
dGtfY29udGFpbmVyX2FkZChHVEtfQ09OVEFJTkVSKG1fcGxhdGZvcm1QbHVnaW5XaWRnZXQpLCBz
b2NrZXQpOwogICAgIGd0a193aWRnZXRfc2hvdyhzb2NrZXQpOwogICAgIGd0a193aWRnZXRfc2hv
dyhtX3BsYXRmb3JtUGx1Z2luV2lkZ2V0KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>