Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(586)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java

Issue 1706293005: StaticTabSceneLayer owns ToolbarLayer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix findbugs issue Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698