<?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>131770</bug_id>
          
          <creation_ts>2014-04-16 15:44:46 -0700</creation_ts>
          <short_desc>Dropzone effects don&apos;t work in non-file documents</short_desc>
          <delta_ts>2014-05-17 10:27: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>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>131767</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1001368</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-16 15:44:46 -0700</bug_when>
    <thetext>We have dropzone implemented (with prefix), and fast/events/dropzone-004.html verifies that setting effects works. But the test passes almost by accident - the code only works in local files, because it uses DataTransfer.files, and only local documents can read that while dragging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003792</commentid>
    <comment_count>1</comment_count>
      <attachid>230110</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-24 15:09:37 -0700</bug_when>
    <thetext>Created attachment 230110
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003880</commentid>
    <comment_count>2</comment_count>
      <attachid>230110</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-24 16:51:13 -0700</bug_when>
    <thetext>Comment on attachment 230110
proposed fix

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

r=me as is, although I have a few suggestions for future consideration

&gt; Source/WebCore/ChangeLog:10
&gt; +        2. On Mac, sandbox doesn&apos;t prevent File object creation, as we alraedy have the access.

typo: alraedy

&gt; Source/WebCore/dom/DataTransfer.cpp:187
&gt; +bool DataTransfer::hasFileOfType(const String&amp; type)

Sure would be nice if this took a StringView instead of a const String&amp;.

&gt; Source/WebCore/dom/DataTransfer.cpp:189
&gt; +    ASSERT_WITH_SECURITY_IMPLICATION(canReadTypes());

Why not just return false in this case instead of asserting? Are callers really in a good position to alway preflight correctly?

&gt; Source/WebCore/dom/DataTransfer.cpp:199
&gt; +bool DataTransfer::hasStringOfType(const String&amp; type)

Sure would be nice if this took a StringView instead of a const String&amp;.

&gt; Source/WebCore/dom/DataTransfer.cpp:201
&gt; +    ASSERT_WITH_SECURITY_IMPLICATION(canReadTypes());

Same question.

&gt; Source/WebCore/page/EventHandler.cpp:2068
&gt; +        return dataTransfer.hasFileOfType(keyword.substring(5));

If hasFileOfType took a StringView, then this would not need to allocate memory. Could just do StringView(keyword).substring(5) or have this function itself take a StringView.

&gt; Source/WebCore/page/EventHandler.cpp:2071
&gt; +        return dataTransfer.hasStringOfType(keyword.substring(7));

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003911</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-24 17:37:18 -0700</bug_when>
    <thetext>&gt;&gt; Source/WebCore/dom/DataTransfer.cpp:189
&gt;&gt; +    ASSERT_WITH_SECURITY_IMPLICATION(canReadTypes());
&gt;
&gt;Why not just return false in this case instead of asserting? Are callers really in a good position to alway preflight correctly?

Yes, I think that they should be in good position. canReadTypes() is not quite the right check anyway, because it&apos;s literally &quot;can get dataTransfer.types from JavaScript&quot;. It doesn&apos;t matter for dropzone, because it only calls these functions when dataTransfer.types can be read. What I wanted to prevent here was potential future callers exposing data to the web without consideration - but if the assertion proves too restrictive, it can be improved when the need arises.

There is quite a bit of fragility in how this class is used to expose data to JS code, and is also used in native code (the confusion that caused this bug in the first place).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003912</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-24 17:49:15 -0700</bug_when>
    <thetext>It would be nice to teach equalIgnoringCase about StringViews I guess - without that, switching to StringView was somewhat too annoying here. 

Committed &lt;http://trac.webkit.org/r167784&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003996</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-25 00:52:24 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; It would be nice to teach equalIgnoringCase about StringViews

OK. I’ll do that when I get a chance.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230110</attachid>
            <date>2014-04-24 15:09:37 -0700</date>
            <delta_ts>2014-04-24 16:51:13 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>dropzone.txt</filename>
            <type>text/plain</type>
            <size>7516</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Nzc3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE0LTA0LTI0ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIERyb3B6b25lIGVmZmVjdHMg
