<?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>107569</bug_id>
          
          <creation_ts>2013-01-22 10:51:12 -0800</creation_ts>
          <short_desc>BackgroundHTMLParser should simulate tree building in a separate function</short_desc>
          <delta_ts>2013-01-22 11:13:45 -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>New Bugs</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>106127</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tonyg</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>813189</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-22 10:51:12 -0800</bug_when>
    <thetext>BackgroundHTMLParser should simulate tree building in a separate function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813195</commentid>
    <comment_count>1</comment_count>
      <attachid>184017</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-22 10:52:09 -0800</bug_when>
    <thetext>Created attachment 184017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813199</commentid>
    <comment_count>2</comment_count>
      <attachid>184019</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-22 10:53:36 -0800</bug_when>
    <thetext>Created attachment 184019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813209</commentid>
    <comment_count>3</comment_count>
      <attachid>184017</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2013-01-22 10:59:34 -0800</bug_when>
    <thetext>Comment on attachment 184017
Patch

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

&gt; Source/WebCore/html/parser/BackgroundHTMLParser.cpp:129
&gt; +        // FIXME: This is just a copy of Tokenizer::updateStateFor which doesn&apos;t use HTMLNames.

This isn&apos;t exactly true any more. I&apos;d change it to something like:

// FIXME: This is just a copy of Tokenizer::updateStateFor which uses threadSafeMatches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813211</commentid>
    <comment_count>4</comment_count>
      <attachid>184019</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-22 10:59:45 -0800</bug_when>
    <thetext>Comment on attachment 184019
Patch

LGTM.  We had talked about pulling it out into a separate class even.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813240</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-22 11:13:45 -0800</bug_when>
    <thetext>Committed r140441: &lt;http://trac.webkit.org/changeset/140441&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184017</attachid>
            <date>2013-01-22 10:52:09 -0800</date>
            <delta_ts>2013-01-22 10:59:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107569-20130122104903.patch</filename>
            <type>text/plain</type>
            <size>6419</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmZTg2YjgzZDA5OTAy
