Bug 136366

Summary: ASSERTION FAILED: e in WebCore::StyleResolver::adjustRenderStyle
Product: WebKit Reporter: Renata Hodovan <rhodovan.u-szeged>
Component: CSSAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, benjamin, buildbot, commit-queue, jer.noble, rniwa, ysuzuki, zalan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 116980    
Attachments:
Description Flags
Test case
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2
none
Patch
none
Patch none

Description Renata Hodovan 2014-08-29 05:05:24 PDT
Created attachment 237344 [details]
Test case

The test case:

<!DOCTYPE html>
<style>
body :first-letter {
    -webkit-appearance:push-button;
}
</style>
<li>a</li>


Backtrace:

ASSERTION FAILED: e
/home/reni/data/REPOS/webkit/Source/WebCore/css/StyleResolver.cpp(1347) : void WebCore::StyleResolver::adjustRenderStyle(WebCore::RenderStyle&, const WebCore::RenderStyle&, WebCore::Element*)
1   0x7ffff3ef343b WTFCrash
2   0x7ffff37fc29e WebCore::StyleResolver::adjustRenderStyle(WebCore::RenderStyle&, WebCore::RenderStyle const&, WebCore::Element*)
3   0x7ffff37fa910 WebCore::StyleResolver::pseudoStyleForElement(WebCore::Element*, WebCore::PseudoStyleRequest const&, WebCore::RenderStyle*)
4   0x7ffff305971d WebCore::RenderObject::getUncachedPseudoStyle(WebCore::PseudoStyleRequest const&, WebCore::RenderStyle*, WebCore::RenderStyle*) const
5   0x7ffff3059437 WebCore::RenderObject::getCachedPseudoStyle(WebCore::PseudoId, WebCore::RenderStyle*) const
6   0x7ffff2edf152
7   0x7ffff2edf79e WebCore::RenderBlock::createFirstLetterRenderer(WebCore::RenderObject*, WebCore::RenderText*)
8   0x7ffff2ee0055 WebCore::RenderBlock::updateFirstLetter()
9   0x7ffff2ed257d WebCore::RenderBlock::layout()
10  0x7ffff3023055 WebCore::RenderListItem::layout()
11  0x7ffff2f00790 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
12  0x7ffff2f002b1 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
13  0x7ffff2eff6ce WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
14  0x7ffff2ed25af WebCore::RenderBlock::layout()
15  0x7ffff2f00790 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
16  0x7ffff2f002b1 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
17  0x7ffff2eff6ce WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
18  0x7ffff2ed25af WebCore::RenderBlock::layout()
19  0x7ffff2f00790 WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox&, WebCore::RenderBlockFlow::MarginInfo&, WebCore::LayoutUnit&, WebCore::LayoutUnit&)
20  0x7ffff2f002b1 WebCore::RenderBlockFlow::layoutBlockChildren(bool, WebCore::LayoutUnit&)
21  0x7ffff2eff6ce WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit)
22  0x7ffff2ed25af WebCore::RenderBlock::layout()
23  0x7ffff30bd207 WebCore::RenderView::layoutContent(WebCore::LayoutState const&)
24  0x7ffff30bd8d7 WebCore::RenderView::layout()
25  0x7ffff2cfd2e5 WebCore::FrameView::layout(bool)
26  0x7ffff27e806b WebCore::Document::implicitClose()
27  0x7ffff2bc4749 WebCore::FrameLoader::checkCallImplicitClose()
28  0x7ffff2bc44b1 WebCore::FrameLoader::checkCompleted()
29  0x7ffff2bc421a WebCore::FrameLoader::finishedParsing()
30  0x7ffff27f0aed WebCore::Document::finishedParsing()
31  0x7ffff39011b9 WebCore::HTMLConstructionSite::finishedParsing()

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff91255700 (LWP 18526)]
0x00007ffff3ef3440 in WTFCrash () at /home/reni/data/REPOS/webkit/Source/WTF/wtf/Assertions.cpp:329
329     *(int *)(uintptr_t)0xbbadbeef = 0;
#0  0x00007ffff3ef3440 in WTFCrash () at /home/reni/data/REPOS/webkit/Source/WTF/wtf/Assertions.cpp:329
#1  0x00007ffff37fc29e in WebCore::StyleResolver::adjustRenderStyle (this=0x711070, style=..., parentStyle=..., e=0x0) at /home/reni/data/REPOS/webkit/Source/WebCore/css/StyleResolver.cpp:1347
#2  0x00007ffff37fa910 in WebCore::StyleResolver::pseudoStyleForElement (this=0x711070, element=0x6b97d0, pseudoStyleRequest=..., parentStyle=0x7243b0) at /home/reni/data/REPOS/webkit/Source/WebCore/css/StyleResolver.cpp:977
#3  0x00007ffff305971d in WebCore::RenderObject::getUncachedPseudoStyle (this=0x7cddc0, pseudoStyleRequest=..., parentStyle=0x7243b0, ownStyle=0x0) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderObject.cpp:2143
#4  0x00007ffff3059437 in WebCore::RenderObject::getCachedPseudoStyle (this=0x7cddc0, pseudo=WebCore::FIRST_LETTER, parentStyle=0x7243b0) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderObject.cpp:2113
#5  0x00007ffff2edf152 in WebCore::styleForFirstLetter (firstLetterBlock=0x7cddc0, firstLetterContainer=0x7cddc0) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlock.cpp:3455
#6  0x00007ffff2edf79e in WebCore::RenderBlock::createFirstLetterRenderer (this=0x7cddc0, firstLetterBlock=0x7cddc0, currentTextChild=0x7d99b0) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlock.cpp:3547
#7  0x00007ffff2ee0055 in WebCore::RenderBlock::updateFirstLetter (this=0x7cddc0) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlock.cpp:3691
#8  0x00007ffff2ed257d in WebCore::RenderBlock::layout (this=0x7cddc0) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlock.cpp:1015
#9  0x00007ffff3023055 in WebCore::RenderListItem::layout (this=0x7cddc0) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderListItem.cpp:309
#10 0x00007ffff2f00790 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x7242e0, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:711
#11 0x00007ffff2f002b1 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x7242e0, relayoutChildren=true, maxFloatLogicalBottom=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:632
#12 0x00007ffff2eff6ce in WebCore::RenderBlockFlow::layoutBlock (this=0x7242e0, relayoutChildren=true, pageLogicalHeight=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:485
#13 0x00007ffff2ed25af in WebCore::RenderBlock::layout (this=0x7242e0) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlock.cpp:1019
#14 0x00007ffff2f00790 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x6e1600, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:711
#15 0x00007ffff2f002b1 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x6e1600, relayoutChildren=true, maxFloatLogicalBottom=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:632
#16 0x00007ffff2eff6ce in WebCore::RenderBlockFlow::layoutBlock (this=0x6e1600, relayoutChildren=true, pageLogicalHeight=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:485
#17 0x00007ffff2ed25af in WebCore::RenderBlock::layout (this=0x6e1600) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlock.cpp:1019
#18 0x00007ffff2f00790 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x6fbd70, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:711
#19 0x00007ffff2f002b1 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x6fbd70, relayoutChildren=true, maxFloatLogicalBottom=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:632
#20 0x00007ffff2eff6ce in WebCore::RenderBlockFlow::layoutBlock (this=0x6fbd70, relayoutChildren=true, pageLogicalHeight=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlockFlow.cpp:485
#21 0x00007ffff2ed25af in WebCore::RenderBlock::layout (this=0x6fbd70) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderBlock.cpp:1019
#22 0x00007ffff30bd207 in WebCore::RenderView::layoutContent (this=0x6fbd70, state=...) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderView.cpp:232
#23 0x00007ffff30bd8d7 in WebCore::RenderView::layout (this=0x6fbd70) at /home/reni/data/REPOS/webkit/Source/WebCore/rendering/RenderView.cpp:357
#24 0x00007ffff2cfd2e5 in WebCore::FrameView::layout (this=0x75f600, allowSubtree=true) at /home/reni/data/REPOS/webkit/Source/WebCore/page/FrameView.cpp:1301
#25 0x00007ffff27e806b in WebCore::Document::implicitClose (this=0x70e970) at /home/reni/data/REPOS/webkit/Source/WebCore/dom/Document.cpp:2440
#26 0x00007ffff2bc4749 in WebCore::FrameLoader::checkCallImplicitClose (this=0x6cf4d8) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/FrameLoader.cpp:898
#27 0x00007ffff2bc44b1 in WebCore::FrameLoader::checkCompleted (this=0x6cf4d8) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/FrameLoader.cpp:844
#28 0x00007ffff2bc421a in WebCore::FrameLoader::finishedParsing (this=0x6cf4d8) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/FrameLoader.cpp:764
#29 0x00007ffff27f0aed in WebCore::Document::finishedParsing (this=0x70e970) at /home/reni/data/REPOS/webkit/Source/WebCore/dom/Document.cpp:4523
#30 0x00007ffff39011b9 in WebCore::HTMLConstructionSite::finishedParsing (this=0x706758) at /home/reni/data/REPOS/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp:395
#31 0x00007ffff2adf389 in WebCore::HTMLTreeBuilder::finished (this=0x706740) at /home/reni/data/REPOS/webkit/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2997
#32 0x00007ffff2ab1028 in WebCore::HTMLDocumentParser::end (this=0x70e140) at /home/reni/data/REPOS/webkit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:451
#33 0x00007ffff2ab1113 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x70e140) at /home/reni/data/REPOS/webkit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:462
#34 0x00007ffff2aafac9 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x70e140) at /home/reni/data/REPOS/webkit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:165
#35 0x00007ffff2ab1156 in WebCore::HTMLDocumentParser::attemptToEnd (this=0x70e140) at /home/reni/data/REPOS/webkit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:474
#36 0x00007ffff2ab120d in WebCore::HTMLDocumentParser::finish (this=0x70e140) at /home/reni/data/REPOS/webkit/Source/WebCore/html/parser/HTMLDocumentParser.cpp:502
#37 0x00007ffff2bb5911 in WebCore::DocumentWriter::end (this=0x783410) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/DocumentWriter.cpp:250
#38 0x00007ffff2ba0ea7 in WebCore::DocumentLoader::finishedLoading (this=0x783370, finishTime=0) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/DocumentLoader.cpp:441
#39 0x00007ffff2ba0c10 in WebCore::DocumentLoader::notifyFinished (this=0x783370, resource=0x79e270) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/DocumentLoader.cpp:375
#40 0x00007ffff2c54952 in WebCore::CachedResource::checkNotify (this=0x79e270) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/cache/CachedResource.cpp:333
#41 0x00007ffff2c54a5c in WebCore::CachedResource::finishLoading (this=0x79e270) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/cache/CachedResource.cpp:349
#42 0x00007ffff2c5138a in WebCore::CachedRawResource::finishLoading (this=0x79e270, data=0x73aea0) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/cache/CachedRawResource.cpp:101
#43 0x00007ffff2c0452c in WebCore::SubresourceLoader::didFinishLoading (this=0x79e7d0, finishTime=0) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/SubresourceLoader.cpp:306
#44 0x00007ffff2c001bb in WebCore::ResourceLoader::didFinishLoading (this=0x79e7d0, finishTime=0) at /home/reni/data/REPOS/webkit/Source/WebCore/loader/ResourceLoader.cpp:512
#45 0x00007ffff339390d in WebCore::readCallback (asyncResult=0x7a21f0, data=0x79ee00) at /home/reni/data/REPOS/webkit/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1302
#46 0x00007fffeb3c1816 in async_ready_callback_wrapper (source_object=0x6c4db0, res=0x7a21f0, user_data=user_data@entry=0x79ee00) at ginputstream.c:523
#47 0x00007fffeb3e7115 in g_task_return_now (task=0x7a21f0) at gtask.c:1077
#48 0x00007fffeb3e7139 in complete_in_idle_cb (task=0x7a21f0) at gtask.c:1086
#49 0x00007fffeae23a7d in g_main_dispatch (context=0x6bc390) at gmain.c:3064
#50 g_main_context_dispatch (context=context@entry=0x6bc390) at gmain.c:3663
#51 0x00007fffec6875e0 in _ecore_glib_select__locked (ecore_timeout=<optimized out>, efds=<optimized out>, wfds=0x7fffffffd5d0, rfds=0x7fffffffd550, ecore_fds=10, ctx=<optimized out>) at lib/ecore/ecore_glib.c:172
#52 _ecore_glib_select (ecore_fds=10, rfds=0x7fffffffd550, wfds=0x7fffffffd5d0, efds=<optimized out>, ecore_timeout=<optimized out>) at lib/ecore/ecore_glib.c:204
#53 0x00007fffec689ff4 in _ecore_main_select (timeout=<optimized out>) at lib/ecore/ecore_main.c:1579
#54 0x00007fffec68a995 in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2005
#55 0x00007fffec68aa57 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1042
#56 0x00007ffff3f38db5 in WTF::RunLoop::run () at /home/reni/data/REPOS/webkit/Source/WTF/wtf/efl/RunLoopEfl.cpp:51
#57 0x00007ffff207062a in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain> (argc=2, argv=0x7fffffffda78) at /home/reni/data/REPOS/webkit/Source/WebKit2/Shared/unix/ChildProcessMain.h:61
#58 0x00007ffff2070408 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffda78) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:124
#59 0x000000000040084d in main (argc=2, argv=0x7fffffffda78) at /home/reni/data/REPOS/webkit/Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:32
Comment 1 Yusuke Suzuki 2014-09-10 03:16:24 PDT
When resolving styles for pseudo element, StyleResolver calls adjustRenderStyle with e = nullptr. I'll upload the patch.
Comment 2 Yusuke Suzuki 2014-09-11 10:30:08 PDT
Created attachment 237964 [details]
Patch

