<?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>139043</bug_id>
          
          <creation_ts>2014-11-25 07:58:19 -0800</creation_ts>
          <short_desc>Add a user content controller to WebViewGroup and use it for user content</short_desc>
          <delta_ts>2014-11-25 08:15:57 -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>New Bugs</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1051002</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-11-25 07:58:19 -0800</bug_when>
    <thetext>Add a user content controller to WebViewGroup and use it for user content</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051004</commentid>
    <comment_count>1</comment_count>
      <attachid>242196</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-11-25 08:04:03 -0800</bug_when>
    <thetext>Created attachment 242196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051006</commentid>
    <comment_count>2</comment_count>
      <attachid>242196</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-11-25 08:12:10 -0800</bug_when>
    <thetext>Comment on attachment 242196
Patch

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

&gt; Source/WebKit/mac/WebCoreSupport/WebViewGroup.h:48
&gt; +    RefPtr&lt;WebCore::UserContentController&gt; m_userContentController;

Ref&lt;&gt;

&gt; Source/WebKit/mac/WebView/WebView.mm:4010
&gt; +    auto viewGroup = WebViewGroup::get(group);

auto*

&gt; Source/WebKit/mac/WebView/WebView.mm:4035
&gt; +    auto viewGroup = WebViewGroup::get(group);

auto*

&gt; Source/WebKit/mac/WebView/WebView.mm:4052
&gt; +    auto viewGroup = WebViewGroup::get(group);

etc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051007</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-11-25 08:15:57 -0800</bug_when>
    <thetext>Committed r176542: &lt;http://trac.webkit.org/changeset/176542&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242196</attachid>
            <date>2014-11-25 08:04:03 -0800</date>
            <delta_ts>2014-11-25 08:12:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139043-20141125080424.patch</filename>
            <type>text/plain</type>
            <size>16585</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2NTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjI1OTM1NmQ2OGQxZTBi