OTg4ODg0ZmZlZTY1YzliNTcwYzI3M2E1Yy4uMWVjYTBhOTI4NmRkZmZiMWI4MzQ3OGU3Y2MyNzQy
NGM2ZDJiZjIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAxLTIyICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQmFja2dyb3VuZEhUTUxQYXJz
ZXIgc2hvdWxkIHNpbXVsYXRlIHRyZWUgYnVpbGRpbmcgaW4gYSBzZXBhcmF0ZSBmdW5jdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NTY5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBjbGVhbnMgdXAgQmFja2dyb3VuZEhUTUxQYXJzZXI6OnB1bXBUb2tlbml6ZXIgdG8gcHJlcGFy
ZSBmb3IKKyAgICAgICAgaW1wbGVtZW50aW5nIHNwZWN1bGF0aXZlIHBhcnNpbmcuCisKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpCYWNrZ3JvdW5kSFRNTFBhcnNlcjo6c2ltdWxhdGVUcmVlQnVpbGRlcik6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tncm91bmRIVE1MUGFyc2VyOjpwdW1w
VG9rZW5pemVyKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5o
OgorICAgICAgICAoQmFja2dyb3VuZEhUTUxQYXJzZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGlu
Z3MuaW46CisKIDIwMTMtMDEtMjIgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtBdXRvdG9vbHNdIFJlbW92ZSB0aGUgQ2FudmFzIFBhdGggY29uZmlndXJh
dGlvbiBvcHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tn
cm91bmRIVE1MUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tncm91
bmRIVE1MUGFyc2VyLmNwcAppbmRleCBhZjBkNzhmMzA3MTkyOTM2N2IwNzgyNWE2ZmM1MzQ1YTAy
MTk3OGU2Li40MzgyMmY4ZmZiM2NhNTVjNDgxNmY4NjdjY2IwZDcxNjlkY2MzMjNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuY3Bw
CkBAIC0xMTgsNiArMTE4LDQ1IEBAIHZvaWQgQmFja2dyb3VuZEhUTUxQYXJzZXI6OmZpbmlzaCgp
CiAgICAgcHVtcFRva2VuaXplcigpOwogfQogCit2b2lkIEJhY2tncm91bmRIVE1MUGFyc2VyOjpz
aW11bGF0ZVRyZWVCdWlsZGVyKGNvbnN0IENvbXBhY3RIVE1MVG9rZW4mIHRva2VuKQoreworICAg
IGlmICh0b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuVHlwZXM6OlN0YXJ0VGFnKSB7CisgICAgICAg
IGNvbnN0IFN0cmluZyYgdGFnTmFtZSA9IHRva2VuLmRhdGEoKTsKKyAgICAgICAgaWYgKHRocmVh
ZFNhZmVNYXRjaCh0YWdOYW1lLCBTVkdOYW1lczo6c3ZnVGFnKQorICAgICAgICAgICAgfHwgdGhy
ZWFkU2FmZU1hdGNoKHRhZ05hbWUsIE1hdGhNTE5hbWVzOjptYXRoVGFnKSkKKyAgICAgICAgICAg
IG1faW5Gb3JlaWduQ29udGVudCA9IHRydWU7CisKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMg
anVzdCBhIGNvcHkgb2YgVG9rZW5pemVyOjp1cGRhdGVTdGF0ZUZvciB3aGljaCBkb2Vzbid0IHVz
ZSBIVE1MTmFtZXMuCisgICAgICAgIGlmICh0aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwgdGV4dGFy
ZWFUYWcpIHx8IHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCB0aXRsZVRhZykpCisgICAgICAgICAg
ICBtX3Rva2VuaXplci0+c2V0U3RhdGUoSFRNTFRva2VuaXplclN0YXRlOjpSQ0RBVEFTdGF0ZSk7
CisgICAgICAgIGVsc2UgaWYgKHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBwbGFpbnRleHRUYWcp
KQorICAgICAgICAgICAgbV90b2tlbml6ZXItPnNldFN0YXRlKEhUTUxUb2tlbml6ZXJTdGF0ZTo6
UExBSU5URVhUU3RhdGUpOworICAgICAgICBlbHNlIGlmICh0aHJlYWRTYWZlTWF0Y2godGFnTmFt
ZSwgc2NyaXB0VGFnKSkKKyAgICAgICAgICAgIG1fdG9rZW5pemVyLT5zZXRTdGF0ZShIVE1MVG9r
ZW5pemVyU3RhdGU6OlNjcmlwdERhdGFTdGF0ZSk7CisgICAgICAgIGVsc2UgaWYgKHRocmVhZFNh
ZmVNYXRjaCh0YWdOYW1lLCBzdHlsZVRhZykKKyAgICAgICAgICAgIHx8IHRocmVhZFNhZmVNYXRj
aCh0YWdOYW1lLCBpZnJhbWVUYWcpCisgICAgICAgICAgICB8fCB0aHJlYWRTYWZlTWF0Y2godGFn
TmFtZSwgeG1wVGFnKQorICAgICAgICAgICAgfHwgKHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBu
b2VtYmVkVGFnKSAmJiBtX29wdGlvbnMucGx1Z2luc0VuYWJsZWQpCisgICAgICAgICAgICB8fCB0
aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwgbm9mcmFtZXNUYWcpCisgICAgICAgICAgICB8fCAodGhy
ZWFkU2FmZU1hdGNoKHRhZ05hbWUsIG5vc2NyaXB0VGFnKSAmJiBtX29wdGlvbnMuc2NyaXB0RW5h
YmxlZCkpCisgICAgICAgICAgICBtX3Rva2VuaXplci0+c2V0U3RhdGUoSFRNTFRva2VuaXplclN0
YXRlOjpSQVdURVhUU3RhdGUpOworICAgIH0KKworICAgIGlmICh0b2tlbi50eXBlKCkgPT0gSFRN
TFRva2VuVHlwZXM6OkVuZFRhZykgeworICAgICAgICBjb25zdCBTdHJpbmcmIHRhZ05hbWUgPSB0
b2tlbi5kYXRhKCk7CisgICAgICAgIGlmICh0aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwgU1ZHTmFt
ZXM6OnN2Z1RhZykgfHwgdGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIE1hdGhNTE5hbWVzOjptYXRo
VGFnKSkKKyAgICAgICAgICAgIG1faW5Gb3JlaWduQ29udGVudCA9IGZhbHNlOworICAgICAgICBp
ZiAodGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIHNjcmlwdFRhZykpIHsKKyAgICAgICAgICAgIG1f
aXNQYXVzZWRXYWl0aW5nRm9yU2NyaXB0cyA9IHRydWU7CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBGSVhNRTogTmVlZCB0byBzZXQgc2V0Rm9y
Y2VOdWxsQ2hhcmFjdGVyUmVwbGFjZW1lbnQgYmFzZWQgb24gbV9pbkZvcmVpZ25Db250ZW50IGFz
IHdlbGwuCisgICAgbV90b2tlbml6ZXItPnNldFNob3VsZEFsbG93Q0RBVEEobV9pbkZvcmVpZ25D
b250ZW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBCYWNrZ3JvdW5kSFRNTFBhcnNl
cjo6cHVtcFRva2VuaXplcigpCiB7CiAgICAgaWYgKG1faXNQYXVzZWRXYWl0aW5nRm9yU2NyaXB0
cykKQEAgLTEyNSw0NCArMTY0LDEzIEBAIHZvaWQgQmFja2dyb3VuZEhUTUxQYXJzZXI6OnB1bXBU
b2tlbml6ZXIoKQogCiAgICAgd2hpbGUgKG1fdG9rZW5pemVyLT5uZXh0VG9rZW4obV9pbnB1dC5j
dXJyZW50KCksIG1fdG9rZW4pKSB7CiAgICAgICAgIG1fcGVuZGluZ1Rva2Vucy5hcHBlbmQoQ29t
cGFjdEhUTUxUb2tlbihtX3Rva2VuKSk7Ci0KLSAgICAgICAgY29uc3QgQ29tcGFjdEhUTUxUb2tl
biYgdG9rZW4gPSBtX3BlbmRpbmdUb2tlbnMubGFzdCgpOwotCi0gICAgICAgIGlmICh0b2tlbi50
eXBlKCkgPT0gSFRNTFRva2VuVHlwZXM6OlN0YXJ0VGFnKSB7Ci0gICAgICAgICAgICBjb25zdCBT
dHJpbmcmIHRhZ05hbWUgPSB0b2tlbi5kYXRhKCk7Ci0gICAgICAgICAgICBpZiAodGhyZWFkU2Fm
ZU1hdGNoKHRhZ05hbWUsIFNWR05hbWVzOjpzdmdUYWcpCi0gICAgICAgICAgICAgICAgfHwgdGhy
ZWFkU2FmZU1hdGNoKHRhZ05hbWUsIE1hdGhNTE5hbWVzOjptYXRoVGFnKSkKLSAgICAgICAgICAg
ICAgICBtX2luRm9yZWlnbkNvbnRlbnQgPSB0cnVlOwotCi0gICAgICAgICAgICAvLyBGSVhNRTog
VGhpcyBpcyBqdXN0IGEgY29weSBvZiBUb2tlbml6ZXI6OnVwZGF0ZVN0YXRlRm9yIHdoaWNoIGRv
ZXNuJ3QgdXNlIEhUTUxOYW1lcy4KLSAgICAgICAgICAgIGlmICh0aHJlYWRTYWZlTWF0Y2godGFn
TmFtZSwgdGV4dGFyZWFUYWcpIHx8IHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCB0aXRsZVRhZykp
Ci0gICAgICAgICAgICAgICAgbV90b2tlbml6ZXItPnNldFN0YXRlKEhUTUxUb2tlbml6ZXJTdGF0
ZTo6UkNEQVRBU3RhdGUpOwotICAgICAgICAgICAgZWxzZSBpZiAodGhyZWFkU2FmZU1hdGNoKHRh
Z05hbWUsIHBsYWludGV4dFRhZykpCi0gICAgICAgICAgICAgICAgbV90b2tlbml6ZXItPnNldFN0
YXRlKEhUTUxUb2tlbml6ZXJTdGF0ZTo6UExBSU5URVhUU3RhdGUpOwotICAgICAgICAgICAgZWxz
ZSBpZiAodGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIHNjcmlwdFRhZykpCi0gICAgICAgICAgICAg
ICAgbV90b2tlbml6ZXItPnNldFN0YXRlKEhUTUxUb2tlbml6ZXJTdGF0ZTo6U2NyaXB0RGF0YVN0
YXRlKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBzdHls
ZVRhZykKLSAgICAgICAgICAgICAgICB8fCB0aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwgaWZyYW1l
VGFnKQotICAgICAgICAgICAgICAgIHx8IHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCB4bXBUYWcp
Ci0gICAgICAgICAgICAgICAgfHwgKHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBub2VtYmVkVGFn
KSAmJiBtX29wdGlvbnMucGx1Z2luc0VuYWJsZWQpCi0gICAgICAgICAgICAgICAgfHwgdGhyZWFk
U2FmZU1hdGNoKHRhZ05hbWUsIG5vZnJhbWVzVGFnKQotICAgICAgICAgICAgICAgIHx8ICh0aHJl
YWRTYWZlTWF0Y2godGFnTmFtZSwgbm9zY3JpcHRUYWcpICYmIG1fb3B0aW9ucy5zY3JpcHRFbmFi
bGVkKSkKLSAgICAgICAgICAgICAgICBtX3Rva2VuaXplci0+c2V0U3RhdGUoSFRNTFRva2VuaXpl
clN0YXRlOjpSQVdURVhUU3RhdGUpOwotICAgICAgICB9Ci0gICAgICAgIGlmICh0b2tlbi50eXBl
KCkgPT0gSFRNTFRva2VuVHlwZXM6OkVuZFRhZykgewotICAgICAgICAgICAgY29uc3QgU3RyaW5n
JiB0YWdOYW1lID0gdG9rZW4uZGF0YSgpOwotICAgICAgICAgICAgaWYgKHRocmVhZFNhZmVNYXRj
aCh0YWdOYW1lLCBTVkdOYW1lczo6c3ZnVGFnKSB8fCB0aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwg
TWF0aE1MTmFtZXM6Om1hdGhUYWcpKQotICAgICAgICAgICAgICAgIG1faW5Gb3JlaWduQ29udGVu
dCA9IGZhbHNlOwotICAgICAgICAgICAgaWYgKHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBzY3Jp
cHRUYWcpKSB7Ci0gICAgICAgICAgICAgICAgbV9pc1BhdXNlZFdhaXRpbmdGb3JTY3JpcHRzID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBtX3Rva2VuLmNsZWFyKCk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgLy8gRklYTUU6IE5lZWQg
dG8gc2V0IHNldEZvcmNlTnVsbENoYXJhY3RlclJlcGxhY2VtZW50IGJhc2VkIG9uIG1faW5Gb3Jl
aWduQ29udGVudCBhcyB3ZWxsLgotICAgICAgICBtX3Rva2VuaXplci0+c2V0U2hvdWxkQWxsb3dD
REFUQShtX2luRm9yZWlnbkNvbnRlbnQpOwogICAgICAgICBtX3Rva2VuLmNsZWFyKCk7CiAKKyAg
ICAgICAgc2ltdWxhdGVUcmVlQnVpbGRlcihtX3BlbmRpbmdUb2tlbnMubGFzdCgpKTsKKworICAg
ICAgICBpZiAobV9pc1BhdXNlZFdhaXRpbmdGb3JTY3JpcHRzKQorICAgICAgICAgICAgYnJlYWs7
CisKICAgICAgICAgaWYgKG1fcGVuZGluZ1Rva2Vucy5zaXplKCkgPj0gcGVuZGluZ1Rva2VuTGlt
aXQpCiAgICAgICAgICAgICBzZW5kVG9rZW5zVG9NYWluVGhyZWFkKCk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tncm91bmRIVE1MUGFyc2VyLmgKaW5kZXgg
OTY4MTU2MDQxOTFmY2IxNzRkOTI4NjU3NjAzMjIwYTkwZmVmMWIzNi4uMmRkMTZlY2EwYmJmYmZi
ODY1YWQ3YjZjNTQxNmExNjY3N2FiMzU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5oCkBAIC02MSw2ICs2MSw3IEBAIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgQmFja2dyb3VuZEhUTUxQYXJzZXIoY29uc3QgSFRNTFBhcnNlck9wdGlv
bnMmLCBQYXJzZXJJZGVudGlmaWVyKTsKIAogICAgIHZvaWQgcHVtcFRva2VuaXplcigpOworICAg
IHZvaWQgc2ltdWxhdGVUcmVlQnVpbGRlcihjb25zdCBDb21wYWN0SFRNTFRva2VuJik7CiAKICAg
ICB2b2lkIHNlbmRUb2tlbnNUb01haW5UaHJlYWQoKTsKIAo=
</data>
<flag name="review"
          id="202617"
          type_id="1"
          status="+"
          setter="tonyg"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184019</attachid>
            <date>2013-01-22 10:53:36 -0800</date>
            <delta_ts>2013-01-22 10:59:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107569-20130122105030.patch</filename>
            <type>text/plain</type>
            <size>6361</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmZTg2YjgzZDA5OTAy
