<?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>112075</bug_id>
          
          <creation_ts>2013-03-11 16:01:45 -0700</creation_ts>
          <short_desc>De-flake fast/dom/title-directionality.html</short_desc>
          <delta_ts>2013-03-11 16:42:45 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>852821</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-11 16:01:45 -0700</bug_when>
    <thetext>De-flake fast/dom/title-directionality.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852824</commentid>
    <comment_count>1</comment_count>
      <attachid>192584</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-11 16:03:34 -0700</bug_when>
    <thetext>Created attachment 192584
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852830</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-11 16:11:10 -0700</bug_when>
    <thetext>This patch does de-flake the test, but I don&apos;t fully understand how.  Without this patch:

Found 1 test; running 1 (500 times each: --repeat-each=100 --iterations=5), skipping 0.

Running 1 DumpRenderTree.       

[17/500] fast/dom/title-directionality.html failed unexpectedly (text diff)
...
                                        
478 tests ran as expected, 22 didn&apos;t:

With this patch:

Found 1 test; running 1 (500 times each: --repeat-each=100 --iterations=5), skipping 0.

Running 1 DumpRenderTree.       

All 500 tests ran as expected. 

I&apos;ve seen similar tests flake in the same way (differing in a trailing newline) because the HTML parser was at a different point in the main document when the test code ran, usually because of a setTimeout(..., 0) in an inline script.  There&apos;s no setTimeout here, but the parser is pumped synchronously on an iframe by doc.open()/write()/close().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852837</commentid>
    <comment_count>3</comment_count>
      <attachid>192584</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-03-11 16:16:37 -0700</bug_when>
    <thetext>Comment on attachment 192584
Patch

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

&gt; LayoutTests/ChangeLog:9
&gt; +        De-flake fast/dom/title-directionality.html
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=112075
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        * fast/dom/title-directionality-expected.txt:
&gt; +        * fast/dom/title-directionality.html:

Patch would be much better if this said what the fix was, and why it works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852840</commentid>
    <comment_count>4</comment_count>
      <attachid>192584</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-03-11 16:18:22 -0700</bug_when>
    <thetext>Comment on attachment 192584
Patch

Seems worth trying.  I guess there could be a race between the email iframe load and the first test case.  Not sure what type of error that would cause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852843</commentid>
    <comment_count>5</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2013-03-11 16:19:26 -0700</bug_when>
    <thetext>This smells like lazyAttach + Node::attach logic and the whitespace fixup stuff in there. eseidel had mentioned that code doesn&apos;t look right recently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852855</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-11 16:28:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 192584 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=192584&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:9
&gt; &gt; +        De-flake fast/dom/title-directionality.html
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=112075
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; &gt; +        * fast/dom/title-directionality-expected.txt:
&gt; &gt; +        * fast/dom/title-directionality.html:
&gt; 
&gt; Patch would be much better if this said what the fix was, and why it works.

Agreed - I don&apos;t fully understand why it works yet, so I can&apos;t populate a description.  I can put a guess in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852858</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-11 16:37:25 -0700</bug_when>
    <thetext>Elliot pointed out that the lazy attachment logic works by considering all nodes &apos;attached&apos; and then setting the style recalc timer.  This style recalc races against the HTML parser hitting the end of the document.  If the HTML parser yields after attaching some nodes before the end of the test (i.e. after running the inline script but before hitting the end of the main document), the collapsing logic in Node::attach() behaves in a different way than if the rest of the document is parsed without any interleaving style recalculations.

Since this particular test isn&apos;t intended to exercise the whitespace collapsing path and we have other (non-flaky) tests for this behavior, this just moves the test logic into an onload handler which fires after the document is fully parsed.

I&apos;ll land this patch with a description in the ChangeLog based on ^^.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852870</commentid>
    <comment_count>8</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-03-11 16:42:45 -0700</bug_when>
    <thetext>Committed r145429: &lt;http://trac.webkit.org/changeset/145429&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192584</attachid>
            <date>2013-03-11 16:03:34 -0700</date>
            <delta_ts>2013-03-11 16:18:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112075-20130311155934.patch</filename>
            <type>text/plain</type>
            <size>4276</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NDE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2Q4NGY1N2I4YWQyZjkyMjc4Njcx