WIP: Compile Test in all ports
Comment 3 Yusuke Suzuki 2014-09-11 11:16:49 PDT
Created attachment 237969 [details]
Patch

WIP: Compile Test in all ports
Comment 4 Yusuke Suzuki 2014-09-11 12:06:51 PDT
Created attachment 237974 [details]
Patch
Comment 5 Yusuke Suzuki 2014-09-12 11:45:21 PDT
Created attachment 238042 [details]
Patch
Comment 6 Yusuke Suzuki 2014-09-12 11:48:13 PDT
Created attachment 238043 [details]
Patch
Comment 7 Yusuke Suzuki 2014-09-12 11:51:24 PDT
I'm praying for build success in all ports......
Comment 8 Benjamin Poulain 2014-09-12 12:58:04 PDT
Comment on attachment 238043 [details]
Patch

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

> LayoutTests/fast/css/appearance-with-pseudo-elements.html:6
> +#bug :first-line {

Let's extend this test case. Can you please add rules for?
-::before
-::after
-Pseudo elements in compatibility mode with one ':' and in normal mode with '::'
Comment 9 Yusuke Suzuki 2014-09-12 13:05:56 PDT
Comment on attachment 238043 [details]
Patch

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

Thanks for your review.

>> LayoutTests/fast/css/appearance-with-pseudo-elements.html:6
>> +#bug :first-line {
> 
> Let's extend this test case. Can you please add rules for?
> -::before
> -::after
> -Pseudo elements in compatibility mode with one ':' and in normal mode with '::'

