Created attachment 240426 [details] calculated css wordSpacing Open the attached test file. Result: ASSERTION NOT REACHED with the following call-stack: #1 0x000000011a1ea347 in WebCore::RenderStyle::setWordSpacing(WebCore::Length) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/rendering/style/RenderStyle.cpp:1385 #2 0x0000000118d1685e in WebCore::LengthPropertyWrapper<WebCore::Length>::blend(WebCore::AnimationBase const*, WebCore::RenderStyle*, WebCore::RenderStyle const*, WebCore::RenderStyle const*, double) const at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/CSSPropertyAnimation.cpp:456 #3 0x0000000118d083ac in WebCore::CSSPropertyAnimation::blendProperties(WebCore::AnimationBase const*, WebCore::CSSPropertyID, WebCore::RenderStyle*, WebCore::RenderStyle const*, WebCore::RenderStyle const*, double) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/CSSPropertyAnimation.cpp:1366 #4 0x0000000119ceced1 in WebCore::KeyframeAnimation::animate(WebCore::CompositeAnimation*, WebCore::RenderElement*, WebCore::RenderStyle const*, WebCore::RenderStyle*, WTF::RefPtr<WebCore::RenderStyle>&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/KeyframeAnimation.cpp:167 #5 0x0000000118b4e518 in WebCore::CompositeAnimation::animate(WebCore::RenderElement&, WebCore::RenderStyle*, WebCore::RenderStyle&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/CompositeAnimation.cpp:322 #6 0x000000011894d85a in WebCore::AnimationController::updateAnimations(WebCore::RenderElement&, WTF::PassRef<WebCore::RenderStyle>) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/AnimationController.cpp:519 #7 0x000000011a5d2ac1 in WebCore::RenderElement::setAnimatableStyle(WTF::PassRef<WebCore::RenderStyle>) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/rendering/RenderElement.h:254 #8 0x000000011a5cf96f in WebCore::Style::resolveLocal(WebCore::Element&, WebCore::RenderStyle&, WebCore::Style::RenderTreePosition&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:767 #9 0x000000011a5cd1dd in WebCore::Style::resolveTree(WebCore::Element&, WebCore::RenderStyle&, WebCore::Style::RenderTreePosition&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:921 #10 0x000000011a5cd43b in WebCore::Style::resolveTree(WebCore::Element&, WebCore::RenderStyle&, WebCore::Style::RenderTreePosition&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:958 #11 0x000000011a5cd43b in WebCore::Style::resolveTree(WebCore::Element&, WebCore::RenderStyle&, WebCore::Style::RenderTreePosition&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:958 #12 0x000000011a5cd098 in WebCore::Style::resolveTree(WebCore::Document&, WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/style/StyleResolveTree.cpp:1000 #13 0x0000000118e5cb96 in WebCore::Document::recalcStyle(WebCore::Style::Change) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Document.cpp:1798 #14 0x0000000118e58d6f in WebCore::Document::updateStyleIfNeeded() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/dom/Document.cpp:1843 #15 0x000000011894bd61 in WebCore::AnimationControllerPrivate::updateAnimations(WebCore::SetChanged) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/AnimationController.cpp:118 #16 0x000000011894beaf in WebCore::AnimationControllerPrivate::updateAnimationTimer(WebCore::SetChanged) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/AnimationController.cpp:139 #17 0x000000011894b7bd in WebCore::AnimationControllerPrivate::animationTimerFired(WebCore::Timer<WebCore::AnimationControllerPrivate>&) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/page/animation/AnimationController.cpp:236 #18 0x0000000118958547 in decltype(*(std::__1::forward<WebCore::AnimationControllerPrivate*&>(fp0)).*fp(std::__1::forward<WebCore::Timer<WebCore::AnimationControllerPrivate>&>(fp1))) std::__1::__invoke<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, WebCore::Timer<WebCore::AnimationControllerPrivate>&, void>(void (WebCore::AnimationControllerPrivate::*&&&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&&&, WebCore::Timer<WebCore::AnimationControllerPrivate>&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/__functional_base:380 #19 0x00000001189584b5 in std::__1::__bind_return<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::tuple<>, _is_valid_bind_return<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, 0ul, 1ul, std::__1::tuple<> >(void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >&, std::__1::__tuple_indices<0ul, 1ul>, std::__1::tuple<>&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/functional:2022 #20 0x0000000118958447 in std::__1::__bind_return<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::tuple<>, _is_valid_bind_return<void (WebCore::AnimationControllerPrivate::*)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), std::__1::tuple<WebCore::AnimationControllerPrivate*, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::tuple<> >::value>::type std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >::operator()<>() [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/functional:2085 #21 0x000000011895841c in decltype(std::__1::forward<std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >&>(fp)(std::__1::forward<>(fp0))) std::__1::__invoke<std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >&>(std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >&&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/__functional_base:413 #22 0x000000011895841c in std::__1::__function::__func<std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > >, std::__1::allocator<std::__1::__bind<void (WebCore::AnimationControllerPrivate::*&)(WebCore::Timer<WebCore::AnimationControllerPrivate>&), WebCore::AnimationControllerPrivate*&, std::__1::reference_wrapper<WebCore::Timer<WebCore::AnimationControllerPrivate> > > >, void ()>::operator()() at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/functional:1370 #23 0x000000011891e68a in std::__1::function<void ()>::operator()() const at /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/../include/c++/v1/functional:1755 #24 0x0000000118956fac in WebCore::Timer<WebCore::AnimationControllerPrivate>::fired() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/Timer.h:133 #25 0x000000011a7c5cdc in WebCore::ThreadTimers::sharedTimerFiredInternal() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/ThreadTimers.cpp:132 #26 0x000000011a7c5999 in WebCore::ThreadTimers::sharedTimerFired() at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/ThreadTimers.cpp:107 #27 0x000000011a48aeff in WebCore::timerFired(__CFRunLoopTimer*, void*) at /Volumes/Data/WebKit/OpenSource/Source/WebCore/platform/mac/SharedTimerMac.mm:124
Created attachment 240442 [details] Patch
Comment on attachment 240442 [details] Patch Make sure you update the patch before committing so that it compiles.
Created attachment 240628 [details] Patch
Comment on attachment 240628 [details] Patch Clearing flags on attachment: 240628 Committed r175363: <http://trac.webkit.org/changeset/175363>
All reviewed patches have been landed. Closing bug.