|
|
|
@@ -59,7 +59,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|
|
|
|
chrome/browser/flag_descriptions.h | 3 ++
|
|
|
|
|
.../flags/android/cached_feature_flags.cc | 18 +++++++
|
|
|
|
|
.../flags/android/chrome_feature_list.cc | 2 +
|
|
|
|
|
.../browser/flags/CachedFeatureFlags.java | 19 +++++++
|
|
|
|
|
.../browser/flags/CachedFeatureFlags.java | 18 +++++++
|
|
|
|
|
.../browser/flags/ChromeFeatureList.java | 4 ++
|
|
|
|
|
.../chrome/browser/ui/appmenu/AppMenu.java | 30 +++++++++++
|
|
|
|
|
.../ui/appmenu/AppMenuHandlerImpl.java | 11 ++++
|
|
|
|
@@ -86,7 +86,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|
|
|
|
.../accessibility/AccessibilitySettings.java | 16 ++++++
|
|
|
|
|
.../AccessibilitySettingsDelegate.java | 6 +++
|
|
|
|
|
.../render_widget_host_view_android.cc | 3 ++
|
|
|
|
|
74 files changed, 784 insertions(+), 57 deletions(-)
|
|
|
|
|
74 files changed, 783 insertions(+), 57 deletions(-)
|
|
|
|
|
|
|
|
|
|
diff --git a/cc/base/features.cc b/cc/base/features.cc
|
|
|
|
|
--- a/cc/base/features.cc
|
|
|
|
@@ -139,7 +139,7 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont
|
|
|
|
|
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
|
|
|
|
--- a/cc/trees/layer_tree_host_impl.cc
|
|
|
|
|
+++ b/cc/trees/layer_tree_host_impl.cc
|
|
|
|
|
@@ -4253,6 +4253,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
|
|
|
|
|
@@ -4301,6 +4301,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
|
|
|
|
|
if (scroll_delta.IsZero())
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
@@ -152,7 +152,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
|
|
|
|
diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
|
|
|
|
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
|
|
|
|
+++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
|
|
|
|
|
@@ -85,6 +85,9 @@ import org.chromium.content_public.browser.LoadUrlParams;
|
|
|
|
|
@@ -90,6 +90,9 @@ import org.chromium.content_public.browser.LoadUrlParams;
|
|
|
|
|
import org.chromium.ui.modelutil.PropertyModel;
|
|
|
|
|
import org.chromium.ui.util.ColorUtils;
|
|
|
|
|
|
|
|
|
@@ -162,7 +162,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/
|
|
|
|
|
/** The mediator implements the logic to interact with the surfaces and caller. */
|
|
|
|
|
class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.OnClickListener,
|
|
|
|
|
StartSurface.OnTabSelectingListener, BackPressHandler,
|
|
|
|
|
@@ -1095,6 +1098,8 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.
|
|
|
|
|
@@ -1131,6 +1134,8 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setTopMargin(int topMargin) {
|
|
|
|
@@ -271,10 +271,10 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
+ updateThemeColor(tab);
|
|
|
|
|
if (type == TabSelectionType.FROM_CLOSE) return;
|
|
|
|
|
if (TabUiFeatureUtilities.isTabGroupsAndroidEnabled(mContext)
|
|
|
|
|
&& getTabsToShowForId(lastId).contains(tab)) {
|
|
|
|
|
@@ -259,6 +291,7 @@ public class TabGroupUiMediator implements SnackbarManager.SnackbarController, B
|
|
|
|
|
return;
|
|
|
|
|
@@ -258,6 +290,7 @@ public class TabGroupUiMediator implements SnackbarManager.SnackbarController, B
|
|
|
|
|
resetTabStripWithRelatedTabsForId(currentTab.getId());
|
|
|
|
|
RecordUserAction.record("TabStrip.SessionVisibility."
|
|
|
|
|
+ (mIsTabGroupUiVisible ? "Visible" : "Hidden"));
|
|
|
|
@@ -393,8 +393,8 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
|
|
|
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
|
|
|
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
|
|
|
|
|
@@ -21,6 +21,8 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|
|
|
|
import org.chromium.components.browser_ui.styles.ChromeColors;
|
|
|
|
|
@@ -22,6 +22,8 @@ import org.chromium.components.browser_ui.styles.ChromeColors;
|
|
|
|
|
import org.chromium.ui.base.ViewUtils;
|
|
|
|
|
import org.chromium.ui.modelutil.PropertyKey;
|
|
|
|
|
import org.chromium.ui.modelutil.PropertyModel;
|
|
|
|
|
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
|
|
|
|
@@ -402,19 +402,19 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ViewBinder for TabListRecyclerView.
|
|
|
|
|
@@ -57,6 +59,8 @@ class TabListContainerViewBinder {
|
|
|
|
|
@@ -58,6 +60,8 @@ class TabListContainerViewBinder {
|
|
|
|
|
params.topMargin = newTopMargin;
|
|
|
|
|
view.requestLayout();
|
|
|
|
|
ViewUtils.requestLayout(view, "TabListContainerViewBinder.bind TOP_MARGIN");
|
|
|
|
|
} else if (BOTTOM_CONTROLS_HEIGHT == propertyKey) {
|
|
|
|
|
+ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
|
|
|
|
|
+ return;
|
|
|
|
|
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) view.getLayoutParams();
|
|
|
|
|
params.bottomMargin = model.get(BOTTOM_CONTROLS_HEIGHT);
|
|
|
|
|
view.requestLayout();
|
|
|
|
|
ViewUtils.requestLayout(view, "TabListContainerViewBinder.bind BOTTOM_CONTROLS_HEIGHT");
|
|
|
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
|
|
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
|
|
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
|
|
|
|
@@ -47,6 +47,9 @@ import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter;
|
|
|
|
|
@@ -48,6 +48,9 @@ import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter;
|
|
|
|
|
import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
|
|
|
|
|
import org.chromium.ui.widget.ViewLookupCachingFrameLayout;
|
|
|
|
|
|
|
|
|
@@ -424,7 +424,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
import java.lang.annotation.Retention;
|
|
|
|
|
import java.lang.annotation.RetentionPolicy;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
@@ -255,6 +258,9 @@ public class TabListCoordinator
|
|
|
|
|
@@ -256,6 +259,9 @@ public class TabListCoordinator
|
|
|
|
|
if (mMode == TabListMode.GRID) {
|
|
|
|
|
GridLayoutManager gridLayoutManager =
|
|
|
|
|
new GridLayoutManager(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
|
|
|
|
@@ -437,7 +437,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
|
|
|
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
|
|
|
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
|
|
|
|
|
@@ -36,6 +36,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
|
|
|
|
|
@@ -37,6 +37,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
|
|
|
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
|
|
|
|
|
|
import org.chromium.base.Log;
|
|
|
|
@@ -445,7 +445,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
|
|
|
import org.chromium.chrome.browser.tabmodel.TabModel;
|
|
|
|
|
import org.chromium.chrome.tab_ui.R;
|
|
|
|
|
@@ -63,6 +64,8 @@ class TabListRecyclerView
|
|
|
|
|
@@ -65,6 +66,8 @@ class TabListRecyclerView
|
|
|
|
|
public static final long BASE_ANIMATION_DURATION_MS = 218;
|
|
|
|
|
public static final long FINAL_FADE_IN_DURATION_MS = 50;
|
|
|
|
|
|
|
|
|
@@ -454,7 +454,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
/**
|
|
|
|
|
* Field trial parameter for downsampling scaling factor.
|
|
|
|
|
*/
|
|
|
|
|
@@ -192,6 +195,7 @@ class TabListRecyclerView
|
|
|
|
|
@@ -194,6 +197,7 @@ class TabListRecyclerView
|
|
|
|
|
? FINAL_FADE_IN_DURATION_MS
|
|
|
|
|
: BASE_ANIMATION_DURATION_MS;
|
|
|
|
|
|
|
|
|
@@ -462,7 +462,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
setAlpha(0);
|
|
|
|
|
setVisibility(View.VISIBLE);
|
|
|
|
|
mFadeInAnimator = ObjectAnimator.ofFloat(this, View.ALPHA, 1);
|
|
|
|
|
@@ -225,6 +229,11 @@ class TabListRecyclerView
|
|
|
|
|
@@ -228,6 +232,11 @@ class TabListRecyclerView
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void setShadowVisibility(boolean shouldShowShadow) {
|
|
|
|
@@ -474,7 +474,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
if (mShadowImageView == null) {
|
|
|
|
|
Context context = getContext();
|
|
|
|
|
mShadowImageView = new ImageView(context);
|
|
|
|
|
@@ -237,7 +246,10 @@ class TabListRecyclerView
|
|
|
|
|
@@ -240,7 +249,10 @@ class TabListRecyclerView
|
|
|
|
|
if (getParent() instanceof FrameLayout) {
|
|
|
|
|
// Add shadow for grid tab switcher.
|
|
|
|
|
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
|
|
|
|
@@ -486,7 +486,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
mShadowImageView.setLayoutParams(params);
|
|
|
|
|
mShadowImageView.setTranslationY(mShadowTopOffset);
|
|
|
|
|
FrameLayout parent = (FrameLayout) getParent();
|
|
|
|
|
@@ -264,6 +276,10 @@ class TabListRecyclerView
|
|
|
|
|
@@ -267,6 +279,10 @@ class TabListRecyclerView
|
|
|
|
|
|
|
|
|
|
void setShadowTopOffset(int shadowTopOffset) {
|
|
|
|
|
mShadowTopOffset = shadowTopOffset;
|
|
|
|
@@ -497,7 +497,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
|
|
|
|
|
if (mShadowImageView != null && getParent() instanceof FrameLayout) {
|
|
|
|
|
// Since the shadow has no functionality, other than just existing visually, we can use
|
|
|
|
|
@@ -443,6 +459,7 @@ class TabListRecyclerView
|
|
|
|
|
@@ -446,6 +462,7 @@ class TabListRecyclerView
|
|
|
|
|
mListener.finishedHiding();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
@@ -508,7 +508,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
|
|
|
|
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
|
|
|
|
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
|
|
|
|
@@ -43,6 +43,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
|
|
|
|
@@ -44,6 +44,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
|
|
|
|
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
|
|
|
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthController;
|
|
|
|
|
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthManager;
|
|
|
|
@@ -516,7 +516,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher;
|
|
|
|
|
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
|
|
|
|
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
|
|
|
|
|
@@ -457,11 +458,22 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
|
|
|
@@ -460,11 +461,22 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
|
|
|
updateTopControlsProperties();
|
|
|
|
|
mContainerViewModel.set(
|
|
|
|
|
BOTTOM_CONTROLS_HEIGHT, browserControlsStateProvider.getBottomControlsHeight());
|
|
|
|
@@ -539,7 +539,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mContainerView = containerView;
|
|
|
|
|
@@ -588,6 +600,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
|
|
|
@@ -592,6 +604,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
|
|
|
|
final int contentOffset = mBrowserControlsStateProvider.getContentOffset();
|
|
|
|
|
|
|
|
|
|
mContainerViewModel.set(TOP_MARGIN, contentOffset);
|
|
|
|
@@ -639,7 +639,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|
|
|
|
/**
|
|
|
|
|
* A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder}
|
|
|
|
|
* and associated classes.
|
|
|
|
|
@@ -748,6 +751,16 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
|
|
|
|
@@ -758,6 +761,16 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
|
|
|
|
int toolbarLayoutId = getToolbarLayoutId();
|
|
|
|
|
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
|
|
|
|
controlContainer.initWithToolbar(toolbarLayoutId);
|
|
|
|
@@ -659,18 +659,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
|
|
|
|
|
@@ -111,6 +111,7 @@ public class ChromeCachedFlags {
|
|
|
|
|
@@ -110,6 +110,7 @@ public class ChromeCachedFlags {
|
|
|
|
|
add(ChromeFeatureList.sInstanceSwitcher);
|
|
|
|
|
add(ChromeFeatureList.sInstantStart);
|
|
|
|
|
add(ChromeFeatureList.sInterestFeedV2);
|
|
|
|
|
+ add(ChromeFeatureList.sMoveTopToolbarToBottom);
|
|
|
|
|
add(ChromeFeatureList.sNewWindowAppMenu);
|
|
|
|
|
add(ChromeFeatureList.sOmniboxMatchToolbarAndStatusBarColor);
|
|
|
|
|
add(ChromeFeatureList.sOmniboxModernizeVisualUpdate);
|
|
|
|
|
add(ChromeFeatureList.sOmniboxRemoveExcessiveRecycledViewClearCalls);
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
|
|
|
|
@@ -83,6 +83,8 @@ import org.chromium.ui.base.WindowAndroid;
|
|
|
|
|
@@ -84,6 +84,8 @@ import org.chromium.ui.base.WindowAndroid;
|
|
|
|
|
import org.chromium.ui.mojom.VirtualKeyboardMode;
|
|
|
|
|
import org.chromium.ui.resources.ResourceManager;
|
|
|
|
|
import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
|
|
|
|
@@ -679,7 +679,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
@@ -316,6 +318,10 @@ public class CompositorViewHolder extends FrameLayout
|
|
|
|
|
@@ -317,6 +319,10 @@ public class CompositorViewHolder extends FrameLayout
|
|
|
|
|
WebContents webContents = mTabVisible.getWebContents();
|
|
|
|
|
if (webContents == null) return;
|
|
|
|
|
EventForwarder forwarder = webContents.getEventForwarder();
|
|
|
|
@@ -818,7 +818,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
|
|
|
|
@@ -376,7 +376,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate
|
|
|
|
|
@@ -377,7 +377,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate
|
|
|
|
|
// position 0 is on the left. Account for that in the offset calculation.
|
|
|
|
|
boolean isRtl = LocalizationUtils.isLayoutRtl();
|
|
|
|
|
boolean useUnadjustedScrollOffset = isRtl != isLeft;
|
|
|
|
@@ -830,7 +830,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
|
|
|
|
@@ -56,6 +56,9 @@ import org.chromium.ui.base.LocalizationUtils;
|
|
|
|
|
@@ -59,6 +59,9 @@ import org.chromium.ui.base.LocalizationUtils;
|
|
|
|
|
import org.chromium.ui.base.PageTransition;
|
|
|
|
|
import org.chromium.ui.resources.ResourceManager;
|
|
|
|
|
import org.chromium.url.GURL;
|
|
|
|
@@ -840,7 +840,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
@@ -119,9 +122,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
@@ -122,9 +125,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
private final String mDefaultTitle;
|
|
|
|
|
private final Supplier<LayerTitleCache> mLayerTitleCacheSupplier;
|
|
|
|
|
|
|
|
|
@@ -854,7 +854,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
if (mModelSelectorButton.onDown(x, y)) return;
|
|
|
|
|
if (mStripScrim.isVisible()) return;
|
|
|
|
|
getActiveStripLayoutHelper().onDown(time(), x, y, fromMouse, buttons);
|
|
|
|
|
@@ -141,6 +148,7 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
@@ -144,6 +151,7 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void drag(float x, float y, float dx, float dy, float tx, float ty) {
|
|
|
|
@@ -862,7 +862,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
mModelSelectorButton.drag(x, y);
|
|
|
|
|
if (mStripScrim.isVisible()) return;
|
|
|
|
|
getActiveStripLayoutHelper().drag(time(), x, y, dx, dy, tx, ty);
|
|
|
|
|
@@ -148,6 +156,7 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
@@ -151,6 +159,7 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void click(float x, float y, boolean fromMouse, int buttons) {
|
|
|
|
@@ -870,7 +870,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
long time = time();
|
|
|
|
|
if (mModelSelectorButton.click(x, y)) {
|
|
|
|
|
mModelSelectorButton.handleClick(time);
|
|
|
|
|
@@ -159,13 +168,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
@@ -162,13 +171,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void fling(float x, float y, float velocityX, float velocityY) {
|
|
|
|
@@ -886,7 +886,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
getActiveStripLayoutHelper().onLongPress(time(), x, y);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -249,7 +258,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
@@ -252,7 +261,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
*/
|
|
|
|
|
public StripLayoutHelperManager(Context context, LayoutUpdateHost updateHost,
|
|
|
|
|
LayoutRenderHost renderHost, Supplier<LayerTitleCache> layerTitleCacheSupplier,
|
|
|
|
@@ -896,7 +896,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
mUpdateHost = updateHost;
|
|
|
|
|
mLayerTitleCacheSupplier = layerTitleCacheSupplier;
|
|
|
|
|
mTabStripTreeProvider = new TabStripSceneLayer(context);
|
|
|
|
|
@@ -292,6 +302,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
@@ -295,6 +305,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
new StripLayoutHelper(context, updateHost, renderHost, false, mModelSelectorButton);
|
|
|
|
|
mIncognitoHelper =
|
|
|
|
|
new StripLayoutHelper(context, updateHost, renderHost, true, mModelSelectorButton);
|
|
|
|
@@ -905,7 +905,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
|
|
|
|
|
onContextChanged(context);
|
|
|
|
|
}
|
|
|
|
|
@@ -361,9 +373,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
@@ -364,9 +376,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
Tab selectedTab = mTabModelSelector.getCurrentModel().getTabAt(
|
|
|
|
|
mTabModelSelector.getCurrentModel().index());
|
|
|
|
|
int selectedTabId = selectedTab == null ? TabModel.INVALID_TAB_INDEX : selectedTab.getId();
|
|
|
|
@@ -920,7 +920,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
|
|
|
|
return mTabStripTreeProvider;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -401,7 +417,17 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
@@ -404,7 +420,17 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
|
|
|
|
|
mIncognitoHelper.onSizeChanged(
|
|
|
|
|
mWidth, mHeight, orientationChanged, LayoutManagerImpl.time());
|
|
|
|
|
|
|
|
|
@@ -1005,7 +1005,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
|
|
|
|
|
@@ -21,6 +21,8 @@ import org.chromium.chrome.browser.layouts.scene_layer.SceneLayer;
|
|
|
|
|
@@ -23,6 +23,8 @@ import org.chromium.chrome.browser.layouts.scene_layer.SceneLayer;
|
|
|
|
|
import org.chromium.chrome.browser.layouts.scene_layer.SceneOverlayLayer;
|
|
|
|
|
import org.chromium.ui.base.LocalizationUtils;
|
|
|
|
|
import org.chromium.ui.resources.ResourceManager;
|
|
|
|
@@ -1014,7 +1014,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scen
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The Java component of what is basically a CC Layer that manages drawing the Tab Strip (which is
|
|
|
|
|
@@ -67,10 +69,19 @@ public class TabStripSceneLayer extends SceneOverlayLayer {
|
|
|
|
|
@@ -77,10 +79,19 @@ public class TabStripSceneLayer extends SceneOverlayLayer {
|
|
|
|
|
*/
|
|
|
|
|
public void pushAndUpdateStrip(StripLayoutHelperManager layoutHelper,
|
|
|
|
|
LayerTitleCache layerTitleCache, ResourceManager resourceManager,
|
|
|
|
@@ -1077,7 +1077,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
|
|
|
|
|
/**
|
|
|
|
|
* A class that manages browser control visibility and positioning.
|
|
|
|
|
*/
|
|
|
|
|
@@ -396,6 +399,14 @@ public class BrowserControlsManager
|
|
|
|
|
@@ -395,6 +398,14 @@ public class BrowserControlsManager
|
|
|
|
|
return mTopControlContainerHeight;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1092,7 +1092,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
|
|
|
|
|
@Override
|
|
|
|
|
public int getTopControlsMinHeight() {
|
|
|
|
|
return mTopControlsMinHeight;
|
|
|
|
|
@@ -462,6 +473,8 @@ public class BrowserControlsManager
|
|
|
|
|
@@ -461,6 +472,8 @@ public class BrowserControlsManager
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public float getTopVisibleContentOffset() {
|
|
|
|
@@ -1104,9 +1104,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
|
|
|
|
|
@@ -17,6 +17,10 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
|
|
|
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
|
|
|
|
|
@@ -18,6 +18,10 @@ import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
|
|
|
|
|
import org.chromium.components.messages.MessageContainer;
|
|
|
|
|
import org.chromium.ui.base.ViewUtils;
|
|
|
|
|
|
|
|
|
|
+import android.view.Gravity;
|
|
|
|
|
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
|
|
@@ -1115,7 +1115,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/Messag
|
|
|
|
|
/**
|
|
|
|
|
* Coordinator of {@link MessageContainer}, which can adjust margins of the message container
|
|
|
|
|
* and control the visibility of browser control when message is being shown.
|
|
|
|
|
@@ -50,7 +54,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
|
|
|
|
|
@@ -60,7 +64,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
|
|
|
|
|
}
|
|
|
|
|
CoordinatorLayout.LayoutParams params =
|
|
|
|
|
(CoordinatorLayout.LayoutParams) mContainer.getLayoutParams();
|
|
|
|
@@ -1129,7 +1129,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/Messag
|
|
|
|
|
mContainer.setLayoutParams(params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -110,6 +119,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
|
|
|
|
|
@@ -120,6 +129,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
|
|
|
|
|
|
|
|
|
|
/** @return Offset of the message container from the top of the screen. */
|
|
|
|
|
private int getContainerTopOffset() {
|
|
|
|
@@ -1157,7 +1157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/Chr
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
|
|
|
|
@@ -101,6 +101,8 @@ import org.chromium.content_public.browser.NavigationEntry;
|
|
|
|
|
@@ -98,6 +98,8 @@ import org.chromium.content_public.browser.NavigationEntry;
|
|
|
|
|
import org.chromium.ui.base.DeviceFormFactor;
|
|
|
|
|
import org.chromium.ui.base.WindowAndroid;
|
|
|
|
|
import org.chromium.ui.mojom.WindowOpenDisposition;
|
|
|
|
@@ -1166,7 +1166,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
@@ -562,10 +564,15 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
|
|
|
|
|
@@ -559,10 +561,15 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
|
|
|
|
|
// + topControlsDistanceToRest| will give the margin for the current animation frame.
|
|
|
|
|
final int topControlsDistanceToRest = mBrowserControlsStateProvider.getContentOffset()
|
|
|
|
|
- mBrowserControlsStateProvider.getTopControlsHeight();
|
|
|
|
@@ -1184,7 +1184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
|
|
|
|
|
|
|
|
|
if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) {
|
|
|
|
|
layoutParams.topMargin = topMargin;
|
|
|
|
|
@@ -585,7 +592,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
|
|
|
|
|
@@ -582,7 +589,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
|
|
|
|
|
* strip.
|
|
|
|
|
*/
|
|
|
|
|
private int getToolbarExtraYOffset() {
|
|
|
|
@@ -1301,7 +1301,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
|
|
|
|
@@ -258,6 +258,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
|
|
|
|
@@ -257,6 +257,11 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
|
|
|
|
if (fragment instanceof INeedSnackbarManager) {
|
|
|
|
|
((INeedSnackbarManager)fragment).setSnackbarManager(mSnackbarManager);
|
|
|
|
|
}
|
|
|
|
@@ -1316,7 +1316,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java
|
|
|
|
|
@@ -24,6 +24,11 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
|
|
|
|
|
@@ -25,6 +25,11 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
|
|
|
|
|
import org.chromium.ui.resources.ResourceManager;
|
|
|
|
|
import org.chromium.ui.resources.dynamics.ViewResourceAdapter;
|
|
|
|
|
|
|
|
|
@@ -1328,7 +1328,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicato
|
|
|
|
|
/**
|
|
|
|
|
* The coordinator for a status indicator that is positioned below the status bar and is persistent.
|
|
|
|
|
* Typically used to relay status, e.g. indicate user is offline.
|
|
|
|
|
@@ -173,6 +178,11 @@ public class StatusIndicatorCoordinator {
|
|
|
|
|
@@ -174,6 +179,11 @@ public class StatusIndicatorCoordinator {
|
|
|
|
|
private void initialize() {
|
|
|
|
|
final ViewStub stub = mActivity.findViewById(R.id.status_indicator_stub);
|
|
|
|
|
final ViewResourceFrameLayout root = (ViewResourceFrameLayout) stub.inflate();
|
|
|
|
@@ -1367,7 +1367,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicato
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
|
|
|
|
@@ -178,6 +178,9 @@ import org.chromium.url.GURL;
|
|
|
|
|
@@ -176,6 +176,9 @@ import org.chromium.url.GURL;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@@ -1377,7 +1377,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
|
|
|
|
/**
|
|
|
|
|
* Contains logic for managing the toolbar visual component. This class manages the interactions
|
|
|
|
|
* with the rest of the application to ensure the toolbar is always visually up to date.
|
|
|
|
|
@@ -670,7 +673,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
@@ -667,7 +670,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
mEphemeralTabCoordinatorSupplier);
|
|
|
|
|
// clang-format off
|
|
|
|
|
LocationBarCoordinator locationBarCoordinator = new LocationBarCoordinator(
|
|
|
|
@@ -1386,7 +1386,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
|
|
|
|
PrivacyPreferencesManagerImpl.getInstance(), mLocationBarModel,
|
|
|
|
|
mActionModeController.getActionModeCallback(),
|
|
|
|
|
new WindowDelegate(mActivity.getWindow()), windowAndroid, mActivityTabProvider,
|
|
|
|
|
@@ -927,11 +930,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
@@ -925,11 +928,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
// the height won't be measured by the background image.
|
|
|
|
|
if (mControlContainer.getBackground() == null) {
|
|
|
|
|
setControlContainerTopMargin(getToolbarExtraYOffset());
|
|
|
|
@@ -1400,7 +1400,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
|
|
|
|
mControlContainer.removeOnLayoutChangeListener(mLayoutChangeListener);
|
|
|
|
|
mLayoutChangeListener = null;
|
|
|
|
|
}
|
|
|
|
|
@@ -1311,13 +1316,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
@@ -1309,13 +1314,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
return mLocationBar.getOmniboxStub().isUrlBarFocused();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1428,7 +1428,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
|
|
|
|
mScrimCoordinator, mOmniboxFocusStateSupplier, mBottomSheetController,
|
|
|
|
|
mActivityLifecycleDispatcher, mIsWarmOnResumeSupplier, mTabModelSelector,
|
|
|
|
|
mTabContentManager, mCompositorViewHolder,
|
|
|
|
|
@@ -1326,8 +1343,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
@@ -1324,8 +1341,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
mBottomControlsCoordinatorSupplier.set(new BottomControlsCoordinator(mActivity,
|
|
|
|
|
mWindowAndroid, mLayoutManager, mCompositorViewHolder.getResourceManager(),
|
|
|
|
|
mBrowserControlsSizer, mFullscreenManager,
|
|
|
|
@@ -1440,7 +1440,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -2107,6 +2125,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
@@ -2105,6 +2123,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
|
|
|
|
private void setControlContainerTopMargin(int margin) {
|
|
|
|
|
final ViewGroup.MarginLayoutParams layoutParams =
|
|
|
|
|
((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams());
|
|
|
|
@@ -1499,9 +1499,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContai
|
|
|
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
|
|
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
|
|
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
|
|
|
|
|
@@ -13,6 +13,9 @@ import android.view.Window;
|
|
|
|
|
import androidx.annotation.ColorInt;
|
|
|
|
|
@@ -14,6 +14,9 @@ import androidx.annotation.ColorInt;
|
|
|
|
|
import androidx.annotation.Nullable;
|
|
|
|
|
import androidx.annotation.VisibleForTesting;
|
|
|
|
|
|
|
|
|
|
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
|
|
|
|
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
|
|
|
|
@@ -1509,7 +1509,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/Statu
|
|
|
|
|
import org.chromium.base.ApiCompatibilityUtils;
|
|
|
|
|
import org.chromium.base.CallbackController;
|
|
|
|
|
import org.chromium.base.supplier.ObservableSupplier;
|
|
|
|
|
@@ -370,6 +373,12 @@ public class StatusBarColorController
|
|
|
|
|
@@ -425,6 +428,12 @@ public class StatusBarColorController
|
|
|
|
|
boolean needsDarkStatusBarIcons = !ColorUtils.shouldUseLightForegroundOnBackground(color);
|
|
|
|
|
ApiCompatibilityUtils.setStatusBarIconColor(root, needsDarkStatusBarIcons);
|
|
|
|
|
ApiCompatibilityUtils.setStatusBarColor(mWindow, color);
|
|
|
|
@@ -1525,7 +1525,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/Statu
|
|
|
|
|
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
|
|
|
|
--- a/chrome/browser/about_flags.cc
|
|
|
|
|
+++ b/chrome/browser/about_flags.cc
|
|
|
|
|
@@ -7422,6 +7422,11 @@ const FeatureEntry kFeatureEntries[] = {
|
|
|
|
|
@@ -7578,6 +7578,11 @@ const FeatureEntry kFeatureEntries[] = {
|
|
|
|
|
flag_descriptions::kWindowsScrollingPersonalityDescription, kOsAll,
|
|
|
|
|
FEATURE_VALUE_TYPE(features::kWindowsScrollingPersonality)},
|
|
|
|
|
|
|
|
|
@@ -1548,7 +1548,7 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer
|
|
|
|
|
|
|
|
|
|
using base::android::JavaParamRef;
|
|
|
|
|
using base::android::JavaRef;
|
|
|
|
|
@@ -82,8 +83,10 @@ void TabStripSceneLayer::SetContentTree(
|
|
|
|
|
@@ -81,8 +82,10 @@ void TabStripSceneLayer::SetContentTree(
|
|
|
|
|
content_tree_ = content_tree;
|
|
|
|
|
if (content_tree) {
|
|
|
|
|
layer()->InsertChild(content_tree->layer(), 0);
|
|
|
|
@@ -1561,9 +1561,9 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -115,12 +118,17 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env,
|
|
|
|
|
jfloat y_offset,
|
|
|
|
|
jboolean should_readd_background) {
|
|
|
|
|
@@ -115,13 +118,18 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env,
|
|
|
|
|
jboolean should_readd_background,
|
|
|
|
|
jint background_color) {
|
|
|
|
|
gfx::RectF content(0, y_offset, width, height);
|
|
|
|
|
- layer()->SetPosition(gfx::PointF(0, y_offset));
|
|
|
|
|
+ if (base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom)) {
|
|
|
|
@@ -1574,6 +1574,7 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer
|
|
|
|
|
+ }
|
|
|
|
|
tab_strip_layer_->SetBounds(gfx::Size(width, height));
|
|
|
|
|
scrollable_strip_layer_->SetBounds(gfx::Size(width, height));
|
|
|
|
|
tab_strip_layer_->SetBackgroundColor(SkColor4f::FromColor(background_color));
|
|
|
|
|
|
|
|
|
|
// Content tree should not be affected by tab strip scene layer visibility.
|
|
|
|
|
- if (content_tree_)
|
|
|
|
@@ -1623,7 +1624,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom
|
|
|
|
|
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
|
|
|
|
--- a/chrome/browser/flag_descriptions.cc
|
|
|
|
|
+++ b/chrome/browser/flag_descriptions.cc
|
|
|
|
|
@@ -1752,6 +1752,10 @@ const char kImprovedKeyboardShortcutsDescription[] =
|
|
|
|
|
@@ -1693,6 +1693,10 @@ const char kImprovedKeyboardShortcutsDescription[] =
|
|
|
|
|
"Ensure keyboard shortcuts work consistently with international keyboard "
|
|
|
|
|
"layouts and deprecate legacy shortcuts.";
|
|
|
|
|
|
|
|
|
@@ -1637,7 +1638,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
|
|
|
|
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
|
|
|
|
--- a/chrome/browser/flag_descriptions.h
|
|
|
|
|
+++ b/chrome/browser/flag_descriptions.h
|
|
|
|
|
@@ -987,6 +987,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
|
|
|
|
|
@@ -962,6 +962,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
|
|
|
|
|
extern const char kCompositorThreadedScrollbarScrollingName[];
|
|
|
|
|
extern const char kCompositorThreadedScrollbarScrollingDescription[];
|
|
|
|
|
|
|
|
|
@@ -1690,26 +1691,18 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
|
|
|
|
#include "base/metrics/field_trial_params.h"
|
|
|
|
|
#include "base/no_destructor.h"
|
|
|
|
|
#include "base/strings/string_piece_forward.h"
|
|
|
|
|
@@ -250,6 +251,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
|
|
|
|
&kKitKatSupported,
|
|
|
|
|
@@ -255,6 +256,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
|
|
|
|
&kIsVoiceSearchEnabledCache,
|
|
|
|
|
&kLensCameraAssistedSearch,
|
|
|
|
|
&kLensOnQuickActionSearchWidget,
|
|
|
|
|
+ &features::kMoveTopToolbarToBottom,
|
|
|
|
|
&kNewInstanceFromDraggedLink,
|
|
|
|
|
&kNewTabPageTilesTitleWrapAround,
|
|
|
|
|
&kNewWindowAppMenu,
|
|
|
|
|
&kNotificationPermissionVariant,
|
|
|
|
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
|
|
|
|
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
|
|
|
|
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
|
|
|
|
|
@@ -107,6 +107,7 @@ public class CachedFeatureFlags {
|
|
|
|
|
.put(ChromeFeatureList.TAB_GROUPS_FOR_TABLETS, false)
|
|
|
|
|
.put(ChromeFeatureList.TAB_SELECTION_EDITOR_V2, false)
|
|
|
|
|
.put(ChromeFeatureList.TAB_STRIP_IMPROVEMENTS, false)
|
|
|
|
|
+ .put(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM, false)
|
|
|
|
|
.put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, true)
|
|
|
|
|
.put(ChromeFeatureList.TEST_DEFAULT_DISABLED, false)
|
|
|
|
|
.put(ChromeFeatureList.TEST_DEFAULT_ENABLED, true)
|
|
|
|
|
@@ -213,6 +214,23 @@ public class CachedFeatureFlags {
|
|
|
|
|
@@ -124,6 +124,23 @@ public class CachedFeatureFlags {
|
|
|
|
|
SharedPreferencesManager.getInstance().writeBoolean(preferenceName, isEnabledInNative);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1733,7 +1726,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
|
|
|
|
/**
|
|
|
|
|
* Forces a feature to be enabled or disabled for testing.
|
|
|
|
|
*
|
|
|
|
|
@@ -532,6 +550,7 @@ public class CachedFeatureFlags {
|
|
|
|
|
@@ -434,6 +451,7 @@ public class CachedFeatureFlags {
|
|
|
|
|
|
|
|
|
|
@NativeMethods
|
|
|
|
|
interface Natives {
|
|
|
|
@@ -1744,16 +1737,16 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
|
|
|
|
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
|
|
|
|
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
|
|
|
|
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
|
|
|
|
@@ -430,6 +430,8 @@ public abstract class ChromeFeatureList {
|
|
|
|
|
@@ -389,6 +389,8 @@ public abstract class ChromeFeatureList {
|
|
|
|
|
public static final String MESSAGES_FOR_ANDROID_SYNC_ERROR = "MessagesForAndroidSyncError";
|
|
|
|
|
public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
|
|
|
|
|
public static final String MODAL_PERMISSION_DIALOG_VIEW = "ModalPermissionDialogView";
|
|
|
|
|
+ public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
|
|
|
|
+ "MoveTopToolbarToBottom";
|
|
|
|
|
public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid";
|
|
|
|
|
public static final String NEW_INSTANCE_FROM_DRAGGED_LINK = "NewInstanceFromDraggedLink";
|
|
|
|
|
public static final String NEW_TAB_PAGE_TILES_TITLE_WRAP_AROUND =
|
|
|
|
|
@@ -714,6 +716,8 @@ public abstract class ChromeFeatureList {
|
|
|
|
|
"NewTabPageTilesTitleWrapAround";
|
|
|
|
|
@@ -677,6 +679,8 @@ public abstract class ChromeFeatureList {
|
|
|
|
|
public static final CachedFlag sInterestFeedV2 = new CachedFlag(INTEREST_FEED_V2, true);
|
|
|
|
|
public static final CachedFlag sLensCameraAssistedSearch =
|
|
|
|
|
new CachedFlag(LENS_CAMERA_ASSISTED_SEARCH, false);
|
|
|
|
@@ -1911,7 +1904,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|
|
|
|
/**
|
|
|
|
|
* Coordinates the interactions with the UrlBar text component.
|
|
|
|
|
*/
|
|
|
|
|
@@ -231,7 +234,13 @@ public class UrlBarCoordinator implements UrlBarEditingTextStateProvider, UrlFoc
|
|
|
|
|
@@ -236,7 +239,13 @@ public class UrlBarCoordinator implements UrlBarEditingTextStateProvider, UrlFoc
|
|
|
|
|
// to show or hide keyboard anyway. This may happen when we schedule keyboard hide, and
|
|
|
|
|
// receive a second request to hide the keyboard instantly.
|
|
|
|
|
if (showKeyboard) {
|
|
|
|
@@ -1990,7 +1983,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|
|
|
|
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
|
|
|
|
|
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
|
|
|
|
|
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
|
|
|
|
|
@@ -58,6 +58,9 @@ import org.chromium.ui.modelutil.PropertyModel;
|
|
|
|
|
@@ -56,6 +56,9 @@ import org.chromium.ui.modelutil.PropertyModel;
|
|
|
|
|
import org.chromium.ui.mojom.WindowOpenDisposition;
|
|
|
|
|
import org.chromium.url.GURL;
|
|
|
|
|
|
|
|
|
@@ -2000,17 +1993,17 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|
|
|
|
import java.lang.annotation.Retention;
|
|
|
|
|
import java.lang.annotation.RetentionPolicy;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
@@ -1011,7 +1014,9 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
|
|
|
|
|
@@ -1010,7 +1013,9 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
|
|
|
|
|
@Override
|
|
|
|
|
public void onSuggestionDropdownScroll() {
|
|
|
|
|
if (mDropdownViewInfoListBuilder.hasFullyConcealedElements()) {
|
|
|
|
|
mSuggestionsListScrolled = true;
|
|
|
|
|
- mDelegate.setKeyboardVisibility(false, false);
|
|
|
|
|
+ if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
|
|
|
|
|
+ mDelegate.setKeyboardVisibility(false, false);
|
|
|
|
|
+ }
|
|
|
|
|
}
|
|
|
|
|
mSuggestionsListScrolled = true;
|
|
|
|
|
- mDelegate.setKeyboardVisibility(false, false);
|
|
|
|
|
+ if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
|
|
|
|
|
+ mDelegate.setKeyboardVisibility(false, false);
|
|
|
|
|
+ }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
|
|
|
|
|
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
|
|
|
|
|
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
|
|
|
|
@@ -2024,7 +2017,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|
|
|
|
/** A widget for showing a list of omnibox suggestions. */
|
|
|
|
|
public class OmniboxSuggestionsDropdown extends RecyclerView {
|
|
|
|
|
private static final long DEFERRED_INITIAL_SHRINKING_LAYOUT_FROM_IME_DURATION_MS = 300;
|
|
|
|
|
@@ -208,7 +211,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
|
|
|
|
@@ -246,7 +249,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
|
|
|
|
* Constructs a new list designed for containing omnibox suggestions.
|
|
|
|
|
* @param context Context used for contained views.
|
|
|
|
|
*/
|
|
|
|
@@ -2034,7 +2027,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|
|
|
|
super(context, null, android.R.attr.dropDownListViewStyle);
|
|
|
|
|
setFocusable(true);
|
|
|
|
|
setFocusableInTouchMode(true);
|
|
|
|
|
@@ -218,13 +222,25 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
|
|
|
|
@@ -256,13 +260,25 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
|
|
|
|
setItemAnimator(null);
|
|
|
|
|
|
|
|
|
|
mLayoutScrollListener = new SuggestionLayoutScrollListener(context);
|
|
|
|
@@ -2061,7 +2054,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
|
|
|
|
ViewCompat.setPaddingRelative(this, 0, 0, 0, paddingBottom);
|
|
|
|
|
|
|
|
|
|
mStandardBgColor = shouldShowModernizeVisualUpdate
|
|
|
|
|
@@ -442,6 +458,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
|
|
|
|
@@ -480,6 +496,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private int calculateAnchorBottomRelativeToContent() {
|
|
|
|
@@ -2405,7 +2398,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
|
|
|
|
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
|
|
|
|
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
|
|
|
|
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
|
|
|
|
@@ -14,6 +14,8 @@ import org.chromium.components.browser_ui.widget.ClipDrawableProgressBar.Drawing
|
|
|
|
|
@@ -13,6 +13,8 @@ import org.chromium.components.browser_ui.widget.ClipDrawableProgressBar.Drawing
|
|
|
|
|
import org.chromium.ui.modelutil.PropertyKey;
|
|
|
|
|
import org.chromium.ui.modelutil.PropertyModel;
|
|
|
|
|
import org.chromium.ui.resources.ResourceManager;
|
|
|
|
@@ -2414,7 +2407,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
|
|
|
|
|
|
|
|
|
/** A SceneLayer to render the top toolbar. This is the "view" piece of the top toolbar overlay. */
|
|
|
|
|
@JNINamespace("android")
|
|
|
|
|
@@ -39,13 +41,20 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
|
|
|
|
@@ -38,13 +40,20 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
|
|
|
|
/** Push all information about the texture to native at once. */
|
|
|
|
|
private void pushProperties(PropertyModel model) {
|
|
|
|
|
if (mResourceManagerSupplier.get() == null) return;
|
|
|
|
@@ -2459,15 +2452,15 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|
|
|
|
private TextScalePreference mTextScalePref;
|
|
|
|
|
private PageZoomPreference mPageZoomDefaultZoomPref;
|
|
|
|
|
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
|
|
|
|
@@ -43,6 +44,7 @@ public class AccessibilitySettings
|
|
|
|
|
private AccessibilitySettingsDelegate mDelegate;
|
|
|
|
|
@@ -44,6 +45,7 @@ public class AccessibilitySettings
|
|
|
|
|
private BooleanPreferenceDelegate mReaderForAccessibilityDelegate;
|
|
|
|
|
private BooleanPreferenceDelegate mAccessibilityTabSwitcherDelegate;
|
|
|
|
|
private double mPageZoomLatestDefaultZoomPrefValue;
|
|
|
|
|
+ private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
|
|
|
|
|
|
|
|
|
|
private FontSizePrefs mFontSizePrefs;
|
|
|
|
|
private FontSizePrefsObserver mFontSizePrefsObserver = new FontSizePrefsObserver() {
|
|
|
|
|
@@ -62,6 +64,10 @@ public class AccessibilitySettings
|
|
|
|
|
@@ -63,6 +65,10 @@ public class AccessibilitySettings
|
|
|
|
|
mFontSizePrefs = FontSizePrefs.getInstance(delegate.getBrowserContextHandle());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -2478,7 +2471,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|
|
|
|
@Override
|
|
|
|
|
public void onActivityCreated(Bundle savedInstanceState) {
|
|
|
|
|
super.onActivityCreated(savedInstanceState);
|
|
|
|
|
@@ -126,6 +132,12 @@ public class AccessibilitySettings
|
|
|
|
|
@@ -127,6 +133,12 @@ public class AccessibilitySettings
|
|
|
|
|
getPreferenceScreen().removePreference(accessibilityTabSwitcherPref);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -2491,7 +2484,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|
|
|
|
Preference captions = findPreference(PREF_CAPTIONS);
|
|
|
|
|
captions.setOnPreferenceClickListener(preference -> {
|
|
|
|
|
Intent intent = new Intent(Settings.ACTION_CAPTIONING_SETTINGS);
|
|
|
|
|
@@ -175,7 +187,11 @@ public class AccessibilitySettings
|
|
|
|
|
@@ -186,7 +198,11 @@ public class AccessibilitySettings
|
|
|
|
|
mDelegate.getBrowserContextHandle(), (Integer) newValue);
|
|
|
|
|
} else if (PREF_PAGE_ZOOM_ALWAYS_SHOW.equals(preference.getKey())) {
|
|
|
|
|
PageZoomUtils.setShouldAlwaysShowZoomMenuItem((Boolean) newValue);
|
|
|
|
@@ -2537,7 +2530,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
|
|
|
|
|
#include "cc/base/math_util.h"
|
|
|
|
|
#include "cc/layers/layer.h"
|
|
|
|
|
#include "cc/layers/surface_layer.h"
|
|
|
|
|
@@ -479,6 +480,8 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
|
|
|
|
|
@@ -845,6 +846,8 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
|
|
|
|
|
// factor. Thus, |top_content_offset| in CSS pixels is also in DIPs.
|
|
|
|
|
float top_content_offset =
|
|
|
|
|
metadata.top_controls_height * metadata.top_controls_shown_ratio;
|
|
|
|
|