<?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>125257</bug_id>
          
          <creation_ts>2013-12-04 14:33:37 -0800</creation_ts>
          <short_desc>Move pseudo element construction out from Element</short_desc>
          <delta_ts>2013-12-04 16:02:26 -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>DOM</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>956616</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-12-04 14:33:37 -0800</bug_when>
    <thetext>It is logically part of style resolve</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956622</commentid>
    <comment_count>1</comment_count>
      <attachid>218452</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-12-04 14:40:09 -0800</bug_when>
    <thetext>Created attachment 218452
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956651</commentid>
    <comment_count>2</comment_count>
      <attachid>218452</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-04 15:17:45 -0800</bug_when>
    <thetext>Comment on attachment 218452
patch

Attachment 218452 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/42368109</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956685</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-12-04 16:02:26 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/160138</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218452</attachid>
            <date>2013-12-04 14:40:09 -0800</date>
            <delta_ts>2013-12-04 15:17:45 -0800</delta_ts>
            <desc>patch</desc>
            <filename>pseudo-element-resolve-2.patch</filename>
            <type>text/plain</type>
            <size>9624</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MDEyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTEyLTA0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHBzZXVkbyBlbGVtZW50
IGNvbnN0cnVjdGlvbiBvdXQgZnJvbSBFbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUyNTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGxvZ2ljYWxseSBwYXJ0IG9mIHRoZSBzdHls
ZSByZXNvbHZlL3JlbmRlciB0cmVlIGNvbnN0cnVjdGlvbi4gVGhpcyB3aWxsIG1ha2UgZnV0dXJl
CisgICAgICAgIHJlZmFjdG9yaW5nIGVhc2llci4KKworICAgICAgICAqIGRvbS9FbGVtZW50LmNw
cDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlUmVzb2x2
ZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OmJlZm9yZU9yQWZ0ZXJQc2V1ZG9F
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpzZXRCZWZvcmVPckFmdGVyUHNldWRv
RWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6Y2xlYXJCZWZvcmVPckFmdGVyUHNl
dWRvRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6bmVlZHNQc2V1ZGVFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjphdHRhY2hCZWZvcmVPckFmdGVyUHNldWRvRWxl
bWVudElmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjphdHRhY2hSZW5kZXJUcmVl
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjp1cGRhdGVCZWZvcmVPckFmdGVyUHNldWRvRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6cmVzb2x2ZVRyZWUpOgorCiAyMDEzLTEy
LTA0ICBCZWFyIFRyYXZpcyAgPGJldHJhdmlzQGFkb2JlLmNvbT4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBbQ1NTIFNoYXBlc10gU3VwcG9ydCByYXN0ZXIgc2hhcGUgdmlzdWFsaXphdGlvbnMK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDE2MDAzMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMyOCw1NyArMjMyOCw2
IEBAIHZvaWQgRWxlbWVudDo6bm9ybWFsaXplQXR0cmlidXRlcygpCiAgICAgfQogfQogCi1ib29s
IEVsZW1lbnQ6OnVwZGF0ZUV4aXN0aW5nUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50KiBleGlz
dGluZ1BzZXVkb0VsZW1lbnQsIFN0eWxlOjpDaGFuZ2UgY2hhbmdlKQotewotICAgIC8vIFBzZXVk
b0VsZW1lbnQgc3R5bGVzIGhhbmcgb2ZmIHRoZWlyIHBhcmVudCBlbGVtZW50J3Mgc3R5bGUgc28g
aWYgd2UgbmVlZGVkCi0gICAgLy8gYSBzdHlsZSByZWNhbGMgd2Ugc2hvdWxkIEZvcmNlIG9uZSBv
biB0aGUgcHNldWRvLgotICAgIFN0eWxlOjpyZXNvbHZlVHJlZSgqZXhpc3RpbmdQc2V1ZG9FbGVt
ZW50LCBuZWVkc1N0eWxlUmVjYWxjKCkgPyBTdHlsZTo6Rm9yY2UgOiBjaGFuZ2UpOwotCi0gICAg
Ly8gRklYTUU6IFRoaXMgaXMgc2lsbHkuCi0gICAgLy8gV2FpdCB1bnRpbCBvdXIgcGFyZW50IGlz
IG5vdCBkaXNwbGF5ZWQgb3IgcHNldWRvRWxlbWVudFJlbmRlcmVySXNOZWVkZWQKLSAgICAvLyBp
cyBmYWxzZSwgb3RoZXJ3aXNlIHdlIGNvdWxkIGNvbnRpbm91c2x5IGNyZWF0ZSBhbmQgZGVzdHJv
eSBQc2V1ZG9FbGVtZW50cwotICAgIC8vIHdoZW4gUmVuZGVyRWxlbWVudDo6aXNDaGlsZEFsbG93
ZWQgb24gb3VyIHBhcmVudCByZXR1cm5zIGZhbHNlIGZvciB0aGUKLSAgICAvLyBQc2V1ZG9FbGVt
ZW50J3MgcmVuZGVyZXIgZm9yIGVhY2ggc3R5bGUgcmVjYWxjLgotICAgIHJldHVybiByZW5kZXJl
cigpICYmIHBzZXVkb0VsZW1lbnRSZW5kZXJlcklzTmVlZGVkKGV4aXN0aW5nUHNldWRvRWxlbWVu
dC0+cmVuZGVyU3R5bGUoKSk7Ci19Ci0KLVBhc3NSZWZQdHI8UHNldWRvRWxlbWVudD4gRWxlbWVu
dDo6Y3JlYXRlUHNldWRvRWxlbWVudElmTmVlZGVkKFBzZXVkb0lkIHBzZXVkb0lkKQotewotICAg
IGlmICghZG9jdW1lbnQoKS5zdHlsZVNoZWV0Q29sbGVjdGlvbigpLnVzZXNCZWZvcmVBZnRlclJ1
bGVzKCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmICghcmVuZGVyZXIoKSB8fCAhcmVuZGVy
ZXIoKS0+Y2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkpCi0gICAgICAgIHJldHVybiAwOwotICAg
IGlmIChpc1BzZXVkb0VsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKCFwc2V1
ZG9FbGVtZW50UmVuZGVyZXJJc05lZWRlZChyZW5kZXJlcigpLT5nZXRDYWNoZWRQc2V1ZG9TdHls
ZShwc2V1ZG9JZCkpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBSZWZQdHI8UHNldWRvRWxlbWVu
dD4gcHNldWRvRWxlbWVudCA9IFBzZXVkb0VsZW1lbnQ6OmNyZWF0ZSgqdGhpcywgcHNldWRvSWQp
OwotICAgIFN0eWxlOjphdHRhY2hSZW5kZXJUcmVlKCpwc2V1ZG9FbGVtZW50KTsKLSAgICByZXR1
cm4gcHNldWRvRWxlbWVudC5yZWxlYXNlKCk7Ci19Ci0KLXZvaWQgRWxlbWVudDo6dXBkYXRlQmVm
b3JlUHNldWRvRWxlbWVudChTdHlsZTo6Q2hhbmdlIGNoYW5nZSkKLXsKLSAgICBpZiAoUHNldWRv
RWxlbWVudCogZXhpc3RpbmdQc2V1ZG9FbGVtZW50ID0gYmVmb3JlUHNldWRvRWxlbWVudCgpKSB7
Ci0gICAgICAgIGlmICghdXBkYXRlRXhpc3RpbmdQc2V1ZG9FbGVtZW50KGV4aXN0aW5nUHNldWRv
RWxlbWVudCwgY2hhbmdlKSkKLSAgICAgICAgICAgIGNsZWFyQmVmb3JlUHNldWRvRWxlbWVudCgp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChSZWZQdHI8UHNldWRvRWxlbWVudD4g
cHNldWRvID0gY3JlYXRlUHNldWRvRWxlbWVudElmTmVlZGVkKEJFRk9SRSkpCi0gICAgICAgIHNl
dEJlZm9yZVBzZXVkb0VsZW1lbnQocHNldWRvLnJlbGVhc2UoKSk7Ci19Ci0KLXZvaWQgRWxlbWVu
dDo6dXBkYXRlQWZ0ZXJQc2V1ZG9FbGVtZW50KFN0eWxlOjpDaGFuZ2UgY2hhbmdlKQotewotICAg
IGlmIChQc2V1ZG9FbGVtZW50KiBleGlzdGluZ1BzZXVkb0VsZW1lbnQgPSBhZnRlclBzZXVkb0Vs
ZW1lbnQoKSkgewotICAgICAgICBpZiAoIXVwZGF0ZUV4aXN0aW5nUHNldWRvRWxlbWVudChleGlz
dGluZ1BzZXVkb0VsZW1lbnQsIGNoYW5nZSkpCi0gICAgICAgICAgICBjbGVhckFmdGVyUHNldWRv
RWxlbWVudCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChSZWZQdHI8UHNldWRv
RWxlbWVudD4gcHNldWRvID0gY3JlYXRlUHNldWRvRWxlbWVudElmTmVlZGVkKEFGVEVSKSkKLSAg
ICAgICAgc2V0QWZ0ZXJQc2V1ZG9FbGVtZW50KHBzZXVkby5yZWxlYXNlKCkpOwotfQotCiBQc2V1
ZG9FbGVtZW50KiBFbGVtZW50OjpiZWZvcmVQc2V1ZG9FbGVtZW50KCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gaGFzUmFyZURhdGEoKSA/IGVsZW1lbnRSYXJlRGF0YSgpLT5iZWZvcmVQc2V1ZG9FbGVt
ZW50KCkgOiAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiAxNjAwMzApCisrKyBT
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NDksOCArNTQ5
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERldGFjaFJlbmRlcmVycygpOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWREZXRhY2hSZW5kZXJlcnMoKTsKIAotICAgIHZvaWQgdXBkYXRl
QmVmb3JlUHNldWRvRWxlbWVudChTdHlsZTo6Q2hhbmdlKTsKLSAgICB2b2lkIHVwZGF0ZUFmdGVy
UHNldWRvRWxlbWVudChTdHlsZTo6Q2hhbmdlKTsKKyAgICB2b2lkIHNldEJlZm9yZVBzZXVkb0Vs
ZW1lbnQoUGFzc1JlZlB0cjxQc2V1ZG9FbGVtZW50Pik7CisgICAgdm9pZCBzZXRBZnRlclBzZXVk
b0VsZW1lbnQoUGFzc1JlZlB0cjxQc2V1ZG9FbGVtZW50Pik7CisgICAgdm9pZCBjbGVhckJlZm9y
ZVBzZXVkb0VsZW1lbnQoKTsKKyAgICB2b2lkIGNsZWFyQWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CiAg
ICAgdm9pZCByZXNldENvbXB1dGVkU3R5bGUoKTsKICAgICB2b2lkIGNsZWFyU3R5bGVEZXJpdmVk
RGF0YUJlZm9yZURldGFjaGluZ1JlbmRlcmVyKCk7CiAgICAgdm9pZCBjbGVhckhvdmVyQW5kQWN0
aXZlU3RhdHVzQmVmb3JlRGV0YWNoaW5nUmVuZGVyZXIoKTsKQEAgLTU4OCwxMyArNTkwLDYgQEAg
cHJpdmF0ZToKICAgICBib29sIGlzVXNlckFjdGlvbkVsZW1lbnRGb2N1c2VkKCkgY29uc3Q7CiAg
ICAgYm9vbCBpc1VzZXJBY3Rpb25FbGVtZW50SG92ZXJlZCgpIGNvbnN0OwogCi0gICAgUGFzc1Jl
ZlB0cjxQc2V1ZG9FbGVtZW50PiBjcmVhdGVQc2V1ZG9FbGVtZW50SWZOZWVkZWQoUHNldWRvSWQp
OwotICAgIGJvb2wgdXBkYXRlRXhpc3RpbmdQc2V1ZG9FbGVtZW50KFBzZXVkb0VsZW1lbnQqIGV4
aXN0aW5nLCBTdHlsZTo6Q2hhbmdlKTsKLQotICAgIHZvaWQgc2V0QmVmb3JlUHNldWRvRWxlbWVu
dChQYXNzUmVmUHRyPFBzZXVkb0VsZW1lbnQ+KTsKLSAgICB2b2lkIHNldEFmdGVyUHNldWRvRWxl
bWVudChQYXNzUmVmUHRyPFBzZXVkb0VsZW1lbnQ+KTsKLSAgICB2b2lkIGNsZWFyQmVmb3JlUHNl
dWRvRWxlbWVudCgpOwotICAgIHZvaWQgY2xlYXJBZnRlclBzZXVkb0VsZW1lbnQoKTsKICAgICB2
b2lkIHJlc2V0TmVlZHNOb2RlUmVuZGVyaW5nVHJhdmVyc2FsU2xvd1BhdGgoKTsKIAogICAgIHZp
cnR1YWwgYm9vbCBhcmVBdXRob3JTaGFkb3dzQWxsb3dlZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3BwCShyZXZp
c2lvbiAxNjAwMzApCisrKyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDY3LDYgKzQ2Nyw1NiBAQCBzdGF0aWMgdm9pZCBhdHRhY2hT
aGFkb3dSb290KFNoYWRvd1Jvb3QmCiAgICAgc2hhZG93Um9vdC5zZXRBdHRhY2hlZCh0cnVlKTsK
IH0KIAorc3RhdGljIFBzZXVkb0VsZW1lbnQqIGJlZm9yZU9yQWZ0ZXJQc2V1ZG9FbGVtZW50KEVs
ZW1lbnQmIGN1cnJlbnQsIFBzZXVkb0lkIHBzZXVkb0lkKQoreworICAgIEFTU0VSVChwc2V1ZG9J
ZCA9PSBCRUZPUkUgfHwgcHNldWRvSWQgPT0gQUZURVIpOworICAgIGlmIChwc2V1ZG9JZCA9PSBC
RUZPUkUpCisgICAgICAgIHJldHVybiBjdXJyZW50LmJlZm9yZVBzZXVkb0VsZW1lbnQoKTsKKyAg
ICByZXR1cm4gY3VycmVudC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKK30KKworc3RhdGljIHZvaWQg
c2V0QmVmb3JlT3JBZnRlclBzZXVkb0VsZW1lbnQoRWxlbWVudCYgY3VycmVudCwgUGFzc1JlZlB0
cjxQc2V1ZG9FbGVtZW50PiBwc2V1ZG9FbGVtZW50LCBQc2V1ZG9JZCBwc2V1ZG9JZCkKK3sKKyAg
ICBBU1NFUlQocHNldWRvSWQgPT0gQkVGT1JFIHx8IHBzZXVkb0lkID09IEFGVEVSKTsKKyAgICBp
ZiAocHNldWRvSWQgPT0gQkVGT1JFKSB7CisgICAgICAgIGN1cnJlbnQuc2V0QmVmb3JlUHNldWRv
RWxlbWVudChwc2V1ZG9FbGVtZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBjdXJy
ZW50LnNldEFmdGVyUHNldWRvRWxlbWVudChwc2V1ZG9FbGVtZW50KTsKK30KKworc3RhdGljIHZv
aWQgY2xlYXJCZWZvcmVPckFmdGVyUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LCBQc2V1
ZG9JZCBwc2V1ZG9JZCkKK3sKKyAgICBBU1NFUlQocHNldWRvSWQgPT0gQkVGT1JFIHx8IHBzZXVk
b0lkID09IEFGVEVSKTsKKyAgICBpZiAocHNldWRvSWQgPT0gQkVGT1JFKSB7CisgICAgICAgIGN1
cnJlbnQuY2xlYXJCZWZvcmVQc2V1ZG9FbGVtZW50KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisgICAgY3VycmVudC5jbGVhckFmdGVyUHNldWRvRWxlbWVudCgpOworfQorCitzdGF0aWMgYm9v
bCBuZWVkc1BzZXVkZUVsZW1lbnQoRWxlbWVudCYgY3VycmVudCwgUHNldWRvSWQgcHNldWRvSWQp
Cit7CisgICAgaWYgKCFjdXJyZW50LmRvY3VtZW50KCkuc3R5bGVTaGVldENvbGxlY3Rpb24oKS51
c2VzQmVmb3JlQWZ0ZXJSdWxlcygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFj
dXJyZW50LnJlbmRlcmVyKCkgfHwgIWN1cnJlbnQucmVuZGVyZXIoKS0+Y2FuSGF2ZUdlbmVyYXRl
ZENoaWxkcmVuKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoY3VycmVudC5pc1Bz
ZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghcHNldWRvRWxl
bWVudFJlbmRlcmVySXNOZWVkZWQoY3VycmVudC5yZW5kZXJlcigpLT5nZXRDYWNoZWRQc2V1ZG9T
dHlsZShwc2V1ZG9JZCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK3N0YXRpYyB2b2lkIGF0dGFjaEJlZm9yZU9yQWZ0ZXJQc2V1ZG9FbGVtZW50SWZOZWVk
ZWQoRWxlbWVudCYgY3VycmVudCwgUHNldWRvSWQgcHNldWRvSWQpCit7CisgICAgaWYgKCFuZWVk
c1BzZXVkZUVsZW1lbnQoY3VycmVudCwgcHNldWRvSWQpKQorICAgICAgICByZXR1cm47CisgICAg
UmVmUHRyPFBzZXVkb0VsZW1lbnQ+IHBzZXVkb0VsZW1lbnQgPSBQc2V1ZG9FbGVtZW50OjpjcmVh
dGUoY3VycmVudCwgcHNldWRvSWQpOworICAgIHNldEJlZm9yZU9yQWZ0ZXJQc2V1ZG9FbGVtZW50
KGN1cnJlbnQsIHBzZXVkb0VsZW1lbnQsIHBzZXVkb0lkKTsKKyAgICBhdHRhY2hSZW5kZXJUcmVl
KCpwc2V1ZG9FbGVtZW50LCBudWxscHRyKTsKK30KKwogc3RhdGljIHZvaWQgYXR0YWNoUmVuZGVy
VHJlZShFbGVtZW50JiBjdXJyZW50LCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiByZXNvbHZlZFN0
eWxlKQogewogICAgIFBvc3RBdHRhY2hDYWxsYmFja0Rpc2FibGVyIGNhbGxiYWNrRGlzYWJsZXIo
Y3VycmVudCk7CkBAIC00ODAsNyArNTMwLDcgQEAgc3RhdGljIHZvaWQgYXR0YWNoUmVuZGVyVHJl
ZShFbGVtZW50JiBjdQogICAgIGlmIChjdXJyZW50LnBhcmVudEVsZW1lbnQoKSAmJiBjdXJyZW50
LnBhcmVudEVsZW1lbnQoKS0+aXNJbkNhbnZhc1N1YnRyZWUoKSkKICAgICAgICAgY3VycmVudC5z
ZXRJc0luQ2FudmFzU3VidHJlZSh0cnVlKTsKIAotICAgIGN1cnJlbnQudXBkYXRlQmVmb3JlUHNl
dWRvRWxlbWVudChOb0NoYW5nZSk7CisgICAgYXR0YWNoQmVmb3JlT3JBZnRlclBzZXVkb0VsZW1l
bnRJZk5lZWRlZChjdXJyZW50LCBCRUZPUkUpOwogCiAgICAgU3R5bGVSZXNvbHZlclBhcmVudFB1
c2hlciBwYXJlbnRQdXNoZXIoJmN1cnJlbnQpOwogCkBAIC00OTksNyArNTQ5LDcgQEAgc3RhdGlj
IHZvaWQgYXR0YWNoUmVuZGVyVHJlZShFbGVtZW50JiBjdQogICAgIGlmIChBWE9iamVjdENhY2hl
KiBjYWNoZSA9IGN1cnJlbnQuZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpCiAgICAgICAgIGNh
Y2hlLT51cGRhdGVDYWNoZUFmdGVyTm9kZUlzQXR0YWNoZWQoJmN1cnJlbnQpOwogCi0gICAgY3Vy
cmVudC51cGRhdGVBZnRlclBzZXVkb0VsZW1lbnQoTm9DaGFuZ2UpOworICAgIGF0dGFjaEJlZm9y
ZU9yQWZ0ZXJQc2V1ZG9FbGVtZW50SWZOZWVkZWQoY3VycmVudCwgQUZURVIpOwogCiAgICAgY3Vy
cmVudC51cGRhdGVGb2N1c0FwcGVhcmFuY2VBZnRlckF0dGFjaElmTmVlZGVkKCk7CiAgICAgCkBA
IC02NzQsNiArNzI0LDE4IEBAIHN0YXRpYyB2b2lkIHJlc29sdmVTaGFkb3dUcmVlKFNoYWRvd1Jv
b3QKICAgICBzaGFkb3dSb290LT5jbGVhckNoaWxkTmVlZHNTdHlsZVJlY2FsYygpOwogfQogCitz
dGF0aWMgdm9pZCB1cGRhdGVCZWZvcmVPckFmdGVyUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJy
ZW50LCBDaGFuZ2UgY2hhbmdlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKK3sKKyAgICBpZiAoUHNldWRv
RWxlbWVudCogZXhpc3RpbmdQc2V1ZG9FbGVtZW50ID0gYmVmb3JlT3JBZnRlclBzZXVkb0VsZW1l
bnQoY3VycmVudCwgcHNldWRvSWQpKSB7CisgICAgICAgIGlmIChuZWVkc1BzZXVkZUVsZW1lbnQo
Y3VycmVudCwgcHNldWRvSWQpKQorICAgICAgICAgICAgcmVzb2x2ZVRyZWUoKmV4aXN0aW5nUHNl
dWRvRWxlbWVudCwgY3VycmVudC5uZWVkc1N0eWxlUmVjYWxjKCkgPyBGb3JjZSA6IGNoYW5nZSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNsZWFyQmVmb3JlT3JBZnRlclBzZXVkb0VsZW1l
bnQoY3VycmVudCwgcHNldWRvSWQpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGF0dGFj
aEJlZm9yZU9yQWZ0ZXJQc2V1ZG9FbGVtZW50SWZOZWVkZWQoY3VycmVudCwgcHNldWRvSWQpOwor
fQorCiAjaWYgUExBVEZPUk0oSU9TKQogc3RhdGljIEVWaXNpYmlsaXR5IGVsZW1lbnRJbXBsaWNp
dFZpc2liaWxpdHkoY29uc3QgRWxlbWVudCogZWxlbWVudCkKIHsKQEAgLTc2Miw3ICs4MjQsNyBA
QCB2b2lkIHJlc29sdmVUcmVlKEVsZW1lbnQmIGN1cnJlbnQsIENoYW5nCiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KIAotICAgICAgICBjdXJyZW50LnVwZGF0ZUJlZm9yZVBzZXVkb0VsZW1lbnQo
Y2hhbmdlKTsKKyAgICAgICAgdXBkYXRlQmVmb3JlT3JBZnRlclBzZXVkb0VsZW1lbnQoY3VycmVu
dCwgY2hhbmdlLCBCRUZPUkUpOwogCiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIGlzIGdv
b2QgZW5vdWdoIGZvciA6aG92ZXIgKyBmb28sIGJ1dCBpdCBpcyBub3QgZ29vZCBlbm91Z2ggZm9y
IDpob3ZlciArIGZvbyArIGJhci4KICAgICAgICAgLy8gRm9yIG5vdyB3ZSB3aWxsIGp1c3Qgd29y
cnkgYWJvdXQgdGhlIGNvbW1vbiBjYXNlLCBzaW5jZSBpdCdzIGEgbG90IHRyaWNraWVyIHRvIGdl
dCB0aGUgc2Vjb25kIGNhc2UgcmlnaHQKQEAgLTc4OCw3ICs4NTAsNyBAQCB2b2lkIHJlc29sdmVU
cmVlKEVsZW1lbnQmIGN1cnJlbnQsIENoYW5nCiAgICAgICAgICAgICBmb3JjZUNoZWNrT2ZBbnlF
bGVtZW50U2libGluZyA9IGZvcmNlQ2hlY2tPZkFueUVsZW1lbnRTaWJsaW5nIHx8IChjaGlsZFJ1
bGVzQ2hhbmdlZCAmJiBoYXNJbmRpcmVjdEFkamFjZW50UnVsZXMpOwogICAgICAgICB9CiAKLSAg
ICAgICAgY3VycmVudC51cGRhdGVBZnRlclBzZXVkb0VsZW1lbnQoY2hhbmdlKTsKKyAgICAgICAg
dXBkYXRlQmVmb3JlT3JBZnRlclBzZXVkb0VsZW1lbnQoY3VycmVudCwgY2hhbmdlLCBBRlRFUik7
CiAgICAgfQogCiAgICAgY3VycmVudC5jbGVhck5lZWRzU3R5bGVSZWNhbGMoKTsK
</data>
<flag name="review"
          id="241877"
          type_id="1"
          status="+"
          setter="andersca"
    />
    <flag name="commit-queue"
          id="241887"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>