Commit 6e47e438 authored by Jinsuk Kim's avatar Jinsuk Kim Committed by Commit Bot

Android: Remove Tab.getControlsOffsetHelper()

Now that TabBrowserControlsOffsetHelper object can now be obtained
from TabBrowserControlsOffsetHelper.from(Tab), this CL removes
the API from Tab class.

Also, |FullscreenManager.setTab()| takes over the task of
updating the offsethelper from Tab.

Tab still has a reference to offset helper object, which will go away
in a couple of more CLs that move all the related tasks out of Tab.

Bug: 877878
Change-Id: I416230b59ca5704c055fca6b5eb89561f62d4a07
Reviewed-on: https://chromium-review.googlesource.com/1205971Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Commit-Queue: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589410}
parent e449fc97
......@@ -23,6 +23,7 @@ import org.chromium.base.TraceEvent;
import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.chrome.browser.fullscreen.FullscreenHtmlApiHandler.FullscreenHtmlApiDelegate;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabBrowserControlsOffsetHelper;
import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabModelObserver;
......@@ -543,7 +544,8 @@ public class ChromeFullscreenManager
private boolean shouldShowAndroidControls() {
if (mBrowserControlsAndroidViewHidden) return false;
if (getTab() != null && getTab().getControlsOffsetHelper().isControlsOffsetOverridden()) {
if (getTab() != null
&& TabBrowserControlsOffsetHelper.from(getTab()).isControlsOffsetOverridden()) {
return true;
}
......
......@@ -10,6 +10,7 @@ import android.view.Window;
import org.chromium.chrome.browser.fullscreen.FullscreenHtmlApiHandler.FullscreenHtmlApiDelegate;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabBrowserControlsOffsetHelper;
/**
* Manages the basic fullscreen functionality required by a Tab.
......@@ -111,12 +112,18 @@ public abstract class FullscreenManager {
if (mTab == tab) return;
// Remove the fullscreen manager from the old tab before setting the new tab.
if (mTab != null) mTab.setFullscreenManager(null);
setFullscreenManager(null);
mTab = tab;
// Initialize the new tab with the correct fullscreen manager reference.
if (mTab != null) mTab.setFullscreenManager(this);
setFullscreenManager(this);
}
private void setFullscreenManager(FullscreenManager manager) {
if (mTab == null) return;
mTab.setFullscreenManager(manager);
TabBrowserControlsOffsetHelper.from(mTab).resetPositions();
}
/**
......
......@@ -109,7 +109,7 @@ public class TabModalPresenter
if (mDialogContainer == null) initDialogContainer();
setBrowserControlsAccess(true);
// Don't show the dialog container before browser controls are guaranteed fully visible.
if (mActiveTab.getControlsOffsetHelper().areBrowserControlsFullyVisible()) {
if (TabBrowserControlsOffsetHelper.from(mActiveTab).areBrowserControlsFullyVisible()) {
runEnterAnimation(dialogView);
} else {
mRunEnterAnimationOnCallback = true;
......@@ -224,7 +224,7 @@ public class TabModalPresenter
assert mActiveTab
!= null : "Tab modal dialogs should be shown on top of an active tab.";
mActiveTab.getControlsOffsetHelper().addObserver(this);
TabBrowserControlsOffsetHelper.from(mActiveTab).addObserver(this);
// Hide contextual search panel so that bottom toolbar will not be
// obscured and back press is not overridden.
ContextualSearchManager contextualSearchManager =
......@@ -259,7 +259,7 @@ public class TabModalPresenter
}
menuButton.setEnabled(false);
} else {
mActiveTab.getControlsOffsetHelper().removeObserver(this);
TabBrowserControlsOffsetHelper.from(mActiveTab).removeObserver(this);
// Show the action bar back if it was dismissed when the dialogs were showing.
if (mDidClearTextControls) {
mDidClearTextControls = false;
......
......@@ -2901,7 +2901,6 @@ public class Tab
*/
public void setFullscreenManager(FullscreenManager manager) {
mFullscreenManager = manager;
mControlsOffsetHelper.resetPositions();
}
/**
......@@ -3360,13 +3359,6 @@ public class Tab
return nativeAreRendererInputEventsIgnored(mNativeTabAndroid);
}
/**
* @return The {@link TabBrowserControlsOffsetHelper} for this tab.
*/
public TabBrowserControlsOffsetHelper getControlsOffsetHelper() {
return mControlsOffsetHelper;
}
@CalledByNative
private void showMediaDownloadInProductHelp(int x, int y, int width, int height) {
Rect rect = new Rect(x, y, x + width, y + height);
......
......@@ -154,7 +154,7 @@ public class TabBrowserControlsOffsetHelper implements VrModeObserver, UserData
/**
* Resets the controls positions in {@link FullscreenManager} to the cached positions.
*/
void resetPositions() {
public void resetPositions() {
resetControlsOffsetOverridden();
if (mTab.getFullscreenManager() == null) return;
......
......@@ -29,13 +29,13 @@ class TabViewAndroidDelegate extends ViewAndroidDelegate {
@Override
public void onTopControlsChanged(float topControlsOffsetY, float topContentOffsetY) {
mTab.getControlsOffsetHelper().onOffsetsChanged(
TabBrowserControlsOffsetHelper.from(mTab).onOffsetsChanged(
topControlsOffsetY, Float.NaN, topContentOffsetY);
}
@Override
public void onBottomControlsChanged(float bottomControlsOffsetY, float bottomContentOffsetY) {
mTab.getControlsOffsetHelper().onOffsetsChanged(
TabBrowserControlsOffsetHelper.from(mTab).onOffsetsChanged(
Float.NaN, bottomControlsOffsetY, Float.NaN);
}
......
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