NTU5ODM4YzNlZjRmZmZmMWRjZGQ1NjI2Yy4uYTQyMzc0NTA0MTNmZGU3NGQzM2IxM2Y0ZDVmZDA0
M2RiYmJlMmQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTExLTI1ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgdXNlciBj
b250ZW50IGNvbnRyb2xsZXIgdG8gV2ViVmlld0dyb3VwIGFuZCB1c2UgaXQgZm9yIHVzZXIgY29u
dGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5
MDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgRXhwb3J0IHN5bWJvbHMuCisKKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0VXNlckNvbnRlbnRDb250cm9s
bGVyKToKKyAgICAgICAgSW52YWxpZGF0ZSB0aGUgaW5qZWN0ZWQgc3R5bGUgY2FjaGUgd2hlbiBz
ZXR0aW5nIGEgbmV3IHVzZXIgY29udGVudCBjb250cm9sbGVyLgorCiAyMDE0LTExLTI0ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIFN0
eWxlIHN0cnVjdCBmcm9tIFNpbXBsZUxpbmVMYXlvdXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXgg
M2ZmZjgxODc0MzlhNzhhYjQ5OTI4OTZiZGUyOGJkZGU0ZGU5OTcxMC4uNjMyODZhNDc2YjhjMTBm
MTg3MDA1M2M3ZjFkNDQyODhmNjc2OWUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDE0LTExLTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIGEgdXNlciBjb250ZW50IGNvbnRyb2xsZXIgdG8gV2ViVmlld0dyb3VwIGFu
ZCB1c2UgaXQgZm9yIHVzZXIgY29udGVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBhbm90aGVyIHRpbnkgc3RlcCB0b3dhcmRzIGdldHRp
bmcgcmlkIG9mIHVzZXIgY29udGVudCBoYW5kbGluZyBpbnNpZGUgUGFnZUdyb3VwLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViVmlld0dyb3VwLmg6CisgICAgICAgIChXZWJWaWV3R3Jv
dXA6OnVzZXJDb250ZW50Q29udHJvbGxlcik6CisgICAgICAgIEFkZCBhIFVzZXJDb250ZW50Q29u
dHJvbGxlciBtZW1iZXIgYW5kIGdldHRlci4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
YlZpZXdHcm91cC5tbToKKyAgICAgICAgKFdlYlZpZXdHcm91cDo6Z2V0KToKKyAgICAgICAgSGVs
cGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIFdlYlZpZXdHcm91cCBieSBpdHMgbmFtZSAob3Ig
bnVsbCBpZiBpdCBkb2Vzbid0IGV4aXN0KS4KKworICAgICAgICAoV2ViVmlld0dyb3VwOjpXZWJW
aWV3R3JvdXApOgorICAgICAgICBDcmVhdGUgYSB1c2VyIGNvbnRlbnQgY29udHJvbGxlci4KKwor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9u
SW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKyAgICAgICAgSW5zdGVh
ZCBvZiBjYWxsaW5nIC1bV2ViVmlldyBzZXRHcm91cE5hbWU6XSwgY3JlYXRlIGEgV2ViVmlld0dy
b3VwIGJlZm9yZSBjcmVhdGluZyB0aGUgcGFnZSwgdGhhdCB3YXkgd2UgY2FuCisgICAgICAgIHNl
dCBpdHMgdXNlciBjb250ZW50IGNvbnRyb2xsZXIgaW4gdGhlIFBhZ2VDb25maWd1cmF0aW9uLgor
CisgICAgICAgICgtW1dlYlZpZXcgaW5pdFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTpmcmFt
ZTpwcmVmZXJlbmNlczpncm91cE5hbWU6XSk6CisgICAgICAgIERpdHRvLgorCisgICAgICAgICgr
W1dlYlZpZXcgX2FkZFVzZXJTY3JpcHRUb0dyb3VwOndvcmxkOnNvdXJjZTp1cmw6d2hpdGVsaXN0
OmJsYWNrbGlzdDppbmplY3Rpb25UaW1lOmluamVjdGVkRnJhbWVzOl0pOgorICAgICAgICAoK1tX
ZWJWaWV3IF9hZGRVc2VyU3R5bGVTaGVldFRvR3JvdXA6d29ybGQ6c291cmNlOnVybDp3aGl0ZWxp
c3Q6YmxhY2tsaXN0OmluamVjdGVkRnJhbWVzOl0pOgorICAgICAgICAoK1tXZWJWaWV3IF9yZW1v
dmVVc2VyU2NyaXB0RnJvbUdyb3VwOndvcmxkOnVybDpdKToKKyAgICAgICAgKCtbV2ViVmlldyBf
cmVtb3ZlVXNlclN0eWxlU2hlZXRGcm9tR3JvdXA6d29ybGQ6dXJsOl0pOgorICAgICAgICAoK1tX
ZWJWaWV3IF9yZW1vdmVVc2VyU2NyaXB0c0Zyb21Hcm91cDp3b3JsZDpdKToKKyAgICAgICAgKCtb
V2ViVmlldyBfcmVtb3ZlVXNlclN0eWxlU2hlZXRzRnJvbUdyb3VwOndvcmxkOl0pOgorICAgICAg
ICAoK1tXZWJWaWV3IF9yZW1vdmVBbGxVc2VyQ29udGVudEZyb21Hcm91cDpdKToKKyAgICAgICAg
SW5zdGVhZCBvZiBjYWxsaW5nIGludG8gdGhlIFBhZ2VHcm91cCwgZ2V0IHRoZSBXZWJWaWV3R3Jv
dXAncyB1c2VyIGNvbnRlbnQgY29udHJvbGxlciBhbmQgY2FsbCBpbnRvIHRoYXQuCisKKyAgICAg
ICAgKC1bV2ViVmlldyBzZXRHcm91cE5hbWU6XSk6CisgICAgICAgIFNldCB0aGUgdXNlciBjb250
ZW50IGNvbnRyb2xsZXIgdG8gdGhlIG5ldyBXZWJWaWV3R3JvdXAncyB1c2VyIGNvbnRlbnQgY29u
dHJvbGxlci4KKwogMjAxNC0xMS0yMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4K
IAogICAgICAgICBTdXBwb3J0IG11bHRpcGxlIHNpZ25hdHVyZXMgb2YgZGlhZ25vc3RpYyBsb2dn
aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA5YTZjNDJlZjZiNDIyMmU1YTM2ODJmZTBjYTIx
ZWEzMzNkNzY3NzE4Li4yNjdjZmI4YjA0ZGE4ZDhiZmE2NWM5YTFhNjQwNWQ2MjE4YjU2YTc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtOTU3LDggKzk1NywxMSBAQCBfX1pON1dlYkNvcmUyMVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUMxRVJOM1dURjZWZWN0b3JJaExqMEVOUzFfMTVDcmFzaE9uT3Zl
cmZsb3dFRQogX19aTjdXZWJDb3JlMjFTZXJpYWxpemVkU2NyaXB0VmFsdWVEMUV2CiBfX1pON1dl
YkNvcmUyMVVSTEJ5UmVtb3ZpbmdVc2VySW5mb0VQNU5TVVJMCiBfX1pON1dlYkNvcmUyMVVzZXJD
b250ZW50Q29udHJvbGxlcjEzYWRkVXNlclNjcmlwdEVSTlNfMTVET01XcmFwcGVyV29ybGRFTlN0
M19fMTEwdW5pcXVlX3B0cklOU18xMFVzZXJTY3JpcHRFTlMzXzE0ZGVmYXVsdF9kZWxldGVJUzVf
RUVFRQorX19aTjdXZWJDb3JlMjFVc2VyQ29udGVudENvbnRyb2xsZXIxNnJlbW92ZVVzZXJTY3Jp
cHRFUk5TXzE1RE9NV3JhcHBlcldvcmxkRVJLTlNfM1VSTEUKIF9fWk43V2ViQ29yZTIxVXNlckNv
bnRlbnRDb250cm9sbGVyMTdhZGRVc2VyU3R5bGVTaGVldEVSTlNfMTVET01XcmFwcGVyV29ybGRF
TlN0M19fMTEwdW5pcXVlX3B0cklOU18xNFVzZXJTdHlsZVNoZWV0RU5TM18xNGRlZmF1bHRfZGVs
ZXRlSVM1X0VFRUVOU18yMlVzZXJTdHlsZUluamVjdGlvblRpbWVFCiBfX1pON1dlYkNvcmUyMVVz
ZXJDb250ZW50Q29udHJvbGxlcjE3cmVtb3ZlVXNlclNjcmlwdHNFUk5TXzE1RE9NV3JhcHBlcldv
cmxkRQorX19aTjdXZWJDb3JlMjFVc2VyQ29udGVudENvbnRyb2xsZXIyMHJlbW92ZUFsbFVzZXJD
b250ZW50RXYKK19fWk43V2ViQ29yZTIxVXNlckNvbnRlbnRDb250cm9sbGVyMjByZW1vdmVVc2Vy
U3R5bGVTaGVldEVSTlNfMTVET01XcmFwcGVyV29ybGRFUktOU18zVVJMRQogX19aTjdXZWJDb3Jl
MjFVc2VyQ29udGVudENvbnRyb2xsZXIyMXJlbW92ZVVzZXJTdHlsZVNoZWV0c0VSTlNfMTVET01X
cmFwcGVyV29ybGRFCiBfX1pON1dlYkNvcmUyMVVzZXJDb250ZW50Q29udHJvbGxlcjMxYWRkVXNl
ck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvckVSTlNfMjhVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlw
dG9yRQogX19aTjdXZWJDb3JlMjFVc2VyQ29udGVudENvbnRyb2xsZXIzNHJlbW92ZVVzZXJNZXNz
YWdlSGFuZGxlckRlc2NyaXB0b3JFUk5TXzI4VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvckUK
QEAgLTExNjUsNiArMTE2OCw3IEBAIF9fWk43V2ViQ29yZTRQYWdlMjNpbnZhbGlkYXRlU3R5bGVz
Rm9yTGlua0V5CiBfX1pON1dlYkNvcmU0UGFnZTI0ZmluZFN0cmluZ01hdGNoaW5nUmFuZ2VzRVJL
TjNXVEY2U3RyaW5nRWhpUk5TMV82VmVjdG9ySU5TMV82UmVmUHRySU5TXzVSYW5nZUVFRUxqMEVO
UzFfMTVDcmFzaE9uT3ZlcmZsb3dFRUVSaQogX19aTjdXZWJDb3JlNFBhZ2UyNHJlc3VtZVNjcmlw
dGVkQW5pbWF0aW9uc0V2CiBfX1pON1dlYkNvcmU0UGFnZTI0c2Nyb2xsaW5nU3RhdGVUcmVlQXNU
ZXh0RXYKK19fWk43V2ViQ29yZTRQYWdlMjRzZXRVc2VyQ29udGVudENvbnRyb2xsZXJFUE5TXzIx
VXNlckNvbnRlbnRDb250cm9sbGVyRQogX19aTjdXZWJDb3JlNFBhZ2UyNXN1c3BlbmRTY3JpcHRl
ZEFuaW1hdGlvbnNFdgogX19aTjdXZWJDb3JlNFBhZ2UyN2VuYWJsZUxlZ2FjeVByaXZhdGVCcm93
c2luZ0ViCiBfX1pON1dlYkNvcmU0UGFnZTI3aW52YWxpZGF0ZVN0eWxlc0ZvckFsbExpbmtzRXYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDI2MzYxNjgyYmMxMjk3NWNlMGM0OWQ4NTdhMTg1NjE2YmFm
ZWFmN2EuLjEzOWUwNTNiNDgzZjEzM2Y5YjIzY2JjYzE0N2RkZDc0MWI2NGIzZDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcApAQCAtMTYyMCw2ICsxNjIwLDEzIEBAIHZvaWQgUGFnZTo6c2V0VXNlckNvbnRl
bnRDb250cm9sbGVyKFVzZXJDb250ZW50Q29udHJvbGxlciogdXNlckNvbnRlbnRDb250cm9sbGVy
CiAKICAgICBpZiAobV91c2VyQ29udGVudENvbnRyb2xsZXIpCiAgICAgICAgIG1fdXNlckNvbnRl
bnRDb250cm9sbGVyLT5hZGRQYWdlKCp0aGlzKTsKKworICAgIGZvciAoRnJhbWUqIGZyYW1lID0g
Jm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgp
KSB7CisgICAgICAgIGlmIChEb2N1bWVudCAqZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKSkg
eworICAgICAgICAgICAgZG9jdW1lbnQtPnN0eWxlU2hlZXRDb2xsZWN0aW9uKCkuaW52YWxpZGF0
ZUluamVjdGVkU3R5bGVTaGVldENhY2hlKCk7CisgICAgICAgICAgICBkb2N1bWVudC0+c3R5bGVS
ZXNvbHZlckNoYW5nZWQoRGVmZXJSZWNhbGNTdHlsZSk7CisgICAgICAgIH0KKyAgICB9CiB9CiAK
IFZpc2l0ZWRMaW5rU3RvcmUmIFBhZ2U6OnZpc2l0ZWRMaW5rU3RvcmUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViVmlld0dyb3VwLmggYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3R3JvdXAuaAppbmRleCBkODQ4YWEzNDg0
NzY3MWNjNWYzZjViOGYyMTU0YWM5NjE3MWYzNzM0Li5hMmZjNDE1MTk5NWYwN2YxZTRiYzUwYzkz
ZTQzOGU2NTY3MmE0ZDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJWaWV3R3JvdXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJWaWV3R3JvdXAuaApAQCAtMjMsMTAgKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0IDx3dGYvSGFzaFNldC5oPgotI2ltcG9ydCA8
d3RmL1JlZkNvdW50ZWQuaD4KLSNpbXBvcnQgPHd0Zi9QYXNzUmVmUHRyLmg+Ci0jaW1wb3J0IDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVXNlckNvbnRlbnRDb250cm9s
bGVyLmg+CiAKIEBjbGFzcyBXZWJWaWV3OwogCkBAIC0zNSwxMiArMzIsMTggQEAgcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlZpZXdHcm91cD4gZ2V0T3JDcmVhdGUoY29uc3QgU3Ry
aW5nJiBuYW1lKTsKICAgICB+V2ViVmlld0dyb3VwKCk7CiAKKyAgICBzdGF0aWMgV2ViVmlld0dy
b3VwKiBnZXQoY29uc3QgU3RyaW5nJiBuYW1lKTsKKwogICAgIHZvaWQgYWRkV2ViVmlldyhXZWJW
aWV3ICopOwogICAgIHZvaWQgcmVtb3ZlV2ViVmlldyhXZWJWaWV3ICopOwotICAgIAorCisgICAg
V2ViQ29yZTo6VXNlckNvbnRlbnRDb250cm9sbGVyJiB1c2VyQ29udGVudENvbnRyb2xsZXIoKSB7
IHJldHVybiAqbV91c2VyQ29udGVudENvbnRyb2xsZXI7IH0KKwogcHJpdmF0ZToKICAgICBXZWJW
aWV3R3JvdXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKIAogICAgIFN0cmluZyBtX25hbWU7CiAgICAg
SGFzaFNldDxXZWJWaWV3ICo+IG1fd2ViVmlld3M7CisKKyAgICBSZWZQdHI8V2ViQ29yZTo6VXNl
ckNvbnRlbnRDb250cm9sbGVyPiBtX3VzZXJDb250ZW50Q29udHJvbGxlcjsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3R3JvdXAubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3R3JvdXAubW0KaW5kZXggNTli
NTQwNzI1NzU4ODdhMjY3ZTEwYmUzNTEzY2JkZTczMmJjZDFhYS4uMmFhZGUyODQzYWYxYzU4ZGU4
MmRmMzA4MTJhMDk4MGY4MDdhOTdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViVmlld0dyb3VwLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlZpZXdHcm91cC5tbQpAQCAtMjYsMTEgKzI2LDExIEBACiAjaW1wb3J0ICJX
ZWJWaWV3R3JvdXAuaCIKIAogI2ltcG9ydCAiV2ViVmlldy5oIgotI2ltcG9ydCA8d3RmL0hhc2hN
YXAuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgotI2ltcG9ydCA8d3RmL1JlZlB0
ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCit1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKKwogLy8gQW55IG5hbWVkIGdyb3VwcyB3aWxsIGxpdmUgZm9yIHRoZSBsaWZldGlt
ZSBvZiB0aGUgcHJvY2VzcywgdGhhbmtzIHRvIHRoZSByZWZlcmVuY2UgaGVsZCBieSB0aGUgUmVm
UHRyLgogc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8V2ViVmlld0dyb3VwPj4mIHdlYlZp
ZXdHcm91cHMoKQogewpAQCAtNTEsOCArNTEsMTYgQEAgUGFzc1JlZlB0cjxXZWJWaWV3R3JvdXA+
IFdlYlZpZXdHcm91cDo6Z2V0T3JDcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIHJldHVy
biB3ZWJWaWV3R3JvdXA7CiB9CiAKK1dlYlZpZXdHcm91cCogV2ViVmlld0dyb3VwOjpnZXQoY29u
c3QgU3RyaW5nJiBuYW1lKQoreworICAgIEFTU0VSVCghbmFtZS5pc0VtcHR5KCkpOworCisgICAg
cmV0dXJuIHdlYlZpZXdHcm91cHMoKS5nZXQobmFtZSk7Cit9CisKIFdlYlZpZXdHcm91cDo6V2Vi
Vmlld0dyb3VwKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICA6IG1fbmFtZShuYW1lKQorICAgICwg
bV91c2VyQ29udGVudENvbnRyb2xsZXIoVXNlckNvbnRlbnRDb250cm9sbGVyOjpjcmVhdGUoKSkK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDY2YjNlNmViNzJj
OWJlZjY2MzkyYWY0ZGE3NThjZjA4MzcwNGJmNTcuLmM4YTdkNTQ1ZmJlOGM0N2Y1N2JkMjQ1MTA4
NzA2ODI2MjcxOGJiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE3
Niw2ICsxNzYsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9UZXh0UmVzb3VyY2VEZWNvZGVyLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1RocmVhZENoZWNrLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VzZXJBZ2Vu
dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuaD4KICNpbXBvcnQg
PFdlYkNvcmUvV2ViQ29yZU9iakNFeHRyYXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVZp
ZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2lkZ2V0Lmg+CkBAIC05MTksNiArOTIwLDkgQEAgc3Rh
dGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAg
ICAgICAgZGlkT25lVGltZUluaXRpYWxpemF0aW9uID0gdHJ1ZTsKICAgICB9CiAKKyAgICBfcHJp
dmF0ZS0+Z3JvdXAgPSBXZWJWaWV3R3JvdXA6OmdldE9yQ3JlYXRlKGdyb3VwTmFtZSk7CisgICAg
X3ByaXZhdGUtPmdyb3VwLT5hZGRXZWJWaWV3KHNlbGYpOworCiAgICAgUGFnZUNvbmZpZ3VyYXRp
b24gcGFnZUNvbmZpZ3VyYXRpb247CiAjaWYgIVBMQVRGT1JNKElPUykKICAgICBwYWdlQ29uZmln
dXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KHNlbGYpOwpAQCAtOTM1
LDcgKzkzOSwxMSBAQCBzdGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVy
SWZOZWNlc3NhcnkoKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLmFsdGVybmF0aXZlVGV4dENsaWVu
dCA9IG5ldyBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQoc2VsZik7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lID0gbmV3IFdlYkZyYW1lTG9hZGVyQ2xpZW50
OwogICAgIHBhZ2VDb25maWd1cmF0aW9uLnByb2dyZXNzVHJhY2tlckNsaWVudCA9IG5ldyBXZWJQ
cm9ncmVzc1RyYWNrZXJDbGllbnQoc2VsZik7CisgICAgcGFnZUNvbmZpZ3VyYXRpb24udXNlckNv
bnRlbnRDb250cm9sbGVyID0gJl9wcml2YXRlLT5ncm91cC0+dXNlckNvbnRlbnRDb250cm9sbGVy
KCk7CiAgICAgX3ByaXZhdGUtPnBhZ2UgPSBuZXcgUGFnZShwYWdlQ29uZmlndXJhdGlvbik7CisK
KyAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0R3JvdXBOYW1lKGdyb3VwTmFtZSk7CisKICNpZiBFTkFC
TEUoR0VPTE9DQVRJT04pCiAgICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xvY2F0aW9uVG8oX3ByaXZh
dGUtPnBhZ2UsIG5ldyBXZWJHZW9sb2NhdGlvbkNsaWVudChzZWxmKSk7CiAjZW5kaWYKQEAgLTk5
Miw3ICsxMDAwLDYgQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZUdhbWVwYWRQcm92aWRl
cklmTmVjZXNzYXJ5KCkKICNlbmRpZgogCiAgICAgW3NlbGYgX2FkZFRvQWxsV2ViVmlld3NTZXRd
OwotICAgIFtzZWxmIHNldEdyb3VwTmFtZTpncm91cE5hbWVdOwogICAgIAogICAgIC8vIElmIHRo
ZXJlJ3MgYWxyZWFkeSBhIG5leHQga2V5IHZpZXcgKGUuZy4sIGZyb20gYSBuaWIpLCB3aXJlIGl0
IHVwIHRvIG91cgogICAgIC8vIGNvbnRhaW5lZCBmcmFtZSB2aWV3LiBJbiBhbnkgY2FzZSwgd2ly
ZSBvdXIgbmV4dCBrZXkgdmlldyB1cCB0byB0aGUgb3VyCkBAIC0xMTU1LDcgKzExNjIsOSBAQCBz
dGF0aWMgdm9pZCBXZWJLaXRJbml0aWFsaXplR2FtZXBhZFByb3ZpZGVySWZOZWNlc3NhcnkoKQog
ICAgIFtzZWxmIGFkZFN1YnZpZXc6ZnJhbWVWaWV3XTsKICAgICBbZnJhbWVWaWV3IHJlbGVhc2Vd
OwogCi0gICAgCisgICAgX3ByaXZhdGUtPmdyb3VwID0gV2ViVmlld0dyb3VwOjpnZXRPckNyZWF0
ZShncm91cE5hbWUpOworICAgIF9wcml2YXRlLT5ncm91cC0+YWRkV2ViVmlldyhzZWxmKTsKKwog
ICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VDb25maWd1cmF0aW9uOwogICAgIHBhZ2VDb25maWd1
cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnRJT1Moc2VsZik7CiAjaWYg
RU5BQkxFKERSQUdfU1VQUE9SVCkKQEAgLTExNjUsNiArMTE3NCw4IEBAIHN0YXRpYyB2b2lkIFdl
YktpdEluaXRpYWxpemVHYW1lcGFkUHJvdmlkZXJJZk5lY2Vzc2FyeSgpCiAgICAgcGFnZUNvbmZp
Z3VyYXRpb24uaW5zcGVjdG9yQ2xpZW50ID0gbmV3IFdlYkluc3BlY3RvckNsaWVudChzZWxmKTsK
ICAgICBwYWdlQ29uZmlndXJhdGlvbi5sb2FkZXJDbGllbnRGb3JNYWluRnJhbWUgPSBuZXcgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24ucHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50ID0gbmV3IFdlYlByb2dyZXNzVHJhY2tlckNsaWVudChzZWxmKTsKKyAgICBwYWdlQ29u
ZmlndXJhdGlvbi51c2VyQ29udGVudENvbnRyb2xsZXIgPSAmX3ByaXZhdGUtPmdyb3VwLT51c2Vy
Q29udGVudENvbnRyb2xsZXIoKTsKKwogICAgIF9wcml2YXRlLT5wYWdlID0gbmV3IFBhZ2UocGFn
ZUNvbmZpZ3VyYXRpb24pOwogICAgIAogICAgIFtzZWxmIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5h
YmxlZDpZRVNdOwpAQCAtMTE5Miw3ICsxMjAzLDcgQEAgc3RhdGljIHZvaWQgV2ViS2l0SW5pdGlh
bGl6ZUdhbWVwYWRQcm92aWRlcklmTmVjZXNzYXJ5KCkKICAgICAvLyBGSVhNRTogdGhpcyBpcyBh
IHdvcmthcm91bmQgZm9yIDxyZGFyOi8vcHJvYmxlbS8xMTgyMDA5MD4gUXVvdGVkIHRleHQgY2hh
bmdlcyBpbiBzaXplIHdoZW4gcmVwbHlpbmcgdG8gY2VydGFpbiBlbWFpbAogICAgIF9wcml2YXRl
LT5wYWdlLT5zZXR0aW5ncygpLnNldE1pbmltdW1Gb250U2l6ZShbX3ByaXZhdGUtPnByZWZlcmVu
Y2VzIG1pbmltdW1Gb250U2l6ZV0pOwogCi0gICAgW3NlbGYgc2V0R3JvdXBOYW1lOmdyb3VwTmFt
ZV07CisgICAgX3ByaXZhdGUtPnBhZ2UtPnNldEdyb3VwTmFtZShncm91cE5hbWUpOwogCiAjaWYg
RU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNldFJlbW90ZUlu
c3BlY3Rpb25BbGxvd2VkKGlzSW50ZXJuYWxJbnN0YWxsKCkpOwpAQCAtMzk5NSwxNyArNDAwNiwx
NiBAQCBzdGF0aWMgVmVjdG9yPFN0cmluZz4gdG9TdHJpbmdWZWN0b3IoTlNBcnJheSogcGF0dGVy
bnMpCiAgICAgU3RyaW5nIGdyb3VwKGdyb3VwTmFtZSk7CiAgICAgaWYgKGdyb3VwLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwotICAgIAotICAgIFBhZ2VHcm91cCogcGFnZUdyb3VwID0gUGFn
ZUdyb3VwOjpwYWdlR3JvdXAoZ3JvdXApOwotICAgIGlmICghcGFnZUdyb3VwKQorCisgICAgYXV0
byB2aWV3R3JvdXAgPSBXZWJWaWV3R3JvdXA6OmdldChncm91cCk7CisgICAgaWYgKCF2aWV3R3Jv
dXApCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghd29ybGQpCiAgICAgICAgIHJldHVybjsK
IAotICAgIHBhZ2VHcm91cC0+YWRkVXNlclNjcmlwdFRvV29ybGQoKmNvcmUod29ybGQpLCBzb3Vy
Y2UsIHVybCwgdG9TdHJpbmdWZWN0b3Iod2hpdGVsaXN0KSwgdG9TdHJpbmdWZWN0b3IoYmxhY2ts
aXN0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluamVjdGlvblRpbWUg
PT0gV2ViSW5qZWN0QXREb2N1bWVudFN0YXJ0ID8gSW5qZWN0QXREb2N1bWVudFN0YXJ0IDogSW5q
ZWN0QXREb2N1bWVudEVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
amVjdGVkRnJhbWVzID09IFdlYkluamVjdEluQWxsRnJhbWVzID8gSW5qZWN0SW5BbGxGcmFtZXMg
OiBJbmplY3RJblRvcEZyYW1lT25seSk7CisgICAgYXV0byB1c2VyU2NyaXB0ID0gc3RkOjptYWtl
X3VuaXF1ZTxVc2VyU2NyaXB0Pihzb3VyY2UsIHVybCwgdG9TdHJpbmdWZWN0b3Iod2hpdGVsaXN0
KSwgdG9TdHJpbmdWZWN0b3IoYmxhY2tsaXN0KSwgaW5qZWN0aW9uVGltZSA9PSBXZWJJbmplY3RB
dERvY3VtZW50U3RhcnQgPyBJbmplY3RBdERvY3VtZW50U3RhcnQgOiBJbmplY3RBdERvY3VtZW50
RW5kLCBpbmplY3RlZEZyYW1lcyA9PSBXZWJJbmplY3RJbkFsbEZyYW1lcyA/IEluamVjdEluQWxs
RnJhbWVzIDogSW5qZWN0SW5Ub3BGcmFtZU9ubHkpOworICAgIHZpZXdHcm91cC0+dXNlckNvbnRl
bnRDb250cm9sbGVyKCkuYWRkVXNlclNjcmlwdCgqY29yZSh3b3JsZCksIFdURjo6bW92ZSh1c2Vy
U2NyaXB0KSk7CiB9CiAKICsgKHZvaWQpX2FkZFVzZXJTdHlsZVNoZWV0VG9Hcm91cDooTlNTdHJp
bmcgKilncm91cE5hbWUgd29ybGQ6KFdlYlNjcmlwdFdvcmxkICopd29ybGQgc291cmNlOihOU1N0
cmluZyAqKXNvdXJjZSB1cmw6KE5TVVJMICopdXJsCkBAIC00MDIxLDE1ICs0MDMxLDE2IEBAIHN0
YXRpYyBWZWN0b3I8U3RyaW5nPiB0b1N0cmluZ1ZlY3RvcihOU0FycmF5KiBwYXR0ZXJucykKICAg
ICBTdHJpbmcgZ3JvdXAoZ3JvdXBOYW1lKTsKICAgICBpZiAoZ3JvdXAuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm47Ci0gICAgCi0gICAgUGFnZUdyb3VwKiBwYWdlR3JvdXAgPSBQYWdlR3JvdXA6
OnBhZ2VHcm91cChncm91cCk7Ci0gICAgaWYgKCFwYWdlR3JvdXApCisKKyAgICBhdXRvIHZpZXdH
cm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0KGdyb3VwKTsKKyAgICBpZiAoIXZpZXdHcm91cCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCF3b3JsZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
cGFnZUdyb3VwLT5hZGRVc2VyU3R5bGVTaGVldFRvV29ybGQoKmNvcmUod29ybGQpLCBzb3VyY2Us
IHVybCwgdG9TdHJpbmdWZWN0b3Iod2hpdGVsaXN0KSwgdG9TdHJpbmdWZWN0b3IoYmxhY2tsaXN0
KSwgaW5qZWN0ZWRGcmFtZXMgPT0gV2ViSW5qZWN0SW5BbGxGcmFtZXMgPyBJbmplY3RJbkFsbEZy
YW1lcyA6IEluamVjdEluVG9wRnJhbWVPbmx5KTsKKyAgICBhdXRvIHN0eWxlU2hlZXQgPSBzdGQ6
Om1ha2VfdW5pcXVlPFVzZXJTdHlsZVNoZWV0Pihzb3VyY2UsIHVybCwgdG9TdHJpbmdWZWN0b3Io
d2hpdGVsaXN0KSwgdG9TdHJpbmdWZWN0b3IoYmxhY2tsaXN0KSwgaW5qZWN0ZWRGcmFtZXMgPT0g
V2ViSW5qZWN0SW5BbGxGcmFtZXMgPyBJbmplY3RJbkFsbEZyYW1lcyA6IEluamVjdEluVG9wRnJh
bWVPbmx5LCBVc2VyU3R5bGVVc2VyTGV2ZWwpOworICAgIHZpZXdHcm91cC0+dXNlckNvbnRlbnRD
b250cm9sbGVyKCkuYWRkVXNlclN0eWxlU2hlZXQoKmNvcmUod29ybGQpLCBXVEY6Om1vdmUoc3R5
bGVTaGVldCksIEluamVjdEluRXhpc3RpbmdEb2N1bWVudHMpOwogfQogCiArICh2b2lkKV9yZW1v
dmVVc2VyU2NyaXB0RnJvbUdyb3VwOihOU1N0cmluZyAqKWdyb3VwTmFtZSB3b3JsZDooV2ViU2Ny
aXB0V29ybGQgKil3b3JsZCB1cmw6KE5TVVJMICopdXJsCkBAIC00MDM3LDE1ICs0MDQ4LDE1IEBA
IHN0YXRpYyBWZWN0b3I8U3RyaW5nPiB0b1N0cmluZ1ZlY3RvcihOU0FycmF5KiBwYXR0ZXJucykK
ICAgICBTdHJpbmcgZ3JvdXAoZ3JvdXBOYW1lKTsKICAgICBpZiAoZ3JvdXAuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgUGFnZUdyb3VwKiBwYWdlR3JvdXAgPSBQYWdlR3Jv
dXA6OnBhZ2VHcm91cChncm91cCk7Ci0gICAgaWYgKCFwYWdlR3JvdXApCisKKyAgICBhdXRvIHZp
ZXdHcm91cCA9IFdlYlZpZXdHcm91cDo6Z2V0KGdyb3VwKTsKKyAgICBpZiAoIXZpZXdHcm91cCkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCF3b3JsZCkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgcGFnZUdyb3VwLT5yZW1vdmVVc2VyU2NyaXB0RnJvbVdvcmxkKCpjb3JlKHdvcmxkKSwgdXJs
KTsKKyAgICB2aWV3R3JvdXAtPnVzZXJDb250ZW50Q29udHJvbGxlcigpLnJlbW92ZVVzZXJTY3Jp
cHQoKmNvcmUod29ybGQpLCB1cmwpOwogfQogCiArICh2b2lkKV9yZW1vdmVVc2VyU3R5bGVTaGVl
dEZyb21Hcm91cDooTlNTdHJpbmcgKilncm91cE5hbWUgd29ybGQ6KFdlYlNjcmlwdFdvcmxkICop
d29ybGQgdXJsOihOU1VSTCAqKXVybApAQCAtNDA1MywxNSArNDA2NCwxNSBAQCBzdGF0aWMgVmVj
dG9yPFN0cmluZz4gdG9TdHJpbmdWZWN0b3IoTlNBcnJheSogcGF0dGVybnMpCiAgICAgU3RyaW5n
IGdyb3VwKGdyb3VwTmFtZSk7CiAgICAgaWYgKGdyb3VwLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwotICAgIAotICAgIFBhZ2VHcm91cCogcGFnZUdyb3VwID0gUGFnZUdyb3VwOjpwYWdlR3Jv
dXAoZ3JvdXApOwotICAgIGlmICghcGFnZUdyb3VwKQorCisgICAgYXV0byB2aWV3R3JvdXAgPSBX
ZWJWaWV3R3JvdXA6OmdldChncm91cCk7CisgICAgaWYgKCF2aWV3R3JvdXApCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGlmICghd29ybGQpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBhZ2VHcm91
cC0+cmVtb3ZlVXNlclN0eWxlU2hlZXRGcm9tV29ybGQoKmNvcmUod29ybGQpLCB1cmwpOworICAg
IHZpZXdHcm91cC0+dXNlckNvbnRlbnRDb250cm9sbGVyKCkucmVtb3ZlVXNlclN0eWxlU2hlZXQo
KmNvcmUod29ybGQpLCB1cmwpOwogfQogCiArICh2b2lkKV9yZW1vdmVVc2VyU2NyaXB0c0Zyb21H
cm91cDooTlNTdHJpbmcgKilncm91cE5hbWUgd29ybGQ6KFdlYlNjcmlwdFdvcmxkICopd29ybGQK
QEAgLTQwNjksMTUgKzQwODAsMTUgQEAgc3RhdGljIFZlY3RvcjxTdHJpbmc+IHRvU3RyaW5nVmVj
dG9yKE5TQXJyYXkqIHBhdHRlcm5zKQogICAgIFN0cmluZyBncm91cChncm91cE5hbWUpOwogICAg
IGlmIChncm91cC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLSAgICAKLSAgICBQYWdlR3Jv
dXAqIHBhZ2VHcm91cCA9IFBhZ2VHcm91cDo6cGFnZUdyb3VwKGdyb3VwKTsKLSAgICBpZiAoIXBh
Z2VHcm91cCkKKworICAgIGF1dG8gdmlld0dyb3VwID0gV2ViVmlld0dyb3VwOjpnZXQoZ3JvdXAp
OworICAgIGlmICghdmlld0dyb3VwKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIXdvcmxk
KQogICAgICAgICByZXR1cm47CiAKLSAgICBwYWdlR3JvdXAtPnJlbW92ZVVzZXJTY3JpcHRzRnJv
bVdvcmxkKCpjb3JlKHdvcmxkKSk7CisgICAgdmlld0dyb3VwLT51c2VyQ29udGVudENvbnRyb2xs
ZXIoKS5yZW1vdmVVc2VyU2NyaXB0cygqY29yZSh3b3JsZCkpOwogfQogCiArICh2b2lkKV9yZW1v
dmVVc2VyU3R5bGVTaGVldHNGcm9tR3JvdXA6KE5TU3RyaW5nICopZ3JvdXBOYW1lIHdvcmxkOihX
ZWJTY3JpcHRXb3JsZCAqKXdvcmxkCkBAIC00MDg1LDE1ICs0MDk2LDE1IEBAIHN0YXRpYyBWZWN0
b3I8U3RyaW5nPiB0b1N0cmluZ1ZlY3RvcihOU0FycmF5KiBwYXR0ZXJucykKICAgICBTdHJpbmcg
Z3JvdXAoZ3JvdXBOYW1lKTsKICAgICBpZiAoZ3JvdXAuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm47Ci0gICAgCi0gICAgUGFnZUdyb3VwKiBwYWdlR3JvdXAgPSBQYWdlR3JvdXA6OnBhZ2VHcm91
cChncm91cCk7Ci0gICAgaWYgKCFwYWdlR3JvdXApCisKKyAgICBhdXRvIHZpZXdHcm91cCA9IFdl
YlZpZXdHcm91cDo6Z2V0KGdyb3VwKTsKKyAgICBpZiAoIXZpZXdHcm91cCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKCF3b3JsZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZUdyb3Vw
LT5yZW1vdmVVc2VyU3R5bGVTaGVldHNGcm9tV29ybGQoKmNvcmUod29ybGQpKTsKKyAgICB2aWV3
R3JvdXAtPnVzZXJDb250ZW50Q29udHJvbGxlcigpLnJlbW92ZVVzZXJTdHlsZVNoZWV0cygqY29y
ZSh3b3JsZCkpOwogfQogCiArICh2b2lkKV9yZW1vdmVBbGxVc2VyQ29udGVudEZyb21Hcm91cDoo
TlNTdHJpbmcgKilncm91cE5hbWUKQEAgLTQxMDEsMTIgKzQxMTIsMTIgQEAgc3RhdGljIFZlY3Rv
cjxTdHJpbmc+IHRvU3RyaW5nVmVjdG9yKE5TQXJyYXkqIHBhdHRlcm5zKQogICAgIFN0cmluZyBn
cm91cChncm91cE5hbWUpOwogICAgIGlmIChncm91cC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICAKLSAgICBQYWdlR3JvdXAqIHBhZ2VHcm91cCA9IFBhZ2VHcm91cDo6cGFnZUdyb3Vw
KGdyb3VwKTsKLSAgICBpZiAoIXBhZ2VHcm91cCkKKworICAgIGF1dG8gdmlld0dyb3VwID0gV2Vi
Vmlld0dyb3VwOjpnZXQoZ3JvdXApOworICAgIGlmICghdmlld0dyb3VwKQogICAgICAgICByZXR1
cm47Ci0gICAgCi0gICAgcGFnZUdyb3VwLT5yZW1vdmVBbGxVc2VyQ29udGVudCgpOworCisgICAg
dmlld0dyb3VwLT51c2VyQ29udGVudENvbnRyb2xsZXIoKS5yZW1vdmVBbGxVc2VyQ29udGVudCgp
OwogfQogCiAtIChCT09MKWFsbG93c05ld0NTU0FuaW1hdGlvbnNXaGlsZVN1c3BlbmRlZApAQCAt
NjEwMiw2ICs2MTEzLDggQEAgc3RhdGljIFdlYkZyYW1lICppbmNyZW1lbnRGcmFtZShXZWJGcmFt
ZSAqZnJhbWUsIFdlYkZpbmRPcHRpb25zIG9wdGlvbnMgPSAwKQogCiAgICAgaWYgKCFfcHJpdmF0
ZS0+cGFnZSkKICAgICAgICAgcmV0dXJuOworCisgICAgX3ByaXZhdGUtPnBhZ2UtPnNldFVzZXJD
b250ZW50Q29udHJvbGxlcigmX3ByaXZhdGUtPmdyb3VwLT51c2VyQ29udGVudENvbnRyb2xsZXIo
KSk7CiAgICAgX3ByaXZhdGUtPnBhZ2UtPnNldEdyb3VwTmFtZShncm91cE5hbWUpOwogfQogCg==
</data>
<flag name="review"
          id="267077"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>