<?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>36765</bug_id>
          
          <creation_ts>2010-03-29 10:44:24 -0700</creation_ts>
          <short_desc>Test for Ensuring Pseudo Class&apos;s are Respected on Dynamic Changes</short_desc>
          <delta_ts>2010-03-29 11:11:31 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>205529</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-29 10:44:24 -0700</bug_when>
    <thetext>This tests elements affected by CSS pseudo class selectors are updated after a dynamic DOM change. This test currently passes in ToT, it is just being upstreamed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205532</commentid>
    <comment_count>1</comment_count>
      <attachid>51929</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-29 10:49:12 -0700</bug_when>
    <thetext>Created attachment 51929
[TEST] Upstreamed Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205537</commentid>
    <comment_count>2</comment_count>
      <attachid>51929</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-03-29 10:53:24 -0700</bug_when>
    <thetext>Comment on attachment 51929
[TEST] Upstreamed Test

&gt; +// Need to test after the initial layout to force a dynamic recalc.
&gt; +setTimeout(makeDynamicChanges, 0);

I don&apos;t think this is true. I think you just need a way to force style calculate both before and after. I think that a call to getComputedStyle both before and after would do the trick.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205539</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-29 10:54:27 -0700</bug_when>
    <thetext>Let me know if I should make this test more extensive. It currently tests :only-child, and not first/last/nth. However, that should be enough given what this test is trying to prevent.

This test was used to catch a situation where a RenderStyle is cloned and reapply without copying the RenderStyle&apos;s state information, which used for pseudo class styling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205553</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-29 11:11:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 51929 [details])
&gt; &gt; +// Need to test after the initial layout to force a dynamic recalc.
&gt; &gt; +setTimeout(makeDynamicChanges, 0);
&gt; 
&gt; I don&apos;t think this is true. I think you just need a way to force style
&gt; calculate both before and after. I think that a call to getComputedStyle both
&gt; before and after would do the trick.

Good idea. It makes the test clearer as well.


Committed r56733
	A	LayoutTests/fast/css/dynamic-pseudo-class-expected.txt
	A	LayoutTests/fast/css/dynamic-pseudo-class.html
	M	LayoutTests/ChangeLog
r56733 = 0db386c4456b0761bc7058857117c0c130da56e0 (trunk)
http://trac.webkit.org/changeset/56733</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51929</attachid>
            <date>2010-03-29 10:49:12 -0700</date>
            <delta_ts>2010-03-29 10:53:24 -0700</delta_ts>
            <desc>[TEST] Upstreamed Test</desc>
            <filename>upsteam-test</filename>
            <type>text/plain</type>
            <size>2599</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmNWQxYjhkLi44NmQ4OGZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDMt
MjkgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGZvciBFbnN1cmluZyBQc2V1
ZG8gQ2xhc3MncyBhcmUgUmVzcGVjdGVkIG9uIER5bmFtaWMgQ2hhbmdlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY3NjUKKworICAgICAgICBUaGlz
IHRlc3RzIGVsZW1lbnRzIGFmZmVjdGVkIGJ5IGEgQ1NTIHBzZXVkbyBjbGFzcyBzZWxlY3RvciBp
cyB1cGRhdGVkCisgICAgICAgIGFmdGVyIGEgZHluYW1pYyBET00gY2hhbmdlLgorCisgICAgICAg
ICogZmFzdC9jc3MvZHluYW1pYy1wc2V1ZG8tY2xhc3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy9keW5hbWljLXBzZXVkby1jbGFzcy5odG1sOiBBZGRlZC4KKwogMjAx
MC0wMy0yNiAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhdmUgSHlhdHQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9keW5hbWljLXBzZXVkby1jbGFzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9keW5hbWljLXBzZXVkby1jbGFzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uOWM4OTRmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL2R5bmFtaWMtcHNldWRvLWNsYXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAK
K1RoaXMgdGVzdHMgZWxlbWVudHMgYWZmZWN0ZWQgYnkgQ1NTIHBzZXVkbyBjbGFzcyBzZWxlY3Rv
cnMgYXJlIHVwZGF0ZWQgYWZ0ZXIgYSBkeW5hbWljIERPTSBjaGFuZ2UuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIm9yaWciKSlbImNvbG9yIl0gaXMgInJnYigwLCAwLCAwKSIKK0dlbmVyYXRlZCBj
b250ZW50LgorT3JpZ2luYWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9keW5h
bWljLXBzZXVkby1jbGFzcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZHluYW1pYy1wc2V1
ZG8tY2xhc3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2QzODQw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZHluYW1pYy1wc2V1ZG8t
Y2xhc3MuaHRtbApAQCAtMCwwICsxLDM1IEBACis8aHRtbD4KKzxoZWFkIGlkPSJoZWFkIj4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2xpOm9ubHktY2hpbGQgeyBjb2xvcjogcmVk
OyB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHVsIGlkPSJsaXN0Ij48bGkgaWQ9Im9yaWciPk9y
aWdpbmFsLjwvbGk+PC91bD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyBlbGVt
ZW50cyBhZmZlY3RlZCBieSBDU1MgcHNldWRvIGNsYXNzIHNlbGVjdG9ycyBhcmUgdXBkYXRlZCBh
ZnRlciBhIGR5bmFtaWMgRE9NIGNoYW5nZS4iKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK2Z1
bmN0aW9uIG1ha2VEeW5hbWljQ2hhbmdlcygpIHsKKyAgICB2YXIgeCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2xpJyk7CisgICAgeC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSgnR2VuZXJhdGVkIGNvbnRlbnQuJykpOworICAgIHZhciB1bCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsaXN0Jyk7CisgICAgdWwuaW5zZXJ0QmVmb3JlKHgsIHVsLmZpcnN0Q2hpbGQpOwor
CisgICAgc2hvdWxkQmUoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Im9yaWciKSlbImNvbG9yIl0nLCAnInJnYigwLCAwLCAwKSInKTsKKworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK30KKworLy8gTmVlZCB0byB0ZXN0IGFmdGVyIHRoZSBpbml0aWFsIGxheW91dCB0
byBmb3JjZSBhIGR5bmFtaWMgcmVjYWxjLgorc2V0VGltZW91dChtYWtlRHluYW1pY0NoYW5nZXMs
IDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="35308"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>