<?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>179797</bug_id>
          
          <creation_ts>2017-11-16 14:29:26 -0800</creation_ts>
          <short_desc>REGRESSION(r224179): layer flush now requires sync IPC to compute undo/redo availability in EditorState</short_desc>
          <delta_ts>2017-11-16 16:48:26 -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>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=168219</see_also>
          <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="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1372809</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-16 14:29:26 -0800</bug_when>
    <thetext>r224179 introduced a performance regression, originally reported at https://bugs.webkit.org/show_bug.cgi?id=168219#c55. This code in WebPage::editorState:

        postLayoutData.canCut = editor.canCut();
        postLayoutData.canCopy = editor.canCopy();
        postLayoutData.canPaste = editor.canPaste();
        postLayoutData.canUndo = editor.canUndo();
        postLayoutData.canRedo = editor.canRedo();

is part of a performance-critical path. (The editor state is computed and sent to the UI process during the layer flush.) But Editor::canUndo and Editor::canRedo are both implemented with sync IPC calls to WebPageProxy in the UI process. WebPageProxy passes them along to PageClientImpl to compute the availability of the commands.

As Simon noted in bug #168219, that&apos;s all pointless because this code only exists for the purpose of getting editing command availability to the UI process. In the case of undo and redo, it&apos;s not needed at all. I did not realize that when writing the code. So canUndo and canRedo should be removed from EditorState. I don&apos;t think any changes are needed to the GTK/WPE WebKitEditorState API. The API can be implemented using WebPageProxy::canUndoRedo instead of EditorState. I think that should be sufficient to avoid the perf regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372822</commentid>
    <comment_count>1</comment_count>
      <attachid>327112</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-16 15:18:31 -0800</bug_when>
    <thetext>Created attachment 327112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372823</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-11-16 15:20:17 -0800</bug_when>
    <thetext>This needs owner approval because I added two new methods to WebPageProxy, canUndo and canRedo. That seems better than making canUndoRedo public, since that interface is a bit messy and really intended for message receipt from the web process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372889</commentid>
    <comment_count>3</comment_count>
      <attachid>327112</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-16 16:48:24 -0800</bug_when>
    <thetext>Comment on attachment 327112
Patch

Clearing flags on attachment: 327112

Committed r224945: &lt;https://trac.webkit.org/changeset/224945&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372890</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-16 16:48:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327112</attachid>
            <date>2017-11-16 15:18:31 -0800</date>
            <delta_ts>2017-11-16 16:48:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179797-20171116171830.patch</filename>
            <type>text/plain</type>
            <size>10983</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0OTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFjZDBhYTcwZGYyNjk0
