Changeset 151513 in webkit


Ignore:
Timestamp:
Jun 12, 2013 11:28:24 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[CSS Shaders] Animations and transitions should use validated custom programs
https://bugs.webkit.org/show_bug.cgi?id=117550

Run filters used for animations and transitions through RenderLayer::computeFilterOperations
in order to validate custom filter operations.

Patch by Ralph Thomas <ralpht@gmail.com> on 2013-06-12
Reviewed by Alexandru Chiculita.

No new tests as no platform can run custom filters with accelerated animations yet.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r151512 r151513  
     12013-06-12  Ralph Thomas  <ralpht@gmail.com>
     2
     3        [CSS Shaders] Animations and transitions should use validated custom programs
     4        https://bugs.webkit.org/show_bug.cgi?id=117550
     5
     6        Run filters used for animations and transitions through RenderLayer::computeFilterOperations
     7        in order to validate custom filter operations.
     8
     9        Reviewed by Alexandru Chiculita.
     10
     11        No new tests as no platform can run custom filters with accelerated animations yet.
     12
     13        * rendering/RenderLayerBacking.cpp:
     14        (WebCore::RenderLayerBacking::startAnimation):
     15        (WebCore::RenderLayerBacking::startTransition):
     16
    1172013-06-12  Ruth Fong  <ruth_fong@apple.com>
    218
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r150898 r151513  
    21222122#if ENABLE(CSS_FILTERS)
    21232123        if ((hasFilter && isFirstOrLastKeyframe) || currentKeyframe.containsProperty(CSSPropertyWebkitFilter))
    2124             filterVector.insert(FilterAnimationValue::create(key, keyframeStyle->filter(), tf));
     2124            filterVector.insert(FilterAnimationValue::create(key, owningLayer()->computeFilterOperations(keyframeStyle), tf));
    21252125#endif
    21262126    }
     
    21922192        if (filterAnim && !filterAnim->isEmptyOrZeroDuration()) {
    21932193            KeyframeValueList filterVector(AnimatedPropertyWebkitFilter);
    2194             filterVector.insert(FilterAnimationValue::create(0, fromStyle->filter()));
    2195             filterVector.insert(FilterAnimationValue::create(1, toStyle->filter()));
     2194            filterVector.insert(FilterAnimationValue::create(0, owningLayer()->computeFilterOperations(fromStyle)));
     2195            filterVector.insert(FilterAnimationValue::create(1, owningLayer()->computeFilterOperations(toStyle)));
    21962196            if (m_graphicsLayer->addAnimation(filterVector, IntSize(), filterAnim, GraphicsLayer::animationNameForTransition(AnimatedPropertyWebkitFilter), timeOffset)) {
    21972197                // To ensure that the correct filter is visible when the animation ends, also set the final filter.
Note: See TracChangeset for help on using the changeset viewer.