<?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>22348</bug_id>
          
          <creation_ts>2008-11-18 17:29:15 -0800</creation_ts>
          <short_desc>-webkit-autofill pseudo style not always respected</short_desc>
          <delta_ts>2008-11-19 13:07:52 -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>Mac</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Greg Bolsinga">bolsinga</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>99255</commentid>
    <comment_count>0</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2008-11-18 17:29:15 -0800</bug_when>
    <thetext>This happens in Safari 3.2 and TOT.

Open the attached form. Go to Edit-&gt;AutoFill Form. Only the first name field is en-yellowed. I think all of them should be, as each is getting the -webkit-autofill pseudo style set via HTMLInputElement::setAutofilled(true).

If I hack up this property to always be true, the attached page will load with all en-yellowed fields. I verified in the debugger that autofill is not being set to false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99256</commentid>
    <comment_count>1</comment_count>
      <attachid>25254</attachid>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2008-11-18 17:30:08 -0800</bug_when>
    <thetext>Created attachment 25254
forms that will not en-yellow after autofill command</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99262</commentid>
    <comment_count>2</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2008-11-18 17:50:58 -0800</bug_when>
    <thetext>&lt;rdar://problem/6383673&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99263</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-11-18 17:54:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/6383673&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99264</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2008-11-18 17:57:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/6383673&gt;

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99274</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-11-18 21:26:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/6383673&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99357</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-11-19 12:12:40 -0800</bug_when>
    <thetext>I have a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99362</commentid>
    <comment_count>7</comment_count>
      <attachid>25286</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-11-19 12:24:06 -0800</bug_when>
    <thetext>Created attachment 25286
Patch, changelog

It&apos;s hard to make a testcase since there&apos;s no way to set the -webkit-autofill pseudostyle from JS (that I know of), and making autofill happen is a Safari-level thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99363</commentid>
    <comment_count>8</comment_count>
      <attachid>25286</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-11-19 12:31:28 -0800</bug_when>
    <thetext>Comment on attachment 25286
Patch, changelog

&gt;      virtual bool isControl() const { return false; } // Eventually the notion of what is a control will be extensible.
&gt;      virtual bool isEnabled() const { return true; }
&gt;      virtual bool isChecked() const { return false; }
&gt; +    virtual bool isAutofilled() const { return false; }
&gt;      virtual bool isIndeterminate() const { return false; }
&gt;      virtual bool isReadOnlyControl() const { return false; }
&gt;      virtual bool isTextControl() const { return false; }

Not sure why you chose this point in the list to add it. Not alphabetical. Between checked and indeterminate seems a strange choice, since those two are closely related.

&gt;                  if (e &amp;&amp; e-&gt;hasTagName(inputTag))
&gt; -                    return static_cast&lt;HTMLInputElement*&gt;(e)-&gt;autofilled();
&gt; +                    return static_cast&lt;HTMLInputElement*&gt;(e)-&gt;isAutofilled();

If we&apos;re going to make isAutofilled virtual, then we should remove the hasTagName check here. It&apos;s just there as a type check so we can call the non-virtual function. We could also have put that check inside the code in canShareStyleWithElement.

&gt; +void HTMLInputElement::setAutofilled(bool b)
&gt; +{
&gt; +    if (b != m_autofilled) {
&gt; +        m_autofilled = b;
&gt; +        setChanged();
&gt; +    }
&gt; +}

We normally use early return for something like this rather than nesting both lines inside an if statement.

r=me as is, but you could consider refining too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99371</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2008-11-19 13:07:52 -0800</bug_when>
    <thetext>Refined and committed:

Committed r38602
	M	WebCore/dom/Node.h
	M	WebCore/ChangeLog
	M	WebCore/html/HTMLInputElement.cpp
	M	WebCore/html/HTMLInputElement.h
	M	WebCore/css/CSSStyleSelector.cpp
