<?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>104088</bug_id>
          
          <creation_ts>2012-12-04 22:09:50 -0800</creation_ts>
          <short_desc>[V8] Replace v8::Undefined() with v8Undefined() where possible (part 1)</short_desc>
          <delta_ts>2012-12-04 22:50:01 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>783392</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 22:09:50 -0800</bug_when>
    <thetext>v8Undefined() is faster than v8::Undefined(). See https://bugs.webkit.org/show_bug.cgi?id=93218#c17</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783393</commentid>
    <comment_count>1</comment_count>
      <attachid>177669</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 22:10:48 -0800</bug_when>
    <thetext>Created attachment 177669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783394</commentid>
    <comment_count>2</comment_count>
      <attachid>177669</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 22:11:19 -0800</bug_when>
    <thetext>Comment on attachment 177669
Patch

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

&gt; Source/WebCore/bindings/v8/V8Binding.h:141
&gt;      inline v8::Handle&lt;v8::Value&gt; v8Undefined()

Maybe should we rename this method to clarify the above situation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783397</commentid>
    <comment_count>3</comment_count>
      <attachid>177669</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-04 22:17:55 -0800</bug_when>
    <thetext>Comment on attachment 177669
Patch

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

How did you verify that the difference was not important in these cases?

&gt;&gt; Source/WebCore/bindings/v8/V8Binding.h:141
&gt;&gt;      inline v8::Handle&lt;v8::Value&gt; v8Undefined()
&gt; 
&gt; Maybe should we rename this method to clarify the above situation?

v8EmptyHandle() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783404</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 22:27:08 -0800</bug_when>
    <thetext>&gt; How did you verify that the difference was not important in these cases?

If the value is returned to V8 without being used, then the value can be safely replaced with Handle&lt;Value&gt;(). V8 converts Handle&lt;Value&gt;() to v8::Undefined(). (V8 bindings are already mixing Handle&lt;Value&gt;() and v8::Undefined() for an undefined value that is returned to V8.)

&gt; &gt;&gt; Source/WebCore/bindings/v8/V8Binding.h:141
&gt; &gt;&gt;      inline v8::Handle&lt;v8::Value&gt; v8Undefined()
&gt; &gt; 
&gt; &gt; Maybe should we rename this method to clarify the above situation?
&gt; 
&gt; v8EmptyHandle() ?

Approach 1: We name it v8EmptyHandle(). We use v8EmptyHandle() for an undefined value that is returned to V8. The disadvantage of this approach is that people won&apos;t understand why it is OK to return v8EmptyHandle() even though the spec requires to return an undefined value.

Approach 2: Given that Handle&lt;Value&gt;() and v8::Undefined(isolate) have the same speed, we can use v8::Undefined(isolate) for an undefined value that is returned to V8. This approach might be less confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783409</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-12-04 22:48:39 -0800</bug_when>
    <thetext>Yeah, approach 2 sounds better.  Then we don&apos;t have to worry about the difference between undefined and empty handles.

I&apos;d like to get to the point where we&apos;re passing around a non-0 isolate everywhere.  Approach 2 seems more consistent with that future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783411</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 22:49:39 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Yeah, approach 2 sounds better.  Then we don&apos;t have to worry about the difference between undefined and empty handles.

Sounds reasonable, I&apos;ll take the approach 2.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177669</attachid>
            <date>2012-12-04 22:10:48 -0800</date>
            <delta_ts>2012-12-04 22:49:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104088-20121205150814.patch</filename>
            <type>text/plain</type>
            <size>7760</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UyYjg4NWYwZDA4NDYw