Yes. Will extend this and change `:first-letter` etc.'s `:` to `::`.
Comment 10 Yusuke Suzuki 2014-09-12 13:33:50 PDT
Committed r173571: <http://trac.webkit.org/changeset/173571>
Comment 11 Yusuke Suzuki 2014-09-12 13:35:50 PDT
(In reply to comment #8)
> (From update of attachment 238043 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=238043&action=review
> 
> > LayoutTests/fast/css/appearance-with-pseudo-elements.html:6
> > +#bug :first-line {
> 
> Let's extend this test case. Can you please add rules for?
> -::before
> -::after
> -Pseudo elements in compatibility mode with one ':' and in normal mode with '::'

Oops. I've misunderstood the third pattern. Sorry. I've simply changed `:` to `::`. I'll add tests for `:` case.
Comment 12 Yusuke Suzuki 2014-09-12 13:48:49 PDT
Created attachment 238050 [details]
Patch
Comment 13 Yusuke Suzuki 2014-09-12 13:52:51 PDT
Comment on attachment 238050 [details]
Patch

Hi Benjamin,
Sorry, I've misunderstood the (3) comment and I've simply changed `:` to `::` and landed the patch.
After landed the patch, I noticed it. So I've created the additional patch to add test for quirks mode. Could you review this?
It simply adds the same test for quirks mode.
Comment 14 Benjamin Poulain 2014-09-12 14:26:52 PDT
Comment on attachment 238050 [details]
Patch

LGTM, thanks for the update.
Comment 15 Yusuke Suzuki 2014-09-12 14:28:39 PDT
(In reply to comment #14)
> (From update of attachment 238050 [details])
> LGTM, thanks for the update.

Thank you for your super fast reply and r+ :)
Comment 16 Build Bot 2014-09-12 14:52:23 PDT
Comment on attachment 238050 [details]
Patch

Attachment 238050 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/6269693912416256

New failing tests:
fast/css/appearance-with-pseudo-elements-in-quirks-mode.html
Comment 17 Build Bot 2014-09-12 14:52:27 PDT
Created attachment 238061 [details]
Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-12  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 18 Yusuke Suzuki 2014-09-12 14:57:38 PDT
(In reply to comment #17)
> Created an attachment (id=238061) [details]
> Archive of layout-test-results from webkit-ews-12 for mac-mountainlion-wk2
> 
> The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
> Bot: webkit-ews-12  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5

Hm, GTK passes, but Mac fails. I'll check out the issue on the OSX environment.
Maybe, 

#description:first-letter {
    -webkit-appearance: push-button;
}
#bug:first-line {
    -webkit-appearance: menulist-button;  /* In the older implementation, it incurs crash. */
}

affects the style I think
Comment 19 Yusuke Suzuki 2014-09-12 15:08:26 PDT
Created attachment 238063 [details]
Patch
Comment 20 Yusuke Suzuki 2014-09-12 15:10:58 PDT
Created attachment 238064 [details]
Patch
Comment 21 Yusuke Suzuki 2014-09-12 15:38:54 PDT
Comment on attachment 238064 [details]
Patch

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

I've built it in OSX environment and ensured that the test fixed in this patch works correctly. So this patch becomes ready to review.
Sorry to cause you trouble.

> LayoutTests/fast/css/appearance-with-pseudo-elements-expected.html:8
> +}

In OSX environment, this `push-button` affects the style of the pseudo element ::first-letter. So applying it in the expected.html is needed.
Comment 22 Jer Noble 2014-09-12 16:40:09 PDT
The appearance-with-pseudo-elements-expected.html test has been failing since it was added in r173587.  See: <http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Fcss%2Fappearance-with-pseudo-elements.html>
Comment 23 Jer Noble 2014-09-12 16:41:30 PDT
Sorry, since r173571 <http://trac.webkit.org/r173571>.
Comment 24 Jer Noble 2014-09-12 16:43:10 PDT
Ah, I see the follow up patch will fix this. Carry on. :)
Comment 25 WebKit Commit Bot 2014-09-12 17:09:26 PDT
Comment on attachment 238064 [details]
Patch

Clearing flags on attachment: 238064

Committed r173592: <http://trac.webkit.org/changeset/173592>
Comment 26 WebKit Commit Bot 2014-09-12 17:09:33 PDT
All reviewed patches have been landed.  Closing bug.
Comment 27 Yusuke Suzuki 2014-09-13 00:52:09 PDT
(In reply to comment #24)
> Ah, I see the follow up patch will fix this. Carry on. :)

Sorry to break the build and thank you for landing this, Jer.