<?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>158590</bug_id>
          
          <creation_ts>2016-06-09 15:55:54 -0700</creation_ts>
          <short_desc>[Cocoa] REGRESSION (r198177): Cannot paste an image when the pasteboard format is MIME type</short_desc>
          <delta_ts>2016-06-10 17:19:57 -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>HTML Editing</component>
          <version>WebKit 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="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>beidson</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1201030</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-06-09 15:55:54 -0700</bug_when>
    <thetext>This regressed with http://trac.webkit.org/changeset/198177 where EditorIOS.mm and EditorMac.mm where modified inadvertently, postponing adding the resources to the document loader.

rdar://problem/25471371</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201035</commentid>
    <comment_count>1</comment_count>
      <attachid>280962</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-06-09 16:13:30 -0700</bug_when>
    <thetext>Created attachment 280962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201117</commentid>
    <comment_count>2</comment_count>
      <attachid>280962</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-06-09 20:17:38 -0700</bug_when>
    <thetext>Comment on attachment 280962
Patch

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

Sorry about my part in letting this get broken!

&gt; Source/WebCore/editing/ios/EditorIOS.mm:583
&gt; +    String resourceUrl = [URL isFileURL] ? [URL absoluteString] : resource-&gt;url();

Should name this resourceURL, with capital letters for the acronym.

&gt; Source/WebCore/editing/ios/EditorIOS.mm:588
&gt; +    auto imageElement = m_frame.document()-&gt;createElement(HTMLNames::imgTag, false);

This is an unnecessarily roundabout way to create an image element. Should instead just write:

    auto imageElement = HTMLImageElement::create(*m_frame.document());

&gt; Source/WebCore/editing/ios/EditorIOS.mm:589
&gt; +    imageElement-&gt;setAttribute(HTMLNames::srcAttr, resourceUrl);

For slightly better performance this can use setAttributeWithoutSynchronization instead of setAttribute.

&gt; Source/WebCore/editing/mac/EditorMac.mm:636
&gt; +    String resourceUrl = resource-&gt;url().string();

Same comment as above.

&gt; Source/WebCore/editing/mac/EditorMac.mm:641
&gt; +    auto imageElement = document().createElement(HTMLNames::imgTag, false);
&gt; +    imageElement-&gt;setAttribute(HTMLNames::srcAttr, resourceUrl);

Same comments as above.

But also, can we (at least eventually) find a way to share more of this copied and pasted code between iOS and Mac?

&gt; Source/WebCore/page/Settings.h:147
&gt; +    WEBCORE_EXPORT void setPreferMimeTypeForImages(bool);
&gt; +    bool preferMimeTypeForImages() const { return m_preferMimeTypeForImages; }

I think it should be MIMEType rather than MimeType.

&gt; Source/WebCore/page/Settings.h:326
&gt; +    bool m_preferMimeTypeForImages : 1;

Ditto.

&gt; Source/WebCore/testing/InternalSettings.idl:66
&gt; +    [RaisesException] void setPreferMimeTypeForImages(boolean preferMimeTypeForImage);

I think it should be MIMEType rather than MimeType.

&gt; LayoutTests/ChangeLog:9
&gt; +        * editing/pasteboard/image-in-iframe-expected.txt: Added.

Can we make this a reference test instead of a render-tree-dumping test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201448</commentid>
    <comment_count>3</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-06-10 17:13:04 -0700</bug_when>
    <thetext>Thanks for the review. I&apos;ve addressed all your comments.
I tried making a ref test, but I keep getting problems with the caret image.
I&apos;d rather leave this as render tree test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201452</commentid>
    <comment_count>4</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2016-06-10 17:19:57 -0700</bug_when>
    <thetext>Committed revision 201956.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280962</attachid>
            <date>2016-06-09 16:13:30 -0700</date>
            <delta_ts>2016-06-09 20:17:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>cannotpasteimage.txt</filename>
            <type>text/plain</type>
            <size>13272</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTg5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTA2LTA5ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTk4MTc3
KTogQ2Fubm90IHBhc3RlIGFuIGltYWdlIHdoZW4gdGhlIHBhc3RlYm9hcmQgZm9ybWF0IGlzIG1p
bWUgdHlwZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1ODU5MAorICAgICAgICByZGFyOi8vcHJvYmxlbS8yNTQ3MTM3MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gY3JlYXRpbmcgYSBmcmFnbWVu
dCBmcm9tIGFuIGltYWdlIHJlc291cmNlLCB0aGUgcmVzb3VyY2UgbmVlZHMgdG8KKyAgICAgICAg
YmUgYWRkZWQgdG8gdGhlIGRvY3VtZW50IGxvYWRlciBiZWZvcmUgc2V0dGluZyB0aGUgc3JjIGF0
dHJpYnV0ZSB0byB0aGUKKyAgICAgICAgaW1hZ2UgZWxlbWVudCwgb3RoZXJ3aXNlIGxvYWRpbmcg
aXMgdHJpZ2dlcmVkIGFuZCB0aGUgbG9hZGluZyBmYWlscy4KKyAgICAgICAgSW4gcjE5ODE3NyB0
aGUgb3JkZXIgb2YgdGhlIG9wZXJhdGlvbnMgd2FzIGNoYW5nZWQgY2F1c2luZyB0aGUgYnVnLgor
ICAgICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCB0byB0ZXN0IHRoZSBzY2VuYXJpbyB3aGVy
ZSB0aGUgaW1hZ2UgaW4gdGhlIHBhc3RlYm9hcmQKKyAgICAgICAgaXMgYXZhaWxhYmxlIG9ubHkg
YXMgbWltZSB0eXBlIChub3QgV2ViQXJjaGl2ZSBvciBSVEZEKSwgYSBzaXR1YXRpb24gdGhhdCBv
Y2N1cnMKKyAgICAgICAgbW9yZSBmcmVxdWVudGx5IG9uIGlPUy4KKworICAgICAgICBUZXN0OiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvaW1hZ2UtaW4taWZyYW1lLmh0bWwKKworICAgICAgICAqIGVkaXRp
bmcvaW9zL0VkaXRvcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y3JlYXRlRnJh
Z21lbnRGb3JJbWFnZVJlc291cmNlQW5kQWRkUmVzb3VyY2UpOgorICAgICAgICAqIGVkaXRpbmcv
bWFjL0VkaXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6V2ViQ29udGVudFJl
YWRlcjo6cmVhZFdlYkFyY2hpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpXZWJDb250
ZW50UmVhZGVyOjpyZWFkUlRGRCk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OldlYkNvbnRl
bnRSZWFkZXI6OnJlYWRSVEYpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpjcmVhdGVGcmFn
bWVudEZvckltYWdlUmVzb3VyY2VBbmRBZGRSZXNvdXJjZSk6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0UHJlZmVyTWltZVR5cGVGb3JJbWFnZXMp
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZvcmNlUGVuZGluZ1dlYkdMUG9saWN5
KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6YXJlSW1hZ2VzRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6cHJlZmVy
TWltZVR5cGVGb3JJbWFnZXMpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmFyZVBsdWdp
bnNFbmFibGVkKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0TGFuZ0F0dHJpYnV0ZUF3YXJlRm9y
bUNvbnRyb2xVSUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6
c2V0UHJlZmVyTWltZVR5cGVGb3JJbWFnZXMpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxT
ZXR0aW5nczo6c2V0SW1hZ2VzRW5hYmxlZCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKwogMjAx
Ni0wNi0wOSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIENo
YW5naW5nIGNhbnZhcyBoZWlnaHQgaW1tZWRpYXRlbHkgYWZ0ZXIgcGFnZSBsb2FkIGRvZXMgbm90
IHJlbGF5b3V0IGNhbnZhcwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9pb3MvRWRpdG9y
SU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaW9zL0VkaXRvcklP
Uy5tbQkocmV2aXNpb24gMjAxODgwKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9pb3MvRWRp
dG9ySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NzksMTUgKzU3OSwxNSBAQCBSZWZQdHI8RG9j
dW1lbnRGcmFnbWVudD4gRWRpdG9yOjpjcmVhdGVGCiAgICAgaWYgKCFyZXNvdXJjZSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBSZWY8RWxlbWVudD4gaW1hZ2VFbGVtZW50ID0gbV9m
cmFtZS5kb2N1bWVudCgpLT5jcmVhdGVFbGVtZW50KEhUTUxOYW1lczo6aW1nVGFnLCBmYWxzZSk7
Ci0KICAgICBOU1VSTCAqVVJMID0gcmVzb3VyY2UtPnVybCgpOwotICAgIGltYWdlRWxlbWVudC0+
c2V0QXR0cmlidXRlKEhUTUxOYW1lczo6c3JjQXR0ciwgW1VSTCBpc0ZpbGVVUkxdID8gW1VSTCBh
YnNvbHV0ZVN0cmluZ10gOiByZXNvdXJjZS0+dXJsKCkpOworICAgIFN0cmluZyByZXNvdXJjZVVy
bCA9IFtVUkwgaXNGaWxlVVJMXSA/IFtVUkwgYWJzb2x1dGVTdHJpbmddIDogcmVzb3VyY2UtPnVy
bCgpOwogCi0gICAgLy8gRklYTUU6IFRoZSBjb2RlIGluIGNyZWF0ZUZyYWdtZW50QW5kQWRkUmVz
b3VyY2VzIGNhbGxzIHNldERlZmVyc0xvYWRpbmcodHJ1ZSkuIERvbid0IHdlIG5lZWQgdGhhdCBo
ZXJlPwogICAgIGlmIChEb2N1bWVudExvYWRlciogbG9hZGVyID0gbV9mcmFtZS5sb2FkZXIoKS5k
b2N1bWVudExvYWRlcigpKQogICAgICAgICBsb2FkZXItPmFkZEFyY2hpdmVSZXNvdXJjZShyZXNv
dXJjZS5yZWxlYXNlTm9uTnVsbCgpKTsKIAorICAgIGF1dG8gaW1hZ2VFbGVtZW50ID0gbV9mcmFt
ZS5kb2N1bWVudCgpLT5jcmVhdGVFbGVtZW50KEhUTUxOYW1lczo6aW1nVGFnLCBmYWxzZSk7Cisg
ICAgaW1hZ2VFbGVtZW50LT5zZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpzcmNBdHRyLCByZXNvdXJj
ZVVybCk7CisKICAgICBhdXRvIGZyYWdtZW50ID0gbV9mcmFtZS5kb2N1bWVudCgpLT5jcmVhdGVE
b2N1bWVudEZyYWdtZW50KCk7CiAgICAgZnJhZ21lbnQtPmFwcGVuZENoaWxkKGltYWdlRWxlbWVu
dCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JNYWMubW0JKHJldmlz
aW9uIDIwMTg4MCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQko
d29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsNyBAQAogI2ltcG9ydCAiUmVuZGVyQmxvY2suaCIK
ICNpbXBvcnQgIlJlbmRlckltYWdlLmgiCiAjaW1wb3J0ICJSdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaCIKKyNpbXBvcnQgIlNldHRpbmdzLmgiCiAjaW1wb3J0ICJTb3VuZC5oIgogI2ltcG9ydCAi
U3R5bGVQcm9wZXJ0aWVzLmgiCiAjaW1wb3J0ICJUZXh0LmgiCkBAIC00NzQsNiArNDc1LDkgQEAg
cHJpdmF0ZToKIAogYm9vbCBFZGl0b3I6OldlYkNvbnRlbnRSZWFkZXI6OnJlYWRXZWJBcmNoaXZl
KFNoYXJlZEJ1ZmZlciogYnVmZmVyKQogeworICAgIGlmIChmcmFtZS5zZXR0aW5ncygpLnByZWZl
ck1pbWVUeXBlRm9ySW1hZ2VzKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGlmICgh
ZnJhbWUuZG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC01NjAsMTIgKzU2
NCwxOCBAQCBib29sIEVkaXRvcjo6V2ViQ29udGVudFJlYWRlcjo6cmVhZEhUTUwoCiAKIGJvb2wg
RWRpdG9yOjpXZWJDb250ZW50UmVhZGVyOjpyZWFkUlRGRChTaGFyZWRCdWZmZXImIGJ1ZmZlcikK
IHsKKyAgICBpZiAoZnJhbWUuc2V0dGluZ3MoKS5wcmVmZXJNaW1lVHlwZUZvckltYWdlcygpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBmcmFnbWVudCA9IGZyYW1lLmVkaXRvcigpLmNy
ZWF0ZUZyYWdtZW50QW5kQWRkUmVzb3VyY2VzKGFkb3B0TlMoW1tOU0F0dHJpYnV0ZWRTdHJpbmcg
YWxsb2NdIGluaXRXaXRoUlRGRDpidWZmZXIuY3JlYXRlTlNEYXRhKCkuZ2V0KCkgZG9jdW1lbnRB
dHRyaWJ1dGVzOm51bGxwdHJdKS5nZXQoKSk7CiAgICAgcmV0dXJuIGZyYWdtZW50OwogfQogCiBi
b29sIEVkaXRvcjo6V2ViQ29udGVudFJlYWRlcjo6cmVhZFJURihTaGFyZWRCdWZmZXImIGJ1ZmZl
cikKIHsKKyAgICBpZiAoZnJhbWUuc2V0dGluZ3MoKS5wcmVmZXJNaW1lVHlwZUZvckltYWdlcygp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBmcmFnbWVudCA9IGZyYW1lLmVkaXRvcigp
LmNyZWF0ZUZyYWdtZW50QW5kQWRkUmVzb3VyY2VzKGFkb3B0TlMoW1tOU0F0dHJpYnV0ZWRTdHJp
bmcgYWxsb2NdIGluaXRXaXRoUlRGOmJ1ZmZlci5jcmVhdGVOU0RhdGEoKS5nZXQoKSBkb2N1bWVu
dEF0dHJpYnV0ZXM6bnVsbHB0cl0pLmdldCgpKTsKICAgICByZXR1cm4gZnJhZ21lbnQ7CiB9CkBA
IC02MjMsMTMgKzYzMywxMyBAQCBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gRWRpdG9yOjpjcmVh
dGVGCiAgICAgaWYgKCFyZXNvdXJjZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBh
dXRvIGltYWdlRWxlbWVudCA9IGRvY3VtZW50KCkuY3JlYXRlRWxlbWVudChIVE1MTmFtZXM6Omlt
Z1RhZywgZmFsc2UpOwotICAgIGltYWdlRWxlbWVudC0+c2V0QXR0cmlidXRlKEhUTUxOYW1lczo6
c3JjQXR0ciwgcmVzb3VyY2UtPnVybCgpLnN0cmluZygpKTsKLQotICAgIC8vIEZJWE1FOiBUaGUg
Y29kZSBpbiBjcmVhdGVGcmFnbWVudEFuZEFkZFJlc291cmNlcyBjYWxscyBzZXREZWZlcnNMb2Fk
aW5nKHRydWUpLiBEb24ndCB3ZSBuZWVkIHRoYXQgaGVyZT8KKyAgICBTdHJpbmcgcmVzb3VyY2VV
cmwgPSByZXNvdXJjZS0+dXJsKCkuc3RyaW5nKCk7CiAgICAgaWYgKERvY3VtZW50TG9hZGVyKiBs
b2FkZXIgPSBtX2ZyYW1lLmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCkpCiAgICAgICAgIGxvYWRl
ci0+YWRkQXJjaGl2ZVJlc291cmNlKHJlc291cmNlLnJlbGVhc2VOb25OdWxsKCkpOwogCisgICAg
YXV0byBpbWFnZUVsZW1lbnQgPSBkb2N1bWVudCgpLmNyZWF0ZUVsZW1lbnQoSFRNTE5hbWVzOjpp
bWdUYWcsIGZhbHNlKTsKKyAgICBpbWFnZUVsZW1lbnQtPnNldEF0dHJpYnV0ZShIVE1MTmFtZXM6
OnNyY0F0dHIsIHJlc291cmNlVXJsKTsKKwogICAgIGF1dG8gZnJhZ21lbnQgPSBkb2N1bWVudCgp
LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKICAgICBmcmFnbWVudC0+YXBwZW5kQ2hpbGQoaW1h
Z2VFbGVtZW50KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDIw
MTg4MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MTksNiArNDE5LDExIEBAIHZvaWQgU2V0dGluZ3M6OnNldEltYWdlc0VuYWJsZWQoYm9v
bCBhcmUKICAgICBtX3NldEltYWdlTG9hZGluZ1NldHRpbmdzVGltZXIuc3RhcnRPbmVTaG90KDAp
OwogfQogCit2b2lkIFNldHRpbmdzOjpzZXRQcmVmZXJNaW1lVHlwZUZvckltYWdlcyhib29sIHBy
ZWZlck1pbWVUeXBlRm9ySW1hZ2UpCit7CisgICAgbV9wcmVmZXJNaW1lVHlwZUZvckltYWdlcyA9
IHByZWZlck1pbWVUeXBlRm9ySW1hZ2U7Cit9CisKIHZvaWQgU2V0dGluZ3M6OnNldEZvcmNlUGVu
ZGluZ1dlYkdMUG9saWN5KGJvb2wgZm9yY2VkKQogewogICAgIG1fZm9yY2VQZW5kaW5nV2ViR0xQ
b2xpY3kgPSBmb3JjZWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiAyMDE4
ODApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE0Myw2ICsxNDMsOSBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRJbWFn
ZXNFbmFibGVkKGJvb2wpOwogICAgIGJvb2wgYXJlSW1hZ2VzRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fYXJlSW1hZ2VzRW5hYmxlZDsgfQogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQ
cmVmZXJNaW1lVHlwZUZvckltYWdlcyhib29sKTsKKyAgICBib29sIHByZWZlck1pbWVUeXBlRm9y
SW1hZ2VzKCkgY29uc3QgeyByZXR1cm4gbV9wcmVmZXJNaW1lVHlwZUZvckltYWdlczsgfQorCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChib29sKTsKICAgICBib29s
IGFyZVBsdWdpbnNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hcmVQbHVnaW5zRW5hYmxlZDsg
fQogCkBAIC0zMjAsNiArMzIzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNKYXZhRW5hYmxl
ZEZvckxvY2FsRmlsZXMgOiAxOwogICAgIGJvb2wgbV9sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkg
OiAxOwogICAgIGJvb2wgbV9hcmVJbWFnZXNFbmFibGVkIDogMTsKKyAgICBib29sIG1fcHJlZmVy
TWltZVR5cGVGb3JJbWFnZXMgOiAxOwogICAgIGJvb2wgbV9hcmVQbHVnaW5zRW5hYmxlZCA6IDE7
CiAgICAgYm9vbCBtX2lzU2NyaXB0RW5hYmxlZCA6IDE7CiAgICAgYm9vbCBtX25lZWRzQWRvYmVG
cmFtZVJlbG9hZGluZ1F1aXJrIDogMTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmNwcAkocmV2aXNpb24gMjAxODgwKQorKysgU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU3LDYgKzE1
Nyw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8KICAgICBzZXR0
aW5ncy5zZXRDYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nKG1fb3JpZ2luYWxDYW52YXNVc2Vz
QWNjZWxlcmF0ZWREcmF3aW5nKTsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldExhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkKG1fbGFu
Z0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQpOwogICAgIHNldHRpbmdzLnNldElt
YWdlc0VuYWJsZWQobV9pbWFnZXNFbmFibGVkKTsKKyAgICBzZXR0aW5ncy5zZXRQcmVmZXJNaW1l
VHlwZUZvckltYWdlcyhtX3ByZWZlck1pbWVUeXBlRm9ySW1hZ2VzKTsKICAgICBzZXR0aW5ncy5z
ZXRNaW5pbXVtRE9NVGltZXJJbnRlcnZhbChtX21pbmltdW1UaW1lckludGVydmFsKTsKICNpZiBF
TkFCTEUoVklERU9fVFJBQ0spCiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGxheVN1YnRpdGxl
cyhtX3Nob3VsZERpc3BsYXlTdWJ0aXRsZXMpOwpAQCAtNDY5LDYgKzQ3MCwxMiBAQCB2b2lkIElu
dGVybmFsU2V0dGluZ3M6OnNldExhbmdBdHRyaWJ1dGVBCiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJ
RW5hYmxlZChlbmFibGVkKTsKIH0KIAordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRQcmVmZXJN
aW1lVHlwZUZvckltYWdlcyhib29sIHByZWZlck1pbWVUeXBlRm9ySW1hZ2VzLCBFeGNlcHRpb25D
b2RlICZlYykKK3sKKyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAg
IHNldHRpbmdzKCktPnNldFByZWZlck1pbWVUeXBlRm9ySW1hZ2VzKHByZWZlck1pbWVUeXBlRm9y
SW1hZ2VzKTsKK30KKwogdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRJbWFnZXNFbmFibGVkKGJv
b2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgSW50ZXJuYWxTZXR0aW5nc0d1
YXJkRm9yU2V0dGluZ3MoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5oCShyZXZpc2lvbiAyMDE4ODApCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksNyBAQCBwdWJsaWM6
CiAgICAgICAgIGJvb2wgbV9vcmlnaW5hbFVzZXNPdmVybGF5U2Nyb2xsYmFyczsKICAgICAgICAg
Ym9vbCBtX2xhbmdBdHRyaWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkOwogICAgICAgICBi
b29sIG1faW1hZ2VzRW5hYmxlZDsKKyAgICAgICAgYm9vbCBtX3ByZWZlck1pbWVUeXBlRm9ySW1h
Z2VzOwogICAgICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1fbWluaW11bVRpbWVySW50
ZXJ2YWw7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgICAgICBib29sIG1fc2hvdWxkRGlz
cGxheVN1YnRpdGxlczsKQEAgLTEzOSw2ICsxNDAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRD
YW5TdGFydE1lZGlhKGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldFdpcmVsZXNz
UGxheWJhY2tEaXNhYmxlZChib29sKTsKICAgICB2b2lkIHNldEVkaXRpbmdCZWhhdmlvcihjb25z
dCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzZXRQcmVmZXJNaW1lVHlwZUZv
ckltYWdlcyhib29sLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRTaG91bGREaXNwbGF5
VHJhY2tLaW5kKGNvbnN0IFN0cmluZyYga2luZCwgYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgYm9vbCBzaG91bGREaXNwbGF5VHJhY2tLaW5kKGNvbnN0IFN0cmluZyYga2luZCwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KGNvbnN0
IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmlkbAkocmV2aXNpb24gMjAxODgwKQorKysgU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiAr
NjMsNyBAQAogICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0RWRpdGluZ0JlaGF2aW9yKERP
TVN0cmluZyBiZWhhdmlvcik7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGRD
b252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weShib29sZWFuIGNvbnZlcnQpOwogICAgIHZvaWQgc2V0
TGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsK
KyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldFByZWZlck1pbWVUeXBlRm9ySW1hZ2VzKGJv
b2xlYW4gcHJlZmVyTWltZVR5cGVGb3JJbWFnZSk7CiAKICAgICAvLyBPdGhlciBzd2l0Y2hlcwog
ICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KERPTVN0
cmluZyBwb2xpY3kpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjAxODgwKQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDYtMDkgIEVu
cmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIx
OTgxNzcpOiBDYW5ub3QgcGFzdGUgYW4gaW1hZ2Ugd2hlbiB0aGUgcGFzdGVib2FyZCBmb3JtYXQg
aXMgbWltZSB0eXBlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU4NTkwCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzI1NDcxMzcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9h
cmQvaW1hZ2UtaW4taWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9wYXN0ZWJvYXJkL2ltYWdlLWluLWlmcmFtZS5odG1sOiBBZGRlZC4KKwogMjAxNi0wNi0wOSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFdvcmtlckdsb2JhbFNj
b3BlIGF0dHJpYnV0ZXMgLyBvcGVyYXRpb25zIHNob3VsZCBiZSBvbiB0aGUgcHJvdG90eXBlCklu
ZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvaW1hZ2UtaW4taWZyYW1lLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvaW1h
Z2UtaW4taWZyYW1lLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvaW1hZ2UtaW4taWZyYW1lLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDE4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDI3
NgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4Mjc2CisgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4MjYwCisgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwwKSBzaXplIDUwMngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KKyAg
ICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDEsMSkgc2l6ZSA3NngxMDMKKyAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwMikgc2l6ZSA3ODR4MTU4CisgICAgICAgIFJlbmRl
cklGcmFtZSB7SUZSQU1FfSBhdCAoMCwwKSBzaXplIDMwNHgxNTQgW2JvcmRlcjogKDJweCBpbnNl
dCAjMDAwMDAwKV0KKyAgICAgICAgICBsYXllciBhdCAoMCwwKSBzaXplIDMwMHgxNTAKKyAgICAg
ICAgICAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSAzMDB4MTUwCisgICAgICAgICAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSAzMDB4MTUwCisgICAgICAgICAgICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSAzMDB4MTUwCisgICAgICAgICAgICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgw
LDApIHNpemUgMzAweDE1MAorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgw
LDApIHNpemUgNzZ4MTAzCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2NhcmV0
OiBwb3NpdGlvbiAxIG9mIGNoaWxkIDAge0lNR30gb2YgY2hpbGQgMSB7RElWfSBvZiBib2R5Cklu
ZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvaW1hZ2UtaW4taWZyYW1lLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2ltYWdlLWluLWlm
cmFtZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9pbWFnZS1pbi1pZnJhbWUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXN0aW5hdGlvbiIgY29u
dGVudGVkaXRhYmxlPSJ0cnVlIiBzdHlsZT0id2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDEwMHB4OyBi
b3JkZXI6IHNvbGlkIHJlZCAxcHgiPjwvZGl2PgorPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9Ii4u
L3Jlc291cmNlcy9hYmUucG5nIiBvbmxvYWQ9InNlbGVjdEluRnJhbWUoKSI+PC9pZnJhbWU+Cis8
L2JvZHk+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIHNlbGVjdEluRnJhbWUoKSB7CisgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRQcmVmZXJNaW1lVHlwZUZvckltYWdlcyh0cnVlKTsKKyAgICAgICAgdmFyIGlmcmFt
ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZnJhbWUiKTsKKyAgICAgICAgdmFyIGlmcmFt
ZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudDsKKyAgICAgICAgdmFyIGRlc3RpbmF0
aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc3RpbmF0aW9uIik7CisgICAgICAgIGlm
cmFtZURvY3VtZW50LmJvZHkuZm9jdXMoKTsKKyAgICAgICAgaWZyYW1lRG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIlNlbGVjdEFsbCIpOworICAgICAgICBpZnJhbWVEb2N1bWVudC5leGVjQ29tbWFuZCgi
Q29weSIpOworICAgICAgICBkZXN0aW5hdGlvbi5mb2N1cygpOworICAgICAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiUGFzdGUiKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="304825"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>