<?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>39623</bug_id>
          
          <creation_ts>2010-05-24 15:21:30 -0700</creation_ts>
          <short_desc>Prepare HTML5TreeBuilder for addition of new HTML5 parser code</short_desc>
          <delta_ts>2010-05-24 17:53:17 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>39259</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>229939</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-24 15:21:30 -0700</bug_when>
    <thetext>Prepare HTML5TreeBuilder for addition of new HTML5 parser code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229942</commentid>
    <comment_count>1</comment_count>
      <attachid>56935</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-24 15:26:32 -0700</bug_when>
    <thetext>Created attachment 56935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229949</commentid>
    <comment_count>2</comment_count>
      <attachid>56935</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-05-24 15:32:12 -0700</bug_when>
    <thetext>Comment on attachment 56935
Patch

Please fix the below before landing.

WebCore/html/HTML5Token.h:163
 +          ASSERT(!m_dataAsNameAtom); // An attempt to make sure this isn&apos;t called twice.
I&apos;m surprised this compiles.

WebCore/html/HTML5TreeBuilder.cpp:87
 +          oldStyleToken.text = token.adoptDataAsStringImpl();
This breaks the abstraction.  The client isn&apos;t supposed to know that characters() is backed by the m_data member variable.  Also, we lost the ASSERT about the type of the token.

WebCore/html/HTML5TreeBuilder.cpp:116
 +          for (size_t x = 0; x &lt; characters.size(); x++)
You should use an iterator here.

WebCore/html/HTML5TreeBuilder.cpp:117
 +              processToken(token, characters[x]);
Maybe processCharacter ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229966</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-24 16:00:22 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 56935 [details])
&gt; Please fix the below before landing.
&gt; 
&gt; WebCore/html/HTML5Token.h:163
&gt;  +          ASSERT(!m_dataAsNameAtom); // An attempt to make sure this isn&apos;t called twice.
&gt; I&apos;m surprised this compiles.

AtomicString has a String operator and String has a bool operator, by their powers combined we are captain planet.

&gt; WebCore/html/HTML5TreeBuilder.cpp:87
&gt;  +          oldStyleToken.text = token.adoptDataAsStringImpl();
&gt; This breaks the abstraction.  The client isn&apos;t supposed to know that characters() is backed by the m_data member variable.  Also, we lost the ASSERT about the type of the token.

Fixed.  Added &quot;takeCharacters()&quot; and &quot;takeComment&quot; with a FIXME to remove when we move off the old parser.

&gt; WebCore/html/HTML5TreeBuilder.cpp:116
&gt;  +          for (size_t x = 0; x &lt; characters.size(); x++)
&gt; You should use an iterator here.

Fixed.

&gt; WebCore/html/HTML5TreeBuilder.cpp:117
&gt;  +              processToken(token, characters[x]);
&gt; Maybe processCharacter ?

Nah, this is intentional.  All the tokens go through the same big switch statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229970</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-24 16:16:14 -0700</bug_when>
    <thetext>Committed r60095: &lt;http://trac.webkit.org/changeset/60095&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229974</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-24 16:23:19 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60095 might have broken Chromium Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229996</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-24 17:31:54 -0700</bug_when>
    <thetext>This broke the WIndows build due to &quot;unreachable code&quot; warnings. It’s been broken all day. What should we do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229999</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-24 17:37:34 -0700</bug_when>
    <thetext>Where &quot;all day&quot; == 75 minutes ago. :)  Regardless, completely my fault.  I&apos;m committing a fix now.  My apologies for the break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230000</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-24 17:38:28 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; This broke the WIndows build due to &quot;unreachable code&quot; warnings. It’s been broken all day. What should we do?

LOL, my mistake not all day. It was as far back as I could get on the waterfall so I thought it was longer than it was. I didn’t realize it was just a couple hours ago!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230006</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-24 17:53:17 -0700</bug_when>
    <thetext>Committed r60108: &lt;http://trac.webkit.org/changeset/60108&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56935</attachid>
            <date>2010-05-24 15:26:32 -0700</date>
            <delta_ts>2010-05-24 15:32:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39623-20100524152631.patch</filename>
            <type>text/plain</type>
            <size>7240</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2YzNzU2ZjhhODRlNzc1ZTYzZjFkYzI4MGIwZTZmZTU4YzRlMjBiNi4uMGNhMWI0YzljNGFlNzJh
