<?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>107216</bug_id>
          
          <creation_ts>2013-01-17 19:29:52 -0800</creation_ts>
          <short_desc>Don&apos;t initialize AppKit for processes that don&apos;t use it</short_desc>
          <delta_ts>2013-01-18 18:55:28 -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>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>810119</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-17 19:29:52 -0800</bug_when>
    <thetext>Don&apos;t initialize AppKit for processes that don&apos;t use it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810128</commentid>
    <comment_count>1</comment_count>
      <attachid>183353</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-17 19:35:00 -0800</bug_when>
    <thetext>Created attachment 183353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810316</commentid>
    <comment_count>2</comment_count>
      <attachid>183353</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-18 00:24:46 -0800</bug_when>
    <thetext>Comment on attachment 183353
Patch

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

r=me, but please double-check [[NSApplication sharedApplication] _installAutoreleasePoolsOnCurrentThreadIfNecessary] usage. It looks very suspicious to me.

&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm:65
&gt; +        [NSApplication sharedApplication];
&gt; +
&gt; +        // Installs autorelease pools on the current CFRunLoop which prevents memory from accumulating between user events.
&gt; +        // FIXME: Remove when &lt;rdar://problem/8929426&gt; is fixed.
&gt; +        [[NSApplication sharedApplication] _installAutoreleasePoolsOnCurrentThreadIfNecessary];

This code is confusing.

1. We call [NSApplication sharedApplication] twice, without any clear reason. There was a previously a FIXME about WebCore::RunLoop limitations that sounded obsolete (NSApp is equivalent to [NSApplication sharedApplication], and RunLoop uses NSApp).

2. PluginProcess doesn&apos;t use a plain CFRunLoop, so the comment is not immediately helpful at best, or misleading otherwise. Perhaps we actually need this call in processes that do not use NSApplication run loop, not in those that do? But do we even have a &quot;current CFRunLoop&quot; here?

&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMainMac.mm:71
&gt; +            // We are never going to get to the actual initialization, so initialize WebKit2 now.

What is &quot;actual initialization&quot;?

&gt; Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm:42
&gt;  #import &lt;wtf/text/WTFString.h&gt;
&gt; +#import &lt;WebCore/RunLoop.h&gt;

Alphabetic ordering.

&gt; Source/WebKit2/WebProcess/mac/WebProcessServiceEntryPoints.mm:85
&gt; +    WebCore::RunLoop::setUseApplicationRunLoopOnMainRunLoop();

Can we be &quot;using namespace WebCore&quot; in this file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810317</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-18 00:26:28 -0800</bug_when>
    <thetext>Also, can we ASSERT in RunLoop::setUseApplicationRunLoopOnMainRunLoop() now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811254</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-18 18:55:28 -0800</bug_when>
    <thetext>Committed r140230: &lt;http://trac.webkit.org/changeset/140230&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183353</attachid>
            <date>2013-01-17 19:35:00 -0800</date>
            <delta_ts>2013-01-18 00:24:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107216-20130117193200.patch</filename>
            <type>text/plain</type>
            <size>12248</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjUwMTc5ZjZlZGVhOTcx
