<?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>16750</bug_id>
          
          <creation_ts>2008-01-05 14:18:55 -0800</creation_ts>
          <short_desc>text field element fails to match :checked (Acid3 bug)</short_desc>
          <delta_ts>2008-01-06 00:14:18 -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.4</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>66304</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-05 14:18:55 -0800</bug_when>
    <thetext>input element fails to match :checked (Acid3 bug)

      // test 43: :enabled, :disabled, :checked, etc
      selectorTest(function (doc, add, expect) {
        var input = doc.createElement(&apos;input&apos;);
        input.type = &apos;checkbox&apos;;
        doc.body.appendChild(input);
        var neither = 0;
        var both = add(&quot;:checked:enabled&quot;);
        var checked = add(&quot;:checked&quot;);
        var enabled = add(&quot;:enabled&quot;);
        expect(doc.body, neither, &quot;control failure&quot;);
        expect(input, enabled, &quot;input element didn&apos;t match :enabled&quot;);
        input.click();
        expect(input, both, &quot;input element didn&apos;t match :checked&quot;);
        input.disabled = true;
        expect(input, checked, &quot;failure 3&quot;);
        input.checked = false;
        expect(input, neither, &quot;failure 4&quot;);
        expect(doc.body, neither, &quot;failure 5&quot;);
      });</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66305</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-05 14:20:21 -0800</bug_when>
    <thetext>Test 43: FAIL (expected 0, got 1 - text field matched :checked)

The full test:
    function () {
      // test 43: :enabled, :disabled, :checked, etc
      selectorTest(function (doc, add, expect) {
        var input = doc.createElement(&apos;input&apos;);
        input.type = &apos;checkbox&apos;;
        doc.body.appendChild(input);
        var neither = 0;
        var both = add(&quot;:checked:enabled&quot;);
        var checked = add(&quot;:checked&quot;);
        var enabled = add(&quot;:enabled&quot;);
        expect(doc.body, neither, &quot;control failure&quot;);
        expect(input, enabled, &quot;input element didn&apos;t match :enabled&quot;);
        input.click();
        expect(input, both, &quot;input element didn&apos;t match :checked&quot;);
        input.disabled = true;
        expect(input, checked, &quot;failure 3&quot;);
        input.checked = false;
        expect(input, neither, &quot;failure 4&quot;);
        expect(doc.body, neither, &quot;failure 5&quot;);
      });
      selectorTest(function (doc, add, expect) {
        var input1 = doc.createElement(&apos;input&apos;);
        input1.type = &apos;radio&apos;;
        input1.name = &apos;radio&apos;;
        doc.body.appendChild(input1);
        var input2 = doc.createElement(&apos;input&apos;);
        input2.type = &apos;radio&apos;;
        input2.name = &apos;radio&apos;;
        doc.body.appendChild(input2);
        var checked = add(&quot;:checked&quot;);
        expect(input1, 0, &quot;failure 6&quot;);
        expect(input2, 0, &quot;failure 7&quot;);
        input2.checked = true;
        expect(input1, 0, &quot;failure 6&quot;);
        expect(input2, checked, &quot;failure 7&quot;);
        input1.checked = true;
        expect(input1, checked, &quot;failure 8&quot;);
        expect(input2, 0, &quot;failure 9&quot;);
        input2.setAttribute(&quot;checked&quot;, &quot;checked&quot;); // sets defaultChecked, doesn&apos;t change actual state
        expect(input1, checked, &quot;failure 9&quot;);
        expect(input2, 0, &quot;failure 10&quot;);
        input1.type = &quot;text&quot;;
        expect(input1, 0, &quot;text field matched :checked&quot;);
      });
      selectorTest(function (doc, add, expect) {
        var input = doc.createElement(&apos;input&apos;);
        input.type = &apos;button&apos;;
        doc.body.appendChild(input);
        var neither = 0;
        var enabled = add(&quot;:enabled&quot;);
        var disabled = add(&quot;:disabled&quot;);
        add(&quot;:enabled:disabled&quot;);
        expect(input, enabled, &quot;failure 12&quot;);
        input.disabled = true;
        expect(input, disabled, &quot;failure 13&quot;);
        input.removeAttribute(&quot;disabled&quot;);
        expect(input, enabled, &quot;failure 14&quot;);
        expect(doc.body, neither, &quot;failure 15&quot;);
      });
      return 3;
    },
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66349</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-05 22:55:45 -0800</bug_when>
    <thetext>Working on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66355</commentid>
    <comment_count>3</comment_count>
      <attachid>18296</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-06 00:03:24 -0800</bug_when>
    <thetext>Created attachment 18296
Fix :checked matching type=&apos;text&apos; and add test case

 .../checked-pseudo-selector-expected.txt           |    6 ++++++
 .../HTMLInputElement/checked-pseudo-selector.html  |   13 +++++++++++++
 .../dom/HTMLInputElement/resources/TEMPLATE.html   |   13 +++++++++++++
 .../resources/checked-pseudo-selector.js           |   19 +++++++++++++++++++
 WebCore/html/HTMLInputElement.h                    |    3 ++-
 5 files changed, 53 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66356</commentid>
    <comment_count>4</comment_count>
      <attachid>18296</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-01-06 00:11:29 -0800</bug_when>
    <thetext>Comment on attachment 18296
Fix :checked matching type=&apos;text&apos; and add test case