MWI3YTYwODE4ZWZjNDE0MThlYy4uNTY1ZmJhMmNjY2RiZTlmYWRlNWRlNDg5YzdhMDk0ZGI3N2Zi
ZGZiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE1IEBACiAyMDEzLTAzLTExICBKYW1lcyBSb2JpbnNvbiAg
PGphbWVzckBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgRGUtZmxha2UgZmFzdC9kb20vdGl0bGUt
ZGlyZWN0aW9uYWxpdHkuaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTEyMDc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L2RvbS90aXRsZS1kaXJlY3Rpb25hbGl0eS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9kb20vdGl0bGUtZGlyZWN0aW9uYWxpdHkuaHRtbDoKKworMjAxMy0w
My0xMSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFVw
ZGF0ZSBjaHJvbWl1bSByZW5kZXIgdHJlZSBiYXNlbGluZXMgZm9yIHRyYWNrIGN1ZSBjaGFuZ2Vz
IGluIHIxNDUzOTcuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9tZWRpYS90
cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLWhvcml6b250YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpdGxlLWRpcmVjdGlvbmFsaXR5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpdGxlLWRpcmVjdGlvbmFsaXR5LWV4
cGVjdGVkLnR4dAppbmRleCBiMjMyNzY4NDBhZGNiN2VjZTg1YzM5MjUzNGM3YzhhZGY5NmFhZDI4
Li43ZGRmOGRkYWM3OGRhODBlNmMyY2JlZDI5YmRlZTRmMWFkMDhmMjQxIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS90aXRsZS1kaXJlY3Rpb25hbGl0eS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGl0bGUtZGlyZWN0aW9uYWxpdHktZXhwZWN0ZWQudHh0
CkBAIC0zLDQgKzMsMyBAQAogPGh0bWw+PHRpdGxlIGRpcj1ydGw+Zm9vPC90aXRsZT48L2h0bWw+
IHNob3VsZCBoYXZlIHRpdGxlIGRpcmVjdGlvbiAicnRsIi4gUEFTUwogPGh0bWwgZGlyPXJ0bD48
dGl0bGU+Zm9vPC90aXRsZT48L2h0bWw+IHNob3VsZCBoYXZlIHRpdGxlIGRpcmVjdGlvbiAicnRs
Ii4gUEFTUwogPGh0bWwgZGlyPXJ0bD48dGl0bGUgZGlyPWx0cj5mb288L3RpdGxlPjwvaHRtbD4g
c2hvdWxkIGhhdmUgdGl0bGUgZGlyZWN0aW9uICJsdHIiLiBQQVNTCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3RpdGxlLWRpcmVjdGlvbmFsaXR5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS90aXRsZS1kaXJlY3Rpb25hbGl0eS5odG1sCmluZGV4IDI3ZTVhOGYwM2FmOTdl
Zjk5MjlmODE1MzhiZTFjZDY4NjgzYmExMDIuLjM3NWE4YzlkZjUzMjY1ZjA5MDEzODNiMGEyMTFl
NDhhYmRmODFjNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3RpdGxlLWRpcmVj
dGlvbmFsaXR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vdGl0bGUtZGlyZWN0aW9u
YWxpdHkuaHRtbApAQCAtMyw0MyArMyw0NSBAQAogPGhlYWQ+CiA8dGl0bGU+cGFnZSB0aXRsZTwv
dGl0bGU+CiA8L2hlYWQ+Ci08Ym9keT4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxpZnJh
bWUgaWQ9aWZyYW1lPjwvaWZyYW1lPgogPHNjcmlwdD4KLXZhciBpZnJhbWUgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7CitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHZhciBp
ZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7CiAKLWZ1bmN0aW9uIGFz
c2VydERpcmVjdGlvbihsYWJlbCwgZXhwZWN0ZWREaXJlY3Rpb24sIGh0bWwpCi17Ci0gICAgdmFy
IGRvYyA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQ7Ci0gICAgZG9jLm9wZW4oKTsKLSAgICBkb2Mu
d3JpdGUoaHRtbCk7Ci0gICAgZG9jLmNsb3NlKCk7CisgICAgZnVuY3Rpb24gYXNzZXJ0RGlyZWN0
aW9uKGxhYmVsLCBleHBlY3RlZERpcmVjdGlvbiwgaHRtbCkKKyAgICB7CisgICAgICAgIHZhciBk
b2MgPSBpZnJhbWUuY29udGVudERvY3VtZW50OworICAgICAgICBkb2Mub3BlbigpOworICAgICAg
ICBkb2Mud3JpdGUoaHRtbCk7CisgICAgICAgIGRvYy5jbG9zZSgpOwogCi0gICAgdmFyIGRpciA9
IHdpbmRvdy50ZXN0UnVubmVyID8KLSAgICAgICAgdGVzdFJ1bm5lci50aXRsZVRleHREaXJlY3Rp
b24KLSAgICAgIDogJ3Rlc3RSdW5uZXIgdW5hdmFpbGFibGUnOwotICAgIHZhciBzdGF0dXMgPSBo
dG1sICsgJyBzaG91bGQgaGF2ZSB0aXRsZSBkaXJlY3Rpb24gIicgKyBleHBlY3RlZERpcmVjdGlv
biArICciLiAnOwotICAgIGlmIChkaXIgPT0gZXhwZWN0ZWREaXJlY3Rpb24pIHsKLSAgICAgICAg
c3RhdHVzICs9ICdQQVNTJzsKLSAgICB9IGVsc2UgewotICAgICAgICBzdGF0dXMgKz0gJ0ZBSUwg
KGdvdDogIicgKyBkaXIgKyAnIiknOworICAgICAgICB2YXIgZGlyID0gd2luZG93LnRlc3RSdW5u
ZXIgPworICAgICAgICAgICAgdGVzdFJ1bm5lci50aXRsZVRleHREaXJlY3Rpb24KKyAgICAgICAg
ICA6ICd0ZXN0UnVubmVyIHVuYXZhaWxhYmxlJzsKKyAgICAgICAgdmFyIHN0YXR1cyA9IGh0bWwg
KyAnIHNob3VsZCBoYXZlIHRpdGxlIGRpcmVjdGlvbiAiJyArIGV4cGVjdGVkRGlyZWN0aW9uICsg
JyIuICc7CisgICAgICAgIGlmIChkaXIgPT0gZXhwZWN0ZWREaXJlY3Rpb24pIHsKKyAgICAgICAg
ICAgIHN0YXR1cyArPSAnUEFTUyc7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBzdGF0
dXMgKz0gJ0ZBSUwgKGdvdDogIicgKyBkaXIgKyAnIiknOworICAgICAgICB9CisgICAgICAgIHZh
ciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgZGl2LmlubmVy
VGV4dCA9IHN0YXR1czsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOwog
ICAgIH0KLSAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAg
ZGl2LmlubmVyVGV4dCA9IHN0YXR1czsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRp
dik7Ci19CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogCi1hc3NlcnREaXJlY3Rpb24oJ25vcm1hbCBkb2MnLCAnbHRyJywKLSAgICAg
ICAgICAgICAgICAnPGh0bWw+PHRpdGxlPmZvbzwvdGl0bGU+PC9odG1sPicpOwotYXNzZXJ0RGly
ZWN0aW9uKCd0aXRsZSBkaXI9cnRsJywgJ3J0bCcsCi0gICAgICAgICAgICAgICAgJzxodG1sPjx0
aXRsZSBkaXI9cnRsPmZvbzwvdGl0bGU+PC9odG1sPicpOwotYXNzZXJ0RGlyZWN0aW9uKCdodG1s
IGRpcj1ydGwnLCAncnRsJywKLSAgICAgICAgICAgICAgICAnPGh0bWwgZGlyPXJ0bD48dGl0bGU+
Zm9vPC90aXRsZT48L2h0bWw+Jyk7Ci1hc3NlcnREaXJlY3Rpb24oJ2h0bWwgZGlyPXJ0bCwgdGl0
bGUgZGlyPWx0cicsICdsdHInLAotICAgICAgICAgICAgICAgICc8aHRtbCBkaXI9cnRsPjx0aXRs
ZSBkaXI9bHRyPmZvbzwvdGl0bGU+PC9odG1sPicpOworICAgIGFzc2VydERpcmVjdGlvbignbm9y
bWFsIGRvYycsICdsdHInLAorICAgICAgICAgICAgICAgICAgICAnPGh0bWw+PHRpdGxlPmZvbzwv
dGl0bGU+PC9odG1sPicpOworICAgIGFzc2VydERpcmVjdGlvbigndGl0bGUgZGlyPXJ0bCcsICdy
dGwnLAorICAgICAgICAgICAgICAgICAgICAnPGh0bWw+PHRpdGxlIGRpcj1ydGw+Zm9vPC90aXRs
ZT48L2h0bWw+Jyk7CisgICAgYXNzZXJ0RGlyZWN0aW9uKCdodG1sIGRpcj1ydGwnLCAncnRsJywK
KyAgICAgICAgICAgICAgICAgICAgJzxodG1sIGRpcj1ydGw+PHRpdGxlPmZvbzwvdGl0bGU+PC9o
dG1sPicpOworICAgIGFzc2VydERpcmVjdGlvbignaHRtbCBkaXI9cnRsLCB0aXRsZSBkaXI9bHRy
JywgJ2x0cicsCisgICAgICAgICAgICAgICAgICAgICc8aHRtbCBkaXI9cnRsPjx0aXRsZSBkaXI9
bHRyPmZvbzwvdGl0bGU+PC9odG1sPicpOworfQogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+
Cg==
</data>
<flag name="review"
          id="213858"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>