NzY0ZTgwOWJlMTRjNmRlMGIwOGVhNDg4Yi4uNjRhYWIzMmNlNGVkN2E5MWFjNjE4ZjI3MzgwMjU1
ODkyZDZkMzdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTE3ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRG9uJ3QgaW5pdGlhbGl6ZSBBcHBL
aXQgZm9yIHByb2Nlc3NlcyB0aGF0IGRvbid0IHVzZSBpdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9j
ZXNzTWFpbk1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc01haW5EZWxlZ2F0
ZTo6ZG9QcmVJbml0aWFsaXphdGlvbldvcmspOgorICAgICAgICAqIFdlYlByb2Nlc3MvbWFjL1dl
YlByb2Nlc3NNYWluTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzTWFpbkRlbGVn
YXRlOjpkb1ByZUluaXRpYWxpemF0aW9uV29yayk6CisgICAgICAgIE1vdmUgQXBwS2l0IGluaXRp
YWxpemF0aW9uIHRvIHRoZSB0d28gcGxhY2VzIGl0IGlzIHVzZWQsIHRoZSBXZWJQcm9jZXNzTWFp
biBhbmQgdGhlIFBsdWdpblByb2Nlc3NNYWluLgorCisgICAgICAgICogU2hhcmVkL0NoaWxkUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNoaWxkUHJvY2Vzczo6aW5pdGlhbGl6ZSk6Cisg
ICAgICAgIFJlbW92ZSByZWR1bmRhbnQgY2FsbCB0byBJbml0aWFsaXplV2ViS2l0MigpLgorCisg
ICAgICAgICogU2hhcmVkL21hYy9DaGlsZFByb2Nlc3NNYWluLmg6CisgICAgICAgIChXZWJLaXQ6
OkNoaWxkUHJvY2Vzc01haW4pOgorICAgICAgICBSZW1vdmUgaW5pdGlhbGl6YXRpb24gb2YgQXBw
S2l0IG5vdyB0aGF0IHRoZSBkZWxlZ2F0ZSBkb2VzIGl0IGlmIG5lY2Vzc2FyeSwKKyAgICAgICAg
YW5kIG1vdmUgSW5pdGlhbGl6ZVdlYktpdDIoKSB0byBhZnRlciBkZWxlZ2F0ZS5kb1ByZUluaXRp
YWxpemF0aW9uV29yaygpLCBzbworICAgICAgICB0aGUgZGVsZWdhdGUgaGFzIGEgY2hhbmNlIHRv
IHNldCB0aGluZ3MgdXAgaXQsIGluIHRoaXMgY2FzZSwgY2FsbGluZyAKKyAgICAgICAgUnVuTG9v
cDo6c2V0VXNlQXBwbGljYXRpb25SdW5Mb29wT25NYWluUnVuTG9vcCBpZiBuZWVkZWQuCisKKyAg
ICAgICAgKiBQbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tOgorICAgICAgICAo
V2ViS2l0OjpQbHVnaW5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKToKKyAgICAgICAgUmVt
b3ZlIG5vdyByZWR1bmRhbnQgY2FsbCB0byBSdW5Mb29wOjpzZXRVc2VBcHBsaWNhdGlvblJ1bkxv
b3BPbk1haW5SdW5Mb29wKCkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNz
U2VydmljZUVudHJ5UG9pbnRzLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzU2Vydmlj
ZUV2ZW50SGFuZGxlcik6CisgICAgICAgICh3ZWJQcm9jZXNzU2VydmljZU1haW4pOgorICAgICAg
ICAoaW5pdGlhbGl6ZVdlYlByb2Nlc3NGb3JXZWJQcm9jZXNzU2VydmljZUZvcldlYktpdERldmVs
b3BtZW50KToKKyAgICAgICAgQ2FsbCBXZWJDb3JlOjpSdW5Mb29wOjpzZXRVc2VBcHBsaWNhdGlv
blJ1bkxvb3BPbk1haW5SdW5Mb29wKCkgYW5kIG1ha2UgY2FsbCB0byBJbml0aWFsaXplV2ViS2l0
MigpCisgICAgICAgIG1vcmUgY29uc2lzdGVudC4KKwogMjAxMy0wMS0xNyAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgRWFjaCBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyBzaG91bGQga2VlcCBpdHMgb3duIG1hcCBvZiBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Q
cm9jZXNzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJv
Y2Vzc01hYy5tbQppbmRleCA1MTFhZjJiMmUyNzYxODdiZmMwYjMxNGFkNjQ4MTA2MTc3MmNjMTQ4
Li5jMjQ2N2M0OGVhODFkYjNhMmVjNDA1ZDRjODk2ZWU1MDQyZGQzZmQwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0KQEAg
LTM0MCw4ICszNDAsNiBAQCBzdGF0aWMgdm9pZCBtdXRlQXVkaW8odm9pZCkKIAogdm9pZCBQbHVn
aW5Qcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQbHVnaW5Qcm9jZXNzKGNvbnN0IFBsdWdpblBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7Ci0gICAgUnVuTG9vcDo6c2V0
VXNlQXBwbGljYXRpb25SdW5Mb29wT25NYWluUnVuTG9vcCgpOwotCiAgICAgbV9jb21wb3NpdGlu
Z1JlbmRlclNlcnZlclBvcnQgPSBwYXJhbWV0ZXJzLmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdQb3J0
LnBvcnQoKTsKIAogICAgIE5TU3RyaW5nICphcHBsaWNhdGlvbk5hbWUgPSBbTlNTdHJpbmcgc3Ry
aW5nV2l0aEZvcm1hdDpXRUJfVUlfU1RSSU5HKCIlQCAoJUAgSW50ZXJuZXQgcGx1Zy1pbikiLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vz
c01haW5NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9j
ZXNzTWFpbk1hYy5tbQppbmRleCA0NjIxNzFjOWE2NzczNWFjYjI5NjVhN2RjYWMwN2E2ZTc2NjI1
MmExLi41ZjM4MWNhNTVlYWNlMWVlYjgwZmRiYzcyMTI5NDJhYWJkM2QyOGMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFpbk1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFp
bk1hYy5tbQpAQCAtMzIsNiArMzIsMTMgQEAKICNpbXBvcnQgIkVudmlyb25tZW50VXRpbGl0aWVz
LmgiCiAjaW1wb3J0ICJOZXRzY2FwZVBsdWdpbk1vZHVsZS5oIgogI2ltcG9ydCAiUGx1Z2luUHJv
Y2Vzcy5oIgorI2ltcG9ydCA8V2ViQ29yZS9SdW5Mb29wLmg+CisKKyNpZiBVU0UoQVBQS0lUKQor
QGludGVyZmFjZSBOU0FwcGxpY2F0aW9uIChXZWJOU0FwcGxpY2F0aW9uRGV0YWlscykKKy0odm9p
ZClfaW5zdGFsbEF1dG9yZWxlYXNlUG9vbHNPbkN1cnJlbnRUaHJlYWRJZk5lY2Vzc2FyeTsKK0Bl
bmQKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNDgsOSArNTUsMjIgQEAgcHVi
bGljOgogICAgICAgICAvLyBzcGF3bmVkIGJ5IHRoZSBQbHVnaW5Qcm9jZXNzIGRvbid0IHRyeSB0
byBpbnNlcnQgdGhlIHNoaW0gYW5kIGNyYXNoLgogICAgICAgICBFbnZpcm9ubWVudFV0aWxpdGll
czo6c3RyaXBWYWx1ZXNFbmRpbmdXaXRoU3RyaW5nKCJEWUxEX0lOU0VSVF9MSUJSQVJJRVMiLCAi
L1BsdWdpblByb2Nlc3NTaGltLmR5bGliIik7CiAKKyNpZiBVU0UoQVBQS0lUKQorICAgICAgICBX
ZWJDb3JlOjpSdW5Mb29wOjpzZXRVc2VBcHBsaWNhdGlvblJ1bkxvb3BPbk1haW5SdW5Mb29wKCk7
CisKKyAgICAgICAgW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dOworCisgICAgICAg
IC8vIEluc3RhbGxzIGF1dG9yZWxlYXNlIHBvb2xzIG9uIHRoZSBjdXJyZW50IENGUnVuTG9vcCB3
aGljaCBwcmV2ZW50cyBtZW1vcnkgZnJvbSBhY2N1bXVsYXRpbmcgYmV0d2VlbiB1c2VyIGV2ZW50
cy4KKyAgICAgICAgLy8gRklYTUU6IFJlbW92ZSB3aGVuIDxyZGFyOi8vcHJvYmxlbS84OTI5NDI2
PiBpcyBmaXhlZC4KKyAgICAgICAgW1tOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBf
aW5zdGFsbEF1dG9yZWxlYXNlUG9vbHNPbkN1cnJlbnRUaHJlYWRJZk5lY2Vzc2FyeV07CisjZW5k
aWYKKwogICAgICAgICAvLyBDaGVjayBpZiB3ZSdyZSBiZWluZyBzcGF3bmVkIHRvIHdyaXRlIGEg
TUlNRSB0eXBlIHByZWZlcmVuY2VzIGZpbGUuCiAgICAgICAgIFN0cmluZyBwbHVnaW5QYXRoID0g
bV9jb21tYW5kTGluZVsiY3JlYXRlUGx1Z2luTUlNRVR5cGVzUHJlZmVyZW5jZXMiXTsKICAgICAg
ICAgaWYgKCFwbHVnaW5QYXRoLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgLy8gV2UgYXJlIG5l
dmVyIGdvaW5nIHRvIGdldCB0byB0aGUgYWN0dWFsIGluaXRpYWxpemF0aW9uLCBzbyBpbml0aWFs
aXplIFdlYktpdDIgbm93LgorICAgICAgICAgICAgSW5pdGlhbGl6ZVdlYktpdDIoKTsKKwogICAg
ICAgICAgICAgaWYgKCFOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Y3JlYXRlUGx1Z2luTUlNRVR5cGVz
UHJlZmVyZW5jZXMocGx1Z2luUGF0aCkpCiAgICAgICAgICAgICAgICAgZXhpdChFWElUX0ZBSUxV
UkUpOwogICAgICAgICAgICAgZXhpdChFWElUX1NVQ0NFU1MpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmNwcAppbmRleCA1NmU2YTE5ZDQ2YWQ0MGI4NGI5NDk2MDY4YzRmYzMwZjJk
Y2UyMzNiLi4yZGZlMWY4MWM3YjY2MzA2MjFhYTYzNjVkNzBjNWE1ZTZiMTY1ZDAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmNwcApAQCAtNjYsOCArNjYsNiBAQCBzdGF0aWMg
dm9pZCBkaWRDbG9zZU9uQ29ubmVjdGlvbldvcmtRdWV1ZShXb3JrUXVldWUmIHdvcmtRdWV1ZSwg
Q29yZUlQQzo6Q29ubmVjdAogCiB2b2lkIENoaWxkUHJvY2Vzczo6aW5pdGlhbGl6ZShjb25zdCBD
aGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7Ci0gICAg
SW5pdGlhbGl6ZVdlYktpdDIoKTsKLQogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogCiAgICAg
aW5pdGlhbGl6ZVByb2Nlc3MocGFyYW1ldGVycyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01haW4uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9t
YWMvQ2hpbGRQcm9jZXNzTWFpbi5oCmluZGV4IGNkYjVhYzcyOTQxNjY3NzliODFhZjZiZTVjNGNi
OTllNzc4NDE4NDguLjZiODRkMjg1ZWRjMzkxODM1NDliMTI5ZjM3Y2NmM2E3Zjk3NTg4OTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2hpbGRQcm9jZXNzTWFpbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2hpbGRQcm9jZXNzTWFpbi5oCkBAIC0zMywx
MiArMzMsNiBAQAogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW1wb3J0IDxz
eXNleGl0cy5oPgogCi0jaWYgVVNFKEFQUEtJVCkKLUBpbnRlcmZhY2UgTlNBcHBsaWNhdGlvbiAo
V2ViTlNBcHBsaWNhdGlvbkRldGFpbHMpCi0tKHZvaWQpX2luc3RhbGxBdXRvcmVsZWFzZVBvb2xz
T25DdXJyZW50VGhyZWFkSWZOZWNlc3Nhcnk7Ci1AZW5kCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIENoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZSB7CkBAIC02OSwxMSArNjMs
MTEgQEAgaW50IENoaWxkUHJvY2Vzc01haW4oY29uc3QgQ29tbWFuZExpbmUmIGNvbW1hbmRMaW5l
KQogICAgIENoaWxkUHJvY2Vzc01haW5EZWxlZ2F0ZVR5cGUgZGVsZWdhdGUoY29tbWFuZExpbmUp
OwogCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAgICAgIEluaXRpYWxpemVXZWJLaXQyKCk7
Ci0KICAgICAgICAgZGVsZWdhdGUuaW5zdGFsbFNpZ25hbEhhbmRsZXJzKCk7CiAgICAgICAgIGRl
bGVnYXRlLmRvUHJlSW5pdGlhbGl6YXRpb25Xb3JrKCk7CiAKKyAgICAgICAgSW5pdGlhbGl6ZVdl
YktpdDIoKTsKKwogICAgICAgICBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMg
cGFyYW1ldGVyczsKICAgICAgICAgaWYgKCFkZWxlZ2F0ZS5nZXRDb25uZWN0aW9uSWRlbnRpZmll
cihwYXJhbWV0ZXJzLmNvbm5lY3Rpb25JZGVudGlmaWVyKSkKICAgICAgICAgICAgIHJldHVybiBF
WElUX0ZBSUxVUkU7CkBAIC05MCwxNiArODQsNiBAQCBpbnQgQ2hpbGRQcm9jZXNzTWFpbihjb25z
dCBDb21tYW5kTGluZSYgY29tbWFuZExpbmUpCiAgICAgICAgIGlmIChjZkxvY2FsaXphdGlvbikK
ICAgICAgICAgICAgIFdLU2V0RGVmYXVsdExvY2FsaXphdGlvbihjZkxvY2FsaXphdGlvbi5nZXQo
KSk7CiAKLSNpZiBVU0UoQVBQS0lUKQotICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG5vdCBu
ZWVkIHRvIHVzZSBBcHBLaXQgaW4gZXZlcnkgcHJvY2VzcywgYnV0IHJpZ2h0IG5vdywgV2ViQ29y
ZTo6UnVuTG9vcCBkZXBlbmRzCi0gICAgICAgIC8vIG9uIHRoZSBvdXRlciBtb3N0IHJ1bmxvb3Ag
YmVpbmcgYW4gQXBwS2l0IHJ1bmxvb3AuCi0gICAgICAgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFw
cGxpY2F0aW9uXTsKLQotICAgICAgICAvLyBJbnN0YWxscyBhdXRvcmVsZWFzZSBwb29scyBvbiB0
aGUgY3VycmVudCBDRlJ1bkxvb3Agd2hpY2ggcHJldmVudHMgbWVtb3J5IGZyb20gYWNjdW11bGF0
aW5nIGJldHdlZW4gdXNlciBldmVudHMuCi0gICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgd2hlbiA8
cmRhcjovL3Byb2JsZW0vODkyOTQyNj4gaXMgZml4ZWQuCi0gICAgICAgIFtbTlNBcHBsaWNhdGlv
biBzaGFyZWRBcHBsaWNhdGlvbl0gX2luc3RhbGxBdXRvcmVsZWFzZVBvb2xzT25DdXJyZW50VGhy
ZWFkSWZOZWNlc3NhcnldOwotI2VuZGlmCi0KICAgICAgICAgQ2hpbGRQcm9jZXNzVHlwZTo6c2hh
cmVkKCkuaW5pdGlhbGl6ZShwYXJhbWV0ZXJzKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCmluZGV4IDUyYTVhOTkzZTk2NzQ5OGYz
OTEyOTAyYjdlNWVmNDNkYTFhYWViNzQuLjFmNWQ4OGI4NDYxZmJkNzFiNjkyYzBiZTViNGQ1YWZl
YWM0NGY0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlBy
b2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vz
c01hYy5tbQpAQCAtMzA1LDggKzMwNSw2IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVBy
b2Nlc3NOYW1lKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVyCiAKIHZv
aWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nl
c3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKQogewotICAgIFJ1bkxvb3A6OnNldFVzZUFwcGxp
Y2F0aW9uUnVuTG9vcE9uTWFpblJ1bkxvb3AoKTsKLQogICAgIFdLQVhSZWdpc3RlclJlbW90ZUFw
cCgpOwogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWluTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01haW5NYWMubW0KaW5kZXggM2I5ZDEzMTJmMTg5
NjgzMDI2NjY4OTQ2NTc4MjBhNWRkNDhhYzY2OC4uODhkOTkyNDAxY2M3NWVhMWJjMzU2Yzc0ZTQ0
NzhlMzQwODE4NTFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMv
V2ViUHJvY2Vzc01haW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMv
V2ViUHJvY2Vzc01haW5NYWMubW0KQEAgLTM5LDYgKzM5LDEzIEBACiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW1wb3J0IDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUnVuTG9vcC5oPgorCisjaWYgVVNFKEFQ
UEtJVCkKK0BpbnRlcmZhY2UgTlNBcHBsaWNhdGlvbiAoV2ViTlNBcHBsaWNhdGlvbkRldGFpbHMp
CistKHZvaWQpX2luc3RhbGxBdXRvcmVsZWFzZVBvb2xzT25DdXJyZW50VGhyZWFkSWZOZWNlc3Nh
cnk7CitAZW5kCisjZW5kaWYKIAogZXh0ZXJuICJDIiBrZXJuX3JldHVybl90IGJvb3RzdHJhcF9y
ZWdpc3RlcjIobWFjaF9wb3J0X3QsIG5hbWVfdCwgbWFjaF9wb3J0X3QsIHVpbnQ2NF90KTsKIApA
QCAtNTYsNiArNjMsMTYgQEAgcHVibGljOgogICAgICAgICAvLyBSZW1vdmUgdGhlIFdlYlByb2Nl
c3Mgc2hpbSBmcm9tIHRoZSBEWUxEX0lOU0VSVF9MSUJSQVJJRVMgZW52aXJvbm1lbnQgdmFyaWFi
bGUgc28gYW55IHByb2Nlc3NlcyBzcGF3bmVkIGJ5CiAgICAgICAgIC8vIHRoZSBXZWJQcm9jZXNz
IGRvbid0IHRyeSB0byBpbnNlcnQgdGhlIHNoaW0gYW5kIGNyYXNoLgogICAgICAgICBFbnZpcm9u
bWVudFV0aWxpdGllczo6c3RyaXBWYWx1ZXNFbmRpbmdXaXRoU3RyaW5nKCJEWUxEX0lOU0VSVF9M
SUJSQVJJRVMiLCAiL1NlY0l0ZW1TaGltLmR5bGliIik7CisgICAgCisjaWYgVVNFKEFQUEtJVCkK
KyAgICAgICAgV2ViQ29yZTo6UnVuTG9vcDo6c2V0VXNlQXBwbGljYXRpb25SdW5Mb29wT25NYWlu
UnVuTG9vcCgpOworCisgICAgICAgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsK
KworICAgICAgICAvLyBJbnN0YWxscyBhdXRvcmVsZWFzZSBwb29scyBvbiB0aGUgY3VycmVudCBD
RlJ1bkxvb3Agd2hpY2ggcHJldmVudHMgbWVtb3J5IGZyb20gYWNjdW11bGF0aW5nIGJldHdlZW4g
dXNlciBldmVudHMuCisgICAgICAgIC8vIEZJWE1FOiBSZW1vdmUgd2hlbiA8cmRhcjovL3Byb2Js
ZW0vODkyOTQyNj4gaXMgZml4ZWQuCisgICAgICAgIFtbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBs
aWNhdGlvbl0gX2luc3RhbGxBdXRvcmVsZWFzZVBvb2xzT25DdXJyZW50VGhyZWFkSWZOZWNlc3Nh
cnldOworI2VuZGlmCiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIGdldENvbm5lY3Rpb25JZGVu
dGlmaWVyKENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXImIGlkZW50aWZpZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzU2VydmljZUVu
dHJ5UG9pbnRzLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc1Nl
cnZpY2VFbnRyeVBvaW50cy5tbQppbmRleCAwOTYwMDQ1YzgwNWY0NTFiNTcxMjhlNWU0NGVkMTI3
NjFkNzUwY2ZlLi42MDc0NDU1NGMxZWZhZTgyM2UwNmUxMDRmYTcyYmJmNTk4ZDkxODhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzU2VydmljZUVu
dHJ5UG9pbnRzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nl
c3NTZXJ2aWNlRW50cnlQb2ludHMubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgIkVudmly
b25tZW50VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJLaXQySW5pdGlhbGl6ZS5oIgogI2ltcG9y
dCAiV2ViUHJvY2Vzcy5oIgorI2ltcG9ydCA8V2ViQ29yZS9SdW5Mb29wLmg+CiAjaW1wb3J0IDxz
dGRpby5oPgogI2ltcG9ydCA8c3RkbGliLmg+CiAjaW1wb3J0IDx4cGMveHBjLmg+CkBAIC01OCw4
ICs1OSw2IEBAIHN0YXRpYyB2b2lkIFdlYlByb2Nlc3NTZXJ2aWNlRXZlbnRIYW5kbGVyKHhwY19j
b25uZWN0aW9uX3QgcGVlcikKICAgICAgICAgICAgICAgICB4cGNfY29ubmVjdGlvbl9zZW5kX21l
c3NhZ2UoeHBjX2RpY3Rpb25hcnlfZ2V0X3JlbW90ZV9jb25uZWN0aW9uKGV2ZW50KSwgcmVwbHkp
OwogICAgICAgICAgICAgICAgIHhwY19yZWxlYXNlKHJlcGx5KTsKIAotICAgICAgICAgICAgICAg
IEluaXRpYWxpemVXZWJLaXQyKCk7Ci0KICAgICAgICAgICAgICAgICBDaGlsZFByb2Nlc3NJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKICAgICAgICAgICAgICAgICBwYXJhbWV0
ZXJzLnVpUHJvY2Vzc05hbWUgPSB4cGNfZGljdGlvbmFyeV9nZXRfc3RyaW5nKGV2ZW50LCAidWkt
cHJvY2Vzcy1uYW1lIik7CiAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy5jbGllbnRJZGVudGlm
aWVyID0geHBjX2RpY3Rpb25hcnlfZ2V0X3N0cmluZyhldmVudCwgImNsaWVudC1pZGVudGlmaWVy
Iik7CkBAIC03NSwxMyArNzQsMTggQEAgc3RhdGljIHZvaWQgV2ViUHJvY2Vzc1NlcnZpY2VFdmVu
dEhhbmRsZXIoeHBjX2Nvbm5lY3Rpb25fdCBwZWVyKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKwogaW50IHdlYlByb2Nlc3NTZXJ2aWNlTWFpbihp
bnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7CiAgICAgLy8gUmVtb3ZlIHRoZSBXZWJQcm9jZXNzIHNo
aW0gZnJvbSB0aGUgRFlMRF9JTlNFUlRfTElCUkFSSUVTIGVudmlyb25tZW50IHZhcmlhYmxlIHNv
IGFueSBwcm9jZXNzZXMgc3Bhd25lZCBieQogICAgIC8vIHRoZSBXZWJQcm9jZXNzIGRvbid0IHRy
eSB0byBpbnNlcnQgdGhlIHNoaW0gYW5kIGNyYXNoLgotICAgIFdlYktpdDo6RW52aXJvbm1lbnRV
dGlsaXRpZXM6OnN0cmlwVmFsdWVzRW5kaW5nV2l0aFN0cmluZygiRFlMRF9JTlNFUlRfTElCUkFS
SUVTIiwgIi9TZWNJdGVtU2hpbS5keWxpYiIpOworICAgIEVudmlyb25tZW50VXRpbGl0aWVzOjpz
dHJpcFZhbHVlc0VuZGluZ1dpdGhTdHJpbmcoIkRZTERfSU5TRVJUX0xJQlJBUklFUyIsICIvU2Vj
SXRlbVNoaW0uZHlsaWIiKTsKKworICAgIFdlYkNvcmU6OlJ1bkxvb3A6OnNldFVzZUFwcGxpY2F0
aW9uUnVuTG9vcE9uTWFpblJ1bkxvb3AoKTsKKyAgICBJbml0aWFsaXplV2ViS2l0MigpOwogCi0g
ICAgeHBjX21haW4oV2ViS2l0OjpXZWJQcm9jZXNzU2VydmljZUV2ZW50SGFuZGxlcik7CisgICAg
eHBjX21haW4oV2ViUHJvY2Vzc1NlcnZpY2VFdmVudEhhbmRsZXIpOwogICAgIHJldHVybiAwOwog
fQogCkBAIC04OSwxNiArOTMsMTcgQEAgdm9pZCBpbml0aWFsaXplV2ViUHJvY2Vzc0ZvcldlYlBy
b2Nlc3NTZXJ2aWNlRm9yV2ViS2l0RGV2ZWxvcG1lbnQoY29uc3QgY2hhciogY2wKIHsKICAgICAv
LyBSZW1vdmUgdGhlIFdlYlByb2Nlc3Mgc2hpbSBmcm9tIHRoZSBEWUxEX0lOU0VSVF9MSUJSQVJJ
RVMgZW52aXJvbm1lbnQgdmFyaWFibGUgc28gYW55IHByb2Nlc3NlcyBzcGF3bmVkIGJ5CiAgICAg
Ly8gdGhlIFdlYlByb2Nlc3MgZG9uJ3QgdHJ5IHRvIGluc2VydCB0aGUgc2hpbSBhbmQgY3Jhc2gu
Ci0gICAgV2ViS2l0OjpFbnZpcm9ubWVudFV0aWxpdGllczo6c3RyaXBWYWx1ZXNFbmRpbmdXaXRo
U3RyaW5nKCJEWUxEX0lOU0VSVF9MSUJSQVJJRVMiLCAiL1NlY0l0ZW1TaGltLmR5bGliIik7Cisg
ICAgRW52aXJvbm1lbnRVdGlsaXRpZXM6OnN0cmlwVmFsdWVzRW5kaW5nV2l0aFN0cmluZygiRFlM
RF9JTlNFUlRfTElCUkFSSUVTIiwgIi9TZWNJdGVtU2hpbS5keWxpYiIpOwogCi0gICAgV2ViS2l0
OjpJbml0aWFsaXplV2ViS2l0MigpOworICAgIFdlYkNvcmU6OlJ1bkxvb3A6OnNldFVzZUFwcGxp
Y2F0aW9uUnVuTG9vcE9uTWFpblJ1bkxvb3AoKTsKKyAgICBJbml0aWFsaXplV2ViS2l0MigpOwog
Ci0gICAgV2ViS2l0OjpDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMgcGFyYW1l
dGVyczsKKyAgICBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVy
czsKICAgICBwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWUgPSB1aVByb2Nlc3NOYW1lOwogICAgIHBh
cmFtZXRlcnMuY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElkZW50aWZpZXI7CiAgICAgcGFyYW1l
dGVycy5jb25uZWN0aW9uSWRlbnRpZmllciA9IENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZp
ZXIoc2VydmVyUG9ydCwgY29ubmVjdGlvbik7CiAKLSAgICBXZWJLaXQ6OldlYlByb2Nlc3M6OnNo
YXJlZCgpLmluaXRpYWxpemUocGFyYW1ldGVycyk7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCku
aW5pdGlhbGl6ZShwYXJhbWV0ZXJzKTsKIH0KIAogI2VuZGlmIC8vIEhBVkUoWFBDKQo=
</data>
<flag name="review"
          id="201695"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>