<?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>50790</bug_id>
          
          <creation_ts>2010-12-09 16:17:35 -0800</creation_ts>
          <short_desc>Add simple pseudoelement style resolution and adapt slider thumb to use it.</short_desc>
          <delta_ts>2010-12-17 08:48:32 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>46595</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jamesr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>319768</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-09 16:17:35 -0800</bug_when>
    <thetext>Add simple pseudoelement style resolution and adapt slider thumb to use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319773</commentid>
    <comment_count>1</comment_count>
      <attachid>76134</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-09 16:22:15 -0800</bug_when>
    <thetext>Created attachment 76134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319775</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-09 16:24:02 -0800</bug_when>
    <thetext>Dave, this is still pretty hacky, but at least there&apos;s no double-resolving the style as it was in the first RenderSlider patch.

Long-term, I guess we should rework pseudoElement resolution to be more like normal element matching. WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320393</commentid>
    <comment_count>3</comment_count>
      <attachid>76134</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-10 13:58:41 -0800</bug_when>
    <thetext>Comment on attachment 76134
Patch

This feature is comparable to the :xbl-pseudo.

http://www.w3.org/TR/xbl/#the-xblpseudo

It&apos;s basically something new, a hybrid, that is both an element with a shadow DOM position (that needs to match normal rules that apply to that element type), but that also matches pseudo-element rules.

*This is not a pseudo style.*

It&apos;s a normal style that happens to also match a pseudo-element rule.  Your instinct to patch styleForElement is correct, but you need to implement it such that you don&apos;t lose normal rule matching as well.

Here&apos;s the basic template I would use.

(1) Remove the hard-coded pseudo-element from the pseudo-element list.  It shouldn&apos;t be there any more.
(2) Have elements know their shadowPseudoId.  That part is fine.
(3) Flag rules that have unrecognized pseudo-elements (and that are therefore potentially matched by a shadow pseudo). You should be able to make another hash (similar to the id, tag, class hashes) that lets you easily grab rules for your shadow pseudo id.
(4) Match on it treating the shadow pseudo id as yourself (and then you have to go to the parent to test it for the rest of the rule, similar to a &gt; selector).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323803</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-12-17 08:48:32 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 76134 [details])
&gt; This feature is comparable to the :xbl-pseudo.
&gt; 
&gt; http://www.w3.org/TR/xbl/#the-xblpseudo
&gt; 
&gt; It&apos;s basically something new, a hybrid, that is both an element with a shadow DOM position (that needs to match normal rules that apply to that element type), but that also matches pseudo-element rules.
&gt; 
&gt; *This is not a pseudo style.*
&gt; 
&gt; It&apos;s a normal style that happens to also match a pseudo-element rule.  Your instinct to patch styleForElement is correct, but you need to implement it such that you don&apos;t lose normal rule matching as well.
&gt; 
&gt; Here&apos;s the basic template I would use.
&gt; 
&gt; (1) Remove the hard-coded pseudo-element from the pseudo-element list.  It shouldn&apos;t be there any more.
&gt; (2) Have elements know their shadowPseudoId.  That part is fine.
&gt; (3) Flag rules that have unrecognized pseudo-elements (and that are therefore potentially matched by a shadow pseudo). You should be able to make another hash (similar to the id, tag, class hashes) that lets you easily grab rules for your shadow pseudo id.
&gt; (4) Match on it treating the shadow pseudo id as yourself (and then you have to go to the parent to test it for the rest of the rule, similar to a &gt; selector).

This is basically the TODO list for bug 46595, closing this as invalid.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76134</attachid>
            <date>2010-12-09 16:22:15 -0800</date>
            <delta_ts>2010-12-10 13:58:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50790-20101209162213.patch</filename>
            <type>text/plain</type>
            <size>4741</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzVhYWU1ZWQxYTBjZjAwNGIxMjdjMGQ5OWZmMzkxMjIyZDFhOThmNC4uOThmOWEyNjQzOGZhYjMw