OTg4ODg0ZmZlZTY1YzliNTcwYzI3M2E1Yy4uMWVjYTBhOTI4NmRkZmZiMWI4MzQ3OGU3Y2MyNzQy
NGM2ZDJiZjIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAxLTIyICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQmFja2dyb3VuZEhUTUxQYXJz
ZXIgc2hvdWxkIHNpbXVsYXRlIHRyZWUgYnVpbGRpbmcgaW4gYSBzZXBhcmF0ZSBmdW5jdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3NTY5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBjbGVhbnMgdXAgQmFja2dyb3VuZEhUTUxQYXJzZXI6OnB1bXBUb2tlbml6ZXIgdG8gcHJlcGFy
ZSBmb3IKKyAgICAgICAgaW1wbGVtZW50aW5nIHNwZWN1bGF0aXZlIHBhcnNpbmcuCisKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpCYWNrZ3JvdW5kSFRNTFBhcnNlcjo6c2ltdWxhdGVUcmVlQnVpbGRlcik6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tncm91bmRIVE1MUGFyc2VyOjpwdW1w
VG9rZW5pemVyKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5o
OgorICAgICAgICAoQmFja2dyb3VuZEhUTUxQYXJzZXIpOgorICAgICAgICAqIHBhZ2UvU2V0dGlu
Z3MuaW46CisKIDIwMTMtMDEtMjIgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtBdXRvdG9vbHNdIFJlbW92ZSB0aGUgQ2FudmFzIFBhdGggY29uZmlndXJh
dGlvbiBvcHRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tn
cm91bmRIVE1MUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tncm91
bmRIVE1MUGFyc2VyLmNwcAppbmRleCBhZjBkNzhmMzA3MTkyOTM2N2IwNzgyNWE2ZmM1MzQ1YTAy
MTk3OGU2Li5kMGY5ZjY0ZWM4ODMwZjU5YjI2ZTE1NGE0MDRlNTAzZGZmNGM2M2JiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuY3Bw
CkBAIC0xMTgsNiArMTE4LDQyIEBAIHZvaWQgQmFja2dyb3VuZEhUTUxQYXJzZXI6OmZpbmlzaCgp
CiAgICAgcHVtcFRva2VuaXplcigpOwogfQogCit2b2lkIEJhY2tncm91bmRIVE1MUGFyc2VyOjpz
aW11bGF0ZVRyZWVCdWlsZGVyKGNvbnN0IENvbXBhY3RIVE1MVG9rZW4mIHRva2VuKQoreworICAg
IGlmICh0b2tlbi50eXBlKCkgPT0gSFRNTFRva2VuVHlwZXM6OlN0YXJ0VGFnKSB7CisgICAgICAg
IGNvbnN0IFN0cmluZyYgdGFnTmFtZSA9IHRva2VuLmRhdGEoKTsKKyAgICAgICAgaWYgKHRocmVh
ZFNhZmVNYXRjaCh0YWdOYW1lLCBTVkdOYW1lczo6c3ZnVGFnKQorICAgICAgICAgICAgfHwgdGhy
ZWFkU2FmZU1hdGNoKHRhZ05hbWUsIE1hdGhNTE5hbWVzOjptYXRoVGFnKSkKKyAgICAgICAgICAg
IG1faW5Gb3JlaWduQ29udGVudCA9IHRydWU7CisKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMg
anVzdCBhIGNvcHkgb2YgVG9rZW5pemVyOjp1cGRhdGVTdGF0ZUZvciB3aGljaCBkb2Vzbid0IHVz
ZSBIVE1MTmFtZXMuCisgICAgICAgIGlmICh0aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwgdGV4dGFy
ZWFUYWcpIHx8IHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCB0aXRsZVRhZykpCisgICAgICAgICAg
ICBtX3Rva2VuaXplci0+c2V0U3RhdGUoSFRNTFRva2VuaXplclN0YXRlOjpSQ0RBVEFTdGF0ZSk7
CisgICAgICAgIGVsc2UgaWYgKHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBwbGFpbnRleHRUYWcp
KQorICAgICAgICAgICAgbV90b2tlbml6ZXItPnNldFN0YXRlKEhUTUxUb2tlbml6ZXJTdGF0ZTo6
UExBSU5URVhUU3RhdGUpOworICAgICAgICBlbHNlIGlmICh0aHJlYWRTYWZlTWF0Y2godGFnTmFt
ZSwgc2NyaXB0VGFnKSkKKyAgICAgICAgICAgIG1fdG9rZW5pemVyLT5zZXRTdGF0ZShIVE1MVG9r
ZW5pemVyU3RhdGU6OlNjcmlwdERhdGFTdGF0ZSk7CisgICAgICAgIGVsc2UgaWYgKHRocmVhZFNh
ZmVNYXRjaCh0YWdOYW1lLCBzdHlsZVRhZykKKyAgICAgICAgICAgIHx8IHRocmVhZFNhZmVNYXRj
aCh0YWdOYW1lLCBpZnJhbWVUYWcpCisgICAgICAgICAgICB8fCB0aHJlYWRTYWZlTWF0Y2godGFn
TmFtZSwgeG1wVGFnKQorICAgICAgICAgICAgfHwgKHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBu
b2VtYmVkVGFnKSAmJiBtX29wdGlvbnMucGx1Z2luc0VuYWJsZWQpCisgICAgICAgICAgICB8fCB0
aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwgbm9mcmFtZXNUYWcpCisgICAgICAgICAgICB8fCAodGhy
ZWFkU2FmZU1hdGNoKHRhZ05hbWUsIG5vc2NyaXB0VGFnKSAmJiBtX29wdGlvbnMuc2NyaXB0RW5h
YmxlZCkpCisgICAgICAgICAgICBtX3Rva2VuaXplci0+c2V0U3RhdGUoSFRNTFRva2VuaXplclN0
YXRlOjpSQVdURVhUU3RhdGUpOworICAgIH0KKworICAgIGlmICh0b2tlbi50eXBlKCkgPT0gSFRN
TFRva2VuVHlwZXM6OkVuZFRhZykgeworICAgICAgICBjb25zdCBTdHJpbmcmIHRhZ05hbWUgPSB0
b2tlbi5kYXRhKCk7CisgICAgICAgIGlmICh0aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwgU1ZHTmFt
ZXM6OnN2Z1RhZykgfHwgdGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIE1hdGhNTE5hbWVzOjptYXRo
VGFnKSkKKyAgICAgICAgICAgIG1faW5Gb3JlaWduQ29udGVudCA9IGZhbHNlOworICAgICAgICBp
ZiAodGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIHNjcmlwdFRhZykpCisgICAgICAgICAgICBtX2lz
UGF1c2VkV2FpdGluZ0ZvclNjcmlwdHMgPSB0cnVlOworICAgIH0KKworICAgIC8vIEZJWE1FOiBO
ZWVkIHRvIHNldCBzZXRGb3JjZU51bGxDaGFyYWN0ZXJSZXBsYWNlbWVudCBiYXNlZCBvbiBtX2lu
Rm9yZWlnbkNvbnRlbnQgYXMgd2VsbC4KKyAgICBtX3Rva2VuaXplci0+c2V0U2hvdWxkQWxsb3dD
REFUQShtX2luRm9yZWlnbkNvbnRlbnQpOworfQorCiB2b2lkIEJhY2tncm91bmRIVE1MUGFyc2Vy
OjpwdW1wVG9rZW5pemVyKCkKIHsKICAgICBpZiAobV9pc1BhdXNlZFdhaXRpbmdGb3JTY3JpcHRz
KQpAQCAtMTI1LDQ0ICsxNjEsMTMgQEAgdm9pZCBCYWNrZ3JvdW5kSFRNTFBhcnNlcjo6cHVtcFRv
a2VuaXplcigpCiAKICAgICB3aGlsZSAobV90b2tlbml6ZXItPm5leHRUb2tlbihtX2lucHV0LmN1
cnJlbnQoKSwgbV90b2tlbikpIHsKICAgICAgICAgbV9wZW5kaW5nVG9rZW5zLmFwcGVuZChDb21w
YWN0SFRNTFRva2VuKG1fdG9rZW4pKTsKLQotICAgICAgICBjb25zdCBDb21wYWN0SFRNTFRva2Vu
JiB0b2tlbiA9IG1fcGVuZGluZ1Rva2Vucy5sYXN0KCk7Ci0KLSAgICAgICAgaWYgKHRva2VuLnR5
cGUoKSA9PSBIVE1MVG9rZW5UeXBlczo6U3RhcnRUYWcpIHsKLSAgICAgICAgICAgIGNvbnN0IFN0
cmluZyYgdGFnTmFtZSA9IHRva2VuLmRhdGEoKTsKLSAgICAgICAgICAgIGlmICh0aHJlYWRTYWZl
TWF0Y2godGFnTmFtZSwgU1ZHTmFtZXM6OnN2Z1RhZykKLSAgICAgICAgICAgICAgICB8fCB0aHJl
YWRTYWZlTWF0Y2godGFnTmFtZSwgTWF0aE1MTmFtZXM6Om1hdGhUYWcpKQotICAgICAgICAgICAg
ICAgIG1faW5Gb3JlaWduQ29udGVudCA9IHRydWU7Ci0KLSAgICAgICAgICAgIC8vIEZJWE1FOiBU
aGlzIGlzIGp1c3QgYSBjb3B5IG9mIFRva2VuaXplcjo6dXBkYXRlU3RhdGVGb3Igd2hpY2ggZG9l
c24ndCB1c2UgSFRNTE5hbWVzLgotICAgICAgICAgICAgaWYgKHRocmVhZFNhZmVNYXRjaCh0YWdO
YW1lLCB0ZXh0YXJlYVRhZykgfHwgdGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIHRpdGxlVGFnKSkK
LSAgICAgICAgICAgICAgICBtX3Rva2VuaXplci0+c2V0U3RhdGUoSFRNTFRva2VuaXplclN0YXRl
OjpSQ0RBVEFTdGF0ZSk7Ci0gICAgICAgICAgICBlbHNlIGlmICh0aHJlYWRTYWZlTWF0Y2godGFn
TmFtZSwgcGxhaW50ZXh0VGFnKSkKLSAgICAgICAgICAgICAgICBtX3Rva2VuaXplci0+c2V0U3Rh
dGUoSFRNTFRva2VuaXplclN0YXRlOjpQTEFJTlRFWFRTdGF0ZSk7Ci0gICAgICAgICAgICBlbHNl
IGlmICh0aHJlYWRTYWZlTWF0Y2godGFnTmFtZSwgc2NyaXB0VGFnKSkKLSAgICAgICAgICAgICAg
ICBtX3Rva2VuaXplci0+c2V0U3RhdGUoSFRNTFRva2VuaXplclN0YXRlOjpTY3JpcHREYXRhU3Rh
dGUpOwotICAgICAgICAgICAgZWxzZSBpZiAodGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIHN0eWxl
VGFnKQotICAgICAgICAgICAgICAgIHx8IHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBpZnJhbWVU
YWcpCi0gICAgICAgICAgICAgICAgfHwgdGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIHhtcFRhZykK
LSAgICAgICAgICAgICAgICB8fCAodGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIG5vZW1iZWRUYWcp
ICYmIG1fb3B0aW9ucy5wbHVnaW5zRW5hYmxlZCkKLSAgICAgICAgICAgICAgICB8fCB0aHJlYWRT
YWZlTWF0Y2godGFnTmFtZSwgbm9mcmFtZXNUYWcpCi0gICAgICAgICAgICAgICAgfHwgKHRocmVh
ZFNhZmVNYXRjaCh0YWdOYW1lLCBub3NjcmlwdFRhZykgJiYgbV9vcHRpb25zLnNjcmlwdEVuYWJs
ZWQpKQotICAgICAgICAgICAgICAgIG1fdG9rZW5pemVyLT5zZXRTdGF0ZShIVE1MVG9rZW5pemVy
U3RhdGU6OlJBV1RFWFRTdGF0ZSk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHRva2VuLnR5cGUo
KSA9PSBIVE1MVG9rZW5UeXBlczo6RW5kVGFnKSB7Ci0gICAgICAgICAgICBjb25zdCBTdHJpbmcm
IHRhZ05hbWUgPSB0b2tlbi5kYXRhKCk7Ci0gICAgICAgICAgICBpZiAodGhyZWFkU2FmZU1hdGNo
KHRhZ05hbWUsIFNWR05hbWVzOjpzdmdUYWcpIHx8IHRocmVhZFNhZmVNYXRjaCh0YWdOYW1lLCBN
YXRoTUxOYW1lczo6bWF0aFRhZykpCi0gICAgICAgICAgICAgICAgbV9pbkZvcmVpZ25Db250ZW50
ID0gZmFsc2U7Ci0gICAgICAgICAgICBpZiAodGhyZWFkU2FmZU1hdGNoKHRhZ05hbWUsIHNjcmlw
dFRhZykpIHsKLSAgICAgICAgICAgICAgICBtX2lzUGF1c2VkV2FpdGluZ0ZvclNjcmlwdHMgPSB0
cnVlOwotICAgICAgICAgICAgICAgIG1fdG9rZW4uY2xlYXIoKTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAvLyBGSVhNRTogTmVlZCB0
byBzZXQgc2V0Rm9yY2VOdWxsQ2hhcmFjdGVyUmVwbGFjZW1lbnQgYmFzZWQgb24gbV9pbkZvcmVp
Z25Db250ZW50IGFzIHdlbGwuCi0gICAgICAgIG1fdG9rZW5pemVyLT5zZXRTaG91bGRBbGxvd0NE
QVRBKG1faW5Gb3JlaWduQ29udGVudCk7CiAgICAgICAgIG1fdG9rZW4uY2xlYXIoKTsKIAorICAg
ICAgICBzaW11bGF0ZVRyZWVCdWlsZGVyKG1fcGVuZGluZ1Rva2Vucy5sYXN0KCkpOworCisgICAg
ICAgIGlmIChtX2lzUGF1c2VkV2FpdGluZ0ZvclNjcmlwdHMpCisgICAgICAgICAgICBicmVhazsK
KwogICAgICAgICBpZiAobV9wZW5kaW5nVG9rZW5zLnNpemUoKSA+PSBwZW5kaW5nVG9rZW5MaW1p
dCkKICAgICAgICAgICAgIHNlbmRUb2tlbnNUb01haW5UaHJlYWQoKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuaAppbmRleCA5
NjgxNTYwNDE5MWZjYjE3NGQ5Mjg2NTc2MDMyMjBhOTBmZWYxYjM2Li4yZGQxNmVjYTBiYmZiZmI4
NjVhZDdiNmM1NDE2YTE2Njc3YWIzNTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0JhY2tncm91bmRIVE1MUGFyc2VyLmgKQEAgLTYxLDYgKzYxLDcgQEAgcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBCYWNrZ3JvdW5kSFRNTFBhcnNlcihjb25zdCBIVE1MUGFyc2VyT3B0aW9u
cyYsIFBhcnNlcklkZW50aWZpZXIpOwogCiAgICAgdm9pZCBwdW1wVG9rZW5pemVyKCk7CisgICAg
dm9pZCBzaW11bGF0ZVRyZWVCdWlsZGVyKGNvbnN0IENvbXBhY3RIVE1MVG9rZW4mKTsKIAogICAg
IHZvaWQgc2VuZFRva2Vuc1RvTWFpblRocmVhZCgpOwogCg==
</data>
<flag name="review"
          id="202614"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>