This looks good.  I think the test might benefit from being a rendering test (or maybe have one in addition) but it&apos;s not a show-stopper.  ChangeLog needed as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66357</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-06 00:14:18 -0800</bug_when>
    <thetext>I don&apos;t understand why/how this would be a rendering test...  I guess to display the fact that the styles matched?

committed as r29204.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18296</attachid>
            <date>2008-01-06 00:03:24 -0800</date>
            <delta_ts>2008-01-06 00:11:29 -0800</delta_ts>
            <desc>Fix :checked matching type=&apos;text&apos; and add test case</desc>
            <filename>Fix-checked-matching-type-text-and-add-test-case.patch</filename>
            <type>text/plain</type>
            <size>3564</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">MGVlNmIzMDc0Yjc2MTMxOWQ0OGEyMGU3ZDExNWJlYTY2ZThjMjQ5NQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9jaGVja2VkLXBzZXVkby1zZWxlY3Rv
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW5wdXRFbGVtZW50L2No
ZWNrZWQtcHNldWRvLXNlbGVjdG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4xYWY0MmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTElucHV0RWxlbWVudC9jaGVja2VkLXBzZXVkby1zZWxlY3Rvci1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw2IEBACitQQVNTIHZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShpbnB1dDEsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCdjb2xvcicpIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1MgaW5w
dXQxLmNoZWNrZWQgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1
dEVsZW1lbnQvY2hlY2tlZC1wc2V1ZG8tc2VsZWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbnB1dEVsZW1lbnQvY2hlY2tlZC1wc2V1ZG8tc2VsZWN0b3IuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGRjOGM1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTElucHV0RWxlbWVudC9jaGVja2VkLXBzZXVkby1zZWxl
Y3Rvci5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVU
Ri8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY2hlY2tlZC1wc2V1ZG8tc2VsZWN0b3IuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTElucHV0RWxlbWVudC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk1MWM0MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvcmVzb3VyY2VzL1RFTVBM
QVRFLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1l
bnQvcmVzb3VyY2VzL2NoZWNrZWQtcHNldWRvLXNlbGVjdG9yLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTElucHV0RWxlbWVudC9yZXNvdXJjZXMvY2hlY2tlZC1wc2V1ZG8tc2VsZWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMzNjY4MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbnB1dEVsZW1lbnQvcmVzb3VyY2Vz
L2NoZWNrZWQtcHNldWRvLXNlbGVjdG9yLmpzCkBAIC0wLDAgKzEsMTkgQEAKK3ZhciBzdHlsZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7CitzdHlsZS5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZSgiaW5wdXQgeyBjb2xvcjogZ3JlZW47IH0iKSk7CitzdHlsZS5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiaW5wdXQ6Y2hlY2tlZCB7IGNvbG9y
OiByZWQ7IH0iKSk7Citkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZmlyc3RDaGlsZC5hcHBlbmRD
aGlsZChzdHlsZSk7CisKK3ZhciBpbnB1dDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1
dCcpOworaW5wdXQxLnR5cGUgPSAncmFkaW8nOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChp
bnB1dDEpOworaW5wdXQxLmNoZWNrZWQgPSB0cnVlOworaW5wdXQxLnR5cGUgPSAidGV4dCI7CisK
K3ZhciB2aWV3ID0gZG9jdW1lbnQuZGVmYXVsdFZpZXc7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
InZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShpbnB1dDEsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCdjb2xv
cicpIiwgInJnYigwLCAxMjgsIDApIik7CitzaG91bGRCZVRydWUoImlucHV0MS5jaGVja2VkIik7
CisKKy8vIGNsZWFudXAKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaW5wdXQxKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRN
TElucHV0RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCA1
NTUxNTExLi40MTBmMmUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTcwLDcgKzcwLDgg
QEAgcHVibGljOgogCiAgICAgYm9vbCBhdXRvQ29tcGxldGUoKSBjb25zdCB7IHJldHVybiBtX2F1
dG9jb21wbGV0ZTsgfQogCi0gICAgdmlydHVhbCBib29sIGlzQ2hlY2tlZCgpIGNvbnN0IHsgcmV0
dXJuIGNoZWNrZWQoKTsgfQorICAgIC8vIGlzQ2hlY2tlZCBpcyB1c2VkIGJ5IHRoZSByZW5kZXJp
bmcgdHJlZS9DU1Mgd2hpbGUgY2hlY2tlZCgpIGlzIHVzZWQgYnkgSlMgdG8gZGV0ZXJtaW5lIGNo
ZWNrZWQgc3RhdGUKKyAgICB2aXJ0dWFsIGJvb2wgaXNDaGVja2VkKCkgY29uc3QgeyByZXR1cm4g
Y2hlY2tlZCgpICYmIChpbnB1dFR5cGUoKSA9PSBDSEVDS0JPWCB8fCBpbnB1dFR5cGUoKSA9PSBS
QURJTyk7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNJbmRldGVybWluYXRlKCkgY29uc3QgeyByZXR1
cm4gaW5kZXRlcm1pbmF0ZSgpOyB9CiAgICAgCiAgICAgYm9vbCByZWFkT25seSgpIGNvbnN0IHsg
cmV0dXJuIGlzUmVhZE9ubHlDb250cm9sKCk7IH0K
</data>
<flag name="review"
          id="7975"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>