<?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>21346</bug_id>
          
          <creation_ts>2008-10-03 13:48:52 -0700</creation_ts>
          <short_desc>attribute value selector not being reevaluated upon attribute change</short_desc>
          <delta_ts>2012-05-22 04:56:48 -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>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="Tom Pelaia II">pelaiata</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>asutherland</cc>
    
    <cc>bdakin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>divya</cc>
    
    <cc>pknight</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>93969</commentid>
    <comment_count>0</comment_count>
    <who name="Tom Pelaia II">pelaiata</who>
    <bug_when>2008-10-03 13:48:52 -0700</bug_when>
    <thetext>I have encountered a bug in which I have an attribute value selector which is not being reevaluated when my JavaScript code changes the value of the attribute. I have included the source code below and have verified that it works fine in Mozilla browsers but fails in the latest nightly build of WebKit r37126. The key features to observe the bug are that there must be an attribute value selector on a class selector followed by another class selector whose style we would like to define. In the example below, we have a container whose class is &quot;entry&quot; with an attribute which is either &quot;good&quot; or &quot;bad&quot;. Inside the container we have a node whose class is &quot;toggle&quot; and we would like to define the style on this node based on the status of its container. The toggle node has a JavaScript click handler which toggles the status of its container between &quot;good&quot; and &quot;bad&quot;.

Example source code:

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Selector Test&lt;/title&gt;
&lt;style&gt;
.toggle {cursor: pointer;}
.entry[status=&quot;good&quot;] .toggle { color: green; }
.entry[status=&quot;bad&quot;] .toggle { color: red; }
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;div class=&quot;entry&quot; status=&quot;good&quot;&gt;
	&lt;span class=&quot;toggle&quot; onclick=&quot;var status=this.parentNode.getAttribute(&apos;status&apos;); var newStatus=(status==&apos;good&apos;?&apos;bad&apos;:&apos;good&apos;); this.parentNode.setAttribute(&apos;status&apos;, newStatus);&quot;&gt;Click to toggle between good (green) and bad (red).&lt;/span&gt;
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151017</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-09-29 13:15:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/7261995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151021</commentid>
    <comment_count>2</comment_count>
    <who name="Paul Knight">pknight</who>
    <bug_when>2009-09-29 13:25:45 -0700</bug_when>
    <thetext>Interestingly, if you add this empty rule in Tom&apos;s example:
    .entry[status] {}

then the color of the .toggle element changes correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630216</commentid>
    <comment_count>3</comment_count>
      <attachid>143269</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-05-22 04:18:24 -0700</bug_when>
    <thetext>Created attachment 143269
Patch

This was fixed recently, but probably without a test. Turning the provided test case into a layout test so we don&apos;t break this again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630225</commentid>
    <comment_count>4</comment_count>
      <attachid>143269</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-05-22 04:26:32 -0700</bug_when>
    <thetext>Comment on attachment 143269
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=143269&amp;action=review

r=me

&gt; LayoutTests/fast/css/attribute-selector-recursive-update-on-setAttribute.html:4
&gt; +&lt;meta charset=&quot;utf-8&quot;&gt;

Why is this here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630253</commentid>
    <comment_count>5</comment_count>
      <attachid>143269</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-05-22 04:56:39 -0700</bug_when>
    <thetext>Comment on attachment 143269
Patch

Clearing flags on attachment: 143269

Committed r117954: &lt;http://trac.webkit.org/changeset/117954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630254</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-05-22 04:56:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143269</attachid>
            <date>2012-05-22 04:18:24 -0700</date>
            <delta_ts>2012-05-22 04:56:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-21346.diff</filename>
            <type>text/plain</type>
            <size>2793</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZDZiOWRiLi41ZTBmODgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDUt
MjIgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBhIGxh
eW91dCB0ZXN0IGZvciBhdHRyaWJ1dGUgc2VsZWN0b3IgaW52YWxpZGF0aW9uIHRyaWdnZXJpbmcg
cmVjdXJzaXZlIHN0eWxlIHJlY2FsYy4KKyAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2IvMjEz
NDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVn
IDIxMzQ2IHdhcyBhbHJlYWR5IGZpeGVkIHNvbWV3aGVyZSBpbiB0aGUgc2VtaXJlY2VudCBwYXN0
LCBzbyBoZXJlJ3MgdGhlIHByb3ZpZGVkCisgICAgICAgIHRlc3QgY2FzZSBhcyBmb3JtIG9mIGEg
bGF5b3V0IHRlc3QgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHJlZ3Jlc3MgdGhpcyBhZ2Fpbi4KKwor
ICAgICAgICAqIGZhc3QvY3NzL2F0dHJpYnV0ZS1zZWxlY3Rvci1yZWN1cnNpdmUtdXBkYXRlLW9u
LXNldEF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2F0
dHJpYnV0ZS1zZWxlY3Rvci1yZWN1cnNpdmUtdXBkYXRlLW9uLXNldEF0dHJpYnV0ZS5odG1sOiBB
ZGRlZC4KKwogMjAxMi0wNS0yMiAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgTWFyayB0d28gdGVzdHMgYXMgc2tpcHBlZCB3aGlsZSB3ZSBmaWd1cmUgb3V0IHdo
eSB0aGV5IGFyZSBmYWlsaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXR0
cmlidXRlLXNlbGVjdG9yLXJlY3Vyc2l2ZS11cGRhdGUtb24tc2V0QXR0cmlidXRlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2F0dHJpYnV0ZS1zZWxlY3Rvci1yZWN1cnNpdmUt
dXBkYXRlLW9uLXNldEF0dHJpYnV0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uMDY2ZmY3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL2F0dHJpYnV0ZS1zZWxlY3Rvci1yZWN1cnNpdmUtdXBkYXRlLW9uLXNldEF0dHJpYnV0
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGF0
dHJpYnV0ZSBzZWxlY3RvcnMgYXJlIHJlY3Vyc2l2ZWx5IHJlLWV2YWx1YXRlZCB3aGVuIHRoZSBh
dHRyaWJ1dGUgY2hhbmdlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZSh0b2dnbGUpLmNvbG9yIGlzICdyZ2IoMCwgMTI4LCAwKScKK1BBU1Mg
Z2V0Q29tcHV0ZWRTdHlsZSh0b2dnbGUpLmNvbG9yIGlzICdyZ2IoMjU1LCAwLCAwKScKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hdHRyaWJ1dGUtc2VsZWN0b3ItcmVjdXJzaXZlLXVwZGF0
ZS1vbi1zZXRBdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2F0dHJpYnV0ZS1z
ZWxlY3Rvci1yZWN1cnNpdmUtdXBkYXRlLW9uLXNldEF0dHJpYnV0ZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmZDU4MTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9hdHRyaWJ1dGUtc2VsZWN0b3ItcmVjdXJzaXZlLXVwZGF0ZS1vbi1z
ZXRBdHRyaWJ1dGUuaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKy5lbnRyeVtzdGF0dXM9
ImZvbyJdIC50b2dnbGUgeworICAgIGNvbG9yOiBncmVlbjsKK30KKy5lbnRyeVtzdGF0dXM9ImJh
ciJdIC50b2dnbGUgeworICAgIGNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGNsYXNzPSJlbnRyeSIgc3RhdHVzPSJmb28iPgorICAgIDxzcGFuIGNsYXNzPSJ0
b2dnbGUiPlRleHQuPC9zcGFuPgorPC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IGF0dHJpYnV0ZSBzZWxlY3RvcnMgYXJlIHJlY3Vyc2l2ZWx5IHJl
LWV2YWx1YXRlZCB3aGVuIHRoZSBhdHRyaWJ1dGUgY2hhbmdlcy4iKTsKKwordmFyIGVudHJ5PSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJlbnRyeSIpWzBdOwordmFyIHRvZ2dsZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRvZ2dsZSIpWzBdOworCitzaG91bGRC
ZSgiZ2V0Q29tcHV0ZWRTdHlsZSh0b2dnbGUpLmNvbG9yIiwgIidyZ2IoMCwgMTI4LCAwKSciKTsK
K2VudHJ5LnNldEF0dHJpYnV0ZSgic3RhdHVzIiwgImJhciIpOworc2hvdWxkQmUoImdldENvbXB1
dGVkU3R5bGUodG9nZ2xlKS5jb2xvciIsICIncmdiKDI1NSwgMCwgMCknIik7CisKK2RvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQoZW50cnkpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>