Changeset 97188 in webkit


Ignore:
Timestamp:
Oct 11, 2011 3:43:53 PM (13 years ago)
Author:
wjmaclean@chromium.org
Message:

Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
https://bugs.webkit.org/show_bug.cgi?id=69739

Source/WebCore:

Reviewed by Simon Fraser.

Change 'double' parameters in FrameView:: & ScrollableArea::zoomAnimatorTransformChanged()
to 'float' to avoid loss of precision warnings when invoking setPageScalefactor.

Test coverage provided by existing zoom-animator tests.

  • page/FrameView.cpp:

(WebCore::FrameView::zoomAnimatorTransformChanged):

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

(WebCore::ScrollableArea::zoomAnimatorTransformChanged):

  • platform/ScrollableArea.h:

Source/WebKit2:

Change 'double' parameters to 'float' to match changes in FrameView.

Reviewed by Simon Fraser.

  • WebProcess/Plugins/PDF/BuiltInPDFView.h:

(WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):

Location:
trunk/Source
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r97186 r97188  
     12011-10-11  W. James MacLean  <wjmaclean@chromium.org>
     2
     3        Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
     4        https://bugs.webkit.org/show_bug.cgi?id=69739
     5
     6        Reviewed by Simon Fraser.
     7
     8        Change 'double' parameters in FrameView:: & ScrollableArea::zoomAnimatorTransformChanged()
     9        to 'float' to avoid loss of precision warnings when invoking setPageScalefactor.
     10
     11        Test coverage provided by existing zoom-animator tests.
     12
     13        * page/FrameView.cpp:
     14        (WebCore::FrameView::zoomAnimatorTransformChanged):
     15        * page/FrameView.h:
     16        * platform/ScrollableArea.cpp:
     17        (WebCore::ScrollableArea::zoomAnimatorTransformChanged):
     18        * platform/ScrollableArea.h:
     19
    1202011-10-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
    221
  • trunk/Source/WebCore/page/FrameView.cpp

    r97042 r97188  
    12241224}
    12251225
    1226 void FrameView::zoomAnimatorTransformChanged(double scale, double x, double y, ZoomAnimationState state)
     1226void FrameView::zoomAnimatorTransformChanged(float scale, float x, float y, ZoomAnimationState state)
    12271227{
    12281228    if (state == ZoomAnimationFinishing) {
    1229         // FIXME: We lose precision when converting from a double to an int and an double to a float.
    1230         // Is this acceptable? See <https://bugs.webkit.org/show_bug.cgi?id=69739>.
    1231         m_page->setPageScaleFactor(static_cast<float>(m_page->pageScaleFactor() * scale),
    1232                                    LayoutPoint(static_cast<int>(scale * scrollX() - x), static_cast<int>(scale * scrollY() - y)));
     1229        m_page->setPageScaleFactor(m_page->pageScaleFactor() * scale,
     1230                                   LayoutPoint(scale * scrollX() - x, scale * scrollY() - y));
    12331231        scrollAnimator()->resetZoom();
    12341232    }
  • trunk/Source/WebCore/page/FrameView.h

    r97034 r97188  
    171171    virtual bool shouldRubberBandInDirection(ScrollDirection) const;
    172172
    173     virtual void zoomAnimatorTransformChanged(double, double, double, ZoomAnimationState);
     173    virtual void zoomAnimatorTransformChanged(float, float, float, ZoomAnimationState);
    174174
    175175    String mediaType() const;
  • trunk/Source/WebCore/platform/ScrollableArea.cpp

    r97034 r97188  
    124124}
    125125
    126 void ScrollableArea::zoomAnimatorTransformChanged(double, double, double, ZoomAnimationState)
     126void ScrollableArea::zoomAnimatorTransformChanged(float, float, float, ZoomAnimationState)
    127127{
    128128    // Requires FrameView to override this.
  • trunk/Source/WebCore/platform/ScrollableArea.h

    r97062 r97188  
    5555    void scrollToYOffsetWithoutAnimation(float x);
    5656
    57     virtual void zoomAnimatorTransformChanged(double, double, double, ZoomAnimationState);
     57    virtual void zoomAnimatorTransformChanged(float, float, float, ZoomAnimationState);
    5858
    5959    bool handleWheelEvent(const PlatformWheelEvent&);
  • trunk/Source/WebKit2/ChangeLog

    r97184 r97188  
     12011-10-11  W. James MacLean  <wjmaclean@chromium.org>
     2
     3        Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
     4        https://bugs.webkit.org/show_bug.cgi?id=69739
     5
     6        Change 'double' parameters to 'float' to match changes in FrameView.
     7
     8        Reviewed by Simon Fraser.
     9
     10        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
     11        (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
     12
    1132011-10-11  Alexey Proskuryakov  <ap@apple.com>
    214
  • trunk/Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.h

    r97155 r97188  
    8888    virtual void manualStreamDidFinishLoading();
    8989    virtual void manualStreamDidFail(bool wasCancelled);
    90    
    91     virtual void zoomAnimatorTransformChanged(double, double, double, ZoomAnimationState) { }
     90
     91    virtual void zoomAnimatorTransformChanged(float, float, float, ZoomAnimationState) { }
    9292
    9393    virtual bool handleMouseEvent(const WebMouseEvent&);
Note: See TracChangeset for help on using the changeset viewer.