| Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| index f7f3ccedb74ef11394aca7df48d17a9b69874e5d..12abff599f8dfa9dd76f52e5b06bc1444838b6bc 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
|
| @@ -27,7 +27,6 @@ import android.os.SystemClock;
|
| import android.provider.Browser;
|
| import android.text.TextUtils;
|
| import android.util.Pair;
|
| -import android.util.TypedValue;
|
| import android.view.ActionMode;
|
| import android.view.DragEvent;
|
| import android.view.HapticFeedbackConstants;
|
| @@ -420,10 +419,6 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| // sequence, so this will also be true for the duration of a pinch gesture.
|
| private boolean mTouchScrollInProgress;
|
|
|
| - // Multiplier that determines how many (device) pixels to scroll per mouse
|
| - // wheel tick. Defaults to the preferred list item height.
|
| - private float mWheelScrollFactorInPixels;
|
| -
|
| // The outstanding fling start events that hasn't got fling end yet. It may be > 1 because
|
| // onNativeFlingStopped() is called asynchronously.
|
| private int mPotentiallyActiveFlingCount;
|
| @@ -485,13 +480,6 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| mContext = context;
|
| mRenderCoordinates = new RenderCoordinates();
|
| mJoystickScrollProvider = new JoystickScrollProvider(this);
|
| - float deviceScaleFactor = getContext().getResources().getDisplayMetrics().density;
|
| - String forceScaleFactor = CommandLine.getInstance().getSwitchValue(
|
| - ContentSwitches.FORCE_DEVICE_SCALE_FACTOR);
|
| - if (forceScaleFactor != null) {
|
| - deviceScaleFactor = Float.valueOf(forceScaleFactor);
|
| - }
|
| - mRenderCoordinates.setDeviceScaleFactor(deviceScaleFactor);
|
| mAccessibilityManager = (AccessibilityManager)
|
| getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
|
| mSystemCaptioningBridge = CaptioningBridgeFactory.getSystemCaptioningBridge(mContext);
|
| @@ -630,6 +618,15 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| }
|
|
|
| /**
|
| + * Returns the context used to obtain display density (ratio of physical pixels to DIP).
|
| + */
|
| + private Context getDisplayContext(WindowAndroid window) {
|
| + Context displayContext = null;
|
| + if (window != null) displayContext = window.getContext().get();
|
| + return displayContext != null ? displayContext : mContext;
|
| + }
|
| +
|
| + /**
|
| *
|
| * @param viewDelegate Delegate to add/remove anchor views.
|
| * @param internalDispatcher Handles dispatching all hidden or super methods to the
|
| @@ -660,7 +657,10 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| mWebContents = nativeGetWebContentsAndroid(mNativeContentViewCore);
|
|
|
| setContainerViewInternals(internalDispatcher);
|
| +
|
| mRenderCoordinates.reset();
|
| + mRenderCoordinates.setDeviceScaleFactor(getDisplayContext(windowAndroid));
|
| +
|
| initPopupZoomer(mContext);
|
| mImeAdapter = createImeAdapter();
|
| attachImeAdapter();
|
| @@ -682,6 +682,8 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| mSelectPopup = null;
|
| mPastePopupMenu = null;
|
|
|
| + mRenderCoordinates.setDeviceScaleFactor(getDisplayContext(windowAndroid));
|
| +
|
| for (WindowAndroidChangedObserver observer : mWindowAndroidChangedObservers) {
|
| observer.onWindowAndroidChanged(windowAndroid);
|
| }
|
| @@ -1614,7 +1616,7 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| event.getX(), event.getY(),
|
| event.getAxisValue(MotionEvent.AXIS_HSCROLL),
|
| event.getAxisValue(MotionEvent.AXIS_VSCROLL),
|
| - getWheelScrollFactorInPixels());
|
| + mRenderCoordinates.getWheelScrollFactor());
|
|
|
| mContainerView.removeCallbacks(mFakeMouseMoveRunnable);
|
| // Send a delayed onMouseMove event so that we end
|
| @@ -3208,23 +3210,6 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
|
| if (potentiallyActiveFlingCount > 0) updateGestureStateListener(GestureEventType.FLING_END);
|
| }
|
|
|
| - private float getWheelScrollFactorInPixels() {
|
| - if (mWheelScrollFactorInPixels == 0) {
|
| - TypedValue outValue = new TypedValue();
|
| - // This is the same attribute used by Android Views to scale wheel
|
| - // event motion into scroll deltas.
|
| - if (mContext.getTheme().resolveAttribute(
|
| - android.R.attr.listPreferredItemHeight, outValue, true)) {
|
| - mWheelScrollFactorInPixels =
|
| - outValue.getDimension(mContext.getResources().getDisplayMetrics());
|
| - } else {
|
| - // If attribute retrieval fails, just use a sensible default.
|
| - mWheelScrollFactorInPixels = 64 * mRenderCoordinates.getDeviceScaleFactor();
|
| - }
|
| - }
|
| - return mWheelScrollFactorInPixels;
|
| - }
|
| -
|
| ContentVideoViewEmbedder getContentVideoViewEmbedder() {
|
| return getContentViewClient().getContentVideoViewEmbedder();
|
| }
|
|
|