Bug 123005

Summary: [Windows] button-first-line-first-letter fails after r156527
Product: WebKit Reporter: Roger Fong <roger_fong>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: kling, koivisto, roger_fong
Priority: P2 Keywords: LayoutTestFailure, PlatformOnly, Regression
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows 7   

Description Roger Fong 2013-10-17 17:29:58 PDT
fast\forms\button-first-line-first-letter.html

Assertion failure:     ASSERT(innerStyle->refCount() == 1);

>	WebKit.dll!WebCore::RenderButton::setupInnerStyle(WebCore::RenderStyle * innerStyle)  Line 129	C++
     WebKit.dll!WebCore::RenderButton::styleDidChange(WebCore::StyleDifference diff, const WebCore::RenderStyle * oldStyle)  Line 111    C++
     WebKit.dll!WebCore::RenderElement::setStyle(WTF::PassRefPtr<WebCore::RenderStyle> style)  Line 398    C++
     WebKit.dll!WebCore::RenderElement::setAnimatableStyle(WTF::PassRefPtr<WebCore::RenderStyle> style)  Line 436    C++
     WebKit.dll!WebCore::Style::resolveLocal(WebCore::Element & current, WebCore::Style::Change inheritedChange)  Line 604 + 0x19 bytes    C++
     WebKit.dll!WebCore::Style::resolveTree(WebCore::Element & current, WebCore::Style::Change change)  Line 740 + 0xd bytes    C++
     WebKit.dll!WebCore::Style::resolveTree(WebCore::Element & current, WebCore::Style::Change change)  Line 772 + 0xd bytes    C++
     WebKit.dll!WebCore::Style::resolveTree(WebCore::Element & current, WebCore::Style::Change change)  Line 772 + 0xd bytes    C++
     WebKit.dll!WebCore::Style::resolveTree(WebCore::Document & document, WebCore::Style::Change change)  Line 812 + 0xd bytes    C++
     WebKit.dll!WebCore::Document::recalcStyle(WebCore::Style::Change change)  Line 1729 + 0xd bytes    C++

The following .letter::first-letter { color: green; } is causing the problem.
Comment 1 Roger Fong 2013-10-17 17:32:56 PDT
The refcount is 2 instead of 1.

I'm also noticing that the RenderStyle passed to setAnimatableStyle(WTF::PassRefPtr<WebCore::RenderStyle> style)  Line 436    C++
has a refcoutn of 3. 

When the test is working it has a count of 4.