| Index: content/public/android/java/src/org/chromium/content/browser/ZoomManager.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/ZoomManager.java b/content/public/android/java/src/org/chromium/content/browser/ZoomManager.java
|
| index 8e8df31ce40923979718cfc17b23f9fa78aa289e..986d61ebc00cd14d957f86d58e210c401ae37ccb 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/ZoomManager.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/ZoomManager.java
|
| @@ -6,23 +6,17 @@ package org.chromium.content.browser;
|
|
|
| import android.content.Context;
|
| import android.util.Log;
|
| -import android.view.Gravity;
|
| import android.view.MotionEvent;
|
| import android.view.ScaleGestureDetector;
|
| -import android.view.View;
|
| -import android.view.ViewGroup;
|
| -import android.widget.FrameLayout;
|
| -import android.widget.ZoomButtonsController;
|
|
|
| /**
|
| - * The ZoomManager is responsible for maintaining the ContentView's current zoom
|
| - * level state. It is also responsible for managing the on-screen zoom controls.
|
| + * ZoomManager is responsible for maintaining the ContentView's current zoom
|
| + * level state and process scaling-related gestures.
|
| */
|
| class ZoomManager {
|
| private static final String TAG = "ContentViewZoom";
|
|
|
| private ContentViewCore mContentViewCore;
|
| - private ZoomButtonsController mZoomButtonsController;
|
|
|
| private class ScaleGestureListener implements ScaleGestureDetector.OnScaleGestureListener {
|
| // Completely silence scaling events. Used in WebView when zoom support
|
| @@ -102,26 +96,8 @@ class ZoomManager {
|
| mMultiTouchDetector = new ScaleGestureDetector(context, mMultiTouchListener);
|
| }
|
|
|
| - void invokeZoomPicker() {
|
| - ZoomButtonsController zoomControls = getZoomControls();
|
| - if (zoomControls != null && !zoomControls.isVisible()) {
|
| - zoomControls.setVisible(true);
|
| - }
|
| - }
|
| -
|
| - void dismissZoomPicker() {
|
| - ZoomButtonsController zoomControls = getZoomControls();
|
| - if (zoomControls != null && zoomControls.isVisible()) {
|
| - zoomControls.setVisible(false);
|
| - }
|
| - }
|
| -
|
| - boolean isMultiTouchZoomSupported() {
|
| - return !mMultiTouchListener.getPermanentlyIgnoreDetectorEvents();
|
| - }
|
| -
|
| boolean isScaleGestureDetectionInProgress() {
|
| - return isMultiTouchZoomSupported()
|
| + return !mMultiTouchListener.getPermanentlyIgnoreDetectorEvents()
|
| && mMultiTouchDetector.isInProgress();
|
| }
|
|
|
| @@ -156,67 +132,7 @@ class ZoomManager {
|
| return false;
|
| }
|
|
|
| - void updateMultiTouchSupport() {
|
| - mMultiTouchListener.setPermanentlyIgnoreDetectorEvents(
|
| - !mContentViewCore.getContentSettings().supportsMultiTouchZoom());
|
| - }
|
| -
|
| - private ZoomButtonsController getZoomControls() {
|
| - if (mZoomButtonsController == null &&
|
| - mContentViewCore.getContentSettings().shouldDisplayZoomControls()) {
|
| - mZoomButtonsController = new ZoomButtonsController(
|
| - mContentViewCore.getContainerView());
|
| - mZoomButtonsController.setOnZoomListener(new ZoomListener());
|
| - // ZoomButtonsController positions the buttons at the bottom, but in
|
| - // the middle. Change their layout parameters so they appear on the
|
| - // right.
|
| - View controls = mZoomButtonsController.getZoomControls();
|
| - ViewGroup.LayoutParams params = controls.getLayoutParams();
|
| - if (params instanceof FrameLayout.LayoutParams) {
|
| - ((FrameLayout.LayoutParams) params).gravity = Gravity.RIGHT;
|
| - }
|
| - }
|
| - return mZoomButtonsController;
|
| - }
|
| -
|
| - // This method is used in tests. It doesn't modify the state of zoom controls.
|
| - View getZoomControlsViewForTest() {
|
| - return mZoomButtonsController != null ? mZoomButtonsController.getZoomControls() : null;
|
| - }
|
| -
|
| - void updateZoomControls() {
|
| - if (mZoomButtonsController == null) return;
|
| - boolean canZoomIn = mContentViewCore.canZoomIn();
|
| - boolean canZoomOut = mContentViewCore.canZoomOut();
|
| - if (!canZoomIn && !canZoomOut) {
|
| - // Hide the zoom in and out buttons if the page cannot zoom
|
| - mZoomButtonsController.getZoomControls().setVisibility(View.GONE);
|
| - } else {
|
| - // Set each one individually, as a page may be able to zoom in or out
|
| - mZoomButtonsController.setZoomInEnabled(canZoomIn);
|
| - mZoomButtonsController.setZoomOutEnabled(canZoomOut);
|
| - }
|
| - }
|
| -
|
| - private class ZoomListener implements ZoomButtonsController.OnZoomListener {
|
| - @Override
|
| - public void onVisibilityChanged(boolean visible) {
|
| - if (visible) {
|
| - // Bring back the hidden zoom controls.
|
| - mZoomButtonsController.getZoomControls().setVisibility(View.VISIBLE);
|
| - updateZoomControls();
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public void onZoom(boolean zoomIn) {
|
| - if (zoomIn) {
|
| - mContentViewCore.zoomIn();
|
| - } else {
|
| - mContentViewCore.zoomOut();
|
| - }
|
| - // ContentView will call updateZoomControls after its current page scale
|
| - // is got updated from the native code.
|
| - }
|
| + void updateMultiTouchSupport(boolean supportsMultiTouchZoom) {
|
| + mMultiTouchListener.setPermanentlyIgnoreDetectorEvents(!supportsMultiTouchZoom);
|
| }
|
| }
|
|
|