<?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>114233</bug_id>
          
          <creation_ts>2013-04-08 20:00:02 -0700</creation_ts>
          <short_desc>Don&apos;t create another plugin process for restarted plugins</short_desc>
          <delta_ts>2013-04-09 12:47:24 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>jonlee</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>871392</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-04-08 20:00:02 -0700</bug_when>
    <thetext>Snapshotted plugins run in their own process. This causes a bit of confusion, because there is also a normal plugin process that handles autostarted plugins. But, it&apos;s still correct.

However, restarted plugins get a new process type, and thus start *another* process. They should just use the existing normal process.

And to reduce potential confusion, make the snapshotting process kill itself a lot sooner if it doesn&apos;t have anything to do. It doesn&apos;t need to run the plugins for long, and the other process will be around so hopefully it is paged in.

&lt;rdar://problem/13503755&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871396</commentid>
    <comment_count>1</comment_count>
      <attachid>196984</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-04-08 20:11:27 -0700</bug_when>
    <thetext>Created attachment 196984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871415</commentid>
    <comment_count>2</comment_count>
      <attachid>196984</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-04-08 21:09:40 -0700</bug_when>
    <thetext>Comment on attachment 196984
Patch

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

r=me

This is a clear improvement.

But I wonder why we have two processes at all: Why can&apos;t snapshotting take place in the singleton plug-in process?

&gt; Source/WebKit2/WebProcess/Plugins/PluginProxy.h:62
&gt; -    static PassRefPtr&lt;PluginProxy&gt; create(const String&amp; pluginPath, PluginProcess::Type);
&gt; +    static PassRefPtr&lt;PluginProxy&gt; create(const String&amp; pluginPath, PluginProcess::Type, bool);
&gt;      ~PluginProxy();
&gt;  
&gt;      uint64_t pluginInstanceID() const { return m_pluginInstanceID; }

This function should name its bool parameter since the meaning is not obvious.

&gt; Source/WebKit2/WebProcess/Plugins/PluginProxy.h:71
&gt; +    explicit PluginProxy(const String&amp; pluginPath, PluginProcess::Type, bool);

Ditto.

&gt; Source/WebKit2/WebProcess/Plugins/PluginProxy.h:221
&gt; +    bool m_restartedProcess;

I prefer the &quot;is&quot; prefix for bools, so they read more clearly. &quot;Restarted process&quot; might sound like &quot;I restarted a process&quot;, which is not what we mean. Also, it&apos;s confusing to name this bool about a process, since we have a separate variable for process type. How about: &quot;bool m_isRestartedPlugin&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871457</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2013-04-08 22:37:48 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 196984 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=196984&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; This is a clear improvement.
&gt; 
&gt; But I wonder why we have two processes at all: Why can&apos;t snapshotting take place in the singleton plug-in process?

Audio is sandboxed in one of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872024</commentid>
    <comment_count>4</comment_count>
      <attachid>196984</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-04-09 12:27:08 -0700</bug_when>
    <thetext>Comment on attachment 196984
Patch

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

&gt;&gt; Source/WebKit2/WebProcess/Plugins/PluginProxy.h:62
&gt;&gt;      uint64_t pluginInstanceID() const { return m_pluginInstanceID; }
&gt; 
&gt; This function should name its bool parameter since the meaning is not obvious.

Yeah, I don&apos;t know why I forgot this, nor why I didn&apos;t prefix with &quot;is&quot;. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872030</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-04-09 12:47:24 -0700</bug_when>
    <thetext>Committed r148038: &lt;http://trac.webkit.org/changeset/148038&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196984</attachid>
            <date>2013-04-08 20:11:27 -0700</date>
            <delta_ts>2013-04-09 12:27:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114233-20130409131109.patch</filename>
            <type>text/plain</type>
            <size>9706</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzY4NTY4OGFjYmUzYmFl