ZG9uJ3Qgd29yayBpbiBub24tZmlsZSBkb2N1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTc3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpbGUgZG9jdW1lbnRzIGhhdmUgdHdvIHF1aXJrcyB0
aGF0IHdlcmUgbWFraW5nIGRyb3B6b25lIHdvcmsgaW4gdGhlc2UgYmVmb3JlOgorICAgICAgICAx
LiBBbiBhbmNpZW50IGhhY2sgZm9yIERhc2hib2FyZCBhbGxvd3MgcGFzdGVib2FyZCBhY2Nlc3Mg
ZnJvbSBKUy4KKyAgICAgICAgMi4gT24gTWFjLCBzYW5kYm94IGRvZXNuJ3QgcHJldmVudCBGaWxl
IG9iamVjdCBjcmVhdGlvbiwgYXMgd2UgYWxyYWVkeSBoYXZlIHRoZSBhY2Nlc3MuCisKKyAgICAg
ICAgKiBkb20vRGF0YVRyYW5zZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zl
cjo6aGFzRmlsZU9mVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXI6Omhhc1N0
cmluZ09mVHlwZSk6CisgICAgICAgICogZG9tL0RhdGFUcmFuc2Zlci5oOgorICAgICAgICBNb3Zl
ZCB0aGVzZSBmdW5jdGlvbnMgZnJvbSBFdmVudEhhbmRsZXIgdG8gRGF0YVRyYW5zZmVyLiBXZSBj
YW4ndCBjcmVhdGUgYSBEYXRhVHJhbnNmZXIKKyAgICAgICAgd2l0aCBGaWxlcyB3aGlsZSBkcmFn
Z2luZywgc2VjdXJpdHkgZG9lc24ndCBwZXJtaXQgdXMgdG8uIEJ1dCB3ZSBjYW4gZ2V0IHRoZSBm
aWxlIG5hbWUuCisKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y3JlYXRlQmxvYkRhdGFGb3JGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUJsb2JE
YXRhRm9yRmlsZVdpdGhOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OmNvbnRlbnRUeXBl
RnJvbUZpbGVQYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OmdldENvbnRlbnRUeXBlRnJvbUZpbGVO
YW1lKTogRGVsZXRlZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGUuaDoKKyAgICAgICAgRXhwb3Nl
ZCBhIGZ1bmN0aW9uIHRvIGdldCBmaWxlIHR5cGUgZnJvbSBwYXRoIHdpdGhvdXQgY3JlYXRpbmcg
YSBGaWxlIGZpcnN0LgorICAgICAgICBUaGlzIGlzIG11Y2ggY2hlYXBlciB0aGFuIGNyZWF0aW5n
IGEgRmlsZSwgYW5kIHdvcmtzIGV2ZW4gd2hlbiBzYW5kYm94IGRpc2FsbG93cworICAgICAgICBy
ZWFkIGFjY2VzcyB0byBjb250ZW50LCBzdWNoIGFzIHdoZW4gZHJhZ2dpbmcgb3ZlciBhIHRhcmdl
dC4KKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Omhhc0Ryb3Bab25lVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpoYXNGaWxlT2ZUeXBlKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Omhhc1N0cmluZ09mVHlwZSk6IERlbGV0ZWQuCisKIDIw
MTQtMDQtMjQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW01hY10gZG9uJ3QgYXNrIGZvciBBVkFzc2V0VHJhY2sgcHJvcGVydGllcyBiZWZvcmUgdGhl
eSBhcmUgYXZhaWxhYmxlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcAkocmV2
aXNpb24gMTY3NTAwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE4NCw2ICsxODQsMjUgQEAgRmlsZUxpc3QqIERhdGFUcmFuc2Zlcjo6
ZmlsZXMoKSBjb25zdAogICAgIHJldHVybiBtX2ZpbGVMaXN0LmdldCgpOwogfQogCitib29sIERh
dGFUcmFuc2Zlcjo6aGFzRmlsZU9mVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgQVNT
RVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oY2FuUmVhZFR5cGVzKCkpOworCisgICAgZm9y
IChjb25zdCBTdHJpbmcmIGZpbGVuYW1lIDogbV9wYXN0ZWJvYXJkLT5yZWFkRmlsZW5hbWVzKCkp
IHsKKyAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKEZpbGU6OmNvbnRlbnRUeXBlRnJvbUZp
bGVQYXRoKGZpbGVuYW1lLCBGaWxlOjpBbGxDb250ZW50VHlwZXMpLCB0eXBlKSkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBE
YXRhVHJhbnNmZXI6Omhhc1N0cmluZ09mVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAg
QVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oY2FuUmVhZFR5cGVzKCkpOworCisgICAg
cmV0dXJuICF0eXBlLmlzTnVsbCgpICYmIHR5cGVzKCkuY29udGFpbnModHlwZSk7Cit9CisKICNp
ZiAhRU5BQkxFKERSQUdfU1VQUE9SVCkKIAogU3RyaW5nIERhdGFUcmFuc2Zlcjo6ZHJvcEVmZmVj
dCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5oCShyZXZpc2lvbiAxNjc1
MDApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTc2LDYgKzc2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGNhblJl
YWREYXRhKCkgY29uc3Q7CiAgICAgICAgIGJvb2wgY2FuV3JpdGVEYXRhKCkgY29uc3Q7CiAKKyAg
ICAgICAgYm9vbCBoYXNGaWxlT2ZUeXBlKGNvbnN0IFN0cmluZyYpOworICAgICAgICBib29sIGhh
c1N0cmluZ09mVHlwZShjb25zdCBTdHJpbmcmKTsKKwogICAgICAgICBQYXN0ZWJvYXJkJiBwYXN0
ZWJvYXJkKCkgeyByZXR1cm4gKm1fcGFzdGVib2FyZDsgfQogCiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcAkocmV2aXNpb24gMTY3NTAwKQorKysg
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsMjEg
KzM1LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgU3RyaW5nIGdldENvbnRl
bnRUeXBlRnJvbUZpbGVOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgRmlsZTo6Q29udGVudFR5cGVM
b29rdXBQb2xpY3kgcG9saWN5KQotewotICAgIFN0cmluZyB0eXBlOwotICAgIGludCBpbmRleCA9
IG5hbWUucmV2ZXJzZUZpbmQoJy4nKTsKLSAgICBpZiAoaW5kZXggIT0gLTEpIHsKLSAgICAgICAg
aWYgKHBvbGljeSA9PSBGaWxlOjpXZWxsS25vd25Db250ZW50VHlwZXMpCi0gICAgICAgICAgICB0
eXBlID0gTUlNRVR5cGVSZWdpc3RyeTo6Z2V0V2VsbEtub3duTUlNRVR5cGVGb3JFeHRlbnNpb24o
bmFtZS5zdWJzdHJpbmcoaW5kZXggKyAxKSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAg
QVNTRVJUKHBvbGljeSA9PSBGaWxlOjpBbGxDb250ZW50VHlwZXMpOwotICAgICAgICAgICAgdHlw
ZSA9IE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKG5hbWUuc3Vic3Ry
aW5nKGluZGV4ICsgMSkpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiB0eXBlOwotfQot
CiBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEJsb2JEYXRhPiBjcmVhdGVCbG9iRGF0YUZvckZpbGVX
aXRoVHlwZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUpCiB7
CiAgICAgYXV0byBibG9iRGF0YSA9IHN0ZDo6bWFrZV91bmlxdWU8QmxvYkRhdGE+KCk7CkBAIC02
MSwxMiArNDYsMTIgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxCbG9iRGF0YT4gY3JlYXRlQgog
CiBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEJsb2JEYXRhPiBjcmVhdGVCbG9iRGF0YUZvckZpbGUo
Y29uc3QgU3RyaW5nJiBwYXRoLCBGaWxlOjpDb250ZW50VHlwZUxvb2t1cFBvbGljeSBwb2xpY3kp
CiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUJsb2JEYXRhRm9yRmlsZVdpdGhUeXBlKHBhdGgsIGdldENv
bnRlbnRUeXBlRnJvbUZpbGVOYW1lKHBhdGgsIHBvbGljeSkpOworICAgIHJldHVybiBjcmVhdGVC
bG9iRGF0YUZvckZpbGVXaXRoVHlwZShwYXRoLCBGaWxlOjpjb250ZW50VHlwZUZyb21GaWxlUGF0
aChwYXRoLCBwb2xpY3kpKTsKIH0KIAogc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxCbG9iRGF0YT4g
Y3JlYXRlQmxvYkRhdGFGb3JGaWxlV2l0aE5hbWUoY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBT
dHJpbmcmIGZpbGVTeXN0ZW1OYW1lLCBGaWxlOjpDb250ZW50VHlwZUxvb2t1cFBvbGljeSBwb2xp
Y3kpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUJsb2JEYXRhRm9yRmlsZVdpdGhUeXBlKHBhdGgsIGdl
dENvbnRlbnRUeXBlRnJvbUZpbGVOYW1lKGZpbGVTeXN0ZW1OYW1lLCBwb2xpY3kpKTsKKyAgICBy
ZXR1cm4gY3JlYXRlQmxvYkRhdGFGb3JGaWxlV2l0aFR5cGUocGF0aCwgRmlsZTo6Y29udGVudFR5
cGVGcm9tRmlsZVBhdGgoZmlsZVN5c3RlbU5hbWUsIHBvbGljeSkpOwogfQogCiBGaWxlOjpGaWxl
KGNvbnN0IFN0cmluZyYgcGF0aCwgQ29udGVudFR5cGVMb29rdXBQb2xpY3kgcG9saWN5KQpAQCAt
MTI3LDQgKzExMiwxOSBAQCB2b2lkIEZpbGU6OmNhcHR1cmVTbmFwc2hvdChsb25nIGxvbmcmIHNu
CiAgICAgc25hcHNob3RNb2RpZmljYXRpb25UaW1lID0gbWV0YWRhdGEubW9kaWZpY2F0aW9uVGlt
ZTsKIH0KIAorU3RyaW5nIEZpbGU6OmNvbnRlbnRUeXBlRnJvbUZpbGVQYXRoKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgRmlsZTo6Q29udGVudFR5cGVMb29rdXBQb2xpY3kgcG9saWN5KQoreworICAgIFN0
cmluZyB0eXBlOworICAgIGludCBpbmRleCA9IG5hbWUucmV2ZXJzZUZpbmQoJy4nKTsKKyAgICBp
ZiAoaW5kZXggIT0gLTEpIHsKKyAgICAgICAgaWYgKHBvbGljeSA9PSBGaWxlOjpXZWxsS25vd25D
b250ZW50VHlwZXMpCisgICAgICAgICAgICB0eXBlID0gTUlNRVR5cGVSZWdpc3RyeTo6Z2V0V2Vs
bEtub3duTUlNRVR5cGVGb3JFeHRlbnNpb24obmFtZS5zdWJzdHJpbmcoaW5kZXggKyAxKSk7Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKHBvbGljeSA9PSBGaWxlOjpBbGxDb250
ZW50VHlwZXMpOworICAgICAgICAgICAgdHlwZSA9IE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVU
eXBlRm9yRXh0ZW5zaW9uKG5hbWUuc3Vic3RyaW5nKGluZGV4ICsgMSkpOworICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiB0eXBlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0ZpbGUuaAkocmV2aXNpb24gMTY3NTAwKQorKysgU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDggQEAgcHVibGljOgog
ICAgIC8vIE5vdGUgdGhhdCB0aGlzIGludm9sdmVzIHN5bmNocm9ub3VzIGZpbGUgb3BlcmF0aW9u
LiBUaGluayB0d2ljZSBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgogICAgIHZvaWQgY2Fw
dHVyZVNuYXBzaG90KGxvbmcgbG9uZyYgc25hcHNob3RTaXplLCBkb3VibGUmIHNuYXBzaG90TW9k
aWZpY2F0aW9uVGltZSkgY29uc3Q7CiAKKyAgICBzdGF0aWMgU3RyaW5nIGNvbnRlbnRUeXBlRnJv
bUZpbGVQYXRoKGNvbnN0IFN0cmluZyYsIENvbnRlbnRUeXBlTG9va3VwUG9saWN5KTsKKwogcHJp
dmF0ZToKICAgICBGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgQ29udGVudFR5cGVMb29rdXBQb2xp
Y3kpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCShyZXZpc2lvbiAx
Njc1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIwNjIsMjggKzIwNjIsMTMgQEAgc3RhdGljIFN0cmluZyBjb252ZXJ0RHJhZ09w
ZXJhdGlvblRvRHJvcAogICAgIH0KIH0KIAotc3RhdGljIGlubGluZSBib29sIGhhc0ZpbGVPZlR5
cGUoRGF0YVRyYW5zZmVyJiBkYXRhVHJhbnNmZXIsIGNvbnN0IFN0cmluZyYgdHlwZSkKLXsKLSAg
ICBSZWZQdHI8RmlsZUxpc3Q+IGZpbGVMaXN0ID0gZGF0YVRyYW5zZmVyLmZpbGVzKCk7Ci0gICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZpbGVMaXN0LT5sZW5ndGgoKTsgaSsrKSB7Ci0gICAg
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShmaWxlTGlzdC0+aXRlbShpKS0+dHlwZSgpLCB0eXBl
KSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7Ci19
Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBoYXNTdHJpbmdPZlR5cGUoRGF0YVRyYW5zZmVyJiBkYXRh
VHJhbnNmZXIsIGNvbnN0IFN0cmluZyYgdHlwZSkKLXsKLSAgICByZXR1cm4gIXR5cGUuaXNOdWxs
KCkgJiYgZGF0YVRyYW5zZmVyLnR5cGVzKCkuY29udGFpbnModHlwZSk7Ci19Ci0KIHN0YXRpYyBi
b29sIGhhc0Ryb3Bab25lVHlwZShEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgY29uc3QgU3Ry
aW5nJiBrZXl3b3JkKQogewogICAgIGlmIChrZXl3b3JkLnN0YXJ0c1dpdGgoImZpbGU6IikpCi0g
ICAgICAgIHJldHVybiBoYXNGaWxlT2ZUeXBlKGRhdGFUcmFuc2Zlciwga2V5d29yZC5zdWJzdHJp
bmcoNSkpOworICAgICAgICByZXR1cm4gZGF0YVRyYW5zZmVyLmhhc0ZpbGVPZlR5cGUoa2V5d29y
ZC5zdWJzdHJpbmcoNSkpOwogCiAgICAgaWYgKGtleXdvcmQuc3RhcnRzV2l0aCgic3RyaW5nOiIp
KQotICAgICAgICByZXR1cm4gaGFzU3RyaW5nT2ZUeXBlKGRhdGFUcmFuc2Zlciwga2V5d29yZC5z
dWJzdHJpbmcoNykpOworICAgICAgICByZXR1cm4gZGF0YVRyYW5zZmVyLmhhc1N0cmluZ09mVHlw
ZShrZXl3b3JkLnN1YnN0cmluZyg3KSk7CiAKICAgICByZXR1cm4gZmFsc2U7CiB9Cg==
</data>
<flag name="review"
          id="254492"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>