NjBlNTQ5YzYwNWI4MWFmYTMxY2VjOTVjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0xMi0wOSAgRGlt
aXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzaW1wbGUgcHNldWRvZWxlbWVudCBz
dHlsZSByZXNvbHV0aW9uIGFuZCBhZGFwdCBzbGlkZXIgdGh1bWIgdG8gdXNlIGl0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA3OTAKKworICAgICAg
ICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5bGVGb3JF
bGVtZW50KTogQWRkZWQgYW4gZWFybHktZXhpdCBwYXRoIGZvcgorICAgICAgICAgICAgcmVzb2x2
aW5nIGVsZW1lbnRzIHdpdGggcHNldWRvRWxlbWVudElkIHVzaW5nIGV4aXN0aW5nIGdldENhY2hl
ZFBzZXVkb1N0eWxlCisgICAgICAgICAgICBtYWNoaW5lcnkuCisgICAgICAgICogZG9tL0VsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnBzZXVkb0VsZW1lbnRJZCk6IEFkZGVk
IHBzZXVkb0VsZW1lbnRJZCBkZWYuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTbGlkZXJUaHVtYkVsZW1lbnQ6OnBzZXVkb0VsZW1lbnRJ
ZCk6IEFkZGVkIG92ZXJyaWRlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2xpZGVyOjpjcmVh
dGVUaHVtYlN0eWxlKTogQ2hhbmdlZCB0byB1c2Ugc3RyYWlnaHQgc3R5bGVGb3JFbGVtZW50Lgor
CiAyMDEwLTEyLTA4ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
CmluZGV4IDcyYjRhOTc1ZjNmMjYxYWZmMzRmYjA5ZjkwNTZlNzg2YmQ0ZmE2OTMuLjUzMzg4ZWQ1
M2NhNjViMmE5M2UzNDk4NmJlNjMwMzNiOWYzZmU3OTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCkBAIC0xMTQxLDYgKzExNDEsMTUgQEAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gQ1NTU3R5
bGVTZWxlY3Rvcjo6c3R5bGVGb3JFbGVtZW50KEVsZW1lbnQqIGUsIFJlbmRlclN0eWwKIAogICAg
IG1fY2hlY2tlci5tX21hdGNoVmlzaXRlZFBzZXVkb0NsYXNzID0gbWF0Y2hWaXNpdGVkUHNldWRv
Q2xhc3M7CiAKKyAgICBpZiAoZS0+cHNldWRvRWxlbWVudElkKCkgIT0gTk9QU0VVRE8pIHsKKyAg
ICAgICAgTm9kZSogcGFyZW50ID0gZS0+cGFyZW50T3JIb3N0Tm9kZSgpOworICAgICAgICBpZiAo
cGFyZW50ICYmIHBhcmVudC0+cmVuZGVyZXIoKSkgeworICAgICAgICAgICAgUmVuZGVyU3R5bGUq
IHBzZXVkb1N0eWxlID0gcGFyZW50LT5yZW5kZXJlcigpLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShl
LT5wc2V1ZG9FbGVtZW50SWQoKSk7CisgICAgICAgICAgICBpZiAocHNldWRvU3R5bGUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIFJlbmRlclN0eWxlOjpjbG9uZShwc2V1ZG9TdHlsZSk7CisgICAg
ICAgIH0KKyAgICB9CisKICAgICBtX3N0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZSgpOwogCiAg
ICAgaWYgKG1fcGFyZW50U3R5bGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FbGVtZW50Lmgg
Yi9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggODQzMmY4MjVlYjdmZmUyZDFmZWJlYjA1NWE1
MTM2MmZhYjk2YWQzMS4uMDZjYmE2ZDBmZTY1ZTA2MzUyM2M0NmRlMjEyM2U1ZDY2NzIzZDdkMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaApAQCAtMzMyLDYgKzMzMiw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc1Nw
ZWxsQ2hlY2tpbmdFbmFibGVkKCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIFBzZXVkb0lkIHBzZXVk
b0VsZW1lbnRJZCgpIGNvbnN0IHsgcmV0dXJuIE5PUFNFVURPOyB9CisKIHByb3RlY3RlZDoKICAg
ICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCwgQ29uc3RydWN0aW9uVHlwZSB0eXBlKQogICAgICAgICA6IENvbnRhaW5lck5vZGUoZG9jdW1l
bnQsIHR5cGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3Bw
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcAppbmRleCAxNjE5ZDk0YTcyNDRk
ODhjYTU3N2Q1OTI4YjU3YjI4ZmY4OTNiNWY0Li4zOGU2MDg5ODhhY2E2MjRlN2QyOWZhN2JiOTM1
ODExNDk3NGM3MmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIu
Y3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTIyLDYgKzIy
LDcgQEAKICNpbmNsdWRlICJSZW5kZXJTbGlkZXIuaCIKIAogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
TmFtZXMuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgpAQCAt
NjAsNiArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFu
ZGxlcihFdmVudCopOwogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKKyAgICB2aXJ0dWFsIFBz
ZXVkb0lkIHBzZXVkb0VsZW1lbnRJZCgpIGNvbnN0IHsgcmV0dXJuIFNMSURFUl9USFVNQjsgfQog
CiBwcml2YXRlOiAgICAgICAgCiAgICAgU2xpZGVyVGh1bWJFbGVtZW50KEhUTUxFbGVtZW50KiBz
aGFkb3dQYXJlbnQpOwpAQCAtMjAzLDI5ICsyMDUsMTkgQEAgdm9pZCBSZW5kZXJTbGlkZXI6OnN0
eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xk
U3QKIAogUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gUmVuZGVyU2xpZGVyOjpjcmVhdGVUaHVtYlN0
eWxlKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkKIHsKLSAgICBSZWZQdHI8UmVuZGVy
U3R5bGU+IHN0eWxlOwotICAgIFJlbmRlclN0eWxlKiBwc2V1ZG9TdHlsZSA9IGdldENhY2hlZFBz
ZXVkb1N0eWxlKFNMSURFUl9USFVNQik7Ci0gICAgaWYgKHBzZXVkb1N0eWxlKQotICAgICAgICAv
LyBXZSBtYXkgYmUgc2hhcmluZyBzdHlsZSB3aXRoIGFub3RoZXIgc2xpZGVyLCBidXQgd2UgbXVz
dCBub3Qgc2hhcmUgdGhlIHRodW1iIHN0eWxlLgotICAgICAgICBzdHlsZSA9IFJlbmRlclN0eWxl
OjpjbG9uZShwc2V1ZG9TdHlsZSk7Ci0gICAgZWxzZQotICAgICAgICBzdHlsZSA9IFJlbmRlclN0
eWxlOjpjcmVhdGUoKTsKLQotICAgIGlmIChwYXJlbnRTdHlsZSkKLSAgICAgICAgc3R5bGUtPmlu
aGVyaXRGcm9tKHBhcmVudFN0eWxlKTsKLQotICAgIHN0eWxlLT5zZXREaXNwbGF5KEJMT0NLKTsK
KyAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHRodW1iU3R5bGUgPSBkb2N1bWVudCgpLT5zdHlsZVNl
bGVjdG9yKCktPnN0eWxlRm9yRWxlbWVudChtX3RodW1iLmdldCgpLCBzdHlsZSgpLCBmYWxzZSk7
CisgICAgdGh1bWJTdHlsZS0+c2V0RGlzcGxheShCTE9DSyk7CiAKICAgICBpZiAocGFyZW50U3R5
bGUtPmFwcGVhcmFuY2UoKSA9PSBTbGlkZXJWZXJ0aWNhbFBhcnQpCi0gICAgICAgIHN0eWxlLT5z
ZXRBcHBlYXJhbmNlKFNsaWRlclRodW1iVmVydGljYWxQYXJ0KTsKKyAgICAgICAgdGh1bWJTdHls
ZS0+c2V0QXBwZWFyYW5jZShTbGlkZXJUaHVtYlZlcnRpY2FsUGFydCk7CiAgICAgZWxzZSBpZiAo
cGFyZW50U3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBTbGlkZXJIb3Jpem9udGFsUGFydCkKLSAgICAg
ICAgc3R5bGUtPnNldEFwcGVhcmFuY2UoU2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydCk7CisgICAg
ICAgIHRodW1iU3R5bGUtPnNldEFwcGVhcmFuY2UoU2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydCk7
CiAgICAgZWxzZSBpZiAocGFyZW50U3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBNZWRpYVNsaWRlclBh
cnQpCi0gICAgICAgIHN0eWxlLT5zZXRBcHBlYXJhbmNlKE1lZGlhU2xpZGVyVGh1bWJQYXJ0KTsK
KyAgICAgICAgdGh1bWJTdHlsZS0+c2V0QXBwZWFyYW5jZShNZWRpYVNsaWRlclRodW1iUGFydCk7
CiAgICAgZWxzZSBpZiAocGFyZW50U3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBNZWRpYVZvbHVtZVNs
aWRlclBhcnQpCi0gICAgICAgIHN0eWxlLT5zZXRBcHBlYXJhbmNlKE1lZGlhVm9sdW1lU2xpZGVy
VGh1bWJQYXJ0KTsKKyAgICAgICAgdGh1bWJTdHlsZS0+c2V0QXBwZWFyYW5jZShNZWRpYVZvbHVt
ZVNsaWRlclRodW1iUGFydCk7CiAKLSAgICByZXR1cm4gc3R5bGUucmVsZWFzZSgpOworICAgIHJl
dHVybiB0aHVtYlN0eWxlLnJlbGVhc2UoKTsKIH0KIAogSW50UmVjdCBSZW5kZXJTbGlkZXI6OnRo
dW1iUmVjdCgpCg==
</data>
<flag name="review"
          id="67020"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>