MDc2M2YwMjU4N2U4OWQ4ZTg0ZTA1YWY5Yy4uYTA3Njc5ZTk0MDU1M2RmYjMwYzJhYjk5NTNmODAx
YWJlNTIzZTZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA0LTA4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCBjcmVhdGUgYW5vdGhl
ciBwbHVnaW4gcHJvY2VzcyBmb3IgcmVzdGFydGVkIHBsdWdpbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDIzMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgc25hcHNob3R0aW5nIHBsdWdpbiBzdGFy
dHMgaW4gYSBzZXBhcmF0ZSBwcm9jZXNzIGZyb20KKyAgICAgICAgcmVndWxhciBwbHVnaW5zLiBU
aGlzIGNhbiBiZSBhIGxpdHRsZSBjb25mdXNpbmcgdG8gdXNlcnMKKyAgICAgICAgYmVjYXVzZSB0
aGV5IG1pZ2h0IHNlZSB0d28gcGx1Z2luIHByb2Nlc3Nlcy4gV2UgY2FuIHNldAorICAgICAgICB0
aGUgbWluaW11bSBsaWZlIGFuZCB0aW1lb3V0IG9uIHRoZSBzbmFwc2hvdHRpbmcgcHJvY2Vzcwor
ICAgICAgICB0byBtdWNoIHNtYWxsZXIgdmFsdWVzLCBzaW5jZSB0aGUgcHJvY2VzcyBkb2Vzbid0
IG5lZWQKKyAgICAgICAgdG8gbGl2ZSB0aGF0IGxvbmcuIFRoaXMgd2lsbCByZWR1Y2Ugc29tZSBw
b3RlbnRpYWwKKyAgICAgICAgY29uZnVzaW9uLiBBbHNvLCBzaW5jZSB0aGVyZSBpcyBhbm90aGVy
IHBsdWdpbiBwcm9jZXNzCisgICAgICAgIHJ1bm5pbmcgcmVhbCBwbHVnaW5zLCBpdCBzaG91bGQg
YmUgcGFnZWQgaW4gaWYgaXQgbmVlZHMKKyAgICAgICAgdG8gcmVzdGFydC4KKworICAgICAgICBU
aGVyZSB3YXMsIGhvd2V2ZXIsIGEgYnVnIGluIHRoZSBwcm9jZXNzIG1hbmFnZW1lbnQuIEEKKyAg
ICAgICAgcmVzdGFydGVkIHBsdWdpbiByZWNlaXZlZCBhIHNwZWNpYWwgUGx1Z2luUHJvY2Vzczo6
VHlwZSwKKyAgICAgICAgc28gdGhhdCBpdCBjb3VsZCBjcm9zcyBmYWRlIGludG8gdGhlIHBhZ2Ug
bmljZWx5LiBUaGlzCisgICAgICAgIGNhdXNlZCBpdCB0byBzdGFydCBhICp0aGlyZCogcGx1Z2lu
IHByb2Nlc3MuIEluc3RlYWQKKyAgICAgICAgbWFyayBhIHJlc3RhcnRlZCBmbGFnIGRpcmVjdGx5
IG9uIHRoZSBQbHVnaW5Qcm94eSBhbmQKKyAgICAgICAgcmV2ZXJ0IGJhY2sgdG8gdHdvIHByb2Nl
c3MgdHlwZXMuCisKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaDogUmVt
b3ZlIFR5cGVSZXN0YXJ0ZWRQcm9jZXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDogQWRkIHR3byBuZXcKKyAgICAgICAgICAgIHRpbWVvdXQg
dmFsdWVzIGZvciBzbmFwc2hvdHRpbmcgcHJvY2Vzc2VzLgorICAgICAgICAoV2ViS2l0OjpQbHVn
aW5Qcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6IENob3NlIHdoaWNoCisgICAgICAg
ICAgICBvZiB0aGUgdGltZW91dCBwYWlycyB0byB1c2UuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpblByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5Qcm94eTo6cGx1Z2luTGF5ZXIpOiBEb24ndCBsb29rIGF0IHRoZSBwcm9jZXNzIHR5
cGUsIGluc3RlYWQKKyAgICAgICAgICAgIGxvb2sgYXQgdGhlIHByb2Nlc3MgZmxhZyB0byBzZWUg
aWYgd2UgYXJlIHJlc3RhcnRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5Qcm94eTo6Y3JlYXRlKTogQ29weSB0
aGUgbmV3IGZsYWcgaW50byBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJv
eHk6OlBsdWdpblByb3h5KTogUmVtZW1iZXIgdGhlIGZsYWcuCisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb3h5Lmg6IEFkZCBhIG5ldyBtX3Jlc3RhcnRlZFByb2Nlc3MgZmxh
Zy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6Y3JlYXRlUGx1Z2luKTogV2hlbiB3ZSBhcmUgY3JlYXRpbmcgdGhl
IHByb3h5LCBzZXBhcmF0ZQorICAgICAgICAgICAgdGhlIGNvbmNlcHQgb2Ygc25hcHNob3R0aW5n
IGFuZCByZXN0YXJ0aW5nLgorCiAyMDEzLTA0LTA1ICBFZCBCYXJ0b3NoICA8YmFydG9zaEBnbWFp
bC5jb20+CiAKICAgICAgICAgW0VGTF0gLS1uby10aWxlZC1iYWNraW5nLXN0b3JlIGJ1aWxkIGZh
aWxzIGJlY2F1c2Ugb2Ygbm90IHVzZWQgI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKaW5kZXggZGJl
MGI1N2FjZWYzNTI1Y2U0OThmYTRhMmYxZWMwNTZjMjdkMDViYi4uYzk2OTllZmVlMGVkMzM3ZDdk
YmM4OWJkNGQwZTkxNjFjNTRmYTJkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTQ0LDggKzQ0LDcgQEAgcHVibGljOgogICAgIGVudW0gVHlw
ZSB7CiAgICAgICAgIC8vIFN0YXJ0IHdpdGggdmFsdWUgb25lIHNpbmNlIGRlZmF1bHQgSGFzaFRy
YWl0czw+IGRpc2FsbG93cyB6ZXJvIGFzIGtleS4KICAgICAgICAgVHlwZVJlZ3VsYXJQcm9jZXNz
ID0gMSwKLSAgICAgICAgVHlwZVNuYXBzaG90UHJvY2VzcywKLSAgICAgICAgVHlwZVJlc3RhcnRl
ZFByb2Nlc3MKKyAgICAgICAgVHlwZVNuYXBzaG90UHJvY2VzcwogICAgIH07CiAKICAgICBzdGF0
aWMgUGx1Z2luUHJvY2VzcyYgc2hhcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA3MTRlZTUzZTFh
NjMzZWIyZTQyZDc1NjgxNGJmNDQ1ZDZmODk5MTFjLi44NmM3MDU0YTU4OGViYmY0MmM1ZTQwYmEx
ZTY0YmFiM2VkZTI3YjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKQEAgLTQ4LDcgKzQ4LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBk
b3VibGUgbWluaW11bUxpZmV0aW1lID0gMiAqIDYwOworc3RhdGljIGNvbnN0IGRvdWJsZSBzbmFw
c2hvdHRpbmdNaW5pbXVtTGlmZXRpbWUgPSAzMDsKKwogc3RhdGljIGNvbnN0IGRvdWJsZSBzaHV0
ZG93blRpbWVvdXQgPSAxICogNjA7CitzdGF0aWMgY29uc3QgZG91YmxlIHNuYXBzaG90dGluZ1No
dXRkb3duVGltZW91dCA9IDE1OwogCiBQYXNzUmVmUHRyPFBsdWdpblByb2Nlc3NQcm94eT4gUGx1
Z2luUHJvY2Vzc1Byb3h5OjpjcmVhdGUoUGx1Z2luUHJvY2Vzc01hbmFnZXIqIFBsdWdpblByb2Nl
c3NNYW5hZ2VyLCBjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW5JbmZvLCBQbHVnaW5Qcm9j
ZXNzOjpUeXBlIHByb2Nlc3NUeXBlKQogewpAQCAtMjAwLDggKzIwMywxMyBAQCB2b2lkIFBsdWdp
blByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKFByb2Nlc3NMYXVuY2hlciosIENvcmVJ
UEM6OkNvbm5lY3RpbwogICAgIAogICAgIFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMg
cGFyYW1ldGVyczsKICAgICBwYXJhbWV0ZXJzLnByb2Nlc3NUeXBlID0gbV9wcm9jZXNzVHlwZTsK
LSAgICBwYXJhbWV0ZXJzLm1pbmltdW1MaWZldGltZSA9IG1pbmltdW1MaWZldGltZTsKLSAgICBw
YXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IHNodXRkb3duVGltZW91dDsKKyAgICBpZiAo
bV9wcm9jZXNzVHlwZSA9PSBQbHVnaW5Qcm9jZXNzOjpUeXBlU25hcHNob3RQcm9jZXNzKSB7Cisg
ICAgICAgIHBhcmFtZXRlcnMubWluaW11bUxpZmV0aW1lID0gc25hcHNob3R0aW5nTWluaW11bUxp
ZmV0aW1lOworICAgICAgICBwYXJhbWV0ZXJzLnRlcm1pbmF0aW9uVGltZW91dCA9IHNuYXBzaG90
dGluZ1NodXRkb3duVGltZW91dDsKKyAgICB9IGVsc2UgeworICAgICAgICBwYXJhbWV0ZXJzLm1p
bmltdW1MaWZldGltZSA9IG1pbmltdW1MaWZldGltZTsKKyAgICAgICAgcGFyYW1ldGVycy50ZXJt
aW5hdGlvblRpbWVvdXQgPSBzaHV0ZG93blRpbWVvdXQ7CisgICAgfQogICAgIHBsYXRmb3JtSW5p
dGlhbGl6ZVBsdWdpblByb2Nlc3MocGFyYW1ldGVycyk7CiAKICAgICAvLyBJbml0aWFsaXplIHRo
ZSBwbHVnLWluIGhvc3QgcHJvY2Vzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luUHJveHlNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL1BsdWdpblByb3h5TWFjLm1tCmlu
ZGV4IGNmODkzYjlmNjlhYjRlMTY3MWQ5MWVmODBlNTFhMjMyMWM5OTA5NDkuLmZmY2I1NjgwM2Zi
NWYyNjdjNzM1ZGQ2YjI3ZmRhYmVlOTM4MzIwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvUGx1Z2luUHJveHlNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9QbHVnaW5Qcm94
eU1hYy5tbQpAQCAtNTQsNyArNTQsNyBAQCBQbGF0Zm9ybUxheWVyKiBQbHVnaW5Qcm94eTo6cGx1
Z2luTGF5ZXIoKQogICAgICAgICBtX3BsdWdpbkxheWVyLmFkb3B0TlMoW1tDQUxheWVyIGFsbG9j
XSBpbml0XSk7CiAgICAgICAgIFttX3BsdWdpbkxheWVyLmdldCgpIHNldEdlb21ldHJ5RmxpcHBl
ZDpZRVNdOwogCi0gICAgICAgIGlmIChtX3Byb2Nlc3NUeXBlID09IFBsdWdpblByb2Nlc3M6OlR5
cGVSZXN0YXJ0ZWRQcm9jZXNzKSB7CisgICAgICAgIGlmIChtX3Jlc3RhcnRlZFByb2Nlc3MpIHsK
ICAgICAgICAgICAgIENBQmFzaWNBbmltYXRpb24gKmZhZGVJbkFuaW1hdGlvbiA9IFtDQUJhc2lj
QW5pbWF0aW9uIGFuaW1hdGlvbldpdGhLZXlQYXRoOkAib3BhY2l0eSJdOwogICAgICAgICAgICAg
ZmFkZUluQW5pbWF0aW9uLmZyb21WYWx1ZSA9IFtOU051bWJlciBudW1iZXJXaXRoRmxvYXQ6MF07
CiAgICAgICAgICAgICBmYWRlSW5BbmltYXRpb24udG9WYWx1ZSA9IFtOU051bWJlciBudW1iZXJX
aXRoRmxvYXQ6MV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb3h5LmNwcAppbmRleCA0OTAzODBmNmIzYWVhMjcxYTQwZmQzM2Y5M2VmYzhkNWVhMjBj
N2JhLi4xMzVlYWIwYWY3MGE1ZmU5NTY4N2ZiMDY1OGZjODRmMzc4Y2VjMmVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAKQEAgLTU2
LDEyICs1NiwxMiBAQCBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVQbHVnaW5JbnN0YW5jZUlEKCkK
ICAgICByZXR1cm4gKyt1bmlxdWVQbHVnaW5JbnN0YW5jZUlEOwogfQogCi1QYXNzUmVmUHRyPFBs
dWdpblByb3h5PiBQbHVnaW5Qcm94eTo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwg
UGx1Z2luUHJvY2Vzczo6VHlwZSBwcm9jZXNzVHlwZSkKK1Bhc3NSZWZQdHI8UGx1Z2luUHJveHk+
IFBsdWdpblByb3h5OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVnaW5Qcm9j
ZXNzOjpUeXBlIHByb2Nlc3NUeXBlLCBib29sIHJlc3RhcnRlZFByb2Nlc3MpCiB7Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBQbHVnaW5Qcm94eShwbHVnaW5QYXRoLCBwcm9jZXNzVHlwZSkpOwor
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGx1Z2luUHJveHkocGx1Z2luUGF0aCwgcHJvY2Vzc1R5
cGUsIHJlc3RhcnRlZFByb2Nlc3MpKTsKIH0KIAotUGx1Z2luUHJveHk6OlBsdWdpblByb3h5KGNv
bnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGx1Z2luUHJvY2Vzczo6VHlwZSBwcm9jZXNzVHlwZSkK
K1BsdWdpblByb3h5OjpQbHVnaW5Qcm94eShjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIFBsdWdp
blByb2Nlc3M6OlR5cGUgcHJvY2Vzc1R5cGUsIGJvb2wgcmVzdGFydGVkUHJvY2VzcykKICAgICA6
IG1fcGx1Z2luUGF0aChwbHVnaW5QYXRoKQogICAgICwgbV9wbHVnaW5JbnN0YW5jZUlEKGdlbmVy
YXRlUGx1Z2luSW5zdGFuY2VJRCgpKQogICAgICwgbV9wbHVnaW5CYWNraW5nU3RvcmVDb250YWlu
c1ZhbGlkRGF0YShmYWxzZSkKQEAgLTcxLDYgKzcxLDcgQEAgUGx1Z2luUHJveHk6OlBsdWdpblBy
b3h5KGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGx1Z2luUHJvY2Vzczo6VHlwZSBwcm9jZXNz
VHkKICAgICAsIG1fcmVtb3RlTGF5ZXJDbGllbnRJRCgwKQogICAgICwgbV93YWl0aW5nT25Bc3lu
Y2hyb25vdXNJbml0aWFsaXphdGlvbihmYWxzZSkKICAgICAsIG1fcHJvY2Vzc1R5cGUocHJvY2Vz
c1R5cGUpCisgICAgLCBtX3Jlc3RhcnRlZFByb2Nlc3MocmVzdGFydGVkUHJvY2VzcykKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaApp
bmRleCBiMWYwZmEwZWQxOTM2NDg0NTJmN2JlZDhlMDc3YWE0MTIwNWMyM2E1Li4yZDQyMmUwZDk2
OGIyY2YzNjI1Yzk5MjQ4NzFiOThiZGRkNWRjOTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaApAQCAtNTYsNyArNTYsNyBAQCBzdHJ1Y3Qg
UGx1Z2luQ3JlYXRpb25QYXJhbWV0ZXJzOwogCiBjbGFzcyBQbHVnaW5Qcm94eSA6IHB1YmxpYyBQ
bHVnaW4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBsdWdpblByb3h5PiBjcmVh
dGUoY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVnaW5Qcm9jZXNzOjpUeXBlKTsKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxQbHVnaW5Qcm94eT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgcGx1Z2lu
UGF0aCwgUGx1Z2luUHJvY2Vzczo6VHlwZSwgYm9vbCk7CiAgICAgflBsdWdpblByb3h5KCk7CiAK
ICAgICB1aW50NjRfdCBwbHVnaW5JbnN0YW5jZUlEKCkgY29uc3QgeyByZXR1cm4gbV9wbHVnaW5J
bnN0YW5jZUlEOyB9CkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQmVpbmdB
c3luY2hyb25vdXNseUluaXRpYWxpemVkKCkgY29uc3QgeyByZXR1cm4gbV93YWl0aW5nT25Bc3lu
Y2hyb25vdXNJbml0aWFsaXphdGlvbjsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFBsdWdp
blByb3h5KGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGx1Z2luUHJvY2Vzczo6VHlwZSk7Cisg
ICAgZXhwbGljaXQgUGx1Z2luUHJveHkoY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVnaW5Q
cm9jZXNzOjpUeXBlLCBib29sKTsKIAogICAgIC8vIFBsdWdpbgogICAgIHZpcnR1YWwgYm9vbCBp
bml0aWFsaXplKGNvbnN0IFBhcmFtZXRlcnMmKTsKQEAgLTIxOCw2ICsyMTgsNyBAQCBwcml2YXRl
OgogI2VuZGlmCiAKICAgICBQbHVnaW5Qcm9jZXNzOjpUeXBlIG1fcHJvY2Vzc1R5cGU7CisgICAg
Ym9vbCBtX3Jlc3RhcnRlZFByb2Nlc3M7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBlYjA1
OGYxMDNkZTQ3YzBiNzI4NDVmMWUxNjY3ZjhkMGQ3MWQ0ZDg1Li5iMWIyMzdmNDQ4MGYyM2Y2ZGRh
ZDEyMzMzZjdkYTI4ODEwYmMzNTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC01NTksMTIgKzU1OSw5IEBAIFBhc3NSZWZQdHI8UGx1Z2lu
PiBXZWJQYWdlOjpjcmVhdGVQbHVnaW4oV2ViRnJhbWUqIGZyYW1lLCBIVE1MUGx1Z0luRWxlbWVu
dCogcGx1CiAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKLSAgICBQbHVnaW5Qcm9jZXNz
OjpUeXBlIHByb2Nlc3NUeXBlID0gUGx1Z2luUHJvY2Vzczo6VHlwZVJlZ3VsYXJQcm9jZXNzOwot
ICAgIGlmIChwbHVnaW5FbGVtZW50LT5kaXNwbGF5U3RhdGUoKSA9PSBIVE1MUGx1Z0luRWxlbWVu
dDo6V2FpdGluZ0ZvclNuYXBzaG90KQotICAgICAgICBwcm9jZXNzVHlwZSA9IFBsdWdpblByb2Nl
c3M6OlR5cGVTbmFwc2hvdFByb2Nlc3M7Ci0gICAgZWxzZSBpZiAocGx1Z2luRWxlbWVudC0+ZGlz
cGxheVN0YXRlKCkgPT0gSFRNTFBsdWdJbkVsZW1lbnQ6OlJlc3RhcnRpbmcgfHwgcGx1Z2luRWxl
bWVudC0+ZGlzcGxheVN0YXRlKCkgPT0gSFRNTFBsdWdJbkVsZW1lbnQ6OlJlc3RhcnRpbmdXaXRo
UGVuZGluZ01vdXNlQ2xpY2spCi0gICAgICAgIHByb2Nlc3NUeXBlID0gUGx1Z2luUHJvY2Vzczo6
VHlwZVJlc3RhcnRlZFByb2Nlc3M7Ci0gICAgcmV0dXJuIFBsdWdpblByb3h5OjpjcmVhdGUocGx1
Z2luUGF0aCwgcHJvY2Vzc1R5cGUpOworICAgIFBsdWdpblByb2Nlc3M6OlR5cGUgcHJvY2Vzc1R5
cGUgPSAocGx1Z2luRWxlbWVudC0+ZGlzcGxheVN0YXRlKCkgPT0gSFRNTFBsdWdJbkVsZW1lbnQ6
OldhaXRpbmdGb3JTbmFwc2hvdCA/IFBsdWdpblByb2Nlc3M6OlR5cGVTbmFwc2hvdFByb2Nlc3Mg
OiBQbHVnaW5Qcm9jZXNzOjpUeXBlUmVndWxhclByb2Nlc3MpOworICAgIGJvb2wgcmVzdGFydGVk
UHJvY2VzcyA9IChwbHVnaW5FbGVtZW50LT5kaXNwbGF5U3RhdGUoKSA9PSBIVE1MUGx1Z0luRWxl
bWVudDo6UmVzdGFydGluZyB8fCBwbHVnaW5FbGVtZW50LT5kaXNwbGF5U3RhdGUoKSA9PSBIVE1M
UGx1Z0luRWxlbWVudDo6UmVzdGFydGluZ1dpdGhQZW5kaW5nTW91c2VDbGljayk7CisgICAgcmV0
dXJuIFBsdWdpblByb3h5OjpjcmVhdGUocGx1Z2luUGF0aCwgcHJvY2Vzc1R5cGUsIHJlc3RhcnRl
ZFByb2Nlc3MpOwogI2Vsc2UKICAgICBOZXRzY2FwZVBsdWdpbjo6c2V0U2V0RXhjZXB0aW9uRnVu
Y3Rpb24oTlBSdW50aW1lT2JqZWN0TWFwOjpzZXRHbG9iYWxFeGNlcHRpb24pOwogICAgIHJldHVy
biBOZXRzY2FwZVBsdWdpbjo6Y3JlYXRlKE5ldHNjYXBlUGx1Z2luTW9kdWxlOjpnZXRPckNyZWF0
ZShwbHVnaW5QYXRoKSk7Cg==
</data>
<flag name="review"
          id="219130"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>