Changeset 107665 in webkit


Ignore:
Timestamp:
Feb 13, 2012, 8:41:55 PM (13 years ago)
Author:
wjmaclean@chromium.org
Message:

[chromium] Remove obsolete zoom animation pathway.
https://bugs.webkit.org/show_bug.cgi?id=78359

Reviewed by James Robinson.

Source/WebCore:

Tests for existing pathways should not be broken. Tests for removed pathway removed previously.

This patch removes dead code from the previous incarnation of zoom animation for chromium.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleGestureEvent):

  • page/FrameView.cpp:
  • page/FrameView.h:

(FrameView):

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::ScrollAnimator):

  • platform/ScrollAnimator.h:

(ScrollAnimator):

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
(WebCore::ScrollAnimatorNone::animationTimerFired):

  • platform/ScrollAnimatorNone.h:

(ScrollAnimatorNone):

  • platform/ScrollableArea.cpp:
  • platform/ScrollableArea.h:
  • testing/InternalSettings.cpp:
  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:
  • testing/Internals.cpp:

Source/WebKit/chromium:

This patch removes dead code from the previous incarnation of zoom animation for chromium.

  • src/WebViewImpl.cpp:

Source/WebKit2:

This patch removes dead code from the previous incarnation of zoom animation for chromium.

WebProcess/Plugins/PDF/BuiltInPDFView.h:
(BuiltInPDFView):