ZDZjYjRhNzRlMmQ3NzU1YTZhNzBiMTA5ZC4uZGM4NTUzMWFlOTc4MzA1MTJkZThiOWE5ZGE1ZDhm
Zjc0YmFiOWExZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMyIEBACiAyMDEyLTEyLTA0ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFJlcGxhY2Ug
djg6OlVuZGVmaW5lZCgpIHdpdGggdjhVbmRlZmluZWQoKSB3aGVyZSBwb3NzaWJsZSAocGFydCAx
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MDg4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdjhVbmRl
ZmluZWQoKSBpcyBmYXN0ZXIgdGhhbiB2ODo6VW5kZWZpbmVkKCkuCisgICAgICAgIFNlZSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMyMTgjYzE3CisKKyAgICAgICAg
Tm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4
L0RhdGVFeHRlbnNpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZUV4dGVuc2lvbjo6U2V0
dXApOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpicmVha1Byb2dyYW1DYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZlcjo6Z2V0SW50ZXJuYWxQcm9wZXJ0aWVz
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEJpbmRpbmcuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4QmluZGluZ01hY3Jvcy5oOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0dGVy
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOE5QVXRpbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y29udmVydE5QVmFyaWFudFRvVjhPYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
VGhyb3dFeGNlcHRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhUaHJvd0V4Y2VwdGlvbjo6
dGhyb3dFcnJvcik6CisKKzIwMTItMTItMDQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21p
dW0ub3JnPgorCiAgICAgICAgIFtWOF0gUmVtb3ZlIEludGVnZXJDYWNoZTo6bV9pbml0aWFsaXpl
ZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzOTc4
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RhdGVFeHRlbnNpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGF0ZUV4dGVuc2lvbi5jcHAKaW5kZXgg
ZGNlNTgzYTU2NTJkOTY5YjZlMzM0YzA3ODY0NmNmYjM4Zjc2MTE3OS4uNDQ5N2RkNjJkNGY0MmNk
ZWRmYTAwOWUyNWZlZjFlYzRjZWQxODI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRGF0ZUV4dGVuc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvRGF0ZUV4dGVuc2lvbi5jcHAKQEAgLTEwNywxMyArMTA3LDEzIEBAIHY4OjpIYW5kbGU8djg6
OkZ1bmN0aW9uVGVtcGxhdGU+IERhdGVFeHRlbnNpb246OkdldE5hdGl2ZUZ1bmN0aW9uKHY4OjpI
YW5kbGU8djg6CiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gRGF0ZUV4dGVuc2lvbjo6U2V0dXAoY29u
c3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBpZiAoYXJncy5MZW5ndGgoKSAhPSAyIHx8
ICFhcmdzWzBdLT5Jc09iamVjdCgpIHx8ICFhcmdzWzFdLT5Jc0Z1bmN0aW9uKCkpCi0gICAgICAg
IHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisgICAgICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwog
CiAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBkYXRlT2JqZWN0ID0gdjg6OkhhbmRsZTx2ODo6
T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKTsKICAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gZW5h
YmxlU2xlZXBEZXRlY3Rpb25GdW5jdGlvbiA9IHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPjo6Q2Fz
dChhcmdzWzFdKTsKIAogICAgIGRhdGVPYmplY3QtPlNldEhpZGRlblZhbHVlKFY4SGlkZGVuUHJv
cGVydHlOYW1lOjpzbGVlcEZ1bmN0aW9uKCksIGVuYWJsZVNsZWVwRGV0ZWN0aW9uRnVuY3Rpb24p
OwotICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisgICAgcmV0dXJuIHY4VW5kZWZpbmVkKCk7
CiB9CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBEYXRlRXh0ZW5zaW9uOjpPblNsZWVwRGV0ZWN0
ZWQoY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmNwcAppbmRleCBhZDlkOTY3ZGFjZDIyMWNlYzE5YzVk
ZjhmMTAwN2Y2MjcyZDUwYWFjLi4wNWE1YWFjZGQwMjJmZTEyZDRlMDNmMGI1OTA2NzE5MmYyNzRk
NjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1Nl
cnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2
ZXIuY3BwCkBAIC0zMDAsNyArMzAwLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFNjcmlwdERl
YnVnU2VydmVyOjpicmVha1Byb2dyYW1DYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnQKICAgICBT
Y3JpcHREZWJ1Z1NlcnZlciogdGhpc1B0ciA9IHRvU2NyaXB0RGVidWdTZXJ2ZXIoYXJncy5EYXRh
KCkpOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGNlcHRpb247CiAgICAgdGhpc1B0ci0+
YnJlYWtQcm9ncmFtKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSksIGV4Y2Vw
dGlvbik7Ci0gICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKyAgICByZXR1cm4gdjhVbmRlZmlu
ZWQoKTsKIH0KIAogdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6YnJlYWtQcm9ncmFtKHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gZXhlY3V0aW9uU3RhdGUsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC00MTUsNyArNDE1LDcgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gU2NyaXB0RGVi
dWdTZXJ2ZXI6OmZ1bmN0aW9uU2NvcGVzKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPgogdjg6Okxv
Y2FsPHY4OjpWYWx1ZT4gU2NyaXB0RGVidWdTZXJ2ZXI6OmdldEludGVybmFsUHJvcGVydGllcyh2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+JiBvYmplY3QpCiB7CiAgICAgaWYgKG1fZGVidWdnZXJTY3Jp
cHQuZ2V0KCkuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gKnY4OjpVbmRlZmluZWQoKTsKKyAg
ICAgICAgcmV0dXJuICp2OFVuZGVmaW5lZCgpOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGFyZ3ZbXSA9IHsgb2JqZWN0IH07CiAgICAgcmV0dXJuIGNhbGxEZWJ1Z2dlck1ldGhvZCgiZ2V0
SW50ZXJuYWxQcm9wZXJ0aWVzIiwgMSwgYXJndik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
QmluZGluZy5oCmluZGV4IDY5MGZiMDc0MzE5NWIwZWY5ZGNkYTE5ZTg2NDYwMThmOTQwYTMwMzIu
Ljk5NjE2MTc4YTI2YzViZjY0ODJmMGNlNDNhMWUyOTc1NWY3MzJjZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCkBAIC0xMzAsNiArMTMwLDE0IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgcmV0dXJuIFY4UGVySXNvbGF0ZURhdGE6OmZyb20oaXNvbGF0ZSkt
PmludGVnZXJDYWNoZSgpLT52OFVuc2lnbmVkSW50ZWdlcih2YWx1ZSwgaXNvbGF0ZSk7CiAgICAg
fQogCisgICAgLy8gVGhpcyBtZXRob2QgcmV0dXJucyBhbiBlbXB0eSB2YWx1ZSBub3QgYW4gdW5k
ZWZpbmVkIHZhbHVlLgorICAgIC8vIEFuIGVtcHR5IHZhbHVlIGFuZCBhbiB1bmRlZmluZWQgdmFs
dWUgYXJlIGRpZmZlcmVudCB0aGluZ3MgaW4gVjguCisgICAgLy8gSWYgdGhlIGRpZmZlcmVuY2Ug
aXMgbm90IGltcG9ydGFudCwgeW91IGNhbiB1c2UgdGhpcyBtZXRob2QKKyAgICAvLyBhcyBhIGZh
c3QgdmVyc2lvbiBvZiB2ODo6VW5kZWZpbmVkKCkuIEZvciByZXR1cm4gdmFsdWVzIG9mCisgICAg
Ly8gRE9NIGF0dHJpYnV0ZSBnZXR0ZXJzL3NldHRlcnMvbWV0aG9kcywgeW91IGNhbiB1c2UgdjhV
bmRlZmluZWQoKQorICAgIC8vIGJlY2F1c2UgVjggaW1wbGljaXRseSBjb252ZXJ0cyBhbiBlbXB0
eSB2YWx1ZSB0byBhbiB1bmRlZmluZWQgdmFsdWUuCisgICAgLy8gT24gdGhlIG90aGVyIGhhbmQs
IGF0IHBsYWNlcyB3aGVyZSB0aGUgZGlmZmVyZW5jZSBpcyBpbXBvcnRhbnQsCisgICAgLy8geW91
IGhhdmUgdG8gdXNlIHY4OjpVbmRlZmluZWQoKS4KICAgICBpbmxpbmUgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHY4VW5kZWZpbmVkKCkKICAgICB7CiAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Qmlu
ZGluZ01hY3Jvcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nTWFjcm9z
LmgKaW5kZXggNmNhNThjM2Y3Njg0MmMzNTkzMTBmZGQ2YzcxMmI5YTA0M2UyYmI2YS4uZmQzZjBl
ODQ5YWQxN2RmYmU5NjljNjNjODRjZmZlMDcwMTE2M2NmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nTWFjcm9zLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhCaW5kaW5nTWFjcm9zLmgKQEAgLTU2LDcgKzU2LDcgQEAgZW51bSBQYXJh
bWV0ZXJEZWZhdWx0UG9saWN5IHsKICNkZWZpbmUgVjhUUllDQVRDSF9GT1JfVjhTVFJJTkdSRVNP
VVJDRSh0eXBlLCB2YXIsIHZhbHVlKSBcCiAgICAgdHlwZSB2YXIodmFsdWUpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGlmICghdmFyLnByZXBhcmUo
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgcmV0
dXJuIHY4OjpVbmRlZmluZWQoKTsKKyAgICAgICAgcmV0dXJuIHY4VW5kZWZpbmVkKCk7CiAKICNk
ZWZpbmUgVjhUUllDQVRDSF9GT1JfVjhTVFJJTkdSRVNPVVJDRV9WT0lEKHR5cGUsIHZhciwgdmFs
dWUpIFwKICAgICB0eXBlIHZhcih2YWx1ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhE
T01XaW5kb3dTaGVsbC5jcHAKaW5kZXggNDI2ODc0MDI3OTA4MDc5OTBmYTQzZGQ1M2MzZGU5MDYw
MGY2NTdiYy4uNzAwYjJlMGFhOWY1MGQ2NWM2MTcxY2Q5MGNjYTA4Y2YxYzVmNjgzMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKQEAgLTQz
Nyw3ICs0MzcsNyBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGdldHRlcih2ODo6TG9j
YWw8djg6OlN0cmluZz4gcHJvcGVydHksIGNvbnN0IHY4OjpBYwogICAgIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBwcm90b3R5cGUgPSBpbmZvLkhvbGRlcigpLT5HZXRQcm90b3R5cGUoKTsKICAgICBp
ZiAocHJvdG90eXBlLT5Jc09iamVjdCgpKQogICAgICAgICByZXR1cm4gcHJvdG90eXBlLkFzPHY4
OjpPYmplY3Q+KCktPkdldChwcm9wZXJ0eSk7Ci0gICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsK
KyAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKIH0KIAogdm9pZCBWOERPTVdpbmRvd1NoZWxsOjpu
YW1lZEl0ZW1BZGRlZChIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOE5QVXRpbHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhOUFV0aWxzLmNwcAppbmRleCAwN2Y0
NGE3Mjk0NmY4OTJiYjU4YjFmMGI3YmVlMTc2ZmZlMWFhYWZjLi42ZjlkYzM4MGI1ZmE3YWE4M2Yw
NTVmYTczMzkxYWU0MmMzMDE2ZmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOE5QVXRpbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TlBV
dGlscy5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnZlcnRO
UFZhcmlhbnRUb1Y4T2JqZWN0KGNvbnN0IE5QVmFyaWFudCogdmFyaWFudCwgTlBPYmoKICAgICBj
YXNlIE5QVmFyaWFudFR5cGVfTnVsbDoKICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAg
Y2FzZSBOUFZhcmlhbnRUeXBlX1ZvaWQ6Ci0gICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7
CisgICAgICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwogICAgIGNhc2UgTlBWYXJpYW50VHlwZV9T
dHJpbmc6IHsKICAgICAgICAgTlBTdHJpbmcgc3JjID0gTlBWQVJJQU5UX1RPX1NUUklORygqdmFy
aWFudCk7CiAgICAgICAgIHJldHVybiB2ODo6U3RyaW5nOjpOZXcoc3JjLlVURjhDaGFyYWN0ZXJz
LCBzcmMuVVRGOExlbmd0aCk7CkBAIC0xMDIsNyArMTAyLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGNvbnZlcnROUFZhcmlhbnRUb1Y4T2JqZWN0KGNvbnN0IE5QVmFyaWFudCogdmFyaWFudCwg
TlBPYmoKICAgICAgICAgcmV0dXJuIGNyZWF0ZVY4T2JqZWN0Rm9yTlBPYmplY3Qob2JqLCBucG9i
amVjdCk7CiAgICAgfQogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVk
KCk7CisgICAgICAgIHJldHVybiB2OFVuZGVmaW5lZCgpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhUaHJvd0V4Y2VwdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFRocm93RXhjZXB0aW9uLmNwcAppbmRleCAwYzE1NmUz
NWE4ZmFjMTM4NDExNGVkMjBlODUyOWYwNWRjZjdmZTA3Li42MmUyMGQ0ZTJjYzEwODk2ODYxOTQ5
Y2IzOWNlOTI1MzQ5YjExNWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOFRocm93RXhjZXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OFRocm93RXhjZXB0aW9uLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBWOFRocm93RXhjZXB0aW9uOjp0aHJvd0Vycm9yKHY4OjpMb2NhbDx2ODo6VmFsdWU+IGV4
Y2VwdGlvCiB7CiAgICAgaWYgKCF2ODo6Vjg6OklzRXhlY3V0aW9uVGVybWluYXRpbmcoKSkKICAg
ICAgICAgdjg6OlRocm93RXhjZXB0aW9uKGV4Y2VwdGlvbik7Ci0gICAgcmV0dXJuIHY4OjpVbmRl
ZmluZWQoKTsKKyAgICByZXR1cm4gdjhVbmRlZmluZWQoKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQo=
</data>
<flag name="review"
          id="193908"
          type_id="1"
          status="-"
          setter="haraken"
    />
          </attachment>
      

    </bug>

</bugzilla>