[Webkit-unassigned] [Bug 131842] ASSERTION FAILED: !isUndefined() in WebCore::Length::isZero()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Apr 18 05:23:50 PDT 2014


https://bugs.webkit.org/show_bug.cgi?id=131842


Martin Hodovan <mhodovan.u-szeged at partner.samsung.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #229639|                            |review?, commit-queue?
               Flag|                            |




--- Comment #1 from Martin Hodovan <mhodovan.u-szeged at partner.samsung.com>  2014-04-18 05:24:07 PST ---
Created an attachment (id=229639)
 --> (https://bugs.webkit.org/attachment.cgi?id=229639&action=review)
Proposed patch

The problem:

In case the initial style of a -webkit-transition is not defined, a default RenderStyle object
is used instead. This object has a StyleBoxData member called m_box, and its maxHeight
attribute is needed while calculating the frames of the animation, namely blending the properties
of the initial and final styles. But since the default StyleBoxData has an 'Undefined' maximum
height, the blending is not possible. (Blending calculates percentage values and maxHeight
is supposed to define 100% of the vertical length.)

My recommendation is an early return before RenderElement::setAnimatableStyle, so we could
ignore the transition in similar malformed cases (which would provide no sensible output anyway).

Another solution could be setting the maxHeight of the default RenderStyle to 'Fixed' value,
which normally gets updated later. This could be done by RenderStyle::initialMaxSize()
if it returned with Length(Fixed), as its sibling function RenderStyle::initialMinSize()
and every similar neighbouring functions do.

Alternatively, we could set the maxHeight member of  the initial style to the maxHeight value
of the final style in similar cases. It might seem like a workaround, though.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list