Location:
trunk/Source
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r107663 r107665  
     12012-02-13  W. James MacLean  <wjmaclean@chromium.org>
     2
     3        [chromium] Remove obsolete zoom animation pathway.
     4        https://bugs.webkit.org/show_bug.cgi?id=78359
     5
     6        Reviewed by James Robinson.
     7
     8        Tests for existing pathways should not be broken. Tests for removed pathway removed previously.
     9
     10        This patch removes dead code from the previous incarnation of zoom animation for chromium.
     11
     12        * page/EventHandler.cpp:
     13        (WebCore::EventHandler::handleGestureEvent):
     14        * page/FrameView.cpp:
     15        * page/FrameView.h:
     16        (FrameView):
     17        * platform/ScrollAnimator.cpp:
     18        (WebCore::ScrollAnimator::ScrollAnimator):
     19        * platform/ScrollAnimator.h:
     20        (ScrollAnimator):
     21        * platform/ScrollAnimatorNone.cpp:
     22        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
     23        (WebCore::ScrollAnimatorNone::animationTimerFired):
     24        * platform/ScrollAnimatorNone.h:
     25        (ScrollAnimatorNone):
     26        * platform/ScrollableArea.cpp:
     27        * platform/ScrollableArea.h:
     28        * testing/InternalSettings.cpp:
     29        * testing/InternalSettings.h:
     30        (InternalSettings):
     31        * testing/InternalSettings.idl:
     32        * testing/Internals.cpp:
     33
    1342012-02-13  Shinya Kawanaka  <shinyak@chromium.org>
    235
  • trunk/Source/WebCore/page/EventHandler.cpp

    r107296 r107665  
    23632363    }
    23642364    case PlatformEvent::GestureDoubleTap:
     2365        break;
    23652366    case PlatformEvent::GestureScrollBegin:
    23662367    case PlatformEvent::GestureScrollEnd: {
  • trunk/Source/WebCore/page/FrameView.cpp

    r107657 r107665  
    7171#if USE(ACCELERATED_COMPOSITING)
    7272#include "RenderLayerCompositor.h"
    73 #if PLATFORM(CHROMIUM)
    74 #include "TraceEvent.h"
    75 #endif
    7673#endif
    7774
     
    12301227}
    12311228
    1232 void FrameView::zoomAnimatorTransformChanged(float scale, float x, float y, ZoomAnimationState state)
    1233 {
    1234     if (state == ZoomAnimationFinishing) {
    1235         if (Page* page = m_frame->page())
    1236             page->setPageScaleFactor(page->pageScaleFactor() * scale, IntPoint(scale * scrollX() - x, scale * scrollY() - y));
    1237         scrollAnimator()->resetZoom();
    1238     }
    1239 
    1240 #if USE(ACCELERATED_COMPOSITING)
    1241     if (RenderView* root = rootRenderer(this)) {
    1242         if (root->usesCompositing()) {
    1243             root->compositor()->scheduleLayerFlush();
    1244 #if PLATFORM(CHROMIUM)
    1245             TRACE_EVENT("FrameView::zoomAnimatorTransformChanged", this, 0);
    1246 #endif
    1247         }
    1248     }
    1249 #endif
    1250 }
    1251 
    12521229void FrameView::setMediaType(const String& mediaType)
    12531230{
  • trunk/Source/WebCore/page/FrameView.h

    r107646 r107665  
    171171    virtual bool shouldRubberBandInDirection(ScrollDirection) const;
    172172    virtual bool requestScrollPositionUpdate(const IntPoint&) OVERRIDE;
    173 
    174     virtual void zoomAnimatorTransformChanged(float, float, float, ZoomAnimationState);
    175173
    176174    String mediaType() const;
  • trunk/Source/WebCore/platform/ScrollAnimator.cpp

    r99616 r107665  
    5353    , m_currentPosX(0)
    5454    , m_currentPosY(0)
    55     , m_currentZoomScale(1)
    56     , m_currentZoomTransX(0)
    57     , m_currentZoomTransY(0)
    5855{
    5956}
     
    142139}
    143140
    144 void ScrollAnimator::notifyZoomChanged(ZoomAnimationState state)
    145 {
    146     m_scrollableArea->zoomAnimatorTransformChanged(m_currentZoomScale, m_currentZoomTransX, m_currentZoomTransY,
    147                                                    state == ZoomAnimationContinuing ? ScrollableArea::ZoomAnimationContinuing
    148                                                                                     : ScrollableArea::ZoomAnimationFinishing);
    149 }
    150 
    151 FloatPoint ScrollAnimator::zoomTranslation() const
    152 {
    153     return FloatPoint(m_currentZoomTransX, m_currentZoomTransY);
    154 }
    155 
    156 void ScrollAnimator::resetZoom()
    157 {
    158     m_currentZoomScale = 1;
    159     m_currentZoomTransX = 0;
    160     m_currentZoomTransY = 0;
    161 }
    162 
    163 void ScrollAnimator::setZoomParametersForTest(float scale, float x, float y)
    164 {
    165     m_currentZoomScale = scale;
    166     m_currentZoomTransX = (1 - scale) * x;
    167     m_currentZoomTransY = (1 - scale) * y;
    168     notifyZoomChanged(ZoomAnimationContinuing); // Don't let page re-scale.
    169 }
    170 
    171141} // namespace WebCore
  • trunk/Source/WebCore/platform/ScrollAnimator.h

    r107490 r107665  
    4848class ScrollAnimator {
    4949public:
    50     enum ZoomAnimationState { ZoomAnimationContinuing, ZoomAnimationFinishing };
    51 
    5250    static PassOwnPtr<ScrollAnimator> create(ScrollableArea*);
    5351
     
    9290    virtual void willRemoveHorizontalScrollbar(Scrollbar*) { }
    9391
    94     float zoomScale() const { return m_currentZoomScale; }
    95     FloatPoint zoomTranslation() const;
    96     virtual void resetZoom();
    97     virtual void setZoomParametersForTest(float, float, float);
    98 
    9992    virtual bool shouldScrollbarParticipateInHitTesting(Scrollbar*) { return true; }
    10093
     
    10598
    10699    virtual void notifyPositionChanged();
    107     virtual void notifyZoomChanged(ZoomAnimationState);
    108100
    109101    ScrollableArea* m_scrollableArea;
    110102    float m_currentPosX; // We avoid using a FloatPoint in order to reduce
    111103    float m_currentPosY; // subclass code complexity.
    112 
    113     float m_currentZoomScale;
    114     float m_currentZoomTransX;
    115     float m_currentZoomTransY;
    116104};
    117105
  • trunk/Source/WebCore/platform/ScrollAnimatorNone.cpp

    r103112 r107665  
    372372}
    373373
    374 ScrollAnimatorNone::ZoomData::ZoomData(WebCore::ScrollAnimatorNone* parent)
    375     : m_parent(parent)
    376     , m_isAnimating(false)
    377 {
    378 }
    379 
    380 bool ScrollAnimatorNone::ZoomData::animateZoom(double currentTime)
    381 {
    382     m_lastAnimationTime = currentTime;
    383     double deltaTime = currentTime - m_startTime;
    384 
    385     if (deltaTime > m_animationTime) {
    386         m_parent->m_currentZoomScale = m_desiredScale;
    387         m_parent->m_currentZoomTransX = m_desiredTransX;
    388         m_parent->m_currentZoomTransY = m_desiredTransY;
    389         return false;
    390     }
    391 
    392     double elapsedTimeFraction = deltaTime / m_animationTime;
    393     m_parent->m_currentZoomScale = elapsedTimeFraction * (m_desiredScale - m_startScale) + m_startScale;
    394     m_parent->m_currentZoomTransX = elapsedTimeFraction * m_desiredTransX;
    395     m_parent->m_currentZoomTransY = elapsedTimeFraction * m_desiredTransY;
    396     return true;
    397 }
    398 
    399374ScrollAnimatorNone::ScrollAnimatorNone(ScrollableArea* scrollableArea)
    400375    : ScrollAnimator(scrollableArea)
    401376    , m_horizontalData(this, &m_currentPosX, scrollableArea->visibleWidth())
    402377    , m_verticalData(this, &m_currentPosY, scrollableArea->visibleHeight())
    403     , m_zoomData(this)
    404378    , m_animationTimer(this, &ScrollAnimatorNone::animationTimerFired)
    405379{
     
    471445}
    472446
    473 #if ENABLE(GESTURE_EVENTS)
    474 void ScrollAnimatorNone::zoom(const PlatformGestureEvent& pge)
    475 {
    476     ASSERT(pge.type() == PlatformEvent::GestureDoubleTap);
    477     // FIXME: modify this so we can start even if the timer is active.
    478     if (!m_animationTimer.isActive()) {
    479         m_currentZoomScale = 1;
    480         m_currentZoomTransX = 0;
    481         m_currentZoomTransY = 0;
    482 
    483         double currentTime = WTF::monotonicallyIncreasingTime();
    484         float scale = pge.deltaX();
    485 
    486         m_zoomData.m_startTime = currentTime - kTickTime / 2;
    487         m_zoomData.m_startScale = m_currentZoomScale;
    488         m_zoomData.m_desiredScale = scale;
    489         // FIXME: Document then simplify the following equations.
    490         m_zoomData.m_desiredTransX = (1 - scale) * pge.globalPosition().x();
    491         m_zoomData.m_desiredTransY = (1 - scale) * pge.globalPosition().y();
    492 #if ENABLE(DOUBLE_TAP_CENTERS)
    493         if (pge.type() == PlatformEvent::GestureDoubleTap) {
    494             // Zoom to centre of display. Pinch-to-zoom may not want this behaviour.
    495             m_zoomData.m_desiredTransX += m_scrollableArea->visibleWidth() / 2 - pge.globalPosition().x();
    496             m_zoomData.m_desiredTransY += m_scrollableArea->visibleHeight() / 2 - pge.globalPosition().y();
    497         }
    498 #endif
    499         m_zoomData.m_lastAnimationTime = currentTime;
    500         m_zoomData.m_animationTime = kZoomTicks * kTickTime;
    501 
    502         bool isContinuing = m_zoomData.animateZoom(currentTime);
    503 
    504         double deltaToNextFrame = ceil((currentTime - m_startTime) * kFrameRate) / kFrameRate - (currentTime - m_startTime);
    505         double nextTimerInterval = max(kMinimumTimerInterval, deltaToNextFrame);
    506         if (isContinuing) {
    507             m_animationTimer.startOneShot(nextTimerInterval);
    508             m_zoomData.m_isAnimating = true;
    509             notifyZoomChanged(ZoomAnimationContinuing);
    510         } else
    511             notifyZoomChanged(ZoomAnimationFinishing);
    512     }
    513 }
    514 
    515 void ScrollAnimatorNone::handleGestureEvent(const PlatformGestureEvent& pge)
    516 {
    517     TRACE_EVENT("ScrollAnimatorNone::handleGestureEvent", this, 0);
    518     switch (pge.type()) {
    519     case PlatformEvent::GestureDoubleTap:
    520         zoom(pge);
    521         break;
    522 
    523     default:
    524         // TODO: add any other event types we should handle
    525         { }
    526     }
    527 }
    528 #endif
    529 
    530447void ScrollAnimatorNone::willEndLiveResize()
    531448{
     
    564481        continueAnimation = true;
    565482
    566     if (m_zoomData.m_isAnimating) {
    567 #if PLATFORM(CHROMIUM)
    568         TRACE_EVENT("ScrollAnimatorNone::notifyZoomChanged", this, 0);
    569 #endif
    570         if (m_zoomData.m_startTime && m_zoomData.animateZoom(currentTime + deltaToNextFrame)) {
    571             continueAnimation = true;
    572             notifyZoomChanged(ZoomAnimationContinuing);
    573         } else {
    574             notifyZoomChanged(ZoomAnimationFinishing);
    575             m_zoomData.m_isAnimating = false;
    576         }
    577     }
    578 
    579483    if (continueAnimation) {
    580484        double nextTimerInterval = max(kMinimumTimerInterval, deltaToNextFrame);
  • trunk/Source/WebCore/platform/ScrollAnimatorNone.h

    r99511 r107665  
    5050    virtual bool scroll(ScrollbarOrientation, ScrollGranularity, float step, float multiplier);
    5151    virtual void scrollToOffsetWithoutAnimation(const FloatPoint&);
    52 
    53 #if ENABLE(GESTURE_EVENTS)
    54     virtual void zoom(const PlatformGestureEvent&);
    55     virtual void handleGestureEvent(const PlatformGestureEvent&);
    56 #endif
    5752
    5853    virtual void willEndLiveResize();
     
    132127    };
    133128
    134     // While zooming, scale, posX and posY need to stay tightly coupled, so use a separate
    135     // data structure.
    136     struct ZoomData {
    137         ZoomData(ScrollAnimatorNone* parent);
    138         bool animateZoom(double currentTime);
    139 
    140         ScrollAnimatorNone* m_parent;
    141         bool m_isAnimating;
    142 
    143         double m_startTime;
    144 
    145         double m_animationTime;
    146         double m_lastAnimationTime;
    147 
    148         double m_startScale;
    149         double m_desiredScale;
    150         double m_desiredTransX;
    151         double m_desiredTransY;
    152     };
    153 
    154     friend struct ZoomData;
    155 
    156129    void animationTimerFired(Timer<ScrollAnimatorNone>*);
    157130    void stopAnimationTimerIfNeeded();
     
    160133    PerAxisData m_horizontalData;
    161134    PerAxisData m_verticalData;
    162     ZoomData m_zoomData;
    163135
    164136    double m_startTime;
  • trunk/Source/WebCore/platform/ScrollableArea.cpp

    r107490 r107665  
    154154}
    155155
    156 void ScrollableArea::zoomAnimatorTransformChanged(float, float, float, ZoomAnimationState)
    157 {
    158     // Requires FrameView to override this.
    159 }
    160 
    161156bool ScrollableArea::handleWheelEvent(const PlatformWheelEvent& wheelEvent)
    162157{
  • trunk/Source/WebCore/platform/ScrollableArea.h

    r107467 r107665  
    4343class ScrollableArea {
    4444public:
    45     enum ZoomAnimationState { ZoomAnimationContinuing, ZoomAnimationFinishing };
    46 
    4745    bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1);
    4846    void scrollToOffsetWithoutAnimation(const FloatPoint&);
     
    5755    // expect it to happen sometime in the future.
    5856    virtual bool requestScrollPositionUpdate(const IntPoint&) { return false; }
    59 
    60     virtual void zoomAnimatorTransformChanged(float, float, float, ZoomAnimationState);
    6157
    6258    bool handleWheelEvent(const PlatformWheelEvent&);
  • trunk/Source/WebCore/testing/InternalSettings.cpp

    r106642 r107665  
    3737#include "Settings.h"
    3838
    39 #if ENABLE(GESTURE_EVENTS)
    40 #include "PlatformGestureEvent.h"
    41 #endif
    42 
    43 #if ENABLE(SMOOTH_SCROLLING)
    44 #include "ScrollAnimator.h"
    45 #endif
    46 
    4739#if ENABLE(INPUT_COLOR)
    4840#include "ColorChooser.h"
     
    173165}
    174166
    175 void InternalSettings::setEnableScrollAnimator(bool enabled, ExceptionCode& ec)
    176 {
    177     InternalSettingsGuardForSettings();
    178 #if ENABLE(SMOOTH_SCROLLING)
    179     settings()->setEnableScrollAnimator(enabled);
    180 #else
    181     UNUSED_PARAM(enabled);
    182 #endif
    183 }
    184 
    185 void InternalSettings::setZoomAnimatorTransform(float scale, float tx, float ty, ExceptionCode& ec)
    186 {
    187     InternalSettingsGuardForFrame();
    188 
    189 #if ENABLE(GESTURE_EVENTS)
    190     PlatformGestureEvent pge(PlatformEvent::GestureDoubleTap, IntPoint(tx, ty), IntPoint(tx, ty), 0, scale, 0.f, 0, 0, 0, 0);
    191     frame()->eventHandler()->handleGestureEvent(pge);
    192 #else
    193     UNUSED_PARAM(scale);
    194     UNUSED_PARAM(tx);
    195     UNUSED_PARAM(ty);
    196 #endif
    197 }
    198 
    199 void InternalSettings::setZoomParameters(float scale, float x, float y, ExceptionCode& ec)
    200 {
    201     InternalSettingsGuardForFrameView();
    202 
    203 #if ENABLE(SMOOTH_SCROLLING)
    204     frame()->view()->scrollAnimator()->setZoomParametersForTest(scale, x, y);
    205 #else
    206     UNUSED_PARAM(scale);
    207     UNUSED_PARAM(x);
    208     UNUSED_PARAM(y);
    209 #endif
    210 }
    211 
    212167void InternalSettings::setMockScrollbarsEnabled(bool enabled, ExceptionCode& ec)
    213168{
     
    252207    InternalSettingsGuardForSettingsReturn(false);
    253208    return settings()->unifiedTextCheckerEnabled();
    254 }
    255 
    256 float InternalSettings::pageScaleFactor(ExceptionCode& ec)
    257 {
    258     InternalSettingsGuardForPageReturn(0);
    259     return page()->pageScaleFactor();
    260209}
    261210
  • trunk/Source/WebCore/testing/InternalSettings.h

    r106642 r107665  
    5353    void setAcceleratedDrawingEnabled(bool enabled, ExceptionCode&);
    5454    void setAcceleratedFiltersEnabled(bool enabled, ExceptionCode&);
    55     void setEnableScrollAnimator(bool enabled, ExceptionCode&);
    56     void setZoomAnimatorTransform(float scale, float tx, float ty, ExceptionCode&);
    57     void setZoomParameters(float scale, float x, float y, ExceptionCode&);
    5855    void setMockScrollbarsEnabled(bool enabled, ExceptionCode&);
    5956    void setPasswordEchoEnabled(bool enabled, ExceptionCode&);
     
    6259    void setUnifiedTextCheckingEnabled(bool, ExceptionCode&);
    6360    bool unifiedTextCheckingEnabled(ExceptionCode&);
    64     float pageScaleFactor(ExceptionCode&);
    6561    void setPageScaleFactor(float scaleFactor, int x, int y, ExceptionCode&);
    6662    void setPerTileDrawingEnabled(bool enabled, ExceptionCode&);
  • trunk/Source/WebCore/testing/InternalSettings.idl

    r106642 r107665  
    3434        void setAcceleratedDrawingEnabled(in boolean enabled) raises(DOMException);
    3535        void setAcceleratedFiltersEnabled(in boolean enabled) raises(DOMException);
    36         void setEnableScrollAnimator(in boolean enabled) raises(DOMException);
    37         void setZoomAnimatorTransform(in float scale, in float tx, in float ty) raises(DOMException);
    38         void setZoomParameters(in float scale, in float x, in float y) raises(DOMException);
    3936        void setMockScrollbarsEnabled(in boolean enabled) raises(DOMException);
    4037        void setPasswordEchoEnabled(in boolean enabled) raises(DOMException);
     
    4340        void setUnifiedTextCheckingEnabled(in boolean enabled) raises (DOMException);
    4441        boolean unifiedTextCheckingEnabled() raises (DOMException);
    45         float pageScaleFactor() raises(DOMException);
    4642        void setPageScaleFactor(in float scaleFactor, in long x, in long y) raises(DOMException);
    4743        void setTouchEventEmulationEnabled(in boolean enabled) raises(DOMException);
  • trunk/Source/WebCore/testing/Internals.cpp

    r107558 r107665  
    5454#include "TextIterator.h"
    5555
    56 #if ENABLE(GESTURE_EVENTS)
    57 #include "PlatformGestureEvent.h"
    58 #endif
    59 
    60 #if ENABLE(SMOOTH_SCROLLING)
    61 #include "ScrollAnimator.h"
    62 #endif
    63 
    6456#if ENABLE(INPUT_COLOR)
    6557#include "ColorChooser.h"
  • trunk/Source/WebKit/chromium/ChangeLog

    r107661 r107665  
     12012-02-13  W. James MacLean  <wjmaclean@chromium.org>
     2
     3        [chromium] Remove obsolete zoom animation pathway.
     4        https://bugs.webkit.org/show_bug.cgi?id=78359
     5
     6        Reviewed by James Robinson.
     7
     8        This patch removes dead code from the previous incarnation of zoom animation for chromium.
     9
     10        * src/WebViewImpl.cpp:
     11
    1122012-02-13  Hayato Ito  <hayato@chromium.org>
    213
  • trunk/Source/WebKit/chromium/src/WebViewImpl.cpp

    r107518 r107665  
    100100#include "ResourceHandle.h"
    101101#include "SchemeRegistry.h"
    102 #include "ScrollAnimator.h"
    103102#include "SecurityOrigin.h"
    104103#include "SecurityPolicy.h"
  • trunk/Source/WebKit2/ChangeLog

    r107606 r107665  
     12012-02-13  W. James MacLean  <wjmaclean@chromium.org>
     2
     3        [chromium] Remove obsolete zoom animation pathway.
     4        https://bugs.webkit.org/show_bug.cgi?id=78359
     5
     6        Reviewed by James Robinson.
     7
     8        This patch removes dead code from the previous incarnation of zoom animation for chromium.
     9
     10        WebProcess/Plugins/PDF/BuiltInPDFView.h:
     11        (BuiltInPDFView):
     12
    1132012-02-13  Enrica Casucci  <enrica@apple.com>
    214
  • trunk/Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.h

    r106977 r107665  
    141141    virtual bool shouldSuspendScrollAnimations() const { return false; } // If we return true, ScrollAnimatorMac will keep cycling a timer forever, waiting for a good time to animate.
    142142    virtual void scrollbarStyleChanged(int newStyle, bool forceUpdate);
    143     virtual void zoomAnimatorTransformChanged(float, float, float, ZoomAnimationState) { }
    144143
    145144    // FIXME: Implement the other conversion functions; this one is enough to get scrollbar hit testing working.
Note: See TracChangeset for help on using the changeset viewer.