Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6164ef1b authored by Grace Kloba's avatar Grace Kloba
Browse files

Expose canZoomIn and canZoomOut for WebView.

parent 631aeea6
Loading
Loading
Loading
Loading
+22 −0
Original line number Original line Diff line number Diff line
@@ -201419,6 +201419,28 @@
 visibility="public"
 visibility="public"
>
>
</method>
</method>
<method name="canZoomIn"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="canZoomOut"
 return="boolean"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="capturePicture"
<method name="capturePicture"
 return="android.graphics.Picture"
 return="android.graphics.Picture"
 abstract="false"
 abstract="false"
+17 −3
Original line number Original line Diff line number Diff line
@@ -2248,7 +2248,7 @@ public class WebView extends AbsoluteLayout
        if (mDrawHistory) {
        if (mDrawHistory) {
            return mHistoryWidth;
            return mHistoryWidth;
        } else if (mHorizontalScrollBarMode == SCROLLBAR_ALWAYSOFF
        } else if (mHorizontalScrollBarMode == SCROLLBAR_ALWAYSOFF
                && mZoomManager.isZoomedOut()) {
                && !mZoomManager.canZoomOut()) {
            // only honor the scrollbar mode when it is at minimum zoom level
            // only honor the scrollbar mode when it is at minimum zoom level
            return computeHorizontalScrollExtent();
            return computeHorizontalScrollExtent();
        } else {
        } else {
@@ -2262,7 +2262,7 @@ public class WebView extends AbsoluteLayout
        if (mDrawHistory) {
        if (mDrawHistory) {
            return mHistoryHeight;
            return mHistoryHeight;
        } else if (mVerticalScrollBarMode == SCROLLBAR_ALWAYSOFF
        } else if (mVerticalScrollBarMode == SCROLLBAR_ALWAYSOFF
                && mZoomManager.isZoomedOut()) {
                && !mZoomManager.canZoomOut()) {
            // only honor the scrollbar mode when it is at minimum zoom level
            // only honor the scrollbar mode when it is at minimum zoom level
            return computeVerticalScrollExtent();
            return computeVerticalScrollExtent();
        } else {
        } else {
@@ -4493,7 +4493,7 @@ public class WebView extends AbsoluteLayout
                mAnchorY = viewToContentY((int) mZoomManager.mZoomCenterY + mScrollY);
                mAnchorY = viewToContentY((int) mZoomManager.mZoomCenterY + mScrollY);
                // don't reflow when zoom in; when zoom out, do reflow if the
                // don't reflow when zoom in; when zoom out, do reflow if the
                // new scale is almost minimum scale;
                // new scale is almost minimum scale;
                boolean reflowNow = mZoomManager.isZoomedOut()
                boolean reflowNow = !mZoomManager.canZoomOut()
                        || (mZoomManager.mActualScale <= 0.8 * mZoomManager.mTextWrapScale);
                        || (mZoomManager.mActualScale <= 0.8 * mZoomManager.mTextWrapScale);
                // force zoom after mPreviewZoomOnly is set to false so that the
                // force zoom after mPreviewZoomOnly is set to false so that the
                // new view size will be passed to the WebKit
                // new view size will be passed to the WebKit
@@ -5556,6 +5556,20 @@ public class WebView extends AbsoluteLayout
        return mZoomManager.mDefaultScale;
        return mZoomManager.mDefaultScale;
    }
    }


    /**
     * @return TRUE if the WebView can be zoomed in.
     */
    public boolean canZoomIn() {
        return mZoomManager.canZoomIn();
    }

    /**
     * @return TRUE if the WebView can be zoomed out.
     */
    public boolean canZoomOut() {
        return mZoomManager.canZoomOut();
    }

    /**
    /**
     * Perform zoom in in the webview
     * Perform zoom in in the webview
     * @return TRUE if zoom in succeeds. FALSE if no zoom changes.
     * @return TRUE if zoom in succeeds. FALSE if no zoom changes.
+6 −2
Original line number Original line Diff line number Diff line
@@ -138,8 +138,12 @@ class ZoomManager {
        return exceedsMinScaleIncrement(scale, mActualScale);
        return exceedsMinScaleIncrement(scale, mActualScale);
    }
    }


    public boolean isZoomedOut() {
    public boolean canZoomIn() {
        return mActualScale - mMinZoomScale <= MINIMUM_SCALE_INCREMENT;
        return mMaxZoomScale - mActualScale > MINIMUM_SCALE_INCREMENT;
    }

    public boolean canZoomOut() {
        return mActualScale - mMinZoomScale > MINIMUM_SCALE_INCREMENT;
    }
    }


    public boolean zoomIn() {
    public boolean zoomIn() {