| Summary: | ASSERTION FAILED: !isUndefined() in WebCore::Length::isZero() | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Martin Hodovan <mhodovan.u-szeged> | ||||||||||||
| Component: | Animations | Assignee: | Nobody <webkit-unassigned> | ||||||||||||
| Status: | RESOLVED CONFIGURATION CHANGED | ||||||||||||||
| Severity: | Normal | CC: | allan.jensen, benjamin, bfulgham, buildbot, darin, dbates, dino, kling, koivisto, mihnea, ojan, rhodovan.u-szeged, rniwa, simon.fraser, tony, webkit-bug-importer, zalan | ||||||||||||
| Priority: | P2 | Keywords: | InRadar | ||||||||||||
| Version: | 528+ (Nightly build) | ||||||||||||||
| Hardware: | Unspecified | ||||||||||||||
| OS: | Unspecified | ||||||||||||||
| Bug Depends on: | |||||||||||||||
| Bug Blocks: | 116980 | ||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
Martin Hodovan
2014-04-18 04:25:35 PDT
Created attachment 229639 [details]
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.
Comment on attachment 229639 [details] Proposed patch Attachment 229639 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5419634564005888 New failing tests: compositing/geometry/layer-due-to-layer-children-switch.html accessibility/radio-button-group-members.html compositing/framesets/composited-frame-alignment.html compositing/iframes/connect-compositing-iframe-delayed.html animations/added-while-suspended.html accessibility/text-role-with-aria-hidden-inside.html accessibility/visible-elements.html compositing/geometry/fixed-position-composited-switch.html compositing/iframes/become-overlapped-iframe.html accessibility/link-inside-button-accessible-text.html accessibility/meter-element.html accessibility/poorly-formed-aria-table.html compositing/animation/animation-compositing.html compositing/geometry/bounds-ignores-hidden-dynamic.html compositing/animation/computed-style-during-delay.html compositing/iframes/connect-compositing-iframe3.html compositing/geometry/layer-due-to-layer-children-deep-switch.html compositing/contents-scale/animating.html compositing/geometry/ancestor-overflow-change.html http/tests/css/shared-stylesheet-mutation-preconstruct.html compositing/animation/animated-composited-inside-hidden.html compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html compositing/iframes/become-composited-nested-iframes.html accessibility/aria-setsize-posinset.html compositing/contents-opaque/hidden-with-visible-text.html animations/3d/change-transform-in-end-event.html compositing/contents-scale/incremental-change.html compositing/background-color/background-color-padding-change.html accessibility/list-detection.html compositing/contents-opaque/visibility-hidden.html Created attachment 229642 [details]
Archive of layout-test-results from webkit-ews-14 for mac-mountainlion-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-14 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Comment on attachment 229639 [details] Proposed patch Attachment 229639 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/6554479813984256 New failing tests: compositing/iframes/iframe-resize.html accessibility/radio-button-group-members.html compositing/framesets/composited-frame-alignment.html compositing/iframes/invisible-nested-iframe-show.html compositing/iframes/connect-compositing-iframe-delayed.html compositing/columns/composited-lr-paginated-repaint.html accessibility/text-role-with-aria-hidden-inside.html accessibility/visible-elements.html compositing/geometry/fixed-position-composited-switch.html compositing/iframes/iframe-content-flipping.html compositing/iframes/become-overlapped-iframe.html accessibility/link-inside-button-accessible-text.html accessibility/meter-element.html accessibility/poorly-formed-aria-table.html compositing/iframes/iframe-src-change.html compositing/geometry/bounds-ignores-hidden-dynamic.html compositing/iframes/connect-compositing-iframe3.html compositing/iframes/enter-compositing-iframe.html compositing/geometry/layer-due-to-layer-children-deep-switch.html compositing/geometry/ancestor-overflow-change.html compositing/animation/animated-composited-inside-hidden.html compositing/iframes/iframe-size-to-zero.html compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html compositing/iframes/connect-compositing-iframe.html compositing/iframes/become-composited-nested-iframes.html accessibility/aria-setsize-posinset.html compositing/contents-opaque/hidden-with-visible-text.html compositing/background-color/background-color-padding-change.html accessibility/list-detection.html compositing/contents-opaque/visibility-hidden.html Created attachment 229643 [details]
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-01 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Comment on attachment 229639 [details] Proposed patch Attachment 229639 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/6270908893233152 New failing tests: compositing/iframes/iframe-resize.html accessibility/radio-button-group-members.html compositing/framesets/composited-frame-alignment.html compositing/iframes/invisible-nested-iframe-show.html compositing/iframes/connect-compositing-iframe-delayed.html compositing/columns/composited-lr-paginated-repaint.html accessibility/text-role-with-aria-hidden-inside.html accessibility/visible-elements.html compositing/geometry/fixed-position-composited-switch.html compositing/iframes/iframe-content-flipping.html compositing/iframes/become-overlapped-iframe.html accessibility/link-inside-button-accessible-text.html accessibility/meter-element.html accessibility/poorly-formed-aria-table.html compositing/iframes/iframe-src-change.html compositing/geometry/bounds-ignores-hidden-dynamic.html compositing/iframes/connect-compositing-iframe3.html compositing/iframes/enter-compositing-iframe.html compositing/geometry/layer-due-to-layer-children-deep-switch.html compositing/geometry/ancestor-overflow-change.html compositing/animation/animated-composited-inside-hidden.html compositing/iframes/iframe-size-to-zero.html compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html compositing/iframes/connect-compositing-iframe.html compositing/iframes/become-composited-nested-iframes.html accessibility/aria-setsize-posinset.html compositing/contents-opaque/hidden-with-visible-text.html compositing/background-color/background-color-padding-change.html accessibility/list-detection.html compositing/contents-opaque/visibility-hidden.html Created attachment 229644 [details]
Archive of layout-test-results from webkit-ews-05 for mac-mountainlion
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-05 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Comment on attachment 229639 [details]
Proposed patch
This patch seems fine, but breaks a number of tests. You need to assess whether the tests are invalid (and codify some kind of broken behavior). I suspect that there may be valid cases where maxHeight is not defined, and the tests are showing us that this change is not right.
*** Bug 114878 has been marked as a duplicate of this bug. *** I hit this assert in a debug WebKit build @r199827) after signing into blogger.com. This reproduces in r204037. I can't reproduce this with 209438. |