<?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>54241</bug_id>
          
          <creation_ts>2011-02-10 13:40:14 -0800</creation_ts>
          <short_desc>Enable ancestor identifier filtering for tree building</short_desc>
          <delta_ts>2011-02-11 01:00:58 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>peter</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>349335</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-02-10 13:40:14 -0800</bug_when>
    <thetext>This style selector optimization is currently enable during style recalc only. It should also be enabled for tree building.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349382</commentid>
    <comment_count>1</comment_count>
      <attachid>82048</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-02-10 14:30:26 -0800</bug_when>
    <thetext>Created attachment 82048
patch

Call CSSStyleSelector::push/popParent() during tree building too, fix up the parent element stack as needed.

This roughly halves the remaining time in style matching over a typical page load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349405</commentid>
    <comment_count>2</comment_count>
      <attachid>82048</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-02-10 14:51:55 -0800</bug_when>
    <thetext>Comment on attachment 82048
patch

r=me. Run layout tests and make sure it&apos;s all still ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349684</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2011-02-11 01:00:58 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78322</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82048</attachid>
            <date>2011-02-10 14:30:26 -0800</date>
            <delta_ts>2011-02-10 14:51:55 -0800</delta_ts>
            <desc>patch</desc>
            <filename>tree-builder-ancestor-filter.patch</filename>
            <type>text/plain</type>
            <size>8232</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4MjYzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDItMTAgIEFudHRpIEtv
aXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEVuYWJsZSBhbmNlc3RvciBpZGVudGlmaWVyIGZpbHRlcmluZyBm
b3IgdHJlZSBidWlsZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTQyNDEKKyAgICAgICAgCisgICAgICAgIENhbGwgQ1NTU3R5bGVTZWxlY3Rvcjo6
cHVzaC9wb3BQYXJlbnQoKSBkdXJpbmcgdHJlZSBidWlsZGluZyB0b28sIGZpeCB1cCB0aGUgcGFy
ZW50CisgICAgICAgIGVsZW1lbnQgc3RhY2sgYXMgbmVlZGVkLgorICAgICAgICAKKyAgICAgICAg
VGhpcyByb3VnaGx5IGhhbHZlcyB0aGUgcmVtYWluaW5nIHRpbWUgaW4gc3R5bGUgbWF0Y2hpbmcg
b3ZlciBhIHR5cGljYWwgcGFnZSBsb2FkLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6cHVzaFBhcmVudFN0
YWNrRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6cG9wUGFyZW50
U3RhY2tGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpwdXNoUGFy
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnBvcFBhcmVudCk6Cisg
ICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0
eWxlU2VsZWN0b3I6OlBhcmVudFN0YWNrRnJhbWU6OlBhcmVudFN0YWNrRnJhbWUpOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnN0eWxlU2Vs
ZWN0b3JJZkV4aXN0cyk6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6YmVnaW5QYXJzaW5nQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6ZmluaXNoUGFyc2luZ0NoaWxkcmVuKToKKyAgICAgICAgKiBkb20vRWxlbWVudC5o
OgorCiAyMDExLTAyLTEwICBBZGVtYXIgZGUgU291emEgUmVpcyBKciAgPGFkZW1hci5yZWlzQG9w
ZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDc4MTgzKQor
KysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02NjksMjMgKzY2OSwxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY29sbGVjdEVsZW1lbnRJ
ZGVudGlmCiAgICAgfQogfQogCi12b2lkIENTU1N0eWxlU2VsZWN0b3I6OnB1c2hQYXJlbnQoRWxl
bWVudCogcGFyZW50KQordm9pZCBDU1NTdHlsZVNlbGVjdG9yOjpwdXNoUGFyZW50U3RhY2tGcmFt
ZShFbGVtZW50KiBwYXJlbnQpCiB7Ci0gICAgLy8gSWYgd2UgYXJlIG5vdCBpbnZva2VkIGNvbnNp
c3RlbnRseSBmb3IgZWFjaCBwYXJlbnQsIGp1c3QgcGF1c2UgbWFpbnRhaW5pbmcgdGhlIHN0YWNr
LgotICAgIC8vIFRoZXJlIGFyZSBhbGwga2luZHMgb2Ygd2Fja3kgc3BlY2lhbCBjYXNlcyB3aGVy
ZSB0aGUgc3R5bGUgcmVjYWxjIG1heSB0ZW1wb3JhcmlseSBicmFuY2ggdG8gc29tZSByYW5kb20g
ZWxlbWVudHMuCi0gICAgLy8gRklYTUU6IFBlcmhhcHMgd2Ugc2hvdWxkIGZpeCB1cCB0aGUgc3Rh
Y2sgaW5zdGVhZD8gVGhlcmUgaXMgc29tZSBkYW5nZXIgb2YgZ2V0dGluZyBpbnRvIE8obl4yKSBz
aXR1YXRpb25zIGRvaW5nIHRoYXQuCi0gICAgaWYgKG1fcGFyZW50U3RhY2suaXNFbXB0eSgpKSB7
Ci0gICAgICAgIEFTU0VSVCghbV9hbmNlc3RvcklkZW50aWZpZXJGaWx0ZXIpOwotICAgICAgICAv
LyBXZSBtdXN0IHN0YXJ0IGZyb20gdGhlIHJvb3QuCi0gICAgICAgIGlmIChwYXJlbnQtPnBhcmVu
dEVsZW1lbnQoKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9hbmNlc3RvcklkZW50
aWZpZXJGaWx0ZXIgPSBhZG9wdFB0cihuZXcgQmxvb21GaWx0ZXI8Ymxvb21GaWx0ZXJLZXlCaXRz
Pik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKG1fYW5jZXN0b3JJZGVudGlmaWVyRmls
dGVyKTsKLSAgICAgICAgaWYgKG1fcGFyZW50U3RhY2subGFzdCgpLmVsZW1lbnQgIT0gcGFyZW50
LT5wYXJlbnRFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotCisgICAgQVNT
RVJUKG1fYW5jZXN0b3JJZGVudGlmaWVyRmlsdGVyKTsKKyAgICBBU1NFUlQobV9wYXJlbnRTdGFj
ay5pc0VtcHR5KCkgfHwgbV9wYXJlbnRTdGFjay5sYXN0KCkuZWxlbWVudCA9PSBwYXJlbnQtPnBh
cmVudEVsZW1lbnQoKSk7CiAgICAgbV9wYXJlbnRTdGFjay5hcHBlbmQoUGFyZW50U3RhY2tGcmFt
ZShwYXJlbnQpKTsKICAgICBQYXJlbnRTdGFja0ZyYW1lJiBwYXJlbnRGcmFtZSA9IG1fcGFyZW50
U3RhY2subGFzdCgpOwogICAgIC8vIE1peCB0YWdzLCBjbGFzcyBuYW1lcyBhbmQgaWRzIGludG8g
c29tZSBzb3J0IG9mIHdlaXJkIGJvdWlsbGFiYWlzc2UuCkBAIC02OTYsMTIgKzY4MywxMCBAQCB2
b2lkIENTU1N0eWxlU2VsZWN0b3I6OnB1c2hQYXJlbnQoRWxlbWVuCiAgICAgICAgIG1fYW5jZXN0
b3JJZGVudGlmaWVyRmlsdGVyLT5hZGQocGFyZW50RnJhbWUuaWRlbnRpZmllckhhc2hlc1tpXSk7
CiB9CiAKLXZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6cG9wUGFyZW50KEVsZW1lbnQqIHBhcmVudCkK
K3ZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6cG9wUGFyZW50U3RhY2tGcmFtZSgpCiB7Ci0gICAgaWYg
KG1fcGFyZW50U3RhY2suaXNFbXB0eSgpIHx8IG1fcGFyZW50U3RhY2subGFzdCgpLmVsZW1lbnQg
IT0gcGFyZW50KQotICAgICAgICByZXR1cm47CisgICAgQVNTRVJUKCFtX3BhcmVudFN0YWNrLmlz
RW1wdHkoKSk7CiAgICAgQVNTRVJUKG1fYW5jZXN0b3JJZGVudGlmaWVyRmlsdGVyKTsKLQogICAg
IGNvbnN0IFBhcmVudFN0YWNrRnJhbWUmIHBhcmVudEZyYW1lID0gbV9wYXJlbnRTdGFjay5sYXN0
KCk7CiAgICAgc2l6ZV90IGNvdW50ID0gcGFyZW50RnJhbWUuaWRlbnRpZmllckhhc2hlcy5zaXpl
KCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKQpAQCAtNzEzLDYgKzY5
OCw0NiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OnBvcFBhcmVudChFbGVtZW50CiAgICAgfQog
fQogCit2b2lkIENTU1N0eWxlU2VsZWN0b3I6OnB1c2hQYXJlbnQoRWxlbWVudCogcGFyZW50KQor
eworICAgIGlmICghcGFyZW50LT5pbkRvY3VtZW50KCkpCisgICAgICAgIHJldHVybjsKKyAgICBp
ZiAobV9wYXJlbnRTdGFjay5pc0VtcHR5KCkpIHsKKyAgICAgICAgQVNTRVJUKCFtX2FuY2VzdG9y
SWRlbnRpZmllckZpbHRlcik7CisgICAgICAgIG1fYW5jZXN0b3JJZGVudGlmaWVyRmlsdGVyID0g
YWRvcHRQdHIobmV3IEJsb29tRmlsdGVyPGJsb29tRmlsdGVyS2V5Qml0cz4pOworICAgICAgICAv
LyBJZiB0aGUgZWxlbWVudCBpcyBub3QgdGhlIHJvb3QgaXRzZWxmLCBidWlsZCB0aGUgc3RhY2sg
c3RhcnRpbmcgZnJvbSB0aGUgcm9vdC4KKyAgICAgICAgaWYgKHBhcmVudC0+cGFyZW50RWxlbWVu
dCgpKSB7CisgICAgICAgICAgICBWZWN0b3I8RWxlbWVudCosIDMwPiBhbmNlc3RvcnM7CisgICAg
ICAgICAgICBmb3IgKEVsZW1lbnQqIGFuY2VzdG9yID0gcGFyZW50OyBhbmNlc3RvcjsgYW5jZXN0
b3IgPSBhbmNlc3Rvci0+cGFyZW50RWxlbWVudCgpKQorICAgICAgICAgICAgICAgIGFuY2VzdG9y
cy5hcHBlbmQoYW5jZXN0b3IpOworICAgICAgICAgICAgaW50IGNvdW50ID0gYW5jZXN0b3JzLnNp
emUoKTsKKyAgICAgICAgICAgIGZvciAoaW50IG4gPSBjb3VudCAtIDE7IG4gPj0gMDsgLS1uKQor
ICAgICAgICAgICAgICAgIHB1c2hQYXJlbnRTdGFja0ZyYW1lKGFuY2VzdG9yc1tuXSk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKCFwYXJlbnQtPnBhcmVu
dEVsZW1lbnQoKSkgeworICAgICAgICAvLyBXZSBhcmUgbm90IGFsd2F5cyBpbnZva2VkIGNvbnNp
c3RlbnRseS4gRm9yIGV4YW1wbGUsIHNjcmlwdCBleGVjdXRpb24gY2FuIGNhdXNlIHVzIHRvIGVu
dGVyCisgICAgICAgIC8vIHN0eWxlIHJlY2FsYyBpbiB0aGUgbWlkZGxlIG9mIHRyZWUgYnVpbGRp
bmcuIFJlc2V0IHRoZSBzdGFjayBpZiB3ZSBzZWUgYSBuZXcgcm9vdCBlbGVtZW50LgorICAgICAg
ICBBU1NFUlQobV9hbmNlc3RvcklkZW50aWZpZXJGaWx0ZXIpOworICAgICAgICBtX2FuY2VzdG9y
SWRlbnRpZmllckZpbHRlci0+Y2xlYXIoKTsKKyAgICAgICAgbV9wYXJlbnRTdGFjay5yZXNpemUo
MCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgQVNTRVJUKG1fYW5jZXN0b3JJZGVudGlmaWVyRmls
dGVyKTsKKyAgICAgICAgLy8gV2UgbWF5IGdldCBpbnZva2VkIGZvciBzb21lIHJhbmRvbSBlbGVt
ZW50cyBpbiBzb21lIHdhY2t5IGNhc2VzIGR1cmluZyBzdHlsZSByZXNvbHZlLgorICAgICAgICAv
LyBQYXVzZSBtYWludGFpbmluZyB0aGUgc3RhY2sgaW4gdGhpcyBjYXNlLgorICAgICAgICBpZiAo
bV9wYXJlbnRTdGFjay5sYXN0KCkuZWxlbWVudCAhPSBwYXJlbnQtPnBhcmVudEVsZW1lbnQoKSkK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgcHVzaFBhcmVudFN0YWNrRnJhbWUocGFy
ZW50KTsKK30KKwordm9pZCBDU1NTdHlsZVNlbGVjdG9yOjpwb3BQYXJlbnQoRWxlbWVudCogcGFy
ZW50KQoreworICAgIGlmIChtX3BhcmVudFN0YWNrLmlzRW1wdHkoKSB8fCBtX3BhcmVudFN0YWNr
Lmxhc3QoKS5lbGVtZW50ICE9IHBhcmVudCkKKyAgICAgICAgcmV0dXJuOworICAgIHBvcFBhcmVu
dFN0YWNrRnJhbWUoKTsKK30KKwogdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphZGRNYXRjaGVkRGVj
bGFyYXRpb24oQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGRlY2wpCiB7CiAgICAgbV9tYXRj
aGVkRGVjbHMuYXBwZW5kKGRlY2wpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5oCShyZXZpc2lvbiA3ODE4MykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOSw2ICsxMTksOSBAQCBwdWJsaWM6CiAgICAg
ICAgIE5vZGUqIGxvY2F0ZUNvdXNpbkxpc3QoRWxlbWVudCogcGFyZW50LCB1bnNpZ25lZCBkZXB0
aCA9IDEpIGNvbnN0OwogICAgICAgICBOb2RlKiBmaW5kU2libGluZ0ZvclN0eWxlU2hhcmluZyhO
b2RlKiwgdW5zaWduZWQmIGNvdW50KSBjb25zdDsKICAgICAgICAgYm9vbCBjYW5TaGFyZVN0eWxl
V2l0aEVsZW1lbnQoTm9kZSopIGNvbnN0OworICAgICAgICAKKyAgICAgICAgdm9pZCBwdXNoUGFy
ZW50U3RhY2tGcmFtZShFbGVtZW50KiBwYXJlbnQpOworICAgICAgICB2b2lkIHBvcFBhcmVudFN0
YWNrRnJhbWUoKTsKIAogICAgICAgICBSZW5kZXJTdHlsZSogc3R5bGUoKSBjb25zdCB7IHJldHVy
biBtX3N0eWxlLmdldCgpOyB9CiAKQEAgLTIxMCw2ICsyMTMsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEhhc2hTZXQ8QXRvbWljU3RyaW5nSW1wbCo+IG1faWRzSW5SdWxlczsKICAgICAgICAgCiAgICAg
ICAgIHN0cnVjdCBQYXJlbnRTdGFja0ZyYW1lIHsKKyAgICAgICAgICAgIFBhcmVudFN0YWNrRnJh
bWUoKSB7fQogICAgICAgICAgICAgUGFyZW50U3RhY2tGcmFtZShFbGVtZW50KiBlbGVtZW50KSA6
IGVsZW1lbnQoZWxlbWVudCkge30KICAgICAgICAgICAgIEVsZW1lbnQqIGVsZW1lbnQ7CiAgICAg
ICAgICAgICBWZWN0b3I8dW5zaWduZWQsIDQ+IGlkZW50aWZpZXJIYXNoZXM7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAkocmV2aXNpb24gNzgxMDgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDMxLDYgKzQzMSw3IEBAIHB1YmxpYzoKICNlbmRp
ZgogICAgIHZpcnR1YWwgYm9vbCBpc0ZyYW1lU2V0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICAKKyAgICBDU1NTdHlsZVNlbGVjdG9yKiBzdHlsZVNlbGVjdG9ySWZFeGlzdHMoKSBjb25z
dCB7IHJldHVybiBtX3N0eWxlU2VsZWN0b3IuZ2V0KCk7IH0KICAgICBDU1NTdHlsZVNlbGVjdG9y
KiBzdHlsZVNlbGVjdG9yKCkKICAgICB7IAogICAgICAgICBpZiAoIW1fc3R5bGVTZWxlY3RvcikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDc4MTA4KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYwLDEwICsxMjYwLDE5
IEBAIHZvaWQgRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmcKICAgICBpZiAoIWNo
YW5nZWRCeVBhcnNlcikKICAgICAgICAgY2hlY2tGb3JTaWJsaW5nU3R5bGVDaGFuZ2VzKHRoaXMs
IHJlbmRlclN0eWxlKCksIGZhbHNlLCBiZWZvcmVDaGFuZ2UsIGFmdGVyQ2hhbmdlLCBjaGlsZENv
dW50RGVsdGEpOwogfQorICAgIAordm9pZCBFbGVtZW50OjpiZWdpblBhcnNpbmdDaGlsZHJlbigp
Cit7CisgICAgY2xlYXJJc1BhcnNpbmdDaGlsZHJlbkZpbmlzaGVkKCk7CisgICAgaWYgKENTU1N0
eWxlU2VsZWN0b3IqIHN0eWxlU2VsZWN0b3IgPSBkb2N1bWVudCgpLT5zdHlsZVNlbGVjdG9ySWZF
eGlzdHMoKSkKKyAgICAgICAgc3R5bGVTZWxlY3Rvci0+cHVzaFBhcmVudCh0aGlzKTsKK30KIAog
dm9pZCBFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQogewogICAgIENvbnRhaW5lck5v
ZGU6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOworICAgIGlmIChDU1NTdHlsZVNlbGVjdG9yKiBz
dHlsZVNlbGVjdG9yID0gZG9jdW1lbnQoKS0+c3R5bGVTZWxlY3RvcklmRXhpc3RzKCkpCisgICAg
ICAgIHN0eWxlU2VsZWN0b3ItPnBvcFBhcmVudCh0aGlzKTsKICAgICBzZXRJc1BhcnNpbmdDaGls
ZHJlbkZpbmlzaGVkKCk7CiAgICAgY2hlY2tGb3JTaWJsaW5nU3R5bGVDaGFuZ2VzKHRoaXMsIHJl
bmRlclN0eWxlKCksIHRydWUsIGxhc3RDaGlsZCgpLCAwLCAwKTsKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAkocmV2aXNpb24gNzgxMDgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsNyArMjc2LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBp
c0ZpbmlzaGVkUGFyc2luZ0NoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gaXNQYXJzaW5nQ2hpbGRy
ZW5GaW5pc2hlZCgpOyB9CiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigp
OwotICAgIHZpcnR1YWwgdm9pZCBiZWdpblBhcnNpbmdDaGlsZHJlbigpIHsgY2xlYXJJc1BhcnNp
bmdDaGlsZHJlbkZpbmlzaGVkKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5QYXJzaW5nQ2hp
bGRyZW4oKTsKIAogICAgIC8vIEVsZW1lbnRUcmF2ZXJzYWwgQVBJCiAgICAgRWxlbWVudCogZmly
c3RFbGVtZW50Q2hpbGQoKSBjb25zdDsK
</data>
<flag name="review"
          id="73685"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>