| 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 17f69508333395627f88ee44034a1a39fac8f08c..17b69057e2652f004ea248de16a3adbed0bcaf56 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
|
| @@ -209,98 +209,6 @@ public class ContentViewCore
|
| public void onSmartClipDataExtracted(String result);
|
| }
|
|
|
| - private VSyncManager.Provider mVSyncProvider;
|
| - private VSyncManager.Listener mVSyncListener;
|
| - private int mVSyncSubscriberCount;
|
| - private boolean mVSyncListenerRegistered;
|
| -
|
| - // To avoid IPC delay we use input events to directly trigger a vsync signal in the renderer.
|
| - // When we do this, we also need to avoid sending the real vsync signal for the current
|
| - // frame to avoid double-ticking. This flag is used to inhibit the next vsync notification.
|
| - private boolean mDidSignalVSyncUsingInputEvent;
|
| -
|
| - public VSyncManager.Listener getVSyncListener(VSyncManager.Provider vsyncProvider) {
|
| - if (mVSyncProvider != null && mVSyncListenerRegistered) {
|
| - mVSyncProvider.unregisterVSyncListener(mVSyncListener);
|
| - mVSyncListenerRegistered = false;
|
| - }
|
| -
|
| - mVSyncProvider = vsyncProvider;
|
| - mVSyncListener = new VSyncManager.Listener() {
|
| - @Override
|
| - public void updateVSync(long tickTimeMicros, long intervalMicros) {
|
| - if (mNativeContentViewCore != 0) {
|
| - nativeUpdateVSyncParameters(mNativeContentViewCore, tickTimeMicros,
|
| - intervalMicros);
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public void onVSync(long frameTimeMicros) {
|
| - animateIfNecessary(frameTimeMicros);
|
| -
|
| - if (mRequestedVSyncForInput) {
|
| - mRequestedVSyncForInput = false;
|
| - removeVSyncSubscriber();
|
| - }
|
| - if (mNativeContentViewCore != 0) {
|
| - nativeOnVSync(mNativeContentViewCore, frameTimeMicros);
|
| - }
|
| - }
|
| - };
|
| -
|
| - if (mVSyncSubscriberCount > 0) {
|
| - // addVSyncSubscriber() is called before getVSyncListener.
|
| - vsyncProvider.registerVSyncListener(mVSyncListener);
|
| - mVSyncListenerRegistered = true;
|
| - }
|
| -
|
| - return mVSyncListener;
|
| - }
|
| -
|
| - @CalledByNative
|
| - void addVSyncSubscriber() {
|
| - if (!isVSyncNotificationEnabled()) {
|
| - mDidSignalVSyncUsingInputEvent = false;
|
| - }
|
| - if (mVSyncProvider != null && !mVSyncListenerRegistered) {
|
| - mVSyncProvider.registerVSyncListener(mVSyncListener);
|
| - mVSyncListenerRegistered = true;
|
| - }
|
| - mVSyncSubscriberCount++;
|
| - }
|
| -
|
| - @CalledByNative
|
| - void removeVSyncSubscriber() {
|
| - if (mVSyncProvider != null && mVSyncSubscriberCount == 1) {
|
| - assert mVSyncListenerRegistered;
|
| - mVSyncProvider.unregisterVSyncListener(mVSyncListener);
|
| - mVSyncListenerRegistered = false;
|
| - }
|
| - mVSyncSubscriberCount--;
|
| - assert mVSyncSubscriberCount >= 0;
|
| - }
|
| -
|
| - @CalledByNative
|
| - private void resetVSyncNotification() {
|
| - while (isVSyncNotificationEnabled()) removeVSyncSubscriber();
|
| - mVSyncSubscriberCount = 0;
|
| - mVSyncListenerRegistered = false;
|
| - mNeedAnimate = false;
|
| - }
|
| -
|
| - private boolean isVSyncNotificationEnabled() {
|
| - return mVSyncProvider != null && mVSyncListenerRegistered;
|
| - }
|
| -
|
| - @CalledByNative
|
| - private void setNeedsAnimate() {
|
| - if (!mNeedAnimate) {
|
| - mNeedAnimate = true;
|
| - addVSyncSubscriber();
|
| - }
|
| - }
|
| -
|
| private final Context mContext;
|
| private ViewGroup mContainerView;
|
| private InternalAccessDelegate mContainerViewInternals;
|
| @@ -399,16 +307,6 @@ public class ContentViewCore
|
| // Whether we received a new frame since consumePendingRendererFrame() was last called.
|
| private boolean mPendingRendererFrame = false;
|
|
|
| - // Whether we should animate at the next vsync tick.
|
| - private boolean mNeedAnimate = false;
|
| -
|
| - // Whether we requested a proactive vsync event in response to touch input.
|
| - // This reduces the latency of responding to input by ensuring the renderer
|
| - // is sent a BeginFrame for every touch event we receive. Otherwise the
|
| - // renderer's SetNeedsBeginFrame message would get serviced at the next
|
| - // vsync.
|
| - private boolean mRequestedVSyncForInput = false;
|
| -
|
| // On single tap this will store the x, y coordinates of the touch.
|
| private int mSingleTapX;
|
| private int mSingleTapY;
|
| @@ -844,8 +742,6 @@ public class ContentViewCore
|
| nativeOnJavaContentViewCoreDestroyed(mNativeContentViewCore);
|
| }
|
| mWebContents = null;
|
| - resetVSyncNotification();
|
| - mVSyncProvider = null;
|
| if (mViewAndroid != null) mViewAndroid.destroy();
|
| mNativeContentViewCore = 0;
|
| mContentSettings = null;
|
| @@ -1184,11 +1080,6 @@ public class ContentViewCore
|
| public boolean onTouchEvent(MotionEvent event) {
|
| cancelRequestToScrollFocusedEditableNodeIntoView();
|
|
|
| - if (!mRequestedVSyncForInput) {
|
| - mRequestedVSyncForInput = true;
|
| - addVSyncSubscriber();
|
| - }
|
| -
|
| final int eventAction = event.getActionMasked();
|
|
|
| // Only these actions have any effect on gesture detection. Other
|
| @@ -3086,18 +2977,6 @@ public class ContentViewCore
|
| return new Rect(x, y, right, bottom);
|
| }
|
|
|
| - private boolean onAnimate(long frameTimeMicros) {
|
| - if (mNativeContentViewCore == 0) return false;
|
| - return nativeOnAnimate(mNativeContentViewCore, frameTimeMicros);
|
| - }
|
| -
|
| - private void animateIfNecessary(long frameTimeMicros) {
|
| - if (mNeedAnimate) {
|
| - mNeedAnimate = onAnimate(frameTimeMicros);
|
| - if (!mNeedAnimate) removeVSyncSubscriber();
|
| - }
|
| - }
|
| -
|
| public void extractSmartClipData(int x, int y, int width, int height) {
|
| if (mNativeContentViewCore != 0) {
|
| nativeExtractSmartClipData(mNativeContentViewCore, x, y, width, height);
|
| @@ -3316,13 +3195,6 @@ public class ContentViewCore
|
| private native String nativeGetOriginalUrlForActiveNavigationEntry(
|
| long nativeContentViewCoreImpl);
|
|
|
| - private native void nativeUpdateVSyncParameters(long nativeContentViewCoreImpl,
|
| - long timebaseMicros, long intervalMicros);
|
| -
|
| - private native void nativeOnVSync(long nativeContentViewCoreImpl, long frameTimeMicros);
|
| -
|
| - private native boolean nativeOnAnimate(long nativeContentViewCoreImpl, long frameTimeMicros);
|
| -
|
| private native void nativeWasResized(long nativeContentViewCoreImpl);
|
|
|
| private native boolean nativeIsRenderWidgetHostViewReady(long nativeContentViewCoreImpl);
|
|
|