Commit 03c7e507 authored by jinsukkim's avatar jinsukkim Committed by Commit bot

Remove ContainerViewObserver

ContainerViewObserver is used by ExternalVideoSurfaceContainer
only, which in turn used by Chromecast/WebView.

Since Chromecast never updates container view in its lifecycle,
it can go without using ContainerViewObserver. And WebView
disabled support for video hole since M52.

With that, ContainerViewObserver is not used any more. This CL
deletes the class.

BUG=624977

Review-Url: https://codereview.chromium.org/2293743002
Cr-Commit-Position: refs/heads/master@{#419403}
parent 3b503cb1
......@@ -14,7 +14,6 @@ import android.view.ViewGroup;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.content.browser.ContainerViewObserver;
import org.chromium.content.browser.ContentViewCore;
import org.chromium.content.browser.RenderCoordinates;
......@@ -69,7 +68,6 @@ public class ExternalVideoSurfaceContainer implements SurfaceHolder.Callback {
private final long mNativeExternalVideoSurfaceContainer;
private final ContentViewCore mContentViewCore;
private ViewGroup mContainerView;
private ContainerViewObserver mContainerViewObserver;
private int mPlayerId = INVALID_PLAYER_ID;
private SurfaceView mSurfaceView;
......@@ -185,36 +183,23 @@ public class ExternalVideoSurfaceContainer implements SurfaceHolder.Callback {
private void createSurfaceView() {
assert mSurfaceView == null;
assert mContainerView == null;
assert mContainerViewObserver == null;
mSurfaceView = new NoPunchingSurfaceView(mContentViewCore.getContext());
mSurfaceView.getHolder().addCallback(this);
// SurfaceHoder.surfaceCreated() will be called after the SurfaceView is attached to
// SurfaceHolder.surfaceCreated() will be called after the SurfaceView is attached to
// the Window and becomes visible.
mContainerView = mContentViewCore.getContainerView();
mContainerView.addView(mSurfaceView);
mContainerViewObserver = new ContainerViewObserver() {
@Override
public void onContainerViewChanged(ViewGroup newContainerView) {
mContainerView.removeView(mSurfaceView);
mContainerView = newContainerView;
mContainerView.addView(mSurfaceView);
}
};
mContentViewCore.addContainerViewObserver(mContainerViewObserver);
}
private void removeSurfaceView() {
assert mSurfaceView != null;
assert mContainerView != null;
assert mContainerViewObserver != null;
// SurfaceHoder.surfaceDestroyed() will be called in ViewGroup.removeView()
// SurfaceHolder.surfaceDestroyed() will be called in ViewGroup.removeView()
// as soon as the SurfaceView is detached from the Window.
mContentViewCore.removeContainerViewObserver(mContainerViewObserver);
mContainerView.removeView(mSurfaceView);
mContainerViewObserver = null;
mSurfaceView = null;
mContainerView = null;
}
......@@ -309,4 +294,3 @@ public class ExternalVideoSurfaceContainer implements SurfaceHolder.Callback {
private native void nativeSurfaceDestroyed(
long nativeExternalVideoSurfaceContainerImpl, int playerId);
}
......@@ -424,7 +424,6 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
private int mPotentiallyActiveFlingCount;
private SmartClipDataListener mSmartClipDataListener = null;
private final ObserverList<ContainerViewObserver> mContainerViewObservers;
/**
* PID used to indicate an invalid render process.
......@@ -486,7 +485,6 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
mGestureStateListeners = new ObserverList<GestureStateListener>();
mGestureStateListenersIterator = mGestureStateListeners.rewindableIterator();
mContainerViewObservers = new ObserverList<ContainerViewObserver>();
mWindowAndroidChangedObservers = new ObserverList<WindowAndroidChangedObserver>();
}
......@@ -718,22 +716,11 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
mContainerView = containerView;
mContainerView.setClickable(true);
for (ContainerViewObserver observer : mContainerViewObservers) {
observer.onContainerViewChanged(mContainerView);
}
} finally {
TraceEvent.end("ContentViewCore.setContainerView");
}
}
public void addContainerViewObserver(ContainerViewObserver observer) {
mContainerViewObservers.addObserver(observer);
}
public void removeContainerViewObserver(ContainerViewObserver observer) {
mContainerViewObservers.removeObserver(observer);
}
@CalledByNative
private void onNativeContentViewCoreDestroyed(long nativeContentViewCore) {
assert nativeContentViewCore == mNativeContentViewCore;
......@@ -849,7 +836,6 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Screen
}
mGestureStateListeners.clear();
ScreenOrientationListener.getInstance().removeObserver(this);
mContainerViewObservers.clear();
hidePopupsAndPreserveSelection();
mPastePopupMenu = null;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment