<?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>87969</bug_id>
          
          <creation_ts>2012-05-31 06:45:10 -0700</creation_ts>
          <short_desc>[chromium] DataTransferItem.webkitGetAsEntry() should synchronously return entry</short_desc>
          <delta_ts>2012-06-04 21:10:53 -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>WebCore Misc.</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>
          
          <blocked>76809</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Kinuko Yasuda">kinuko</assigned_to>
          <cc>abarth</cc>
    
    <cc>dcheng</cc>
    
    <cc>ericu</cc>
    
    <cc>levin</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>tzik</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>638348</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-31 06:45:10 -0700</bug_when>
    <thetext>[chromium] DataTransferItem.webkitGetAsEntry() should synchronously return entry.

We were adding DataTransferItem.webkitGetAsEntry(callback) which asynchronously returns FileEntry/DirectoryEntry for drag-and-dropped files, but on the public whatwg ML we got the feedback that this method should synchronously return Entry.
(Right now this is only implemented on chromium)

http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Apr/0079.html
http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Apr/0111.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638372</commentid>
    <comment_count>1</comment_count>
      <attachid>145083</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-31 07:06:34 -0700</bug_when>
    <thetext>Created attachment 145083
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639011</commentid>
    <comment_count>2</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-31 23:56:39 -0700</bug_when>
    <thetext>Adding some more filesystem folks to solicit unofficial review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639516</commentid>
    <comment_count>3</comment_count>
      <attachid>145083</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-01 10:48:23 -0700</bug_when>
    <thetext>Comment on attachment 145083
Patch

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

&gt; Source/WebCore/Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp:80
&gt; +    // FIXME: This involves synchronous file operation. We need to pass file type data when we dispatch drag event.

If the file on disk changes during the drag, should calls to webkitGetAsEntry() return current information?  If so, you probably can&apos;t do this optimization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640184</commentid>
    <comment_count>4</comment_count>
      <attachid>145083</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-03 08:23:48 -0700</bug_when>
    <thetext>Comment on attachment 145083
Patch

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

&gt;&gt; Source/WebCore/Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp:80
&gt;&gt; +    // FIXME: This involves synchronous file operation. We need to pass file type data when we dispatch drag event.
&gt; 
&gt; If the file on disk changes during the drag, should calls to webkitGetAsEntry() return current information?  If so, you probably can&apos;t do this optimization.

Good point, it&apos;s a bit questionable.  Actually if file&lt;-&gt;directory changes we may rather want to return a stale Entry which yields InvalidStateError errors.  I&apos;ll update the comment and bring it up on the public list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640325</commentid>
    <comment_count>5</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-03 22:38:23 -0700</bug_when>
    <thetext>Committed r119371: &lt;http://trac.webkit.org/changeset/119371&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145083</attachid>
            <date>2012-05-31 07:06:34 -0700</date>
            <delta_ts>2012-06-03 08:23:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87969-20120531230633.patch</filename>
            <type>text/plain</type>
            <size>13695</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGE4NzNlYjA1NDE5YWJj
NWZhYzBlN2U0MzkwNjM5NTE2MzI0NTYxYi4uNDI0OGE1NGQ2OWM2MTFiZmYyOWU4ZGQxOTY0MzY0
NjlkNzJmODdlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTMxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIHNob3VsZCBzeW5jaHJvbm91c2x5IHJl
dHVybiBlbnRyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODc5NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQZXIgZGlzY3Vzc2lvbiBvbiB3aGF0d2cgd2Ugc2hvdWxkIG1ha2Ugd2Via2l0R2V0QXNFbnRy
eSBzeW5jaHJvbm91cy4KKyAgICAgICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJs
aWMvcHVibGljLXdoYXR3Zy1hcmNoaXZlLzIwMTJBcHIvMDA3OS5odG1sCisKKyAgICAgICAgVGVz
dHM6IGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW1zLWRyYWctZHJvcC1lbnRy
eS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2ZpbGVzeXN0ZW0vY3Jvc3MtZmlsZXN5c3RlbS1v
cC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGF0YVRyYW5zZmVySXRlbUZp
bGVTeXN0ZW0uaDoKKyAgICAgICAgKERhdGFUcmFuc2Zlckl0ZW1GaWxlU3lzdGVtKToKKyAgICAg
ICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vRGF0YVRyYW5zZmVySXRlbUZpbGVTeXN0ZW0uaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3RlbS9jaHJvbWl1bS9EYXRhVHJhbnNmZXJJdGVtRmls
ZVN5c3RlbUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlckl0ZW1G
aWxlU3lzdGVtOjp3ZWJraXRHZXRBc0VudHJ5KTogQ2hhbmdlZCBpdCB0byBzeW5jaHJvbm91c2x5
IHJldHVybiBlbnRyeS4KKwogMjAxMi0wNS0zMCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtQbGF0Zm9ybV0gSW50cm9kdWNlIERlY2ltYWwgY2xhc3Mg
Zm9yIE51bWJlci9SYW5nZSBpbnB1dCB0eXBlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9maWxlc3lzdGVtL0RhdGFUcmFuc2Zlckl0ZW1GaWxlU3lzdGVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGF0YVRyYW5zZmVySXRlbUZpbGVTeXN0ZW0uaApp
bmRleCA3MTU0MzAxYTZmMTBjMWRkYzhjMjljYzQ4YmY4YjVjMTc4YjI4MGFmLi5hNzkzNjFjYWFk
MWI5ZDk5NjNlYWE5NDBmNzA5MDNiZjBlMTM3ODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGF0YVRyYW5zZmVySXRlbUZpbGVTeXN0ZW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGF0YVRyYW5zZmVySXRlbUZpbGVTeXN0
ZW0uaApAQCAtMzgsMTIgKzM4LDEyIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERh
dGFUcmFuc2Zlckl0ZW07Ci1jbGFzcyBFbnRyeUNhbGxiYWNrOworY2xhc3MgRW50cnk7CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBEYXRhVHJhbnNmZXJJdGVtRmlsZVN5
c3RlbSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgd2Via2l0R2V0QXNFbnRyeShEYXRhVHJh
bnNmZXJJdGVtKiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8RW50cnlDYWxs
YmFjaz4pOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEVudHJ5PiB3ZWJraXRHZXRBc0VudHJ5KERh
dGFUcmFuc2Zlckl0ZW0qLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiAKIHByaXZhdGU6CiAg
ICAgRGF0YVRyYW5zZmVySXRlbUZpbGVTeXN0ZW0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EYXRhVHJhbnNmZXJJdGVtRmlsZVN5c3RlbS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGF0YVRyYW5zZmVySXRlbUZpbGVTeXN0
ZW0uaWRsCmluZGV4IDM1MjkxZGQwMTE0ZmRiY2Y4YzUwM2Q5NWUyZDllMWQwZTQxNDY2MTEuLjFj
NTBkYjQyMGZiYzRmZjEyNTQyM2QzNmQ0MWJhMWNmNWU0MWU1ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EYXRhVHJhbnNmZXJJdGVtRmlsZVN5c3RlbS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RhdGFUcmFuc2Zlckl0
ZW1GaWxlU3lzdGVtLmlkbApAQCAtMzQsNyArMzQsNyBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAg
IENvbmRpdGlvbmFsPURBVEFfVFJBTlNGRVJfSVRFTVMmRklMRV9TWVNURU0sCiAgICAgICAgIFN1
cHBsZW1lbnRhbD1EYXRhVHJhbnNmZXJJdGVtCiAgICAgXSBEYXRhVHJhbnNmZXJJdGVtRmlsZVN5
c3RlbSB7Ci0gICAgICAgIC8vIEZJWE1FOiBhZGQgd2Via2l0R2V0QXNFbnRyeSgpCisgICAgICAg
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBFbnRyeSB3ZWJraXRHZXRBc0VudHJ5
KCk7CiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxl
c3lzdGVtL2Nocm9taXVtL0RhdGFUcmFuc2Zlckl0ZW1GaWxlU3lzdGVtQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL2Nocm9taXVtL0RhdGFUcmFuc2Zlckl0
ZW1GaWxlU3lzdGVtQ2hyb21pdW0uY3BwCmluZGV4IGE2YmIzY2RmOTVjMzZiZDYyMDZlNjZiOTdh
ZDBiNjVjNzNmMzU3MDUuLjc2NzFhZmJhOTllMzg4OTAxMWZmNWVmN2MwZWZjZTk5ZDc1NjRkODkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9jaHJvbWl1bS9E
YXRhVHJhbnNmZXJJdGVtRmlsZVN5c3RlbUNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vY2hyb21pdW0vRGF0YVRyYW5zZmVySXRlbUZpbGVTeXN0ZW1D
aHJvbWl1bS5jcHAKQEAgLTQyLDg1ICs0Miw0OSBAQAogI2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5
LmgiCiAjaW5jbHVkZSAiRHJhZ2dlZElzb2xhdGVkRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkVu
dHJ5LmgiCi0jaW5jbHVkZSAiRW50cnlDYWxsYmFjay5oIgogI2luY2x1ZGUgIkZpbGUuaCIKICNp
bmNsdWRlICJGaWxlRW50cnkuaCIKICNpbmNsdWRlICJGaWxlTWV0YWRhdGEuaCIKKyNpbmNsdWRl
ICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLW5hbWVzcGFjZSB7Ci0KLWNsYXNzIEdldEFzRW50cnlDYWxs
YmFja3MgOiBwdWJsaWMgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIHsKLSAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHZXRBc0VudHJ5Q2FsbGJhY2tzKTsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c093blB0cjxHZXRBc0VudHJ5Q2FsbGJhY2tzPiBjcmVhdGUoUGFzc1JlZlB0cjxET01GaWxlU3lz
dGVtPiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoLCBQYXNzUmVmUHRyPEVu
dHJ5Q2FsbGJhY2s+IGNhbGxiYWNrKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBHZXRBc0VudHJ5Q2FsbGJhY2tzKGZpbGVzeXN0ZW0sIHZpcnR1YWxQYXRoLCBjYWxsYmFjaykp
OwotICAgIH0KLQotICAgIHZpcnR1YWwgfkdldEFzRW50cnlDYWxsYmFja3MoKQotICAgIHsKLSAg
ICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVhZE1ldGFkYXRhKGNvbnN0IEZpbGVNZXRhZGF0
YSYgbWV0YWRhdGEpCi0gICAgewotICAgICAgICBpZiAobWV0YWRhdGEudHlwZSA9PSBGaWxlTWV0
YWRhdGE6OlR5cGVEaXJlY3RvcnkpCi0gICAgICAgICAgICBtX2NhbGxiYWNrLT5oYW5kbGVFdmVu
dChEaXJlY3RvcnlFbnRyeTo6Y3JlYXRlKG1fZmlsZXN5c3RlbSwgbV92aXJ0dWFsUGF0aCkuZ2V0
KCkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2NhbGxiYWNrLT5oYW5kbGVFdmVudChG
aWxlRW50cnk6OmNyZWF0ZShtX2ZpbGVzeXN0ZW0sIG1fdmlydHVhbFBhdGgpLmdldCgpKTsKLSAg
ICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbChpbnQgZXJyb3IpCi0gICAgewotICAgICAg
ICAvLyBGSVhNRTogUmV0dXJuIGEgc3BlY2lhbCBGaWxlRW50cnkgd2hpY2ggd2lsbCBsZXQgYW55
IHN1Y2NlZWRpbmcgb3BlcmF0aW9ucyBmYWlsIHdpdGggdGhlIGVycm9yIGNvZGUuCi0gICAgICAg
IG1fY2FsbGJhY2stPmhhbmRsZUV2ZW50KDApOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBHZXRB
c0VudHJ5Q2FsbGJhY2tzKFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZXN5c3RlbSwgY29u
c3QgU3RyaW5nJiB2aXJ0dWFsUGF0aCwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiBjYWxsYmFj
aykKLSAgICAgICAgOiBtX2ZpbGVzeXN0ZW0oZmlsZXN5c3RlbSkKLSAgICAgICAgLCBtX3ZpcnR1
YWxQYXRoKHZpcnR1YWxQYXRoKQotICAgICAgICAsIG1fY2FsbGJhY2soY2FsbGJhY2spCi0gICAg
ewotICAgIH0KLQotICAgIFJlZlB0cjxET01GaWxlU3lzdGVtPiBtX2ZpbGVzeXN0ZW07Ci0gICAg
U3RyaW5nIG1fdmlydHVhbFBhdGg7Ci0gICAgUmVmUHRyPEVudHJ5Q2FsbGJhY2s+IG1fY2FsbGJh
Y2s7Ci19OwotCi19IC8vIG5hbWVzcGFjZQotCiAvLyBzdGF0aWMKLXZvaWQgRGF0YVRyYW5zZmVy
SXRlbUZpbGVTeXN0ZW06OndlYmtpdEdldEFzRW50cnkoRGF0YVRyYW5zZmVySXRlbSogaXRlbSwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUGFzc1JlZlB0
cjxFbnRyeUNhbGxiYWNrPiBjYWxsYmFjaykKK1Bhc3NSZWZQdHI8RW50cnk+IERhdGFUcmFuc2Zl
ckl0ZW1GaWxlU3lzdGVtOjp3ZWJraXRHZXRBc0VudHJ5KERhdGFUcmFuc2Zlckl0ZW0qIGl0ZW0s
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpCiB7CiAgICAg
RGF0YVRyYW5zZmVySXRlbVBvbGljeVdyYXBwZXIqIGl0ZW1Qb2xpY3lXcmFwcGVyID0gc3RhdGlj
X2Nhc3Q8RGF0YVRyYW5zZmVySXRlbVBvbGljeVdyYXBwZXIqPihpdGVtKTsKIAotICAgIGlmICgh
Y2FsbGJhY2sgfHwgIWl0ZW1Qb2xpY3lXcmFwcGVyLT5kYXRhT2JqZWN0SXRlbSgpLT5pc0ZpbGVu
YW1lKCkpCi0gICAgICAgIHJldHVybjsKKyAgICBpZiAoIWl0ZW1Qb2xpY3lXcmFwcGVyLT5kYXRh
T2JqZWN0SXRlbSgpLT5pc0ZpbGVuYW1lKCkpCisgICAgICAgIHJldHVybiBhZG9wdFJlZihzdGF0
aWNfY2FzdDxFbnRyeSo+KDApKTsKIAogICAgIC8vIEZvciBkcmFnZ2VkIGZpbGVzIGdldEFzRmls
ZSBtdXN0IGJlIHByZXR0eSBsaWdodHdlaWdodC4KICAgICBCbG9iKiBmaWxlID0gaXRlbVBvbGlj
eVdyYXBwZXItPmdldEFzRmlsZSgpLmdldCgpOwogICAgIC8vIFRoZSBjbGlwYm9hcmQgbWF5IG5v
dCBiZSBpbiBhIHJlYWRhYmxlIHN0YXRlLgogICAgIGlmICghZmlsZSkKLSAgICAgICAgcmV0dXJu
OworICAgICAgICByZXR1cm4gYWRvcHRSZWYoc3RhdGljX2Nhc3Q8RW50cnkqPigwKSk7CiAgICAg
QVNTRVJUKGZpbGUtPmlzRmlsZSgpKTsKIAogICAgIERyYWdnZWRJc29sYXRlZEZpbGVTeXN0ZW0q
IGZpbGVzeXN0ZW0gPSBEcmFnZ2VkSXNvbGF0ZWRGaWxlU3lzdGVtOjpmcm9tKGl0ZW1Qb2xpY3lX
cmFwcGVyLT5jbGlwYm9hcmQoKS0+ZGF0YU9iamVjdCgpLmdldCgpKTsKICAgICBET01GaWxlU3lz
dGVtKiBkb21GaWxlU3lzdGVtID0gZmlsZXN5c3RlbSA/IGZpbGVzeXN0ZW0tPmdldERPTUZpbGVT
eXN0ZW0oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgOiAwOwogICAgIGlmICghZmlsZXN5c3RlbSkg
ewogICAgICAgICAvLyBJc29sYXRlZEZpbGVTeXN0ZW0gbWF5IG5vdCBiZSBlbmFibGVkLgotICAg
ICAgICBET01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsIGNhbGxiYWNrLCBhZG9wdFJlZihzdGF0aWNfY2FzdDxFbnRyeSo+KDApKSk7Ci0gICAgICAg
IHJldHVybjsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKHN0YXRpY19jYXN0PEVudHJ5Kj4oMCkp
OwogICAgIH0KIAogICAgIEFTU0VSVChkb21GaWxlU3lzdGVtKTsKIAogICAgIC8vIFRoZSBkcm9w
cGVkIGVudHJpZXMgYXJlIG1hcHBlZCBhcyB0b3AtbGV2ZWwgZW50cmllcyBpbiB0aGUgaXNvbGF0
ZWQgZmlsZXN5c3RlbS4KLSAgICBTdHJpbmcgdmlydHVhbFBhdGggPSBET01GaWxlUGF0aDo6YXBw
ZW5kKCIvIiwgc3RhdGljX2Nhc3Q8RmlsZSo+KGZpbGUpLT5uYW1lKCkpOwotICAgIGRvbUZpbGVT
eXN0ZW0tPmFzeW5jRmlsZVN5c3RlbSgpLT5yZWFkTWV0YWRhdGEoZG9tRmlsZVN5c3RlbS0+Y3Jl
YXRlRmlsZVN5c3RlbVVSTCh2aXJ0dWFsUGF0aCksIEdldEFzRW50cnlDYWxsYmFja3M6OmNyZWF0
ZShkb21GaWxlU3lzdGVtLCB2aXJ0dWFsUGF0aCwgY2FsbGJhY2spKTsKKyAgICBTdHJpbmcgdmly
dHVhbFBhdGggPSBET01GaWxlUGF0aDo6YXBwZW5kKCIvIiwgdG9GaWxlKGZpbGUpLT5uYW1lKCkp
OworCisgICAgLy8gRklYTUU6IFRoaXMgaW52b2x2ZXMgc3luY2hyb25vdXMgZmlsZSBvcGVyYXRp
b24uIFdlIG5lZWQgdG8gcGFzcyBmaWxlIHR5cGUgZGF0YSB3aGVuIHdlIGRpc3BhdGNoIGRyYWcg
ZXZlbnQuCisgICAgRmlsZU1ldGFkYXRhIG1ldGFkYXRhOworICAgIGlmICghZ2V0RmlsZU1ldGFk
YXRhKHRvRmlsZShmaWxlKS0+cGF0aCgpLCBtZXRhZGF0YSkpCisgICAgICAgIHJldHVybiBhZG9w
dFJlZihzdGF0aWNfY2FzdDxFbnRyeSo+KDApKTsKKworICAgIGlmIChtZXRhZGF0YS50eXBlID09
IEZpbGVNZXRhZGF0YTo6VHlwZURpcmVjdG9yeSkKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PEVudHJ5Kj4oRGlyZWN0b3J5RW50cnk6OmNyZWF0ZShkb21GaWxlU3lzdGVtLCB2aXJ0dWFsUGF0
aCkuZ2V0KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxFbnRyeSo+KEZpbGVFbnRyeTo6Y3Jl
YXRlKGRvbUZpbGVTeXN0ZW0sIHZpcnR1YWxQYXRoKS5nZXQoKSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAwYTY3ZTI4NzdmNDRhZDBiNTJjZDVhZjJmODhlNTBhNTEyM2Iy
MjU3Li4zNWJjZmViMTRmYTU4MmRkN2ZlZWUyYWJjZjM0NzJiNjJiZmY3OTRkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTItMDUtMzEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gRGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0Vu
dHJ5KCkgc2hvdWxkIHN5bmNocm9ub3VzbHkgcmV0dXJuIGVudHJ5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk2OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEt
dHJhbnNmZXItaXRlbXMtZHJhZy1kcm9wLWVudHJ5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtcy1kcmFnLWRyb3AtZW50cnkuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2ZpbGVzeXN0ZW0vY3Jvc3MtZmlsZXN5c3RlbS1vcC5odG1sOgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKwogMjAx
Mi0wNS0zMCAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IENyYXNoIGluIENvbnRhaW5lck5vZGU6OnBhcnNlckFkZENoaWxkLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbXMtZHJhZy1kcm9w
LWVudHJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRh
LXRyYW5zZmVyLWl0ZW1zLWRyYWctZHJvcC1lbnRyeS1leHBlY3RlZC50eHQKaW5kZXggNjIyNzUx
MjI0M2M5YWY1MzM3MjEwZGE0YmZkNmIxMzE3OWJjNjRkNS4uYWIwZjBkY2M2OWUzNWYwODQ0MmRj
MjgzOTBiMzAyMjBmMGYyNzg2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbXMtZHJhZy1kcm9wLWVudHJ5LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtcy1k
cmFnLWRyb3AtZW50cnktZXhwZWN0ZWQudHh0CkBAIC03LDE4ICs3LDE4IEBAIERyYWdnaW5nIGZp
bGU6IHJlc291cmNlcy90ZXN0X2RpcmVjdG9yeQogVmVyaWZ5aW5nIGNvbnRlbnRzIG9mIERhdGFU
cmFuc2Zlckl0ZW1zLi4uCiBQQVNTOiAiNCIgPT0gIjQiCiBQQVNTOiAiZmlsZSIgPT0gImZpbGUi
Ci1QQVNTOiAiZmlsZSIgPT0gImZpbGUiCi1QQVNTOiAiZmlsZSIgPT0gImZpbGUiCi1QQVNTOiAi
ZmlsZSIgPT0gImZpbGUiCiBlbnRyeTogL21vemlsbGEuZ2lmIFtmaWxlXQogUEFTUzogIi9tb3pp
bGxhLmdpZiIgPT0gIi9tb3ppbGxhLmdpZiIKIFBBU1M6ICJmYWxzZSIgPT0gImZhbHNlIgorUEFT
UzogImZpbGUiID09ICJmaWxlIgogZW50cnk6IC9kcm9wLWZpbGUtc3ZnLnN2ZyBbZmlsZV0KIFBB
U1M6ICIvZHJvcC1maWxlLXN2Zy5zdmciID09ICIvZHJvcC1maWxlLXN2Zy5zdmciCiBQQVNTOiAi
ZmFsc2UiID09ICJmYWxzZSIKK1BBU1M6ICJmaWxlIiA9PSAiZmlsZSIKIGVudHJ5OiAvY29weS1i
YWNrc2xhc2gtZXVjLmh0bWwgW2ZpbGVdCiBQQVNTOiAiL2NvcHktYmFja3NsYXNoLWV1Yy5odG1s
IiA9PSAiL2NvcHktYmFja3NsYXNoLWV1Yy5odG1sIgogUEFTUzogImZhbHNlIiA9PSAiZmFsc2Ui
CitQQVNTOiAiZmlsZSIgPT0gImZpbGUiCiBlbnRyeTogL3Rlc3RfZGlyZWN0b3J5IFtkaXJdCiBQ
QVNTOiAiL3Rlc3RfZGlyZWN0b3J5IiA9PSAiL3Rlc3RfZGlyZWN0b3J5IgogUEFTUzogInRydWUi
ID09ICJ0cnVlIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rh
dGEtdHJhbnNmZXItaXRlbXMtZHJhZy1kcm9wLWVudHJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtcy1kcmFnLWRyb3AtZW50cnkuaHRtbApp
bmRleCBjYmY2MmU2YmYwYjA3ZWQ1Y2YwNmJlN2UyOWY2ZGZhNTdhN2ExOWMzLi4wM2I5ZmYyODFm
MzMyNTMwYTk4YzdmZjVkYTcxODYwOTNmODZlYzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtcy1kcmFnLWRyb3AtZW50cnkuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVt
cy1kcmFnLWRyb3AtZW50cnkuaHRtbApAQCAtODEsMjAgKzgxLDIwIEBAIGZ1bmN0aW9uIGhhbmRs
ZURyb3AoZSkKICAgICAgICAgZmlsZXMucHVzaChmaWxlKTsKIAogICAgICAgICB0ZXN0KCdmaWxl
JywgaXRlbXNbaV0ua2luZCk7CisgICAgICAgIHZhciBlbnRyeSA9IGl0ZW1zW2ldLndlYmtpdEdl
dEFzRW50cnkoKTsKKyAgICAgICAgbG9nKCdlbnRyeTogJyArIGVudHJ5LmZ1bGxQYXRoICsgKGVu
dHJ5LmlzRGlyZWN0b3J5ID8gJyBbZGlyXScgOiAnIFtmaWxlXScpKTsKKworICAgICAgICB2YXIg
Y29tcG9uZW50cyA9IGV4cGVjdGVkLnBhdGguc3BsaXQoJy8nKTsKKyAgICAgICAgdmFyIG5hbWUg
PSBjb21wb25lbnRzW2NvbXBvbmVudHMubGVuZ3RoIC0gMV07CisgICAgICAgIHRlc3QoJy8nICsg
bmFtZSwgZW50cnkuZnVsbFBhdGgpOworICAgICAgICB0ZXN0KGV4cGVjdGVkLmRpcmVjdG9yeSwg
ZW50cnkuaXNEaXJlY3RvcnkpOworCiAgICAgICAgIHdpdGggKHtsYXN0OiBpICsgMSA9PSBpdGVt
cy5sZW5ndGgsIGV4cGVjdGVkOiBleHBlY3RlZH0pIHsKLSAgICAgICAgICAgIGl0ZW1zW2ldLndl
YmtpdEdldEFzRW50cnkoZnVuY3Rpb24oZW50cnkpIHsKLSAgICAgICAgICAgICAgICBsb2coJ2Vu
dHJ5OiAnICsgZW50cnkuZnVsbFBhdGggKyAoZW50cnkuaXNEaXJlY3RvcnkgPyAnIFtkaXJdJyA6
ICcgW2ZpbGVdJykpOwotICAgICAgICAgICAgICAgIHZhciBjb21wb25lbnRzID0gZXhwZWN0ZWQu
cGF0aC5zcGxpdCgnLycpOwotICAgICAgICAgICAgICAgIHZhciBuYW1lID0gY29tcG9uZW50c1tj
b21wb25lbnRzLmxlbmd0aCAtIDFdOwotICAgICAgICAgICAgICAgIHRlc3QoJy8nICsgbmFtZSwg
ZW50cnkuZnVsbFBhdGgpOwotICAgICAgICAgICAgICAgIHRlc3QoZXhwZWN0ZWQuZGlyZWN0b3J5
LCBlbnRyeS5pc0RpcmVjdG9yeSk7Ci0KLSAgICAgICAgICAgICAgICBlbnRyeS5nZXRNZXRhZGF0
YShmdW5jdGlvbihtZXRhZGF0YSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIWV4cGVjdGVk
LmRpcmVjdG9yeSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRlc3QoZXhwZWN0ZWQuc2l6ZSwg
bWV0YWRhdGEuc2l6ZSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0ICYmIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IGVudHJ5LmdldE1ldGFkYXRhKGZ1bmN0aW9uKG1ldGFkYXRhKSB7CisgICAgICAgICAgICAgICAg
aWYgKCFleHBlY3RlZC5kaXJlY3RvcnkpCisgICAgICAgICAgICAgICAgICAgIHRlc3QoZXhwZWN0
ZWQuc2l6ZSwgbWV0YWRhdGEuc2l6ZSk7CisgICAgICAgICAgICAgICAgaWYgKGxhc3QgJiYgd2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAg
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9jcm9zcy1maWxlc3lz
dGVtLW9wLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vY3Jvc3MtZmlsZXN5c3Rl
bS1vcC5odG1sCmluZGV4IDYzNTJjZmFjNTFlNjM3OTNlZWRiYWUzZWIxNmI0YWU4YWFlYTA1NTMu
LmQ1YTEwZDdmZDc3NWZmYzE2NzQ3MTZlNzg3NDI5NmViN2JkNWIzOWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9jcm9zcy1maWxlc3lzdGVtLW9wLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL2Nyb3NzLWZpbGVzeXN0ZW0tb3AuaHRtbApAQCAt
MjI1LDE4ICsyMjUsMTggQEAgZnVuY3Rpb24gc3RhcnRUZXN0KGUpIHsKICAgICB2YXIgaXRlbXMg
PSBlLmRhdGFUcmFuc2Zlci5pdGVtczsKICAgICB0ZXN0KDEsIGl0ZW1zLmxlbmd0aCk7CiAgICAg
dGVzdCgnZmlsZScsIGl0ZW1zWzBdLmtpbmQpOwotICAgIGl0ZW1zWzBdLndlYmtpdEdldEFzRW50
cnkoZnVuY3Rpb24oZW50cnkpIHsKLSAgICAgICAgdGVzdCh0cnVlLCBlbnRyeS5pc0RpcmVjdG9y
eSk7Ci0gICAgICAgIHNvdXJjZVRlc3REaXJlY3RvcnkgPSBlbnRyeTsKLSAgICAgICAgc2V0dXBE
ZXN0RmlsZVN5c3RlbShmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGxvZygnU3VjY2Vzc2Z1bGx5
IHNldHVwIHRlc3QgZW52aXJvbm1lbnQuJyk7Ci0gICAgICAgICAgICBydW5UZXN0cygwLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICBsb2coJ1N1Y2Nlc3NmdWxseSByYW4gJyArIHRlc3Rz
Lmxlbmd0aCArICcgdGVzdHMuJyk7Ci0gICAgICAgICAgICAgICAgY2xlYW51cERpcmVjdG9yeShk
ZXN0VGVzdERpcmVjdG9yeSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxvZygn
Q2xlYW51cCBkb25lLicpOwotICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgICAgIH0pOworCisgICAgdmFyIGVudHJ5ID0g
aXRlbXNbMF0ud2Via2l0R2V0QXNFbnRyeSgpOworICAgIHRlc3QodHJ1ZSwgZW50cnkuaXNEaXJl
Y3RvcnkpOworICAgIHNvdXJjZVRlc3REaXJlY3RvcnkgPSBlbnRyeTsKKyAgICBzZXR1cERlc3RG
aWxlU3lzdGVtKGZ1bmN0aW9uKCkgeworICAgICAgICBsb2coJ1N1Y2Nlc3NmdWxseSBzZXR1cCB0
ZXN0IGVudmlyb25tZW50LicpOworICAgICAgICBydW5UZXN0cygwLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgIGxvZygnU3VjY2Vzc2Z1bGx5IHJhbiAnICsgdGVzdHMubGVuZ3RoICsgJyB0ZXN0
cy4nKTsKKyAgICAgICAgICAgIGNsZWFudXBEaXJlY3RvcnkoZGVzdFRlc3REaXJlY3RvcnksIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGxvZygnQ2xlYW51cCBkb25lLicpOworICAgICAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9KTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCBlOWE3MDk4Mzk3MmYxMzdkNjY0Y2Y1
NmI1MTBkMTZmZmFmY2IzNDY2Li5hODk5MTNkM2I4MDkzM2M3YTYxZmZhNzAyMjJiM2MxNGViMWU3
MzExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0CkBAIC0zNzU3LDkgKzM3NTcsNiBAQCBCVUdXSzg3MzU2IDogZmFzdC9maWxl
cy93b3JrZXJzL3dvcmtlci1yZWFkLWJsb2Itc3luYy5odG1sID0gVEVYVAogQlVHV0s4NzM2NCBE
RUJVRyA6IGZhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWZvci1pbnB1dC1pbi1zaGFkb3cuaHRt
bCA9IFRFWFQgUEFTUwogQlVHV0s4NzM2NCBERUJVRyA6IGZhc3QvZG9tL3NoYWRvdy9kcm9wLWV2
ZW50LWluLXNoYWRvdy5odG1sID0gVEVYVCBQQVNTCiAKLS8vIGRpcmVjdG9yeSBkcmFnLWFuZC1k
cm9wIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgotQlVHV0s3NjgwOSBTS0lQIDogZWRpdGlu
Zy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbXMtZHJhZy1kcm9wLWVudHJ5Lmh0bWwgPSBG
QUlMCi1CVUdXSzc2ODA5IFNLSVAgOiBmYXN0L2ZpbGVzeXN0ZW0vY3Jvc3MtZmlsZXN5c3RlbS1v
cC5odG1sID0gRkFJTAogCiAvLyBOZWVkIGV4cGVjdGVkIGltYWdlIGZvciBlYWNoIHBsYXRmb3Jt
CiBCVUdXSzg3NjE0IDogZmFzdC9mb3Jtcy9zZWxlY3Qvb3B0Z3JvdXAtcmVuZGVyaW5nLmh0bWwg
PSBGQUlMIE1JU1NJTkcK
</data>
<flag name="review"
          id="152126"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>