r38602 = 5c9b448d855fb099fc4e0ab58c0327463a6c5ffd (trunk)
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>25254</attachid>
            <date>2008-11-18 17:30:08 -0800</date>
            <delta_ts>2008-11-18 17:30:08 -0800</delta_ts>
            <desc>forms that will not en-yellow after autofill command</desc>
            <filename>forms.html</filename>
            <type>text/html</type>
            <size>692</size>
            <attacher name="Greg Bolsinga">bolsinga</attacher>
            
              <data encoding="base64">PGZvcm0+CkZpcnN0IG5hbWU6IAo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlyc3RuYW1lIj4K
PGJyPgpNaWRkbGUgbmFtZTogCjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJtaWRkbGVuYW1lIj4K
PGJyPgpMYXN0IG5hbWU6IAo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibGFzdG5hbWUiPgo8YnI+
Ck5hbWU6IAo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibmFtZSI+Cjxicj4KSm9iIFRpdGxlOiAK
PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImpvYnRpdGxlIj4KPGJyPgplbWFpbDogCjxpbnB1dCB0
eXBlPSJ0ZXh0IiBuYW1lPSJlbWFpbCI+Cjxicj4Kc3RyZWV0OiAKPGlucHV0IHR5cGU9InRleHQi
IG5hbWU9InN0cmVldCI+Cjxicj4KY2l0eTogCjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJjaXR5
Ij4KPGJyPgpTdGF0ZTogCjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJzdGF0ZSI+Cjxicj4KWklQ
OiAKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InppcCI+Cjxicj4KQ291bnRyeTogCjxpbnB1dCB0
eXBlPSJ0ZXh0IiBuYW1lPSJjb3VudHJ5Ij4KPGJyPgpwaG9uZTogCjxpbnB1dCB0eXBlPSJ0ZXh0
IiBuYW1lPSJwaG9uZSI+Cjxicj4Kb3JnOiAKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImNvbXBh
bnkiPgo8YnI+CmJpcnRoZGF5OiAKPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImJpcnRoZGF5Ij4K
PC9mb3JtPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25286</attachid>
            <date>2008-11-19 12:24:06 -0800</date>
            <delta_ts>2008-11-19 12:31:28 -0800</delta_ts>
            <desc>Patch, changelog</desc>
            <filename>22348_patcht.xt</filename>
            <type>text/plain</type>
            <size>4047</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MGQ0N2VjNS4uOWNkZTFjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAwOC0xMS0xOSAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIzNDgKKyAgICAgICAgCisgICAgICAgIE5lZWQgdG8gZWR1Y2F0ZSBzdHlsZSBzaGFyaW5n