NmMyYmIyZTVjOGQ1NmY1OTliNDI1ZGQ0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMC0wNS0yNCAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUHJlcGFyZSBIVE1MNVRyZWVCdWlsZGVyIGZvciBhZGRpdGlv
biBvZiBuZXcgSFRNTDUgcGFyc2VyIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM5NjIzCisKKyAgICAgICAgQmVmb3JlIHdlIHN0YXJ0IHRyYW5z
Y3JpYmluZyB0aGUgcGFyc2VyLCB3ZSBuZWVkIGEgcGxhY2UgdG8gcHV0IGl0LgorCisgICAgICAg
IFRoaXMgYWxzbyBjbGVhbnMgdXAgSFRNTDUgdG9rZW4gdG8gbm90IGNvbnZlcnQgY29tbWVudCBh
bmQgY2hhcmFjdGVyCisgICAgICAgIGRhdGEgaW50byBBdG9taWNTdHJpbmdzICh3aGljaCBtYWtl
cyBubyBzZW5zZSkuCisKKyAgICAgICAgTm8gZnVuY3Rpb25hbGl0eSBjaGFuZ2UsIHNvIG5vIG5l
dyB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvSFRNTDVUb2tlbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTDVUb2tlbjo6YmVnaW5TdGFydFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRv
a2VuOjpiZWdpbkVuZFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRva2VuOjpiZWdpbkNo
YXJhY3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRva2VuOjpiZWdpbkNvbW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTDVUb2tlbjo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MNVRva2VuOjphZG9wdERhdGFBc1N0cmluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TDVUb2tlbjo6Y2hhcmFjdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRva2VuOjpjb21t
ZW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRva2VuOjpjbGVhckRhdGEpOgorICAg
ICAgICAqIGh0bWwvSFRNTDVUcmVlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252
ZXJ0VG9PbGRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MNVRyZWVCdWlsZGVyOjpjb25z
dHJ1Y3RUcmVlRnJvbVRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUw1VHJlZUJ1aWxkZXI6
OnByb2Nlc3NUb2tlbik6CisgICAgICAgICogaHRtbC9IVE1MNVRyZWVCdWlsZGVyLmg6CisKIDIw
MTAtMDUtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUcnkgdG8gZml4IGJ1aWxkLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUw1VG9rZW4u
aCBiL1dlYkNvcmUvaHRtbC9IVE1MNVRva2VuLmgKaW5kZXggMTkxODU4OTlkODdjZGMwNTlkMmU3
NDYzYTlmZjYwOTRmMGY0OWU4Yi4uZTMwNWVlM2JhZDExNWQxZTgwMTQyNTk0OWJjZGZhZDQyOTdj
NDBlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1VG9rZW4uaAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTDVUb2tlbi5oCkBAIC01MSw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAg
ICAgdHlwZWRlZiBXVEY6OlZlY3RvcjxBdHRyaWJ1dGU+IEF0dHJpYnV0ZUxpc3Q7CisgICAgdHlw
ZWRlZiBXVEY6OlZlY3RvcjxVQ2hhciwgMTAyND4gRGF0YVZlY3RvcjsKIAogICAgIEhUTUw1VG9r
ZW4oKSB7IGNsZWFyKCk7IH0KIApAQCAtNjMsOCArNjQsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICBBU1NFUlQobV90eXBlID09IFVuaW5pdGlhbGl6ZWQpOwogICAgICAgICBtX3R5cGUgPSBT
dGFydFRhZzsKLSAgICAgICAgbV9kYXRhLmNsZWFyKCk7Ci0gICAgICAgIG1fZGF0YVN0cmluZyA9
IEF0b21pY1N0cmluZygpOworICAgICAgICBjbGVhckRhdGEoKTsKICAgICAgICAgbV9zZWxmQ2xv
c2luZyA9IGZhbHNlOwogICAgICAgICBtX2N1cnJlbnRBdHRyaWJ1dGUgPSAwOwogCkBAIC03Niw4
ICs3Niw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3R5cGUgPT0gVW5pbml0
aWFsaXplZCk7CiAgICAgICAgIG1fdHlwZSA9IEVuZFRhZzsKLSAgICAgICAgbV9kYXRhLmNsZWFy
KCk7Ci0gICAgICAgIG1fZGF0YVN0cmluZyA9IEF0b21pY1N0cmluZygpOworICAgICAgICBjbGVh
ckRhdGEoKTsKICAgICAgICAgbV9zZWxmQ2xvc2luZyA9IGZhbHNlOwogICAgICAgICBtX2N1cnJl
bnRBdHRyaWJ1dGUgPSAwOwogCkBAIC04OCw4ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
ICAgIEFTU0VSVChtX3R5cGUgPT0gVW5pbml0aWFsaXplZCk7CiAgICAgICAgIG1fdHlwZSA9IENo
YXJhY3RlcjsKLSAgICAgICAgbV9kYXRhLmNsZWFyKCk7Ci0gICAgICAgIG1fZGF0YVN0cmluZyA9
IEF0b21pY1N0cmluZygpOworICAgICAgICBjbGVhckRhdGEoKTsKICAgICAgICAgbV9kYXRhLmFw
cGVuZChjaGFyYWN0ZXIpOwogICAgIH0KIApAQCAtOTcsOCArOTUsNyBAQCBwdWJsaWM6CiAgICAg
ewogICAgICAgICBBU1NFUlQobV90eXBlID09IFVuaW5pdGlhbGl6ZWQpOwogICAgICAgICBtX3R5
cGUgPSBDb21tZW50OwotICAgICAgICBtX2RhdGEuY2xlYXIoKTsKLSAgICAgICAgbV9kYXRhU3Ry
aW5nID0gQXRvbWljU3RyaW5nKCk7CisgICAgICAgIGNsZWFyRGF0YSgpOwogICAgIH0KIAogICAg
IHZvaWQgYXBwZW5kVG9OYW1lKFVDaGFyIGNoYXJhY3RlcikKQEAgLTE1NiwyNyArMTUzLDM2IEBA
IHB1YmxpYzoKICAgICBBdG9taWNTdHJpbmcgbmFtZSgpCiAgICAgewogICAgICAgICBBU1NFUlQo
bV90eXBlID09IFN0YXJ0VGFnIHx8IG1fdHlwZSA9PSBFbmRUYWcgfHwgbV90eXBlID09IERPQ1RZ
UEUpOwotICAgICAgICByZXR1cm4gZGF0YVN0cmluZygpOworICAgICAgICBpZiAoIW1fZGF0YS5p
c0VtcHR5KCkgJiYgbV9kYXRhQXNOYW1lQXRvbS5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX2Rh
dGFBc05hbWVBdG9tID0gQXRvbWljU3RyaW5nKGFkb3B0RGF0YUFzU3RyaW5nSW1wbCgpKTsKKyAg
ICAgICAgcmV0dXJuIG1fZGF0YUFzTmFtZUF0b207CiAgICAgfQogCi0gICAgQXRvbWljU3RyaW5n
IGNoYXJhY3RlcnMoKQorICAgIFBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gYWRvcHREYXRhQXNTdHJp
bmdJbXBsKCkKKyAgICB7CisgICAgICAgIEFTU0VSVCghbV9kYXRhQXNOYW1lQXRvbSk7IC8vIEFu
IGF0dGVtcHQgdG8gbWFrZSBzdXJlIHRoaXMgaXNuJ3QgY2FsbGVkIHR3aWNlLgorICAgICAgICBy
ZXR1cm4gU3RyaW5nSW1wbDo6YWRvcHQobV9kYXRhKTsKKyAgICB9CisKKyAgICBjb25zdCBEYXRh
VmVjdG9yJiBjaGFyYWN0ZXJzKCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3R5cGUgPT0gQ2hh
cmFjdGVyKTsKLSAgICAgICAgcmV0dXJuIGRhdGFTdHJpbmcoKTsKKyAgICAgICAgQVNTRVJUKCFt
X2RhdGFBc05hbWVBdG9tKTsKKyAgICAgICAgcmV0dXJuIG1fZGF0YTsKICAgICB9CiAKLSAgICBB
dG9taWNTdHJpbmcgZGF0YSgpCisgICAgY29uc3QgRGF0YVZlY3RvciYgY29tbWVudERhdGEoKQog
ICAgIHsKICAgICAgICAgQVNTRVJUKG1fdHlwZSA9PSBDb21tZW50KTsKLSAgICAgICAgcmV0dXJu
IGRhdGFTdHJpbmcoKTsKKyAgICAgICAgQVNTRVJUKCFtX2RhdGFBc05hbWVBdG9tKTsKKyAgICAg
ICAgcmV0dXJuIG1fZGF0YTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQXRvbWljU3RyaW5nIGRh
dGFTdHJpbmcoKQorICAgIHZvaWQgY2xlYXJEYXRhKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9k
YXRhLmlzRW1wdHkoKSAmJiBtX2RhdGFTdHJpbmcuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9k
YXRhU3RyaW5nID0gQXRvbWljU3RyaW5nKFN0cmluZ0ltcGw6OmFkb3B0KG1fZGF0YSkpOwotICAg
ICAgICByZXR1cm4gbV9kYXRhU3RyaW5nOworICAgICAgICBtX2RhdGEuY2xlYXIoKTsKKyAgICAg
ICAgbV9kYXRhQXNOYW1lQXRvbSA9IEF0b21pY1N0cmluZygpOwogICAgIH0KIAogICAgIFR5cGUg
bV90eXBlOwpAQCAtMTg0LDcgKzE5MCw4IEBAIHByaXZhdGU6CiAgICAgLy8gIm5hbWUiIGZvciBE
T0NUWVBFLCBTdGFydFRhZywgYW5kIEVuZFRhZwogICAgIC8vICJjaGFyYWN0ZXJzIiBmb3IgQ2hh
cmFjdGVyCiAgICAgLy8gImRhdGEiIGZvciBDb21tZW50Ci0gICAgV1RGOjpWZWN0b3I8VUNoYXIs
IDEwMjQ+IG1fZGF0YTsKKyAgICBEYXRhVmVjdG9yIG1fZGF0YTsKKyAgICBBdG9taWNTdHJpbmcg
bV9kYXRhQXNOYW1lQXRvbTsKIAogICAgIC8vIEZvciBET0NUWVBFCiAgICAgU3RyaW5nIG1fcHVi
bGljSWRlbnRpZmllcjsKQEAgLTE5Nyw4ICsyMDQsNiBAQCBwcml2YXRlOgogCiAgICAgLy8gQSBw
b2ludGVyIGludG8gbV9hdHRyaWJ1dGVzIHVzZWQgZHVyaW5nIGxleGluZy4KICAgICBBdHRyaWJ1
dGUqIG1fY3VycmVudEF0dHJpYnV0ZTsKLQotICAgIEF0b21pY1N0cmluZyBtX2RhdGFTdHJpbmc7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTDVUcmVlQnVpbGRlci5jcHAg
Yi9XZWJDb3JlL2h0bWwvSFRNTDVUcmVlQnVpbGRlci5jcHAKaW5kZXggYWY1M2FjNmI5MmRiZDVh
NWU3NWQxNGY3MmQ0NzIxMmI1OWI0Nzk3ZC4uOWRmOGY5NjFmN2Q1ZDg1MzI3NDE3OGY3M2YzNWJm
OGZmMTA0YmEwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIuY3Bw
CisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MNVRyZWVCdWlsZGVyLmNwcApAQCAtODAsMTEgKzgwLDEx
IEBAIHN0YXRpYyB2b2lkIGNvbnZlcnRUb09sZFN0eWxlKEhUTUw1VG9rZW4mIHRva2VuLCBUb2tl
biYgb2xkU3R5bGVUb2tlbikKICAgICB9CiAgICAgY2FzZSBIVE1MNVRva2VuOjpDb21tZW50Ogog
ICAgICAgICBvbGRTdHlsZVRva2VuLnRhZ05hbWUgPSBjb21tZW50QXRvbTsKLSAgICAgICAgb2xk
U3R5bGVUb2tlbi50ZXh0ID0gdG9rZW4uZGF0YSgpLmltcGwoKTsKKyAgICAgICAgb2xkU3R5bGVU
b2tlbi50ZXh0ID0gdG9rZW4uYWRvcHREYXRhQXNTdHJpbmdJbXBsKCk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgSFRNTDVUb2tlbjo6Q2hhcmFjdGVyOgogICAgICAgICBvbGRTdHlsZVRva2Vu
LnRhZ05hbWUgPSB0ZXh0QXRvbTsKLSAgICAgICAgb2xkU3R5bGVUb2tlbi50ZXh0ID0gdG9rZW4u
Y2hhcmFjdGVycygpLmltcGwoKTsKKyAgICAgICAgb2xkU3R5bGVUb2tlbi50ZXh0ID0gdG9rZW4u
YWRvcHREYXRhQXNTdHJpbmdJbXBsKCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIH0KQEAgLTEw
Niw3ICsxMDYsMjUgQEAgUGFzc1JlZlB0cjxOb2RlPiBIVE1MNVRyZWVCdWlsZGVyOjpwYXNzVG9r
ZW5Ub0xlZ2FjeVBhcnNlcihIVE1MNVRva2VuJiB0b2tlbikKIFBhc3NSZWZQdHI8Tm9kZT4gSFRN
TDVUcmVlQnVpbGRlcjo6Y29uc3RydWN0VHJlZUZyb21Ub2tlbihIVE1MNVRva2VuJiB0b2tlbikK
IHsKICAgICByZXR1cm4gcGFzc1Rva2VuVG9MZWdhY3lQYXJzZXIodG9rZW4pOwotICAgIC8vIE91
ciBIVE1MNSBwYXJzZXIgaW1wbGVtZW50YXRpb24gd2lsbCBnbyBoZXJlIGluIGEgc2VwYXJhdGUg
cGF0Y2guCisKKyAgICAvLyBIVE1MNSBleHBlY3RzIHRoZSB0b2tlbml6ZXIgdG8gY2FsbCB0aGUg
cGFyc2VyIGV2ZXJ5IHRpbWUgYSBjaGFyYWN0ZXIgaXMKKyAgICAvLyBlbWl0dGVkLiAgV2UgaW5z
dGVhZCBjb2xsZWN0IGNoYXJhY3RlcnMgYW5kIGNhbGwgdGhlIHBhcnNlciB3aXRoIGEgYmF0Y2gu
CisgICAgLy8gSW4gb3JkZXIgdG8gbWFrZSBvdXIgZmlyc3QtcGFzcyBwYXJzZXIgY29kZSBzaW1w
bGUsIHByb2Nlc3NUb2tlbiBtYXRjaGVzCisgICAgLy8gdGhlIHNwZWMgaW4gb25seSBoYW5kbGlu
ZyBvbmUgY2hhcmFjdGVyIGF0IGEgdGltZS4KKyAgICBpZiAodG9rZW4udHlwZSgpID09IEhUTUw1
VG9rZW46OkNoYXJhY3RlcikgeworICAgICAgICBIVE1MNVRva2VuOjpEYXRhVmVjdG9yIGNoYXJh
Y3RlcnMgPSB0b2tlbi5jaGFyYWN0ZXJzKCk7CisgICAgICAgIGZvciAoc2l6ZV90IHggPSAwOyB4
IDwgY2hhcmFjdGVycy5zaXplKCk7IHgrKykKKyAgICAgICAgICAgIHByb2Nlc3NUb2tlbih0b2tl
biwgY2hhcmFjdGVyc1t4XSk7CisgICAgICAgIHJldHVybiAwOyAvLyBGSVhNRTogU2hvdWxkIHdl
IGJlIHJldHVybmluZyB0aGUgVGV4dCBub2RlPworICAgIH0KKyAgICByZXR1cm4gcHJvY2Vzc1Rv
a2VuKHRva2VuKTsKK30KKworUGFzc1JlZlB0cjxOb2RlPiBIVE1MNVRyZWVCdWlsZGVyOjpwcm9j
ZXNzVG9rZW4oSFRNTDVUb2tlbiYgdG9rZW4sIFVDaGFyIGN1cnJlbnRDaGFyYWN0ZXIpCit7Cisg
ICAgVU5VU0VEX1BBUkFNKHRva2VuKTsKKyAgICBVTlVTRURfUEFSQU0oY3VycmVudENoYXJhY3Rl
cik7CisgICAgLy8gSW1wbGVtZW50YXRpb24gY29taW5nIGluIHRoZSBuZXh0IHBhdGNoLgogfQog
CiB2b2lkIEhUTUw1VHJlZUJ1aWxkZXI6OmZpbmlzaGVkKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9IVE1MNVRyZWVCdWlsZGVyLmggYi9XZWJDb3JlL2h0bWwvSFRNTDVUcmVlQnVpbGRlci5o
CmluZGV4IDQ2NmZkNmU3MGM2NmIxOWZhOWUxNmJhMzk1MDZiNDhiZTVhOGU0MTYuLjM1YWQwYzhh
NTBkNDE0ZGVhZDllYTU4NzZhNTE3MmEyYjQyNjNjOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9IVE1MNVRyZWVCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUw1VHJlZUJ1aWxkZXIu
aApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9j
dW1lbnQ7CkBAIC00OSw2ICs1MCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBQYXNzUmVm
UHRyPE5vZGU+IHBhc3NUb2tlblRvTGVnYWN5UGFyc2VyKEhUTUw1VG9rZW4mKTsKKyAgICBQYXNz
UmVmUHRyPE5vZGU+IHByb2Nlc3NUb2tlbihIVE1MNVRva2VuJiwgVUNoYXIgY3VycmVudENoYXJh
Y3RlciA9IDApOwogCiAgICAgLy8gV2UgY291bGQgZ3JhYiBtX2RvY3VtZW50IG9mZiB0aGUgbGV4
ZXIgaWYgd2Ugd2FudGVkIHRvIHNhdmUgc3BhY2UuCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7
Cg==
</data>
<flag name="review"
          id="41432"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="41435"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>