| Index: chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
|
| index 660f96e868b0c9772b25b7f0315b82f4dbca6205..3a35fb416a540fdde3f8dabc59749e4aa49ebe45 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
|
| @@ -32,6 +32,7 @@ import org.chromium.base.VisibleForTesting;
|
| import org.chromium.chrome.browser.fullscreen.FullscreenHtmlApiHandler.FullscreenHtmlApiDelegate;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
| +import org.chromium.chrome.browser.widget.ControlContainer;
|
| import org.chromium.content.browser.ContentVideoView;
|
| import org.chromium.content.browser.ContentViewCore;
|
| import org.chromium.content_public.common.TopControlsState;
|
| @@ -60,7 +61,7 @@ public class ChromeFullscreenManager
|
| private final Handler mHandler;
|
| private final int mControlContainerHeight;
|
|
|
| - private final View mControlContainer;
|
| + private final ControlContainer mControlContainer;
|
|
|
| private long mMinShowNotificationMs = MINIMUM_SHOW_DURATION_MS;
|
| private long mMaxAnimationDurationMs = MAX_ANIMATION_DURATION_MS;
|
| @@ -139,13 +140,13 @@ public class ChromeFullscreenManager
|
| @Override
|
| public void run() {
|
| int visibility = shouldShowAndroidControls() ? View.VISIBLE : View.INVISIBLE;
|
| - if (mControlContainer.getVisibility() == visibility) return;
|
| + if (mControlContainer.getView().getVisibility() == visibility) return;
|
| // requestLayout is required to trigger a new gatherTransparentRegion(), which
|
| // only occurs together with a layout and let's SurfaceFlinger trim overlays.
|
| // This may be almost equivalent to using View.GONE, but we still use View.INVISIBLE
|
| // since drawing caches etc. won't be destroyed, and the layout may be less expensive.
|
| - mControlContainer.setVisibility(visibility);
|
| - mControlContainer.requestLayout();
|
| + mControlContainer.getView().setVisibility(visibility);
|
| + mControlContainer.getView().requestLayout();
|
| }
|
| };
|
|
|
| @@ -184,7 +185,7 @@ public class ChromeFullscreenManager
|
| * @param supportsBrowserOverride Whether we want to disable the token system used by the
|
| browser.
|
| */
|
| - public ChromeFullscreenManager(Activity activity, View controlContainer,
|
| + public ChromeFullscreenManager(Activity activity, ControlContainer controlContainer,
|
| TabModelSelector modelSelector, int resControlContainerHeight,
|
| boolean supportsBrowserOverride) {
|
| super(activity.getWindow(), modelSelector);
|
| @@ -374,6 +375,13 @@ public class ChromeFullscreenManager
|
| return mControlOffset;
|
| }
|
|
|
| + /**
|
| + * @return The toolbar control container.
|
| + */
|
| + public ControlContainer getControlContainer() {
|
| + return mControlContainer;
|
| + }
|
| +
|
| @SuppressWarnings("SelfEquality")
|
| private void updateControlOffset() {
|
| float offset = 0;
|
| @@ -477,9 +485,9 @@ public class ChromeFullscreenManager
|
| */
|
| private void scheduleVisibilityUpdate() {
|
| final int desiredVisibility = shouldShowAndroidControls() ? View.VISIBLE : View.INVISIBLE;
|
| - if (mControlContainer.getVisibility() == desiredVisibility) return;
|
| - mControlContainer.removeCallbacks(mUpdateVisibilityRunnable);
|
| - mControlContainer.postOnAnimation(mUpdateVisibilityRunnable);
|
| + if (mControlContainer.getView().getVisibility() == desiredVisibility) return;
|
| + mControlContainer.getView().removeCallbacks(mUpdateVisibilityRunnable);
|
| + mControlContainer.getView().postOnAnimation(mUpdateVisibilityRunnable);
|
| }
|
|
|
| private void updateVisuals() {
|
| @@ -490,7 +498,9 @@ public class ChromeFullscreenManager
|
| mPreviousControlOffset = offset;
|
|
|
| scheduleVisibilityUpdate();
|
| - if (shouldShowAndroidControls()) mControlContainer.setTranslationY(getControlOffset());
|
| + if (shouldShowAndroidControls()) {
|
| + mControlContainer.getView().setTranslationY(getControlOffset());
|
| + }
|
|
|
| for (int i = 0; i < mListeners.size(); i++) {
|
| mListeners.get(i).onVisibleContentOffsetChanged(getVisibleContentOffset());
|
|
|