IGFib3V0IGF1dG9maWxsLCBzbyB0aGF0IHN0eWxlIGRvZXMgbm90CisgICAgICAgIGdldCBzaGFy
ZWQgYmV0d2VlbiBpbnB1dCBlbGVtZW50cyB0aGF0IGFyZSBhdXRvZmlsbGVkLCBhbmQgdGhvc2UK
KyAgICAgICAgdGhhdCBhcmUgbm90LiBTZXR0aW5nIGF1dG9maWxsIHNob3VsZCBhbHNvIGRvIGEg
c2V0Q2hhbmdlZCBvbiB0aGUgbm9kZS4KKworICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNhblNoYXJlU3R5bGVX
aXRoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpTZWxlY3Rv
ckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IpOgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpOb2RlOjppc0F1dG9maWxsZWQpOgorICAgICAgICAqIGh0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRB
dXRvZmlsbGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzQXV0b2ZpbGxlZCk6CisKIDIwMDgtMTEtMTkg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCAxNWU4MWYyLi5h
MGQ3M2FkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtOTI2LDcgKzkyNiw4IEBAIGJv
b2wgQ1NTU3R5bGVTZWxlY3Rvcjo6Y2FuU2hhcmVTdHlsZVdpdGhFbGVtZW50KE5vZGUqIG4pCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgaWYgKGlzQ29udHJvbCAm
JiAocy0+aXNFbmFibGVkKCkgIT0gbV9lbGVtZW50LT5pc0VuYWJsZWQoKSkgfHwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKHMtPmlzSW5kZXRlcm1pbmF0ZSgpICE9IG1fZWxlbWVudC0+
aXNJbmRldGVybWluYXRlKCkpIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzLT5p
c0NoZWNrZWQoKSAhPSBtX2VsZW1lbnQtPmlzQ2hlY2tlZCgpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKHMtPmlzQ2hlY2tlZCgpICE9IG1fZWxlbWVudC0+aXNDaGVja2VkKCkpIHx8
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzLT5pc0F1dG9maWxsZWQoKSAhPSBtX2Vs
ZW1lbnQtPmlzQXV0b2ZpbGxlZCgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgICAgICAKICAgICAgICAgICAgIGlmIChzdHlsZS0+dHJhbnNpdGlvbnMoKSB8fCBzdHls
ZS0+YW5pbWF0aW9ucygpKQpAQCAtMjE3MSw3ICsyMTcyLDcgQEAgYm9vbCBDU1NTdHlsZVNlbGVj
dG9yOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbCwg
RWxlbWUKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OlBzZXVkb0F1dG9maWxsOgogICAgICAgICAgICAgICAgIGlmIChlICYmIGUtPmhhc1RhZ05h
bWUoaW5wdXRUYWcpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRN
TElucHV0RWxlbWVudCo+KGUpLT5hdXRvZmlsbGVkKCk7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZSktPmlzQXV0b2ZpbGxlZCgpOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvTGluazoKICAgICAgICAgICAgICAgICBpZiAocHNldWRvU3RhdGUgPT0gUHNldWRvVW5rbm93
biB8fCBwc2V1ZG9TdGF0ZSA9PSBQc2V1ZG9BbnlMaW5rKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vTm9kZS5oIGIvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDVjYmUwM2YuLjgwOTRlNmUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAg
LTI5MCw2ICsyOTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzQ29udHJvbCgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9IC8vIEV2ZW50dWFsbHkgdGhlIG5vdGlvbiBvZiB3aGF0IGlz
IGEgY29udHJvbCB3aWxsIGJlIGV4dGVuc2libGUuCiAgICAgdmlydHVhbCBib29sIGlzRW5hYmxl
ZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNDaGVja2VkKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNBdXRvZmlsbGVkKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbmRldGVybWluYXRl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZWFkT25seUNv
bnRyb2woKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1RleHRD
b250cm9sKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCA1ZDA0MWUyLi5jOTRiYmI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xNTM1LDYgKzE1MzUsMTQgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRVc2VNYXAoY29u
c3QgU3RyaW5nICZ2YWx1ZSkKICAgICBzZXRBdHRyaWJ1dGUodXNlbWFwQXR0ciwgdmFsdWUpOwog
fQogCit2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldEF1dG9maWxsZWQoYm9vbCBiKQoreworICAg
IGlmIChiICE9IG1fYXV0b2ZpbGxlZCkgeworICAgICAgICBtX2F1dG9maWxsZWQgPSBiOworICAg
ICAgICBzZXRDaGFuZ2VkKCk7CisgICAgfQorfQorCiBGaWxlTGlzdCogSFRNTElucHV0RWxlbWVu
dDo6ZmlsZXMoKQogewogICAgIGlmIChpbnB1dFR5cGUoKSAhPSBGSUxFKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmgKaW5kZXggNWJkMzI0ZC4uMGY3MjZkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5o
CkBAIC0xODYsOCArMTg2LDggQEAgcHVibGljOgogICAgIFN0cmluZyB1c2VNYXAoKSBjb25zdDsK
ICAgICB2b2lkIHNldFVzZU1hcChjb25zdCBTdHJpbmcmKTsKIAotICAgIGJvb2wgYXV0b2ZpbGxl
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b2ZpbGxlZDsgfQotICAgIHZvaWQgc2V0QXV0b2ZpbGxl
ZChib29sIGIgPSB0cnVlKSB7IG1fYXV0b2ZpbGxlZCA9IGI7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
aXNBdXRvZmlsbGVkKCkgY29uc3QgeyByZXR1cm4gbV9hdXRvZmlsbGVkOyB9CisgICAgdm9pZCBz
ZXRBdXRvZmlsbGVkKGJvb2wgYiA9IHRydWUpOwogCiAgICAgRmlsZUxpc3QqIGZpbGVzKCk7CiAK
</data>
<flag name="review"
          id="11692"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>