<?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>37669</bug_id>
          
          <creation_ts>2010-04-15 13:41:12 -0700</creation_ts>
          <short_desc>REGRESSION: :visited doesn&apos;t work properly with pseudo elements and chained selectors</short_desc>
          <delta_ts>2010-04-15 13:56:33 -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>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="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>213008</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-04-15 13:41:12 -0700</bug_when>
    <thetext>Testcase:

&lt;style&gt;
span { display: block }
a { display:block }

:visited &gt; span:first-letter {
  color:orange
}
&lt;/style&gt;
&lt;body&gt;
&lt;p&gt;The H in the word hello below should be orange for a visited link.&lt;/p&gt;

&lt;a href=&quot;&quot;&gt;&lt;span&gt;Hello&lt;/span&gt;&lt;/a&gt;

Bug report:

This happens in the latest nightly of Firefox also.

I filed https://bugzilla.mozilla.org/show_bug.cgi?id=559612 for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213014</commentid>
    <comment_count>1</comment_count>
      <attachid>53469</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-04-15 13:44:43 -0700</bug_when>
    <thetext>Created attachment 53469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213018</commentid>
    <comment_count>2</comment_count>
      <attachid>53469</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-04-15 13:49:13 -0700</bug_when>
    <thetext>Comment on attachment 53469
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213022</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-04-15 13:56:33 -0700</bug_when>
    <thetext>Fixed in r57671.  Once computedStyle can return pseudo elements I will land a test.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53469</attachid>
            <date>2010-04-15 13:44:43 -0700</date>
            <delta_ts>2010-04-15 13:49:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>12820</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzY2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDQtMTUgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY2OSwgUkVHUkVTU0lPTjogdmlz
aXRlZCBzdHlsZXMgZG9uJ3Qgd29yayByaWdodCB3aGVuIG9ubHkgdGhlIHZpc2l0ZWQgcGF0aCBz
cGVjaWZpZXMKKyAgICAgICAgYSBwc2V1ZG9lbGVtZW50LgorICAgICAgICAKKyAgICAgICAgUmV3
b3JrIHRoZSBwc2V1ZG8gY2FjaGUgb24gUmVuZGVyU3R5bGVzIHRvIHN1cHBvcnQgbmVzdGluZywg
aS5lLiwgYSBwc2V1ZG8gaGFuZ2luZyBvZmYgYSBwc2V1ZG8uICBUaGUgZXhpc3RpbmcgbW9kZWwg
Z2V0cworICAgICAgICBjb25mdXNlZCBieSB0aGlzIGNvbmNlcHQsIHNpbmNlIGl0IHJlbGllcyBv
biBhIHNpbmdseSBsaW5rZWQgbGlzdCBvZiBjaGFpbmVkIHBzZXVkbyBzdHlsZXMgKGluc3RlYWQg
b2YgYSBWZWN0b3Igb3duZWQgYnkgYSBwcmltYXJ5CisgICAgICAgIHN0eWxlKS4gIEkgY2hhbmdl
ZCB0aGUgc3R5bGUgY2FjaGUgdG8gYmUgYSBWZWN0b3IgaW5zdGVhZC4KKyAgICAgICAgCisgICAg
ICAgIFJld29ya2VkIGJvdGggc3R5bGVGb3JFbGVtZW50IGFuZCBwc2V1ZG9TdHlsZUZvckVsZW1l
bnQgdG8gcmVzb2x2ZSB2aXNpdGVkIHN0eWxlcyBmaXJzdCwgc2luY2UgaW4gdGhlIHBzZXVkb1N0
eWxlRm9yRWxlbWVudCBjYXNlCisgICAgICAgIHlvdSBuZWVkIHRvIGRvIHRoaXMgaW4gb3JkZXIg
dG8ga25vdyB0byBhbGxvY2F0ZSBhbiB1bnZpc2l0ZWQgcHNldWRvIHN0eWxlIGV2ZW4gaWYgb25l
IHNob3VsZG4ndCBub3JtYWxseSBleGlzdC4KKworICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnN0eWxlRm9yRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpwc2V1ZG9TdHlsZUZv
ckVsZW1lbnQpOgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OnBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
Z2V0Q2FjaGVkUHNldWRvU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmFk
ZENhY2hlZFBzZXVkb1N0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRG
bGFnczo6Y2FjaGVkUHNldWRvU3R5bGVzKToKKwogMjAxMC0wNC0xNSAgWmhlbnlhbyBNbyAgPHpt
b0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBX
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2aXNpb24gNTc0NzkpCisrKyBXZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE0MSw3ICsxMTQxLDIzIEBA
IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IENTU1N0eWxlU2VsZWN0b3IKICAgICAgICAgICAgIHJl
dHVybiBzaGFyZWRTdHlsZTsKICAgICB9CiAgICAgaW5pdEZvclN0eWxlUmVzb2x2ZShlLCBkZWZh
dWx0UGFyZW50KTsKLSAgICAKKworICAgIC8vIENvbXB1dGUgb3VyIHN0eWxlIGFsbG93aW5nIDp2
aXNpdGVkIHRvIG1hdGNoIGZpcnN0LgorICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gdmlzaXRlZFN0
eWxlOworICAgIGlmICghbWF0Y2hWaXNpdGVkUnVsZXMgJiYgbV9wYXJlbnRTdHlsZSAmJiAobV9w
YXJlbnRTdHlsZS0+aW5zaWRlTGluaygpIHx8IGUtPmlzTGluaygpKSAmJiBlLT5kb2N1bWVudCgp
LT51c2VzTGlua1J1bGVzKCkpIHsKKyAgICAgICAgLy8gRmV0Y2ggb3VyIHBhcmVudCBzdHlsZS4K
KyAgICAgICAgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gbV9wYXJlbnRTdHlsZTsKKyAgICAg
ICAgaWYgKCFlLT5pc0xpbmsoKSkgeworICAgICAgICAgICAgLy8gVXNlIHRoZSBwYXJlbnQncyB2
aXNpdGVkIHN0eWxlIGlmIG9uZSBleGlzdHMuCisgICAgICAgICAgICBSZW5kZXJTdHlsZSogcGFy
ZW50VmlzaXRlZFN0eWxlID0gbV9wYXJlbnRTdHlsZS0+Z2V0Q2FjaGVkUHNldWRvU3R5bGUoVklT
SVRFRF9MSU5LKTsKKyAgICAgICAgICAgIGlmIChwYXJlbnRWaXNpdGVkU3R5bGUpCisgICAgICAg
ICAgICAgICAgcGFyZW50U3R5bGUgPSBwYXJlbnRWaXNpdGVkU3R5bGU7CisgICAgICAgIH0KKyAg
ICAgICAgdmlzaXRlZFN0eWxlID0gc3R5bGVGb3JFbGVtZW50KGUsIHBhcmVudFN0eWxlLCBmYWxz
ZSwgZmFsc2UsIHRydWUpOworICAgICAgICB2aXNpdGVkU3R5bGUtPnNldFN0eWxlVHlwZShWSVNJ
VEVEX0xJTkspOworICAgICAgICBpbml0Rm9yU3R5bGVSZXNvbHZlKGUsIGRlZmF1bHRQYXJlbnQp
OworICAgIH0KKwogICAgIG1fY2hlY2tlci5tX21hdGNoVmlzaXRlZFBzZXVkb0NsYXNzID0gbWF0
Y2hWaXNpdGVkUnVsZXM7CiAKICAgICBtX3N0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwpA
QCAtMTMxNiwyMSArMTMzMiwxNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBDU1NTdHlsZVNl
bGVjdG9yCiAgICAgaWYgKG1fc3R5bGUtPmhhc1BzZXVkb1N0eWxlKEZJUlNUX0xFVFRFUikpCiAg
ICAgICAgIG1fc3R5bGUtPnNldFVuaXF1ZSgpOwogCi0gICAgLy8gQ29tcHV0ZSBvdXIgc3R5bGUg
YWxsb3dpbmcgOnZpc2l0ZWQgdG8gbWF0Y2guCi0gICAgaWYgKCFtYXRjaFZpc2l0ZWRSdWxlcyAm
JiBtX3N0eWxlLT5pbnNpZGVMaW5rKCkgJiYgZS0+ZG9jdW1lbnQoKS0+dXNlc0xpbmtSdWxlcygp
KSB7Ci0gICAgICAgIC8vIEZldGNoIG91ciBwYXJlbnQgc3R5bGUuCi0gICAgICAgIFJlbmRlclN0
eWxlKiBwYXJlbnRTdHlsZSA9IG1fcGFyZW50U3R5bGU7Ci0gICAgICAgIGlmICghbV9zdHlsZS0+
aXNMaW5rKCkpIHsKLSAgICAgICAgICAgIC8vIFVzZSB0aGUgcGFyZW50J3MgdmlzaXRlZCBzdHls
ZSBpZiBvbmUgZXhpc3RzLgotICAgICAgICAgICAgUmVuZGVyU3R5bGUqIHBhcmVudFZpc2l0ZWRT
dHlsZSA9IG1fcGFyZW50U3R5bGUtPmdldENhY2hlZFBzZXVkb1N0eWxlKFZJU0lURURfTElOSyk7
Ci0gICAgICAgICAgICBpZiAocGFyZW50VmlzaXRlZFN0eWxlKQotICAgICAgICAgICAgICAgIHBh
cmVudFN0eWxlID0gcGFyZW50VmlzaXRlZFN0eWxlOworICAgIGlmICh2aXNpdGVkU3R5bGUpIHsK
KyAgICAgICAgLy8gQ29weSBhbnkgcHNldWRvIGJpdHMgdGhhdCB0aGUgdmlzaXRlZCBzdHlsZSBo
YXMgdG8gdGhlIHByaW1hcnkgc3R5bGUgc28gdGhhdAorICAgICAgICAvLyBwc2V1ZG8gZWxlbWVu
dCBzdHlsZXMgd2lsbCBjb250aW51ZSB0byB3b3JrIGZvciBwc2V1ZG8gZWxlbWVudHMgaW5zaWRl
IDp2aXNpdGVkCisgICAgICAgIC8vIGxpbmtzLgorICAgICAgICBmb3IgKHVuc2lnbmVkIHBzZXVk
byA9IEZJUlNUX1BVQkxJQ19QU0VVRE9JRDsgcHNldWRvIDwgRklSU1RfSU5URVJOQUxfUFNFVURP
SUQ7ICsrcHNldWRvKSB7CisgICAgICAgICAgICBpZiAodmlzaXRlZFN0eWxlLT5oYXNQc2V1ZG9T
dHlsZShzdGF0aWNfY2FzdDxQc2V1ZG9JZD4ocHNldWRvKSkpCisgICAgICAgICAgICAgICAgbV9z
dHlsZS0+c2V0SGFzUHNldWRvU3R5bGUoc3RhdGljX2Nhc3Q8UHNldWRvSWQ+KHBzZXVkbykpOwog
ICAgICAgICB9Ci0gICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVzdWx0U3R5bGUgPSBtX3N0
eWxlLnJlbGVhc2UoKTsKLSAgICAgICAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gdmlzaXRlZFN0
eWxlID0gc3R5bGVGb3JFbGVtZW50KGUsIHBhcmVudFN0eWxlLCBmYWxzZSwgZmFsc2UsIHRydWUp
OwotICAgICAgICB2aXNpdGVkU3R5bGUtPnNldFN0eWxlVHlwZShWSVNJVEVEX0xJTkspOwotICAg
ICAgICByZXN1bHRTdHlsZS0+YWRkQ2FjaGVkUHNldWRvU3R5bGUodmlzaXRlZFN0eWxlKTsKLSAg
ICAgICAgcmV0dXJuIHJlc3VsdFN0eWxlLnJlbGVhc2UoKTsKKyAgICAgICAgCisgICAgICAgIC8v
IEFkZCB0aGUgdmlzaXRlZCBzdHlsZSBvZmYgdGhlIG1haW4gc3R5bGUuCisgICAgICAgIG1fc3R5
bGUtPmFkZENhY2hlZFBzZXVkb1N0eWxlKHZpc2l0ZWRTdHlsZS5yZWxlYXNlKCkpOwogICAgIH0K
IAogICAgIC8vIE5vdyByZXR1cm4gdGhlIHN0eWxlLgpAQCAtMTQyNCwxMCArMTQzNiwyMyBAQCBQ
YXNzUmVmUHRyPFJlbmRlclN0eWxlPiBDU1NTdHlsZVNlbGVjdG9yCiAgICAgaWYgKCFlKQogICAg
ICAgICByZXR1cm4gMDsKIAorICAgIC8vIENvbXB1dGUgb3VyIDp2aXNpdGVkIHN0eWxlIGZpcnN0
LCBzbyB0aGF0IHdlIGtub3cgd2hldGhlciBvciBub3Qgd2UnbGwgbmVlZCB0byBjcmVhdGUgYSBu
b3JtYWwgc3R5bGUganVzdCB0byBoYW5nIGl0CisgICAgLy8gb2ZmIG9mLgorICAgIFJlZlB0cjxS
ZW5kZXJTdHlsZT4gdmlzaXRlZFN0eWxlOworICAgIGlmICghbWF0Y2hWaXNpdGVkTGlua3MgJiYg
cGFyZW50U3R5bGUgJiYgcGFyZW50U3R5bGUtPmluc2lkZUxpbmsoKSkgeworICAgICAgICAvLyBG
ZXRjaCBvdXIgcGFyZW50IHN0eWxlIHdpdGggOnZpc2l0ZWQgaW4gZWZmZWN0LgorICAgICAgICBS
ZW5kZXJTdHlsZSogcGFyZW50VmlzaXRlZFN0eWxlID0gcGFyZW50U3R5bGUtPmdldENhY2hlZFBz
ZXVkb1N0eWxlKFZJU0lURURfTElOSyk7CisgICAgICAgIHZpc2l0ZWRTdHlsZSA9IHBzZXVkb1N0
eWxlRm9yRWxlbWVudChwc2V1ZG8sIGUsIHBhcmVudFZpc2l0ZWRTdHlsZSA/IHBhcmVudFZpc2l0
ZWRTdHlsZSA6IHBhcmVudFN0eWxlLCB0cnVlKTsKKyAgICAgICAgaWYgKHZpc2l0ZWRTdHlsZSkK
KyAgICAgICAgICAgIHZpc2l0ZWRTdHlsZS0+c2V0U3R5bGVUeXBlKFZJU0lURURfTElOSyk7Cisg
ICAgfQorCiAgICAgaW5pdEVsZW1lbnQoZSk7CiAgICAgaW5pdEZvclN0eWxlUmVzb2x2ZShlLCBw
YXJlbnRTdHlsZSwgcHNldWRvKTsKICAgICBtX3N0eWxlID0gcGFyZW50U3R5bGU7CiAgICAgCisg
ICAgbV9jaGVja2VyLm1fbWF0Y2hWaXNpdGVkUHNldWRvQ2xhc3MgPSBtYXRjaFZpc2l0ZWRMaW5r
czsKKwogICAgIC8vIFNpbmNlIHdlIGRvbid0IHVzZSBwc2V1ZG8tZWxlbWVudHMgaW4gYW55IG9m
IG91ciBxdWlyay9wcmludCB1c2VyIGFnZW50IHJ1bGVzLCBkb24ndCB3YXN0ZSB0aW1lIHdhbGtp
bmcKICAgICAvLyB0aG9zZSBydWxlcy4KICAgICAKQEAgLTE0NDAsOSArMTQ2NSw5IEBAIFBhc3NS
ZWZQdHI8UmVuZGVyU3R5bGU+IENTU1N0eWxlU2VsZWN0b3IKICAgICAgICAgbWF0Y2hSdWxlcyht
X2F1dGhvclN0eWxlLCBmaXJzdEF1dGhvclJ1bGUsIGxhc3RBdXRob3JSdWxlKTsKICAgICB9CiAK
LSAgICBpZiAobV9tYXRjaGVkRGVjbHMuaXNFbXB0eSgpKQorICAgIGlmIChtX21hdGNoZWREZWNs
cy5pc0VtcHR5KCkgJiYgIXZpc2l0ZWRTdHlsZSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgCisK
ICAgICBtX3N0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwogICAgIGlmIChwYXJlbnRTdHls
ZSkKICAgICAgICAgbV9zdHlsZS0+aW5oZXJpdEZyb20ocGFyZW50U3R5bGUpOwpAQCAtMTQ1MCw2
ICsxNDc1LDEwIEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IENTU1N0eWxlU2VsZWN0b3IKICAg
ICBtX3N0eWxlLT5zZXRTdHlsZVR5cGUocHNldWRvKTsKICAgICAKICAgICBtX2xpbmVIZWlnaHRW
YWx1ZSA9IDA7CisgICAgCisgICAgLy8gUmVzZXQgdGhlIHZhbHVlIGJhY2sgYmVmb3JlIGFwcGx5
aW5nIHByb3BlcnRpZXMsIHNvIHRoYXQgLXdlYmtpdC1saW5rIGtub3dzIHdoYXQgY29sb3IgdG8g
dXNlLgorICAgIG1fY2hlY2tlci5tX21hdGNoVmlzaXRlZFBzZXVkb0NsYXNzID0gbWF0Y2hWaXNp
dGVkTGlua3M7CisKICAgICAvLyBIaWdoLXByaW9yaXR5IHByb3BlcnRpZXMuCiAgICAgYXBwbHlE
ZWNsYXJhdGlvbnModHJ1ZSwgZmFsc2UsIDAsIG1fbWF0Y2hlZERlY2xzLnNpemUoKSAtIDEpOwog
ICAgIGFwcGx5RGVjbGFyYXRpb25zKHRydWUsIHRydWUsIGZpcnN0QXV0aG9yUnVsZSwgbGFzdEF1
dGhvclJ1bGUpOwpAQCAtMTQ3OSwyNSArMTUwOCwxNCBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxl
PiBDU1NTdHlsZVNlbGVjdG9yCiAgICAgLy8gZ28gYWhlYWQgYW5kIHVwZGF0ZSBpdCBhIHNlY29u
ZCB0aW1lLgogICAgIGlmIChtX2ZvbnREaXJ0eSkKICAgICAgICAgdXBkYXRlRm9udCgpOworCiAg
ICAgLy8gQ2xlYW4gdXAgb3VyIHN0eWxlIG9iamVjdCdzIGRpc3BsYXkgYW5kIHRleHQgZGVjb3Jh
dGlvbnMgKGFtb25nIG90aGVyIGZpeHVwcykuCiAgICAgYWRqdXN0UmVuZGVyU3R5bGUoc3R5bGUo
KSwgMCk7CiAKLSAgICAvLyBDb21wdXRlIG91ciA6dmlzaXRlZCBzdHlsZS4KLSAgICBpZiAoIW1h
dGNoVmlzaXRlZExpbmtzICYmIG1fc3R5bGUtPmluc2lkZUxpbmsoKSkgewotICAgICAgICAvLyBG
ZXRjaCBvdXIgcGFyZW50IHN0eWxlLgotICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUg
PSBtX3BhcmVudFN0eWxlOwotICAgICAgICBpZiAocGFyZW50U3R5bGUpIHsKLSAgICAgICAgICAg
IFJlbmRlclN0eWxlKiBwYXJlbnRWaXNpdGVkU3R5bGUgPSBtX3BhcmVudFN0eWxlLT5nZXRDYWNo
ZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOwotICAgICAgICAgICAgaWYgKHBhcmVudFZpc2l0
ZWRTdHlsZSkKLSAgICAgICAgICAgICAgICBwYXJlbnRTdHlsZSA9IHBhcmVudFZpc2l0ZWRTdHls
ZTsKLSAgICAgICAgfQotICAgICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc3VsdFN0eWxlID0g
bV9zdHlsZS5yZWxlYXNlKCk7Ci0gICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gdmlzaXRlZFN0
eWxlID0gcHNldWRvU3R5bGVGb3JFbGVtZW50KHBzZXVkbywgZSwgcGFyZW50U3R5bGUsIHRydWUp
OwotICAgICAgICB2aXNpdGVkU3R5bGUtPnNldFN0eWxlVHlwZShWSVNJVEVEX0xJTkspOwotICAg
ICAgICByZXN1bHRTdHlsZS0+YWRkQ2FjaGVkUHNldWRvU3R5bGUodmlzaXRlZFN0eWxlLnJlbGVh
c2UoKSk7Ci0gICAgICAgIHJldHVybiByZXN1bHRTdHlsZS5yZWxlYXNlKCk7Ci0gICAgfQotCisg
ICAgLy8gSGFuZyBvdXIgdmlzaXRlZCBzdHlsZSBvZmYgbV9zdHlsZS4KKyAgICBpZiAodmlzaXRl
ZFN0eWxlKQorICAgICAgICBtX3N0eWxlLT5hZGRDYWNoZWRQc2V1ZG9TdHlsZSh2aXNpdGVkU3R5
bGUucmVsZWFzZSgpKTsKKyAgICAgICAgCiAgICAgLy8gTm93IHJldHVybiB0aGUgc3R5bGUuCiAg
ICAgcmV0dXJuIG1fc3R5bGUucmVsZWFzZSgpOwogfQpJbmRleDogV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDU3
NDc5KQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2Miwx
NSArODYyLDE3IEBAIGJvb2wgRWxlbWVudDo6cHNldWRvU3R5bGVDYWNoZUlzSW52YWxpZCgKICAg
ICBpZiAoIXJlbmRlcmVyKCkgfHwgIWN1cnJlbnRTdHlsZSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgUmVuZGVyU3R5bGU6OlBzZXVkb1N0eWxlQ2FjaGUgcHNldWRvU3R5bGVDYWNoZTsK
LSAgICBjdXJyZW50U3R5bGUtPmdldFBzZXVkb1N0eWxlQ2FjaGUocHNldWRvU3R5bGVDYWNoZSk7
Ci0gICAgc2l6ZV90IGNhY2hlU2l6ZSA9IHBzZXVkb1N0eWxlQ2FjaGUuc2l6ZSgpOworICAgIGNv
bnN0IFBzZXVkb1N0eWxlQ2FjaGUqIHBzZXVkb1N0eWxlQ2FjaGUgPSBjdXJyZW50U3R5bGUtPmNh
Y2hlZFBzZXVkb1N0eWxlcygpOworICAgIGlmICghcHNldWRvU3R5bGVDYWNoZSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgc2l6ZV90IGNhY2hlU2l6ZSA9IHBzZXVkb1N0eWxlQ2FjaGUt
PnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNhY2hlU2l6ZTsgKytpKSB7CiAg
ICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbmV3UHNldWRvU3R5bGU7Ci0gICAgICAgIFBzZXVk
b0lkIHBzZXVkb0lkID0gcHNldWRvU3R5bGVDYWNoZVtpXS0+c3R5bGVUeXBlKCk7CisgICAgICAg
IFBzZXVkb0lkIHBzZXVkb0lkID0gcHNldWRvU3R5bGVDYWNoZS0+YXQoaSktPnN0eWxlVHlwZSgp
OwogICAgICAgICBpZiAocHNldWRvSWQgPT0gVklTSVRFRF9MSU5LKSB7CiAgICAgICAgICAgICBu
ZXdQc2V1ZG9TdHlsZSA9ICBuZXdTdHlsZS0+Z2V0Q2FjaGVkUHNldWRvU3R5bGUoVklTSVRFRF9M
SU5LKTsgLy8gVGhpcyBwc2V1ZG8tc3R5bGUgd2FzIGFnZ3Jlc3NpdmVseSBjb21wdXRlZCBhbHJl
YWR5IHdoZW4gd2UgZmlyc3QgY2FsbGVkIHN0eWxlRm9yRWxlbWVudCBvbiB0aGUgbmV3IHN0eWxl
LgotICAgICAgICAgICAgaWYgKCFuZXdQc2V1ZG9TdHlsZSB8fCAqbmV3UHNldWRvU3R5bGUgIT0g
KnBzZXVkb1N0eWxlQ2FjaGVbaV0pCisgICAgICAgICAgICBpZiAoIW5ld1BzZXVkb1N0eWxlIHx8
ICpuZXdQc2V1ZG9TdHlsZSAhPSAqcHNldWRvU3R5bGVDYWNoZS0+YXQoaSkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0gZWxzZSBpZiAocHNldWRvSWQgPT0gRklSU1Rf
TElORSB8fCBwc2V1ZG9JZCA9PSBGSVJTVF9MSU5FX0lOSEVSSVRFRCkKICAgICAgICAgICAgIG5l
d1BzZXVkb1N0eWxlID0gcmVuZGVyZXIoKS0+dW5jYWNoZWRGaXJzdExpbmVTdHlsZShuZXdTdHls
ZSk7CkBAIC04NzgsNyArODgwLDcgQEAgYm9vbCBFbGVtZW50Ojpwc2V1ZG9TdHlsZUNhY2hlSXNJ
bnZhbGlkKAogICAgICAgICAgICAgbmV3UHNldWRvU3R5bGUgPSByZW5kZXJlcigpLT5nZXRVbmNh
Y2hlZFBzZXVkb1N0eWxlKHBzZXVkb0lkLCBuZXdTdHlsZSwgbmV3U3R5bGUpOwogICAgICAgICBp
ZiAoIW5ld1BzZXVkb1N0eWxlKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlm
ICgqbmV3UHNldWRvU3R5bGUgIT0gKnBzZXVkb1N0eWxlQ2FjaGVbaV0pIHsKKyAgICAgICAgaWYg
KCpuZXdQc2V1ZG9TdHlsZSAhPSAqcHNldWRvU3R5bGVDYWNoZS0+YXQoaSkpIHsKICAgICAgICAg
ICAgIGlmIChwc2V1ZG9JZCA8IEZJUlNUX0lOVEVSTkFMX1BTRVVET0lEKQogICAgICAgICAgICAg
ICAgIG5ld1N0eWxlLT5zZXRIYXNQc2V1ZG9TdHlsZShwc2V1ZG9JZCk7CiAgICAgICAgICAgICBu
ZXdTdHlsZS0+YWRkQ2FjaGVkUHNldWRvU3R5bGUobmV3UHNldWRvU3R5bGUpOwpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAkocmV2aXNpb24gNTc2NTcpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIxMywzNSArMjEzLDM3IEBAIFJlbmRlclN0eWxlKiBSZW5kZXJTdHlsZTo6Z2V0Q2FjaGVkUHNl
dWQKIHsKICAgICBBU1NFUlQoc3R5bGVUeXBlKCkgIT0gVklTSVRFRF9MSU5LKTsKIAotICAgIGlm
ICghbV9jYWNoZWRQc2V1ZG9TdHlsZSkKKyAgICBpZiAoIW1fY2FjaGVkUHNldWRvU3R5bGVzIHx8
ICFtX2NhY2hlZFBzZXVkb1N0eWxlcy0+c2l6ZSgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAg
IGlmIChzdHlsZVR5cGUoKSAhPSBOT1BTRVVETykgewogICAgICAgICBpZiAocGlkID09IFZJU0lU
RURfTElOSykKLSAgICAgICAgICAgIHJldHVybiBtX2NhY2hlZFBzZXVkb1N0eWxlLT5zdHlsZVR5
cGUoKSA9PSBWSVNJVEVEX0xJTksgPyBtX2NhY2hlZFBzZXVkb1N0eWxlLmdldCgpIDogMDsKKyAg
ICAgICAgICAgIHJldHVybiBtX2NhY2hlZFBzZXVkb1N0eWxlcy0+YXQoMCktPnN0eWxlVHlwZSgp
ID09IFZJU0lURURfTElOSyA/IG1fY2FjaGVkUHNldWRvU3R5bGVzLT5hdCgwKS5nZXQoKSA6IDA7
CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIFJlbmRlclN0eWxlKiBwcyA9IG1fY2Fj
aGVkUHNldWRvU3R5bGUuZ2V0KCk7Ci0gICAgd2hpbGUgKHBzICYmIHBzLT5zdHlsZVR5cGUoKSAh
PSBwaWQpCi0gICAgICAgIHBzID0gcHMtPm1fY2FjaGVkUHNldWRvU3R5bGUuZ2V0KCk7Ci0gICAg
cmV0dXJuIHBzOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jYWNoZWRQc2V1ZG9TdHls
ZXMtPnNpemUoKTsgKytpKSB7CisgICAgICAgIFJlbmRlclN0eWxlKiBwc2V1ZG9TdHlsZSA9IG1f
Y2FjaGVkUHNldWRvU3R5bGVzLT5hdChpKS5nZXQoKTsKKyAgICAgICAgaWYgKHBzZXVkb1N0eWxl
LT5zdHlsZVR5cGUoKSA9PSBwaWQpCisgICAgICAgICAgICByZXR1cm4gcHNldWRvU3R5bGU7Cisg
ICAgfQorCisgICAgcmV0dXJuIDA7CiB9CiAKIFJlbmRlclN0eWxlKiBSZW5kZXJTdHlsZTo6YWRk
Q2FjaGVkUHNldWRvU3R5bGUoUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gcHNldWRvKQogewogICAg
IGlmICghcHNldWRvKQogICAgICAgICByZXR1cm4gMDsKLSAgICBwc2V1ZG8tPm1fY2FjaGVkUHNl
dWRvU3R5bGUgPSBtX2NhY2hlZFBzZXVkb1N0eWxlOwotICAgIG1fY2FjaGVkUHNldWRvU3R5bGUg
PSBwc2V1ZG87Ci0gICAgcmV0dXJuIG1fY2FjaGVkUHNldWRvU3R5bGUuZ2V0KCk7Ci19CisgICAg
CisgICAgUmVuZGVyU3R5bGUqIHJlc3VsdCA9IHBzZXVkby5nZXQoKTsKIAotdm9pZCBSZW5kZXJT
dHlsZTo6Z2V0UHNldWRvU3R5bGVDYWNoZShQc2V1ZG9TdHlsZUNhY2hlJiBjYWNoZSkgY29uc3QK
LXsKLSAgICBBU1NFUlQoY2FjaGUuaXNFbXB0eSgpKTsKLSAgICBmb3IgKFJlbmRlclN0eWxlKiBw
c2V1ZG9TdHlsZSA9IG1fY2FjaGVkUHNldWRvU3R5bGUuZ2V0KCk7IHBzZXVkb1N0eWxlOyBwc2V1
ZG9TdHlsZSA9IHBzZXVkb1N0eWxlLT5tX2NhY2hlZFBzZXVkb1N0eWxlLmdldCgpKQotICAgICAg
ICBjYWNoZS5hcHBlbmQocHNldWRvU3R5bGUpOworICAgIGlmICghbV9jYWNoZWRQc2V1ZG9TdHls
ZXMpCisgICAgICAgIG1fY2FjaGVkUHNldWRvU3R5bGVzLnNldChuZXcgUHNldWRvU3R5bGVDYWNo
ZSk7CisKKyAgICBtX2NhY2hlZFBzZXVkb1N0eWxlcy0+YXBwZW5kKHBzZXVkbyk7CisKKyAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCiBib29sIFJlbmRlclN0eWxlOjppbmhlcml0ZWROb3RFcXVhbChj
b25zdCBSZW5kZXJTdHlsZSogb3RoZXIpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDU3NTI4KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTEwLDYgKzExMCw4IEBAIGNsYXNz
IFBhaXI7CiBjbGFzcyBTdHJpbmdJbXBsOwogY2xhc3MgU3R5bGVJbWFnZTsKIAordHlwZWRlZiBW
ZWN0b3I8UmVmUHRyPFJlbmRlclN0eWxlPiwgMTA+IFBzZXVkb1N0eWxlQ2FjaGU7CisKIGNsYXNz
IFJlbmRlclN0eWxlOiBwdWJsaWMgUmVmQ291bnRlZDxSZW5kZXJTdHlsZT4gewogICAgIGZyaWVu
ZCBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yOwogcHJvdGVjdGVkOgpAQCAtMTQ2LDcgKzE0OCw3IEBA
IHByb3RlY3RlZDoKICAgICBEYXRhUmVmPFN0eWxlSW5oZXJpdGVkRGF0YT4gaW5oZXJpdGVkOwog
CiAgICAgLy8gbGlzdCBvZiBhc3NvY2lhdGVkIHBzZXVkbyBzdHlsZXMKLSAgICBSZWZQdHI8UmVu
ZGVyU3R5bGU+IG1fY2FjaGVkUHNldWRvU3R5bGU7CisgICAgT3duUHRyPFBzZXVkb1N0eWxlQ2Fj
aGU+IG1fY2FjaGVkUHNldWRvU3R5bGVzOwogCiAjaWYgRU5BQkxFKFNWRykKICAgICBEYXRhUmVm
PFNWR1JlbmRlclN0eWxlPiBtX3N2Z1N0eWxlOwpAQCAtMzIxLDggKzMyMyw3IEBAIHB1YmxpYzoK
ICAgICBSZW5kZXJTdHlsZSogZ2V0Q2FjaGVkUHNldWRvU3R5bGUoUHNldWRvSWQpIGNvbnN0Owog
ICAgIFJlbmRlclN0eWxlKiBhZGRDYWNoZWRQc2V1ZG9TdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPik7CiAKLSAgICB0eXBlZGVmIFZlY3RvcjxSZW5kZXJTdHlsZSosIDEwPiBQc2V1ZG9TdHls
ZUNhY2hlOwotICAgIHZvaWQgZ2V0UHNldWRvU3R5bGVDYWNoZShQc2V1ZG9TdHlsZUNhY2hlJikg
Y29uc3Q7CisgICAgY29uc3QgUHNldWRvU3R5bGVDYWNoZSogY2FjaGVkUHNldWRvU3R5bGVzKCkg
Y29uc3QgeyByZXR1cm4gbV9jYWNoZWRQc2V1ZG9TdHlsZXMuZ2V0KCk7IH0KIAogICAgIGJvb2wg
YWZmZWN0ZWRCeUhvdmVyUnVsZXMoKSBjb25zdCB7IHJldHVybiBub25pbmhlcml0ZWRfZmxhZ3Mu
X2FmZmVjdGVkQnlIb3ZlcjsgfQogICAgIGJvb2wgYWZmZWN0ZWRCeUFjdGl2ZVJ1bGVzKCkgY29u
c3QgeyByZXR1cm4gbm9uaW5oZXJpdGVkX2ZsYWdzLl9hZmZlY3RlZEJ5QWN0aXZlOyB9Cg==
</data>
<flag name="review"
          id="37224"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="37225"
          type_id="3"
          status="-"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>