ZjQzN2Y3ODViNzYzOTk0ODYxYzFiOWI0NS4uZmZlODU0NTJmMDM5YTNjNzZkZWE1ZWRlNjkwNjQ5
MDEyYjE1OTE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTExLTE2ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNT
SU9OKHIyMjQxNzkpOiBsYXllciBmbHVzaCBub3cgcmVxdWlyZXMgc3luYyBJUEMgdG8gY29tcHV0
ZSB1bmRvL3JlZG8gYXZhaWxhYmlsaXR5IGluIEVkaXRvclN0YXRlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3OTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFZGl0b3I6OmNhblVuZG8gYW5kIEVkaXRv
cjo6Q2FuUmVkbyBubyBsb25nZXIgbmVlZCB0byBiZSBleHBvcnRlZC4KKworICAgICAgICAqIGVk
aXRpbmcvRWRpdG9yLmg6CisKIDIwMTctMTEtMTYgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIFVwZGF0ZSBmZWF0dXJlIHN0YXR1cyB0
byAiU3VwcG9ydGVkIEluIFByZXZpZXciCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJkYjk0OTg2MGE0NGM5ODdjZTVm
NDk0MWU4YzVmYWNjYWI2ZDhlOTQuLjZmMzk1YjdkNGQ5NzNmYTA2ZGY5OGIxZTY2OWQzMDhhYzk2
NThkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTctMTEtMTYgIE1pY2hhZWwgQ2F0
YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjIy
NDE3OSk6IGxheWVyIGZsdXNoIG5vdyByZXF1aXJlcyBzeW5jIElQQyB0byBjb21wdXRlIHVuZG8v
cmVkbyBhdmFpbGFiaWxpdHkgaW4gRWRpdG9yU3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTc5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIHIyMjQxNzkgaW50cm9kdWNlZCBhIHBlcmZvcm1hbmNl
IHJlZ3Jlc3Npb24uIFRoZSBuZXdseS1hZGRlZCBjb2RlIGluIFdlYlBhZ2U6OmVkaXRvclN0YXRl
IGlzCisgICAgICAgIHBhcnQgb2YgYSBwZXJmb3JtYW5jZS1jcml0aWNhbCBwYXRoLiAoVGhlIGVk
aXRvciBzdGF0ZSBpcyBjb21wdXRlZCBhbmQgc2VudCB0byB0aGUgVUkKKyAgICAgICAgcHJvY2Vz
cyBkdXJpbmcgdGhlIGxheWVyIGZsdXNoLikgQ2FsbHMgdG8gRWRpdG9yOjpjYW5VbmRvIGFuZCBF
ZGl0b3I6OmNhblJlZG8gd2VyZSBhZGRlZCwKKyAgICAgICAgYnV0IHRoZXNlIGNhbGxzIGFyZSBi
b3RoIGltcGxlbWVudGVkIHdpdGggc3luYyBJUEMgY2FsbHMgdG8gV2ViUGFnZVByb3h5IGluIHRo
ZSBVSSBwcm9jZXNzLgorICAgICAgICBXZWJQYWdlUHJveHkgcGFzc2VzIHRoZW0gYWxvbmcgdG8g
UGFnZUNsaWVudEltcGwgdG8gY29tcHV0ZSB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZQorICAgICAg
ICBjb21tYW5kcy4KKworICAgICAgICBUaGF0J3MgYWxsIHBvaW50bGVzcyBiZWNhdXNlIHRoaXMg
Y29kZSBvbmx5IGV4aXN0cyBmb3IgdGhlIHB1cnBvc2Ugb2YgZ2V0dGluZyBlZGl0aW5nCisgICAg
ICAgIGNvbW1hbmQgYXZhaWxhYmlsaXR5IHRvIHRoZSBVSSBwcm9jZXNzLiBJbiB0aGUgY2FzZSBv
ZiB1bmRvIGFuZCByZWRvLCBpdCdzIG5vdCBuZWVkZWQgYXQKKyAgICAgICAgYWxsLiBJIGRpZCBu
b3QgcmVhbGl6ZSB0aGF0IHdoZW4gd3JpdGluZyB0aGUgY29kZS4gU28gY2FuVW5kbyBhbmQgY2Fu
UmVkbyBzaG91bGQgYmUgcmVtb3ZlZAorICAgICAgICBmcm9tIEVkaXRvclN0YXRlLiBUaGlzIG91
Z2h0IHRvIGJlIHN1ZmZpY2llbnQgdG8gYXZvaWQgdGhlIHBlcmYgcmVncmVzc2lvbi4KKworICAg
ICAgICBObyBjaGFuZ2VzIGFyZSBuZWVkZWQgdG8gdGhlIEdUSy9XUEUgV2ViS2l0RWRpdG9yU3Rh
dGUgQVBJLiBUaGUgQVBJIGlzIHJlaW1wbGVtZW50ZWQgdXNpbmcKKyAgICAgICAgV2ViUGFnZVBy
b3h5OjpjYW5VbmRvUmVkbyBpbnN0ZWFkIG9mIEVkaXRvclN0YXRlLiBUaGVyZSBzaG91bGQgYmUg
bm8gY2hhbmdlcyBpbiBiZWhhdmlvciwKKyAgICAgICAgb25seSBwZXJmb3JtYW5jZS4KKworICAg
ICAgICAqIFNoYXJlZC9FZGl0b3JTdGF0ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvclN0
YXRlOjpQb3N0TGF5b3V0RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6RWRp
dG9yU3RhdGU6OlBvc3RMYXlvdXREYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9FZGl0
b3JTdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRFZGl0b3JTdGF0
ZS5jcHA6CisgICAgICAgICh3ZWJraXRFZGl0b3JTdGF0ZUNyZWF0ZSk6CisgICAgICAgICh3ZWJr
aXRFZGl0b3JTdGF0ZUNoYW5nZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRFZGl0b3JTdGF0ZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0V2ViVmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2VkaXRvcl9zdGF0
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6Y2FuVW5kbyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6Y2FuUmVkbyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6ZWRpdG9yU3RhdGUgY29uc3QpOgorCiAyMDE3LTExLTE2ICBNZWdhbiBHYXJkbmVyICA8
bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGFsbG93QmxvY2tTZWxl
Y3Rpb24gYXMgYmxvY2sgc2VsZWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYW55bW9yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmgKaW5kZXggZWEzMjZhOGNkZjAyZDVmYjgxOWQzN2E2ODlkYzc0ZDI4ZjFk
MzIyOC4uYzJlZDc0NTg3Y2I3YjlhMDMxZmFmMTM1MGZmMTBkNTdkODJjN2NkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRvci5oCkBAIC0zMDUsOSArMzA1LDkgQEAgcHVibGljOgogICAgIGJvb2wgc2hv
dWxkRW5kRWRpdGluZyhSYW5nZSopOwogCiAgICAgdm9pZCBjbGVhclVuZG9SZWRvT3BlcmF0aW9u
cygpOwotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FuVW5kbygpIGNvbnN0OworICAgIGJvb2wg
Y2FuVW5kbygpIGNvbnN0OwogICAgIHZvaWQgdW5kbygpOwotICAgIFdFQkNPUkVfRVhQT1JUIGJv
b2wgY2FuUmVkbygpIGNvbnN0OworICAgIGJvb2wgY2FuUmVkbygpIGNvbnN0OwogICAgIHZvaWQg
cmVkbygpOwogCiAgICAgdm9pZCBkaWRCZWdpbkVkaXRpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Vk
aXRvclN0YXRlLmNwcAppbmRleCA0OTBmMzBkMGRkMDRkMGE0ZDU2Nzk3NWEyMjQ3ZDlkYjE1Yjc0
M2RhLi40MDBkODMzYjU5N2RkNGZiYjY2OTZiYTFhNDI4YmJjMWY0MzNkMWRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvRWRpdG9yU3RhdGUuY3BwCkBAIC0xMzMsOCArMTMzLDYgQEAgdm9pZCBFZGl0b3JT
dGF0ZTo6UG9zdExheW91dERhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgZW5jb2RlciA8PCBjYW5DdXQ7CiAgICAgZW5jb2RlciA8PCBjYW5Db3B5OwogICAgIGVu
Y29kZXIgPDwgY2FuUGFzdGU7Ci0gICAgZW5jb2RlciA8PCBjYW5VbmRvOwotICAgIGVuY29kZXIg
PDwgY2FuUmVkbzsKIH0KIAogYm9vbCBFZGl0b3JTdGF0ZTo6UG9zdExheW91dERhdGE6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFBvc3RMYXlvdXREYXRhJiByZXN1bHQpCkBAIC0yMDAs
MTAgKzE5OCw2IEBAIGJvb2wgRWRpdG9yU3RhdGU6OlBvc3RMYXlvdXREYXRhOjpkZWNvZGUoSVBD
OjpEZWNvZGVyJiBkZWNvZGVyLCBQb3N0TGF5b3V0RGF0YSYKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmNhblBhc3RlKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmNhblVuZG8pKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY2FuUmVk
bykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0VkaXRvclN0YXRlLmgKaW5kZXggNjAwZjI1MjIyOTFhOWY1NTc0MzYyYTlkM2EwNGEw
YzhlNzBhMDc4OC4uZGMwYzE4Mzk2ZTFkZWJlM2RmYzQ2ZjU5NmVjZWY4YzZkZTE4OTdlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5oCkBAIC0xMTIsOCArMTEyLDYgQEAgc3RydWN0IEVk
aXRvclN0YXRlIHsKICAgICAgICAgYm9vbCBjYW5DdXQgeyBmYWxzZSB9OwogICAgICAgICBib29s
IGNhbkNvcHkgeyBmYWxzZSB9OwogICAgICAgICBib29sIGNhblBhc3RlIHsgZmFsc2UgfTsKLSAg
ICAgICAgYm9vbCBjYW5VbmRvIHsgZmFsc2UgfTsKLSAgICAgICAgYm9vbCBjYW5SZWRvIHsgZmFs
c2UgfTsKIAogICAgICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAgICAg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIFBvc3RMYXlvdXREYXRhJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRFZGl0b3JT
dGF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRFZGl0b3JT
dGF0ZS5jcHAKaW5kZXggNDA2YmZkYjZiZGNlYjQ1ZGE2MDQ3MGExZWJmMzhlMWJlNjBiYTBjYy4u
ZmQ5MWJmNGUwZjY1ODg1ZDc4NWJhYWI2NTI5NmIwY2FhMjkzODA3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0RWRpdG9yU3RhdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEVkaXRvclN0YXRlLmNwcApA
QCAtMjIsNiArMjIsNyBAQAogCiAjaW5jbHVkZSAiRWRpdG9yU3RhdGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRFZGl0b3JTdGF0ZVByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNp
bmNsdWRlIDxnbGliL2dpMThuLWxpYi5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL1dURkdUeXBlLmg+
CiAKQEAgLTQ3LDYgKzQ4LDcgQEAgZW51bSB7CiB9OwogCiBzdHJ1Y3QgX1dlYktpdEVkaXRvclN0
YXRlUHJpdmF0ZSB7CisgICAgV2ViUGFnZVByb3h5KiBwYWdlOwogICAgIHVuc2lnbmVkIHR5cGlu
Z0F0dHJpYnV0ZXM7CiAgICAgdW5zaWduZWQgaXNDdXRBdmFpbGFibGUgOiAxOwogICAgIHVuc2ln
bmVkIGlzQ29weUF2YWlsYWJsZSA6IDE7CkBAIC0xMDMsMTAgKzEwNSwxMSBAQCBzdGF0aWMgdm9p
ZCB3ZWJraXRFZGl0b3JTdGF0ZVNldFR5cGluZ0F0dHJpYnV0ZXMoV2ViS2l0RWRpdG9yU3RhdGUq
IGVkaXRvclN0YXRlLAogICAgIGdfb2JqZWN0X25vdGlmeShHX09CSkVDVChlZGl0b3JTdGF0ZSks
ICJ0eXBpbmctYXR0cmlidXRlcyIpOwogfQogCi1XZWJLaXRFZGl0b3JTdGF0ZSogd2Via2l0RWRp
dG9yU3RhdGVDcmVhdGUoY29uc3QgRWRpdG9yU3RhdGUmIHN0YXRlKQorV2ViS2l0RWRpdG9yU3Rh
dGUqIHdlYmtpdEVkaXRvclN0YXRlQ3JlYXRlKFdlYlBhZ2VQcm94eSYgcGFnZSkKIHsKICAgICBX
ZWJLaXRFZGl0b3JTdGF0ZSogZWRpdG9yU3RhdGUgPSBXRUJLSVRfRURJVE9SX1NUQVRFKGdfb2Jq
ZWN0X25ldyhXRUJLSVRfVFlQRV9FRElUT1JfU1RBVEUsIG51bGxwdHIpKTsKLSAgICB3ZWJraXRF
ZGl0b3JTdGF0ZUNoYW5nZWQoZWRpdG9yU3RhdGUsIHN0YXRlKTsKKyAgICBlZGl0b3JTdGF0ZS0+
cHJpdi0+cGFnZSA9ICZwYWdlOworICAgIHdlYmtpdEVkaXRvclN0YXRlQ2hhbmdlZChlZGl0b3JT
dGF0ZSwgcGFnZS5lZGl0b3JTdGF0ZSgpKTsKICAgICByZXR1cm4gZWRpdG9yU3RhdGU7CiB9CiAK
QEAgLTEzMSw4ICsxMzQsOSBAQCB2b2lkIHdlYmtpdEVkaXRvclN0YXRlQ2hhbmdlZChXZWJLaXRF
ZGl0b3JTdGF0ZSogZWRpdG9yU3RhdGUsIGNvbnN0IEVkaXRvclN0YXRlJgogICAgIGVkaXRvclN0
YXRlLT5wcml2LT5pc0N1dEF2YWlsYWJsZSA9IHBvc3RMYXlvdXREYXRhLmNhbkN1dDsKICAgICBl
ZGl0b3JTdGF0ZS0+cHJpdi0+aXNDb3B5QXZhaWxhYmxlID0gcG9zdExheW91dERhdGEuY2FuQ29w
eTsKICAgICBlZGl0b3JTdGF0ZS0+cHJpdi0+aXNQYXN0ZUF2YWlsYWJsZSA9IHBvc3RMYXlvdXRE
YXRhLmNhblBhc3RlOwotICAgIGVkaXRvclN0YXRlLT5wcml2LT5pc1VuZG9BdmFpbGFibGUgPSBw
b3N0TGF5b3V0RGF0YS5jYW5VbmRvOwotICAgIGVkaXRvclN0YXRlLT5wcml2LT5pc1JlZG9BdmFp
bGFibGUgPSBwb3N0TGF5b3V0RGF0YS5jYW5SZWRvOworCisgICAgZWRpdG9yU3RhdGUtPnByaXYt
PmlzVW5kb0F2YWlsYWJsZSA9IGVkaXRvclN0YXRlLT5wcml2LT5wYWdlLT5jYW5VbmRvKCk7Cisg
ICAgZWRpdG9yU3RhdGUtPnByaXYtPmlzUmVkb0F2YWlsYWJsZSA9IGVkaXRvclN0YXRlLT5wcml2
LT5wYWdlLT5jYW5SZWRvKCk7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0RWRpdG9yU3RhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRFZGl0b3JTdGF0ZVByaXZhdGUuaAppbmRleCAx
YmRkM2IxZGVkNjI1YzdlMTk3NjQyZDIwNGNkZGFiODE0M2ZkMTUzLi5hZjMwN2FmZWNkNGRhNzNm
MzEwODRkNTRlMTllZmY2MDAzN2I1ODAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRFZGl0b3JTdGF0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRFZGl0b3JTdGF0ZVByaXZhdGUuaApAQCAtMjEs
NiArMjEsNyBAQAogCiAjaW5jbHVkZSAiRWRpdG9yU3RhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRF
ZGl0b3JTdGF0ZS5oIgorI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogCi1XZWJLaXRFZGl0b3JT
dGF0ZSogd2Via2l0RWRpdG9yU3RhdGVDcmVhdGUoY29uc3QgV2ViS2l0OjpFZGl0b3JTdGF0ZSYp
OworV2ViS2l0RWRpdG9yU3RhdGUqIHdlYmtpdEVkaXRvclN0YXRlQ3JlYXRlKFdlYktpdDo6V2Vi
UGFnZVByb3h5Jik7CiB2b2lkIHdlYmtpdEVkaXRvclN0YXRlQ2hhbmdlZChXZWJLaXRFZGl0b3JT
dGF0ZSosIGNvbnN0IFdlYktpdDo6RWRpdG9yU3RhdGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggZTZkYWQ1MDgxMzRk
ZTg0NmI2YmE5Y2M5YzkzNGI5MTliNzYwNWM2Zi4uNTUyZGU4OGRlY2M5YWUwNzBjMjUyMTQyOWRm
ZjJhYTg1MjJiN2Q5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTM4OTMsNyArMzg5Myw3IEBAIFdlYktpdEVkaXRvclN0
YXRlKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2VkaXRvcl9zdGF0ZShXZWJLaXRXZWJWaWV3ICp3ZWJW
aWV3KQogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfVklFVyh3ZWJWaWV3
KSwgbnVsbHB0cik7CiAKICAgICBpZiAoIXdlYlZpZXctPnByaXYtPmVkaXRvclN0YXRlKQotICAg
ICAgICB3ZWJWaWV3LT5wcml2LT5lZGl0b3JTdGF0ZSA9IGFkb3B0R1JlZih3ZWJraXRFZGl0b3JT
dGF0ZUNyZWF0ZShnZXRQYWdlKHdlYlZpZXcpLmVkaXRvclN0YXRlKCkpKTsKKyAgICAgICAgd2Vi
Vmlldy0+cHJpdi0+ZWRpdG9yU3RhdGUgPSBhZG9wdEdSZWYod2Via2l0RWRpdG9yU3RhdGVDcmVh
dGUoZ2V0UGFnZSh3ZWJWaWV3KSkpOwogCiAgICAgcmV0dXJuIHdlYlZpZXctPnByaXYtPmVkaXRv
clN0YXRlLmdldCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggM2U5MjM2ZmEzMmY3MThmOTYxMTFiYmUyYjBjNjJlYmJmYWRjMDEyMi4uNWIwNWFhZjJl
MDljYzkzNzI5MzE1Y2ZhZTQzMTZmMzc2YWJiYmQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC00ODk2LDYgKzQ4OTYsMjAgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OnJlbW92ZUVkaXRDb21tYW5kKFdlYkVkaXRDb21tYW5kUHJveHkqIGNvbW1hbmQpCiAgICAg
bV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZW1vdmVFZGl0Q29tbWFuZChj
b21tYW5kLT5jb21tYW5kSUQoKSksIG1fcGFnZUlEKTsKIH0KIAorYm9vbCBXZWJQYWdlUHJveHk6
OmNhblVuZG8oKQoreworICAgIGJvb2wgcmVzdWx0OworICAgIGNhblVuZG9SZWRvKFVuZG8sIHJl
c3VsdCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBXZWJQYWdlUHJveHk6OmNhblJl
ZG8oKQoreworICAgIGJvb2wgcmVzdWx0OworICAgIGNhblVuZG9SZWRvKFJlZG8sIHJlc3VsdCk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogYm9vbCBXZWJQYWdlUHJveHk6OmlzVmFsaWRFZGl0
Q29tbWFuZChXZWJFZGl0Q29tbWFuZFByb3h5KiBjb21tYW5kKQogewogICAgIHJldHVybiBtX2Vk
aXRDb21tYW5kU2V0LmZpbmQoY29tbWFuZCkgIT0gbV9lZGl0Q29tbWFuZFNldC5lbmQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNWQwN2NiMTI3ZjUyNzI3MGM4
NWM3ZjUwMTY5YjAyNTMwZDZhZDRlZC4uMWNlMTVmMDdhYTNhMjQ0ODhlYzZlMjMxZDg4ZmY3NmI1
ZTU4NGM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTg3NCw2
ICs4NzQsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZhbGlkRWRpdENvbW1hbmQoV2ViRWRpdENv
bW1hbmRQcm94eSopOwogICAgIHZvaWQgcmVnaXN0ZXJFZGl0Q29tbWFuZChSZWY8V2ViRWRpdENv
bW1hbmRQcm94eT4mJiwgVW5kb09yUmVkbyk7CiAKKyAgICBib29sIGNhblVuZG8oKTsKKyAgICBi
b29sIGNhblJlZG8oKTsKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQgcmVnaXN0ZXJL
ZXlwcmVzc0NvbW1hbmROYW1lKGNvbnN0IFN0cmluZyYgbmFtZSkgeyBtX2tub3duS2V5cHJlc3ND
b21tYW5kTmFtZXMuYWRkKG5hbWUpOyB9CiAgICAgYm9vbCBpc1ZhbGlkS2V5cHJlc3NDb21tYW5k
TmFtZShjb25zdCBTdHJpbmcmIG5hbWUpIGNvbnN0IHsgcmV0dXJuIG1fa25vd25LZXlwcmVzc0Nv
bW1hbmROYW1lcy5jb250YWlucyhuYW1lKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA4YjdlYjc4NjIyMTE1YTZlNzZlNzIzYjQ5ZGQyNTM1
NDE5ZjQzOTE3Li41YzcwOTI0Y2U5MTgzMDVmZjZhZTBlODMyY2U5NjM2ZjVlY2YwMjliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtODY2LDgg
Kzg2Niw2IEBAIEVkaXRvclN0YXRlIFdlYlBhZ2U6OmVkaXRvclN0YXRlKEluY2x1ZGVQb3N0TGF5
b3V0RGF0YUhpbnQgc2hvdWxkSW5jbHVkZVBvc3RMYXlvCiAgICAgICAgIHBvc3RMYXlvdXREYXRh
LmNhbkN1dCA9IGVkaXRvci5jYW5DdXQoKTsKICAgICAgICAgcG9zdExheW91dERhdGEuY2FuQ29w
eSA9IGVkaXRvci5jYW5Db3B5KCk7CiAgICAgICAgIHBvc3RMYXlvdXREYXRhLmNhblBhc3RlID0g
ZWRpdG9yLmNhblBhc3RlKCk7Ci0gICAgICAgIHBvc3RMYXlvdXREYXRhLmNhblVuZG8gPSBlZGl0
b3IuY2FuVW5kbygpOwotICAgICAgICBwb3N0TGF5b3V0RGF0YS5jYW5SZWRvID0gZWRpdG9yLmNh
blJlZG8oKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICBpZiAocmVzdWx0LmlzQ29u
dGVudEVkaXRhYmxlICYmICFzZWxlY3Rpb24uaXNOb25lKCkpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>