diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt index a57d9484..0600b61c 100644 --- a/build/bromite_patches_list.txt +++ b/build/bromite_patches_list.txt @@ -211,4 +211,58 @@ Add-kill-switch-for-unsupported-clangd-flags.patch 00Timezone-customization--add-fixup-.patch 00Add-webGL-site-setting--add-fixup-.patch 00Add-webRTC-site-settings--add-fixup-.patch -00Add-a-proxy-configuration-page--add-fixup-.patch \ No newline at end of file +00Add-a-proxy-configuration-page--add-fixup-.patch + +00OpenSearch--miscellaneous--fixup-.patch +00Eyeo-Adblock.patch +00Eyeo-Adblock-Remove-Privacy-Issues.patch +00Add-an-always-incognito-mode--win-fixup-.patch +00Experimental-user-scripts-support--win-fixup-.patch +00Disable-safe-browsing--win-fixup-.patch +00ungoogled-chr--Disable-profile-avatar--win-fixup-.patch +00Add-a-proxy-configuration-page--win-fixup-.patch +00Add-bookmark-import-export-actions--win-fixup-.patch +00openH264--enable-ARM-ARM64-optimizati--win-fixup-.patch +00Add-flag-to-disable-IPv6-probes--win-fixup-.patch +00Remove-EV-certificates--win-fixup-.patch +00AImageReader-CFI-crash-mitigations--win-fixup-.patch +00Remove-binary-blob-integrations--win-fixup-.patch +00Enable-native-Android-autofill--win-fixup-.patch +00Remove-signin-and-sync-integrations--win-fixup-.patch +00Add-lifetime-options-for-permissions--win-fixup-.patch +00Disable-various-metrics--win-fixup-.patch +00Do-not-build-API-keys-infobar--win-fixup-.patch +00Revert-flags--remove-num-raster-thre--win-fixup-.patch +00Add-flag-to-configure-maximum-connecti--win-fixup-.patch +00Add-flag-to-disable-external-intent-re--win-fixup-.patch +00Restore-Search-Ready-Omnibox-flag--win-fixup-.patch +00Disable-requests-for-single-word-Omni--win-fixup-.patch +00Revert-the-removal-to-block-autoplay--win-fixup-.patch +00JIT-site-settings--win-fixup-.patch +00Timezone-customization--win-fixup-.patch +00Add-webGL-site-setting--win-fixup-.patch +00Add-webRTC-site-settings--win-fixup-.patch +00Eyeo-Adblock--win-fixup-.patch +00Content-settings-infrastructure--win-fixup-.patch +00ungoogled-chromium--no-special-hosts-d--win-fixup-.patch +00Logcat-crash-reports-UI--win-fixup-.patch +00Fix-windows-build.patch +00ungoogled-chr-no-special-hosts-domains--add-fixup-.patch +00Disable-fetching-of-all-field-trials--add-fixup-.patch +AudioBuffer-AnalyserNode-fp-mitigations.patch +00Disable-Component-Updates.patch +00wip-add-browser-policy.patch +00temporary-fix-libaom-build-error.patch +00Guard-for-user-agent-reduction--add-fixup-.patch +00Client-hints-overrides--add-fixup-.patch +00Add-AllowUserCertificates-flag--win-fixup-.patch +00Viewport-Protection-flag.patch +00Viewport-Protection-Site-Setting.patch +00Temp-Disable-kAutomaticLazyFrameLoadingToEmbeds.patch +00Move-navigation-bar-to-bottom--add-fixup-.patch +00Always-open-browser-controls-in-new-tab.patch +00Remove-HTTP-referrals-in-cross-origin-navi--fixup-.patch +00win-enable-pdf-plugin.patch +00win-disable-annotate-downloads.patch +00win-enable-HighEfficiencyMode-by-default.patch +00109-Move-navigation-bar-to-bottom-fixup.patch \ No newline at end of file diff --git a/build/patches/00109-Move-navigation-bar-to-bottom-fixup.patch b/build/patches/00109-Move-navigation-bar-to-bottom-fixup.patch new file mode 100644 index 00000000..27e6920d --- /dev/null +++ b/build/patches/00109-Move-navigation-bar-to-bottom-fixup.patch @@ -0,0 +1,650 @@ +From: Your Name +Date: Thu, 5 Jan 2023 08:14:13 +0000 +Subject: 109 Move navigation bar to bottom fixup + +--- + .../features/start_surface/StartSurfaceMediator.java | 2 +- + .../tasks/tab_management/TabGroupUiToolbarView.java | 2 +- + .../browser/tasks/tab_management/TabListCoordinator.java | 2 +- + .../browser/tasks/tab_management/TabListRecyclerView.java | 6 +++--- + .../browser/tasks/tab_management/TabSwitcherMediator.java | 8 ++++---- + .../settings/ChromeAccessibilitySettingsDelegate.java | 2 +- + .../org/chromium/chrome/browser/app/ChromeActivity.java | 2 +- + .../chrome/browser/compositor/CompositorViewHolder.java | 2 +- + .../browser/compositor/layouts/LayoutManagerChrome.java | 2 +- + .../browser/compositor/layouts/ToolbarSwipeLayout.java | 4 ++-- + .../overlays/strip/StripLayoutHelperManager.java | 2 +- + .../compositor/scene_layer/StaticTabSceneLayer.java | 2 +- + .../browser/compositor/scene_layer/TabListSceneLayer.java | 4 ++-- + .../compositor/scene_layer/TabStripSceneLayer.java | 2 +- + .../chrome/browser/findinpage/FindToolbarTablet.java | 2 +- + .../chrome/browser/fullscreen/BrowserControlsManager.java | 4 ++-- + .../browser/messages/MessageContainerCoordinator.java | 4 ++-- + .../src/org/chromium/chrome/browser/ntp/NewTabPage.java | 2 +- + .../org/chromium/chrome/browser/ntp/RecentTabsPage.java | 6 +++--- + .../chrome/browser/searchwidget/SearchActivity.java | 2 +- + .../status_indicator/StatusIndicatorCoordinator.java | 2 +- + .../status_indicator/StatusIndicatorSceneLayer.java | 2 +- + .../chromium/chrome/browser/toolbar/ToolbarManager.java | 4 ++-- + .../org/chromium/chrome/browser/ui/BottomContainer.java | 6 +++--- + .../browser/ui/system/StatusBarColorController.java | 2 +- + .../browser_controls/BrowserControlsMarginSupplier.java | 2 +- + .../org/chromium/chrome/browser/ui/appmenu/AppMenu.java | 8 ++++---- + .../chrome/browser/ui/appmenu/AppMenuHandlerImpl.java | 2 +- + .../chrome/browser/omnibox/UrlBarCoordinator.java | 2 +- + .../omnibox/suggestions/AutocompleteCoordinator.java | 2 +- + .../browser/omnibox/suggestions/AutocompleteMediator.java | 2 +- + .../omnibox/suggestions/OmniboxSuggestionsDropdown.java | 4 ++-- + .../browser/toolbar/LocationBarFocusScrimHandler.java | 2 +- + .../browser/toolbar/bottom/BottomControlsMediator.java | 2 +- + .../toolbar/bottom/ScrollingBottomViewSceneLayer.java | 2 +- + .../browser/toolbar/top/ToolbarControlContainer.java | 2 +- + .../chrome/browser/toolbar/top/TopToolbarSceneLayer.java | 2 +- + 37 files changed, 55 insertions(+), 55 deletions(-) + +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 +@@ -1134,7 +1134,7 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. + } + + private void setTopMargin(int topMargin) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + topMargin = 0; + mPropertyModel.set(TOP_MARGIN, topMargin); + } +diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java +--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java ++++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java +@@ -177,7 +177,7 @@ public class TabGroupUiToolbarView extends FrameLayout { + } + + void setPrimaryColorAndApplyTint(int color) { +- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + return; + + // change the background color of the bottom bar if the top toolbar is below +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 +@@ -324,7 +324,7 @@ public class TabListCoordinator + if (mMode == TabListMode.GRID) { + GridLayoutManager gridLayoutManager = + new GridLayoutManager(context, GRID_LAYOUT_SPAN_COUNT_COMPACT); +- if (titleProvider != null && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (titleProvider != null && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + gridLayoutManager = + new GridLayoutManagerDockBottom(context, GRID_LAYOUT_SPAN_COUNT_COMPACT); + ((GridLayoutManagerDockBottom)gridLayoutManager) +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 +@@ -232,7 +232,7 @@ class TabListRecyclerView + } + + void setShadowVisibility(boolean shouldShowShadow) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() + && mIsVisible) { + // always show shadow + shouldShowShadow = true; +@@ -250,7 +250,7 @@ class TabListRecyclerView + // Add shadow for grid tab switcher. + FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( + LayoutParams.MATCH_PARENT, shadowHeight, +- (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) ? ++ (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() ? + Gravity.BOTTOM : + Gravity.TOP)); + mShadowImageView.setLayoutParams(params); +@@ -279,7 +279,7 @@ class TabListRecyclerView + + void setShadowTopOffset(int shadowTopOffset) { + mShadowTopOffset = shadowTopOffset; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // invert the offset since Gravity is set to BOTTOM + mShadowTopOffset = -mShadowTopOffset; + } +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 +@@ -461,7 +461,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + updateTopControlsProperties(); + mContainerViewModel.set( + BOTTOM_CONTROLS_HEIGHT, browserControlsStateProvider.getBottomControlsHeight()); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mContainerViewModel.set( + BOTTOM_CONTROLS_HEIGHT, mContainerViewModel.get(BOTTOM_CONTROLS_HEIGHT) + + mBrowserControlsStateProvider.getContentOffset()); +@@ -471,7 +471,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + if (mMode == TabListMode.GRID) { + mContainerViewModel.set(BOTTOM_PADDING, + (int) context.getResources().getDimension(R.dimen.tab_grid_bottom_padding)); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // adjust the bottom margin so as not to cover the top toolbar at the bottom + mContainerViewModel.set( + BOTTOM_PADDING, mContainerViewModel.get(BOTTOM_PADDING) + +@@ -604,7 +604,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + final int contentOffset = mBrowserControlsStateProvider.getContentOffset(); + + mContainerViewModel.set(TOP_MARGIN, contentOffset); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // move the view up since the toolbar is at the bottom + mContainerViewModel.set(TOP_MARGIN, 0); + } +@@ -764,7 +764,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + private void setInitialScrollIndexOffset() { + int offset = mMode == TabListMode.CAROUSEL ? INITIAL_SCROLL_INDEX_OFFSET_CAROUSEL + : INITIAL_SCROLL_INDEX_OFFSET_GTS; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + offset = 0; + } + int initialPosition = Math.max( +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +@@ -104,7 +104,7 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting + private static class MoveTopToolbarToBottomDelegate implements BooleanPreferenceDelegate { + @Override + public boolean isEnabled() { +- return CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM); ++ return ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled(); + } + + @Override +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +@@ -764,7 +764,7 @@ public abstract class ChromeActivity + ImageView shadowImage = findViewById(R.id.toolbar_hairline); + if (shadowImage != null) { + // Invert the shadown if the top toolbar is at the bottom +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + ViewGroup.MarginLayoutParams marginParams = (ViewGroup.MarginLayoutParams)shadowImage.getLayoutParams(); + marginParams.setMargins(marginParams.leftMargin, 0, + marginParams.rightMargin, marginParams.bottomMargin); +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 +@@ -319,7 +319,7 @@ public class CompositorViewHolder extends FrameLayout + WebContents webContents = mTabVisible.getWebContents(); + if (webContents == null) return; + EventForwarder forwarder = webContents.getEventForwarder(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // no need to adjust the touch offsets, since the content view is never moved + top = 0; + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java +@@ -213,7 +213,7 @@ public class LayoutManagerChrome + @Override + public SwipeHandler createToolbarSwipeHandler(boolean supportSwipeDown) { + boolean move_top_toolbar = +- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM); ++ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled(); + return new ToolbarSwipeHandler(supportSwipeDown && !move_top_toolbar, + supportSwipeDown && move_top_toolbar); + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java +@@ -411,7 +411,7 @@ public class ToolbarSwipeLayout extends Layout { + mLeftToolbarOverlay.setXOffset(leftX * dpToPx); + } + mLeftTab.setX(leftX); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mLeftTab.setY(0); + } else { + mLeftTab.setY(mBrowserControlsStateProvider.getContentOffset() / dpToPx); +@@ -428,7 +428,7 @@ public class ToolbarSwipeLayout extends Layout { + mRightToolbarOverlay.setXOffset(rightX * dpToPx); + } + mRightTab.setX(rightX); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mRightTab.setY(0); + } else { + mRightTab.setY(mBrowserControlsStateProvider.getContentOffset() / dpToPx); +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 +@@ -421,7 +421,7 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa + mWidth, mHeight, orientationChanged, LayoutManagerImpl.time()); + + float top = 0; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) && ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() && + mBrowserControlsManagerSupplier.get() != null) { + // move the rectangle to grab the touch events as the tab list (in tablet mode) + // is down and is following the toolbar offset as it moves. +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java +@@ -48,7 +48,7 @@ public class StaticTabSceneLayer extends SceneLayer { + float x = model.get(LayoutTab.RENDER_X) * LayoutTab.sDpToPx; + float y = model.get(LayoutTab.CONTENT_OFFSET) + + model.get(LayoutTab.RENDER_Y) * LayoutTab.sDpToPx; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the page content window never moves, it is fixed at the top + y = 0; + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java +@@ -86,7 +86,7 @@ public class TabListSceneLayer extends SceneLayer { + + TabListSceneLayerJni.get().beginBuildingFrame(mNativePtr, TabListSceneLayer.this); + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the tabs list content window is fixed at the top, where the top toolbar used to be + viewport.top = 0; + backgroundTopOffset = 0; +@@ -126,7 +126,7 @@ public class TabListSceneLayer extends SceneLayer { + contentOffset = browserControls.getContentOffset(); + } + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + toolbarYOffset = 0; + contentOffset = 0; + } +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 +@@ -84,7 +84,7 @@ public class TabStripSceneLayer extends SceneOverlayLayer { + if (mNativePtr == 0) return; + + boolean visible = yOffset > -layoutHelper.getHeight(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the list of open tabs (in tablet mode) is moved down, above the top + // toolbar which is also below. + // values are in pixel. +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java +@@ -169,7 +169,7 @@ public class FindToolbarTablet extends FindToolbar { + + if (show && getVisibility() != View.VISIBLE && mCurrentAnimation != mAnimationEnter) { + View anchorView = getRootView().findViewById(R.id.toolbar); +- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) getLayoutParams(); + lp.topMargin = anchorView.getBottom() - mYInsetPx; + setLayoutParams(lp); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java +@@ -400,7 +400,7 @@ public class BrowserControlsManager + + @Override + public int getTopControlsHeightRealOffset() { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + return 0; + else + return mTopControlContainerHeight; +@@ -472,7 +472,7 @@ public class BrowserControlsManager + + @Override + public float getTopVisibleContentOffset() { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + return 0; + return getTopControlsHeight() + getTopControlOffset(); + } +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 +@@ -64,7 +64,7 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider + } + CoordinatorLayout.LayoutParams params = + (CoordinatorLayout.LayoutParams) mContainer.getLayoutParams(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + params.gravity = Gravity.START | Gravity.BOTTOM; + params.bottomMargin = getContainerTopOffset(); + } else { +@@ -129,7 +129,7 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider + + /** @return Offset of the message container from the top of the screen. */ + private int getContainerTopOffset() { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + return mControlsManager.getContentOffset() + + (mControlsManager.getBottomControlsHeight() - mControlsManager.getBottomControlOffset()) + + mContainer.getMessageShadowTopMargin(); +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 +@@ -565,7 +565,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide + + int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight() + - mBrowserControlsStateProvider.getBottomControlOffset(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // move the margin of the new tab page up if the top toolbar is at the bottom + bottomMargin += mBrowserControlsStateProvider.getTopControlsHeight(); + topMargin = -mBrowserControlsStateProvider.getTopControlsHeight(); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java +@@ -91,7 +91,7 @@ public class RecentTabsPage + mView.addOnAttachStateChangeListener(this); + + if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) || +- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mBrowserControlsStateProvider = browserControlsStateProvider; + mBrowserControlsStateProvider.addObserver(this); + onBottomControlsHeightChanged(mBrowserControlsStateProvider.getBottomControlsHeight(), +@@ -289,7 +289,7 @@ public class RecentTabsPage + + // If the content offset is different from the margin, we use translationY to position the + // view in line with the content offset. +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + topMargin = 0; + recentTabsRoot.setTranslationY(0); + } else { +@@ -297,7 +297,7 @@ public class RecentTabsPage + } + + int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + bottomMargin += mBrowserControlsStateProvider.getTopControlsHeight(); + } + if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) { +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java +@@ -194,7 +194,7 @@ public class SearchActivity extends AsyncInitializationActivity + mSearchBox = (SearchActivityLocationBarLayout) mContentView.findViewById( + R.id.search_location_bar); + mAnchorView = mContentView.findViewById(R.id.toolbar); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) + mAnchorView.getLayoutParams(); + layoutParams.gravity = Gravity.START | Gravity.BOTTOM; +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 +@@ -179,7 +179,7 @@ public class StatusIndicatorCoordinator { + private void initialize() { + final ViewStub stub = mActivity.findViewById(R.id.status_indicator_stub); + final ViewResourceFrameLayout root = (ViewResourceFrameLayout) stub.inflate(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // status messages (such as the offline indicator) are docked at the bottom + CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)root.getLayoutParams(); + layoutParams.gravity = Gravity.START | Gravity.BOTTOM; +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java +@@ -80,7 +80,7 @@ class StatusIndicatorSceneLayer extends SceneOverlayLayer implements SceneOverla + public SceneOverlayLayer getUpdatedSceneOverlayTree( + RectF viewport, RectF visibleViewport, ResourceManager resourceManager, float yOffset) { + int offset = mBrowserControlsStateProvider.getTopControlsMinHeightOffset(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + offset = (int)viewport.bottom - offset; + } + StatusIndicatorSceneLayerJni.get().updateStatusIndicatorLayer( +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 +@@ -1318,7 +1318,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve + + private void MoveBottomBarOverTopBar() { + if (bottomRoot != null && +- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // move up the container view of the ui + // below there is the toolbar + bottomRoot.setTranslationY(-mBrowserControlsSizer.getTopControlsHeight()); +@@ -2123,7 +2123,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve + private void setControlContainerTopMargin(int margin) { + final ViewGroup.MarginLayoutParams layoutParams = + ((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams()); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + if (layoutParams.bottomMargin == margin) { + return; + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java +@@ -66,13 +66,13 @@ public class BottomContainer + + @Override + public void onTopControlsHeightChanged(int topControlsHeight, int topControlsMinHeight) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + setTranslationY(mBaseYOffset); + } + + @Override + public void onAndroidVisibilityChanged(int visibility) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + setTranslationY(mBaseYOffset); + } + +@@ -80,7 +80,7 @@ public class BottomContainer + public void setTranslationY(float y) { + mBaseYOffset = y; + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the snackbar container is moved up because there is the top toolbar at the bottom + mBaseYOffset = -(mBrowserControlsStateProvider.getTopControlsHeight() + + mBrowserControlsStateProvider.getTopControlOffset()); +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 +@@ -428,7 +428,7 @@ public class StatusBarColorController + boolean needsDarkStatusBarIcons = !ColorUtils.shouldUseLightForegroundOnBackground(color); + ApiCompatibilityUtils.setStatusBarIconColor(root, needsDarkStatusBarIcons); + ApiCompatibilityUtils.setStatusBarColor(mWindow, color); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) && ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() && + Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + UiUtils.setNavigationBarIconColor(mWindow.getDecorView().getRootView(), + needsDarkStatusBarIcons); +diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java +--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java ++++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java +@@ -54,7 +54,7 @@ public class BrowserControlsMarginSupplier extends ObservableSupplierImpl + + mBrowserControlsStateProvider.getTopControlOffset(); + int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight() + - mBrowserControlsStateProvider.getBottomControlOffset(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + bottomMargin += topMargin; + topMargin = 0; + } +diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java +--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java ++++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java +@@ -265,7 +265,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + } + + mListView = (ListView) contentView.findViewById(R.id.app_menu_list); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // always scroll to the bottom to show new items + mListView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); + // fill content starting from the bottom of the view +@@ -310,7 +310,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + if (popupHeight + popupPosition[1] > visibleDisplayFrame.bottom) { + mPopup.setHeight(visibleDisplayFrame.height()); + } +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // due to some unknown behaviour, the popup must be resized to + // allow selection without leaving touch + mPopup.setHeight(popupHeight-1); +@@ -362,7 +362,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + int anchorViewX = tempLocation[0]; + int anchorViewY = tempLocation[1]; + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // moves the view offset up by the height of the popup + anchorViewY -= popupHeight; + // fix it if it goes offscreen +@@ -560,7 +560,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + } + int availableScreenSpace = Math.max( + anchorViewY, appDimensions.height() - anchorViewY - anchorViewImpactHeight); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // use all available space + availableScreenSpace = appDimensions.height() - anchorViewImpactHeight; + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N) { +diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java +--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java ++++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java +@@ -184,7 +184,7 @@ class AppMenuHandlerImpl + }), + this); + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // reverses the order of items in the menu + ModelList modelListReversed = new ModelList(); + for (int i = 0; i < modelList.size(); i++) { +diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java +--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java ++++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java +@@ -239,7 +239,7 @@ 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) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // probably due to an android bug, fix the size rather than pan the view. + // with the pan the bar may not always follow the focus if not at the first input by the user + setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE, /* delay */ false); +diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java ++++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +@@ -236,7 +236,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC + ViewGroup container = (ViewGroup) ((ViewStub) mParent.getRootView().findViewById( + R.id.omnibox_results_container_stub)) + .inflate(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // make margins works + dropdown.getViewGroup().setClipToPadding(true); + container.bringToFront(); +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 +@@ -1013,7 +1013,7 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, + @Override + public void onSuggestionDropdownScroll() { + mSuggestionsListScrolled = true; +- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + 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 +@@ -266,7 +266,7 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { + final Resources resources = context.getResources(); + int paddingBottom = + resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_bottom); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // reverse the layout so that the items are at the bottom (in reverse order) + // and anchored to the bottom edge + mLayoutScrollListener.setReverseLayout(true); +@@ -496,7 +496,7 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { + } + + private int calculateAnchorBottomRelativeToContent() { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + return 0; + View contentView = + mEmbedder.getAnchorView().getRootView().findViewById(android.R.id.content); +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java +@@ -58,7 +58,7 @@ public class LocationBarFocusScrimHandler implements UrlFocusChangeListener { + + Resources resources = context.getResources(); + int topMargin = resources.getDimensionPixelSize(R.dimen.tab_strip_height); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // since the top bar is at the bottom, we need to cover the whole page + topMargin = 0; + } +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java +@@ -105,7 +105,7 @@ class BottomControlsMediator implements BrowserControlsStateProvider.Observer, + void setBottomControlsVisible(boolean visible) { + if (visible == true + && mIsBottomControlsVisible == false +- && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // always show the toolbar if the bottom controls are visible, so as not to leave the hole below. + mBrowserControlsSizer.getBrowserVisibilityDelegate().showControlsTransient(); + } +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java +@@ -127,7 +127,7 @@ public class ScrollingBottomViewSceneLayer extends SceneOverlayLayer implements + boolean isShadowVisible = mBottomView.getVisibility() != View.VISIBLE; + + float offsetPy = viewport.height() + mCurrentYOffsetPx; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // fix the offset of the fake bottom controls, used only for animations + offsetPy -= (mBottomView.getHeight() - mCurrentYOffsetPx + mTopControlsMinHeightOffset); + } +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java +@@ -109,7 +109,7 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con + @Override + public void initWithToolbar(int toolbarLayoutId) { + try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the top toolbar is docked at the bottom + CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)getLayoutParams(); + layoutParams.gravity = Gravity.START | Gravity.BOTTOM; +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 +@@ -41,7 +41,7 @@ class TopToolbarSceneLayer extends SceneOverlayLayer { + private void pushProperties(PropertyModel model) { + if (mResourceManagerSupplier.get() == null) return; + float offsetY = model.get(TopToolbarOverlayProperties.Y_OFFSET); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // fix the offset of the fake top controls, used only for animations + offsetY = model.get(TopToolbarOverlayProperties.VIEWPORT_HEIGHT) - + model.get(TopToolbarOverlayProperties.TOOLBAR_HEIGHT) - +-- +2.25.1 diff --git a/build/patches/00Add-bookmark-import-export-actions--win-fixup-.patch b/build/patches/00Add-bookmark-import-export-actions--win-fixup-.patch index 19f91a71..c9e09f6f 100644 --- a/build/patches/00Add-bookmark-import-export-actions--win-fixup-.patch +++ b/build/patches/00Add-bookmark-import-export-actions--win-fixup-.patch @@ -3,25 +3,12 @@ Date: Wed, 12 Oct 2022 11:30:34 +0000 Subject: Add bookmark import/export actions (win fixup) --- - chrome/browser/BUILD.gn | 2 ++ chrome/browser/about_flags.cc | 2 ++ chrome/browser/bookmarks/bookmark_html_writer.cc | 7 ++++++- .../lib/browser/headless_select_file_dialog_factory.cc | 4 ++++ ui/shell_dialogs/select_file_dialog_win.cc | 5 +++++ - 5 files changed, 19 insertions(+), 1 deletion(-) + 4 files changed, 17 insertions(+), 1 deletion(-) -diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn ---- a/chrome/browser/BUILD.gn -+++ b/chrome/browser/BUILD.gn -@@ -3593,6 +3593,8 @@ static_library("browser") { - "badging/badge_manager_factory.h", - "banners/app_banner_manager_desktop.cc", - "banners/app_banner_manager_desktop.h", -+ "bookmarks/bookmark_html_writer.cc", -+ "bookmarks/bookmark_html_writer.h", - "bookmarks/url_and_id.h", - "cart/cart_db.cc", - "cart/cart_db.h", 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 diff --git a/build/patches/00Add-webGL-site-setting--win-fixup-.patch b/build/patches/00Add-webGL-site-setting--win-fixup-.patch index c1ccf847..ebb07cc6 100644 --- a/build/patches/00Add-webGL-site-setting--win-fixup-.patch +++ b/build/patches/00Add-webGL-site-setting--win-fixup-.patch @@ -240,8 +240,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc @@ -659,7 +659,7 @@ void ContentSettingsRegistry::Init() { - ValidSettings(CONTENT_SETTING_ALLOW, - CONTENT_SETTING_BLOCK), + /*valid_settings=*/{CONTENT_SETTING_ALLOW, + CONTENT_SETTING_BLOCK}, WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, - WebsiteSettingsRegistry::PLATFORM_ANDROID, + WebsiteSettingsRegistry::ALL_PLATFORMS, diff --git a/build/patches/00Disable-safe-browsing--win-fixup-.patch b/build/patches/00Disable-safe-browsing--win-fixup-.patch index ee68fabf..de84af4c 100644 --- a/build/patches/00Disable-safe-browsing--win-fixup-.patch +++ b/build/patches/00Disable-safe-browsing--win-fixup-.patch @@ -3,7 +3,7 @@ Date: Wed, 12 Oct 2022 09:52:02 +0000 Subject: Disable safe browsing (win fixup) --- - chrome/browser/BUILD.gn | 14 +- + chrome/browser/BUILD.gn | 16 +- .../accuracy_tips/accuracy_service_factory.cc | 6 +- .../chrome_browsing_data_remover_delegate.cc | 2 - chrome/browser/chrome_browser_main_win.cc | 6 - @@ -20,7 +20,7 @@ Subject: Disable safe browsing (win fixup) .../safe_browsing_private_event_router.cc | 43 ++--- .../webstore_private/webstore_private_api.cc | 15 +- .../extensions/blocklist_state_fetcher.cc | 13 +- - .../chrome_extensions_browser_client.cc | 27 +-- + .../chrome_extensions_browser_client.cc | 41 +---- .../browser/extensions/extension_allowlist.cc | 9 - .../webrtc/display_media_access_handler.cc | 1 - .../safe_browsing/safe_browsing_handler.cc | 5 +- @@ -40,8 +40,9 @@ Subject: Disable safe browsing (win fixup) chrome/browser/ui/BUILD.gn | 6 - ...b_modal_dialog_manager_delegate_desktop.cc | 1 - .../ui/page_info/chrome_page_info_delegate.cc | 1 - + .../chrome_web_contents_view_handle_drop.cc | 143 ---------------- .../ui/views/download/download_item_view.cc | 23 +-- - .../webui/downloads/downloads_dom_handler.cc | 12 +- + .../webui/downloads/downloads_dom_handler.cc | 21 +-- .../ui/webui/downloads/downloads_ui.cc | 5 +- chrome/browser/ui/webui/intro/intro_ui.cc | 6 +- chrome/browser/webshare/share_service_impl.cc | 4 + @@ -52,8 +53,9 @@ Subject: Disable safe browsing (win fixup) chrome/test/BUILD.gn | 5 - .../browser/mojo_safe_browsing_impl.cc | 1 + .../core/common/safe_browsing_prefs.cc | 2 +- + printing/buildflags/buildflags.gni | 2 +- .../tracked_persistent_pref_store_factory.cc | 10 +- - 50 files changed, 67 insertions(+), 603 deletions(-) + 52 files changed, 68 insertions(+), 772 deletions(-) diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn @@ -81,7 +83,15 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/share", "//chrome/browser/sharing:buildflags", "//chrome/browser/sharing/proto", -@@ -3732,10 +3725,6 @@ static_library("browser") { +@@ -3724,18 +3717,12 @@ static_library("browser") { + "enterprise/connectors/analysis/analysis_service_settings.h", + "enterprise/connectors/analysis/analysis_settings.cc", + "enterprise/connectors/analysis/analysis_settings.h", +- "enterprise/connectors/analysis/content_analysis_delegate.cc", +- "enterprise/connectors/analysis/content_analysis_delegate.h", + "enterprise/connectors/analysis/content_analysis_delegate_base.cc", + "enterprise/connectors/analysis/content_analysis_delegate_base.h", + "enterprise/connectors/analysis/content_analysis_dialog.cc", "enterprise/connectors/analysis/content_analysis_dialog.h", "enterprise/connectors/analysis/content_analysis_downloads_delegate.cc", "enterprise/connectors/analysis/content_analysis_downloads_delegate.h", @@ -92,7 +102,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "enterprise/connectors/analysis/request_handler_base.cc", "enterprise/connectors/analysis/request_handler_base.h", "enterprise/connectors/common.cc", -@@ -8211,7 +8200,6 @@ static_library("test_support") { +@@ -8211,7 +8198,6 @@ static_library("test_support") { ":browser", "//chrome/browser/autofill:test_support", "//chrome/browser/profiles:profile", @@ -892,7 +902,7 @@ diff --git a/chrome/browser/extensions/blocklist_state_fetcher.cc b/chrome/brows diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chrome/browser/extensions/chrome_extensions_browser_client.cc --- a/chrome/browser/extensions/chrome_extensions_browser_client.cc +++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc -@@ -658,26 +658,11 @@ void ChromeExtensionsBrowserClient::NotifyExtensionApiTabExecuteScript( +@@ -658,56 +658,17 @@ void ChromeExtensionsBrowserClient::NotifyExtensionApiTabExecuteScript( content::BrowserContext* context, const ExtensionId& extension_id, const std::string& code) const { @@ -920,10 +930,23 @@ diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chr } void ChromeExtensionsBrowserClient::NotifyExtensionRemoteHostContacted( -@@ -698,16 +683,6 @@ void ChromeExtensionsBrowserClient::NotifyExtensionRemoteHostContacted( - } else { - return; - } + content::BrowserContext* context, + const ExtensionId& extension_id, + const GURL& url) const { +- safe_browsing::RemoteHostInfo::ProtocolType protocol = +- safe_browsing::RemoteHostInfo::UNSPECIFIED; +- if (base::FeatureList::IsEnabled( +- safe_browsing::kExtensionTelemetryReportContactedHosts) && +- url.SchemeIsHTTPOrHTTPS()) { +- protocol = safe_browsing::RemoteHostInfo::HTTP_HTTPS; +- } else if (base::FeatureList::IsEnabled( +- safe_browsing:: +- kExtensionTelemetryReportHostsContactedViaWebSocket) && +- url.SchemeIsWSOrWSS()) { +- protocol = safe_browsing::RemoteHostInfo::WEBSOCKET; +- } else { +- return; +- } - auto* telemetry_service = - safe_browsing::ExtensionTelemetryServiceFactory::GetForProfile( - Profile::FromBrowserContext(context)); @@ -1366,6 +1389,163 @@ diff --git a/chrome/browser/ui/page_info/chrome_page_info_delegate.cc b/chrome/b } void ChromePageInfoDelegate::OpenContentSettingsExceptions( +diff --git a/chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop.cc b/chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop.cc +--- a/chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop.cc ++++ b/chrome/browser/ui/tab_contents/chrome_web_contents_view_handle_drop.cc +@@ -21,153 +21,10 @@ + #include "third_party/abseil-cpp/absl/types/optional.h" + #include "ui/base/clipboard/file_info.h" + +-namespace { +- +-void CompletionCallback( +- content::DropData drop_data, +- std::unique_ptr files_scan_data, +- content::WebContentsViewDelegate::DropCompletionCallback callback, +- const enterprise_connectors::ContentAnalysisDelegate::Data& data, +- const enterprise_connectors::ContentAnalysisDelegate::Result& result) { +- // If there are no negative results, proceed with just `drop_data`. +- bool all_text_results_allowed = !base::Contains(result.text_results, false); +- bool all_file_results_allowed = !base::Contains(result.paths_results, false); +- if (all_text_results_allowed && all_file_results_allowed) { +- std::move(callback).Run(std::move(drop_data)); +- return; +- } +- +- // For text drag-drops, block the drop if any result is negative. +- if (!all_text_results_allowed) { +- std::move(callback).Run(absl::nullopt); +- return; +- } +- +- // For file drag-drops, block file paths depending on the verdict obtained for +- // child paths. +- DCHECK(files_scan_data); +- std::set file_indexes_to_block = +- files_scan_data->IndexesToBlock(result.paths_results); +- +- // If every file path should be blocked, the drop is aborted, otherwise it +- // continues by blocking sub-elements of the list. +- if (file_indexes_to_block.size() == drop_data.filenames.size()) { +- std::move(callback).Run(absl::nullopt); +- return; +- } +- +- std::vector final_filenames; +- for (size_t i = 0; i < drop_data.filenames.size(); ++i) { +- if (file_indexes_to_block.count(i)) +- continue; +- final_filenames.push_back(std::move(drop_data.filenames[i])); +- } +- +- drop_data.filenames = std::move(final_filenames); +- std::move(callback).Run(std::move(drop_data)); +-} +- +-// Helper class to handle WebContents being destroyed while files are opened in +-// the threadpool. This class deletes itself either when it's no longer needed +-// when ScanData is called, or when its corresponding web contents is destroyed +-// so its weak ptrs are invalidated. +-class HandleDropScanData : public content::WebContentsObserver { +- public: +- HandleDropScanData( +- content::WebContents* web_contents, +- content::DropData drop_data, +- enterprise_connectors::ContentAnalysisDelegate::Data analysis_data, +- content::WebContentsViewDelegate::DropCompletionCallback callback) +- : content::WebContentsObserver(web_contents), +- drop_data_(std::move(drop_data)), +- analysis_data_(std::move(analysis_data)), +- callback_(std::move(callback)) {} +- +- void ScanData( +- std::unique_ptr files_scan_data) { +- DCHECK(web_contents()); +- if (files_scan_data) { +- for (const auto& path : files_scan_data->expanded_paths()) { +- analysis_data_.paths.push_back(path); +- } +- } +- enterprise_connectors::ContentAnalysisDelegate::CreateForWebContents( +- web_contents(), std::move(analysis_data_), +- base::BindOnce(&CompletionCallback, std::move(drop_data_), +- std::move(files_scan_data), std::move(callback_)), +- safe_browsing::DeepScanAccessPoint::DRAG_AND_DROP); +- +- delete this; +- } +- +- void WebContentsDestroyed() override { delete this; } +- +- base::WeakPtr GetWeakPtr() { +- return weakptr_factory_.GetWeakPtr(); +- } +- +- private: +- content::DropData drop_data_; +- enterprise_connectors::ContentAnalysisDelegate::Data analysis_data_; +- content::WebContentsViewDelegate::DropCompletionCallback callback_; +- +- base::WeakPtrFactory weakptr_factory_{this}; +-}; +- +-} // namespace +- + void HandleOnPerformDrop( + content::WebContents* web_contents, + content::DropData drop_data, + content::WebContentsViewDelegate::DropCompletionCallback callback) { +- enterprise_connectors::ContentAnalysisDelegate::Data data; +- Profile* profile = +- Profile::FromBrowserContext(web_contents->GetBrowserContext()); +- auto connector = +- drop_data.filenames.empty() +- ? enterprise_connectors::AnalysisConnector::BULK_DATA_ENTRY +- : enterprise_connectors::AnalysisConnector::FILE_ATTACHED; +- if (!enterprise_connectors::ContentAnalysisDelegate::IsEnabled( +- profile, web_contents->GetLastCommittedURL(), &data, connector)) { + std::move(callback).Run(std::move(drop_data)); + return; +- } +- +- // Collect the data that needs to be scanned. +- if (!drop_data.url_title.empty()) +- data.text.push_back(base::UTF16ToUTF8(drop_data.url_title)); +- if (drop_data.text) +- data.text.push_back(base::UTF16ToUTF8(*drop_data.text)); +- if (drop_data.html) +- data.text.push_back(base::UTF16ToUTF8(*drop_data.html)); +- +- // `callback` should only run asynchronously when scanning is blocking. +- content::WebContentsViewDelegate::DropCompletionCallback scan_callback = +- base::DoNothing(); +- if (data.settings.block_until_verdict == +- enterprise_connectors::BlockUntilVerdict::kBlock) { +- scan_callback = std::move(callback); +- } +- +- // `handle_drop_scan_data` is created on the heap to stay alive regardless of +- // how long the threadpool work takes or in case `web_contents` is destroyed. +- // It deletes itself when `HandleDropScanData::ScanData` is called or when +- // `web_contents` gets destroyed. +- auto* handle_drop_scan_data = new HandleDropScanData( +- web_contents, drop_data, std::move(data), std::move(scan_callback)); +- if (drop_data.filenames.empty()) { +- handle_drop_scan_data->ScanData(/*files_scan_data=*/nullptr); +- } else { +- auto files_scan_data = +- std::make_unique( +- drop_data.filenames); +- auto* files_scan_data_raw = files_scan_data.get(); +- files_scan_data_raw->ExpandPaths(base::BindOnce( +- &HandleDropScanData::ScanData, handle_drop_scan_data->GetWeakPtr(), +- std::move(files_scan_data))); +- } +- +- if (!callback.is_null()) { +- std::move(callback).Run(std::move(drop_data)); +- } + } diff --git a/chrome/browser/ui/views/download/download_item_view.cc b/chrome/browser/ui/views/download/download_item_view.cc --- a/chrome/browser/ui/views/download/download_item_view.cc +++ b/chrome/browser/ui/views/download/download_item_view.cc @@ -1416,7 +1596,23 @@ diff --git a/chrome/browser/ui/views/download/download_item_view.cc b/chrome/bro diff --git a/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc b/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc --- a/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc +++ b/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc -@@ -415,11 +415,6 @@ void DownloadsDOMHandler::ReviewDangerousRequiringGesture( +@@ -197,15 +197,6 @@ void DownloadsDOMHandler::DiscardDangerous(const std::string& id) { + !GetMainNotifierManager()->GetBrowserContext()->IsOffTheRecord() && + base::FeatureList::IsEnabled( + safe_browsing::kSafeBrowsingCsbrrNewDownloadTrigger)) { +- safe_browsing::SafeBrowsingService* sb_service = +- g_browser_process->safe_browsing_service(); +- if (sb_service) { +- sb_service->SendDownloadReport( +- download, +- safe_browsing::ClientSafeBrowsingReportRequest:: +- DANGEROUS_DOWNLOAD_RECOVERY, +- /*did_proceed=*/false, /*show_download_in_folder=*/absl::nullopt); +- } + } + } + RemoveDownloadInArgs(id); +@@ -415,11 +406,6 @@ void DownloadsDOMHandler::ReviewDangerousRequiringGesture( } CountDownloadsDOMEvents(DOWNLOADS_DOM_EVENT_REVIEW_DANGEROUS); @@ -1428,7 +1624,7 @@ diff --git a/chrome/browser/ui/webui/downloads/downloads_dom_handler.cc b/chrome } // DownloadsDOMHandler, private: -------------------------------------------- -@@ -448,12 +443,7 @@ void DownloadsDOMHandler::FinalizeRemovals() { +@@ -448,12 +434,7 @@ void DownloadsDOMHandler::FinalizeRemovals() { void DownloadsDOMHandler::ShowDangerPrompt( download::DownloadItem* dangerous_item) { @@ -1670,6 +1866,18 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/compo registry->RegisterIntegerPref( prefs::kSafeBrowsingEnterpriseRealTimeUrlCheckMode, REAL_TIME_CHECK_DISABLED); +diff --git a/printing/buildflags/buildflags.gni b/printing/buildflags/buildflags.gni +--- a/printing/buildflags/buildflags.gni ++++ b/printing/buildflags/buildflags.gni +@@ -44,7 +44,7 @@ declare_args() { + + # Enable snapshotting a page when printing for its content to be analyzed for + # sensitive content by enterprise users. +- enable_print_content_analysis = is_chromeos || is_win || is_linux || is_mac ++ enable_print_content_analysis = false + } + + declare_args() { diff --git a/services/preferences/tracked/tracked_persistent_pref_store_factory.cc b/services/preferences/tracked/tracked_persistent_pref_store_factory.cc --- a/services/preferences/tracked/tracked_persistent_pref_store_factory.cc +++ b/services/preferences/tracked/tracked_persistent_pref_store_factory.cc diff --git a/build/patches/00Eyeo-Adblock.patch b/build/patches/00Eyeo-Adblock.patch index 24038993..5b4bd6bb 100644 --- a/build/patches/00Eyeo-Adblock.patch +++ b/build/patches/00Eyeo-Adblock.patch @@ -1084,7 +1084,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn import("//build/android/resource_sizes.gni") import("//build/config/android/config.gni") -@@ -281,6 +285,7 @@ if (current_toolchain == default_toolchain) { +@@ -282,6 +286,7 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/ui/android/toolbar:java_resources", "//chrome/browser/ui/android/webid/internal:java_resources", "//chrome/browser/ui/messages/android:java_resources", @@ -1092,7 +1092,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/autofill/android:autofill_java_resources", "//components/autofill/android:autofill_payments_java_resources", "//components/blocked_content/android:java_resources", -@@ -497,6 +502,7 @@ if (current_toolchain == default_toolchain) { +@@ -498,6 +503,7 @@ if (current_toolchain == default_toolchain) { "//chrome/browser/webapps/android:java", "//chrome/browser/webauthn/android:java", "//chrome/browser/xsurface:java", @@ -1100,7 +1100,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/autofill/android:autofill_java", "//components/autofill/android:prefeditor_autofill_java", "//components/autofill_assistant/android:public_dependencies_java", -@@ -1612,6 +1618,7 @@ if (current_toolchain == default_toolchain) { +@@ -1613,6 +1619,7 @@ if (current_toolchain == default_toolchain) { "//chrome/test/android:chrome_java_integration_test_support", "//chrome/test/android:chrome_java_test_pagecontroller", "//chrome/test/android/test_trusted_web_activity:test_trusted_web_activity_java", @@ -1108,7 +1108,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn "//components/autofill/android:autofill_java", "//components/autofill/android:prefeditor_autofill_java", "//components/autofill_assistant/android:public_dependencies_java", -@@ -4188,6 +4195,7 @@ group("jni_headers") { +@@ -4189,6 +4196,7 @@ group("jni_headers") { "//chrome/browser/ui/messages/android:jni_headers", "//chrome/browser/util:jni_headers", "//chrome/browser/webauthn/android:jni_headers", diff --git a/build/patches/00Fix-windows-build.patch b/build/patches/00Fix-windows-build.patch index 350a3afa..e5730529 100644 --- a/build/patches/00Fix-windows-build.patch +++ b/build/patches/00Fix-windows-build.patch @@ -3,9 +3,13 @@ Date: Thu, 13 Oct 2022 10:34:52 +0000 Subject: Fix windows build --- - chrome/browser/browser_process_platform_part_win.cc | 3 +++ - chrome/browser/devtools/devtools_window.cc | 1 + - 2 files changed, 4 insertions(+) + .../browser_process_platform_part_win.cc | 3 ++ + chrome/browser/devtools/devtools_window.cc | 1 + + chrome/browser/ui/profile_picker.cc | 2 +- + .../browser/ui/startup/first_run_service.cc | 6 +--- + chrome/browser/updater/BUILD.gn | 9 ----- + .../browser/updater/browser_updater_client.cc | 34 +------------------ + 6 files changed, 7 insertions(+), 48 deletions(-) diff --git a/chrome/browser/browser_process_platform_part_win.cc b/chrome/browser/browser_process_platform_part_win.cc --- a/chrome/browser/browser_process_platform_part_win.cc @@ -37,5 +41,124 @@ diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtool // This should be after all other #includes. #if defined(_WINDOWS_) // Detect whether windows.h was included. +diff --git a/chrome/browser/ui/profile_picker.cc b/chrome/browser/ui/profile_picker.cc +--- a/chrome/browser/ui/profile_picker.cc ++++ b/chrome/browser/ui/profile_picker.cc +@@ -104,7 +104,7 @@ ProfilePicker::Params ProfilePicker::Params::ForFirstRun( + #endif + + Params params( +-#if BUILDFLAG(ENABLE_DICE_SUPPORT) ++#if (true) // BUILDFLAG(ENABLE_DICE_SUPPORT) + EntryPoint::kFirstRun, + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + EntryPoint::kLacrosPrimaryProfileFirstRun, +diff --git a/chrome/browser/ui/startup/first_run_service.cc b/chrome/browser/ui/startup/first_run_service.cc +--- a/chrome/browser/ui/startup/first_run_service.cc ++++ b/chrome/browser/ui/startup/first_run_service.cc +@@ -76,8 +76,6 @@ bool IsSyncRequired(Profile* profile) { + #endif + + void SetFirstRunFinished() { +- PrefService* local_state = g_browser_process->local_state(); +- local_state->SetBoolean(prefs::kFirstRunFinished, true); + } + + // Processes the outcome from the FRE and resumes the user's interrupted task. +@@ -114,7 +112,6 @@ void OnFirstRunHasExited(ResumeTaskCallback original_intent_callback, + + // static + void FirstRunService::RegisterLocalStatePrefs(PrefRegistrySimple* registry) { +- registry->RegisterBooleanPref(prefs::kFirstRunFinished, false); + } + + FirstRunService::FirstRunService(Profile* profile) : profile_(profile) {} +@@ -128,8 +125,7 @@ bool FirstRunService::ShouldOpenFirstRun() const { + if (command_line->HasSwitch(switches::kNoFirstRun)) + return false; + +- const PrefService* const pref_service = g_browser_process->local_state(); +- return !pref_service->GetBoolean(prefs::kFirstRunFinished); ++ return false; + } + + void FirstRunService::TryMarkFirstRunAlreadyFinished( +diff --git a/chrome/browser/updater/BUILD.gn b/chrome/browser/updater/BUILD.gn +--- a/chrome/browser/updater/BUILD.gn ++++ b/chrome/browser/updater/BUILD.gn +@@ -22,15 +22,6 @@ source_set("browser_updater_client") { + "//components/version_info", + ] + +- if (is_win) { +- sources += [ "browser_updater_client_win.cc" ] +- +- deps += [ +- "//chrome/browser/google", +- "//chrome/install_static:install_static_util", +- ] +- } +- + if (is_mac) { + sources += [ + "browser_updater_client_mac.mm", +diff --git a/chrome/browser/updater/browser_updater_client.cc b/chrome/browser/updater/browser_updater_client.cc +--- a/chrome/browser/updater/browser_updater_client.cc ++++ b/chrome/browser/updater/browser_updater_client.cc +@@ -29,20 +29,6 @@ BrowserUpdaterClient::~BrowserUpdaterClient() = default; + + void BrowserUpdaterClient::Register(base::OnceClosure complete) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +- base::ThreadPool::PostTaskAndReplyWithResult( +- FROM_HERE, {base::MayBlock()}, +- base::BindOnce(&BrowserUpdaterClient::GetRegistrationRequest, this), +- base::BindOnce( +- [](base::OnceCallback callback, +- scoped_refptr update_service, +- const updater::RegistrationRequest& request) { +- update_service->RegisterApp(request, std::move(callback)); +- }, +- base::BindPostTask( +- base::SequencedTaskRunner::GetCurrentDefault(), +- base::BindOnce(&BrowserUpdaterClient::RegistrationCompleted, this, +- std::move(complete))), +- update_service_)); + } + + void BrowserUpdaterClient::RegistrationCompleted(base::OnceClosure complete, +@@ -74,19 +60,6 @@ void BrowserUpdaterClient::GetUpdaterVersionCompleted( + void BrowserUpdaterClient::CheckForUpdate( + updater::UpdateService::StateChangeCallback version_updater_callback) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +- +- updater::UpdateService::UpdateState update_state; +- update_state.state = +- updater::UpdateService::UpdateState::State::kCheckingForUpdates; +- version_updater_callback.Run(update_state); +- update_service_->Update( +- GetAppId(), {}, updater::UpdateService::Priority::kForeground, +- updater::UpdateService::PolicySameVersionUpdate::kNotAllowed, +- base::BindPostTask(base::SequencedTaskRunner::GetCurrentDefault(), +- version_updater_callback), +- base::BindPostTask(base::SequencedTaskRunner::GetCurrentDefault(), +- base::BindOnce(&BrowserUpdaterClient::UpdateCompleted, +- this, version_updater_callback))); + } + + void BrowserUpdaterClient::UpdateCompleted( +@@ -134,12 +107,7 @@ void BrowserUpdaterClient::IsBrowserRegisteredCompleted( + base::OnceCallback callback, + const std::vector& apps) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); +- const std::string app_id = GetAppId(); +- std::move(callback).Run( +- std::find_if(apps.begin(), apps.end(), +- [&](const updater::UpdateService::AppState& app) { +- return app.app_id == app_id; +- }) != apps.end()); ++ std::move(callback).Run(true); + } + + scoped_refptr BrowserUpdaterClient::Create( -- 2.25.1 diff --git a/build/patches/00Remove-HTTP-referrals-in-cross-origin-navi--fixup-.patch b/build/patches/00Remove-HTTP-referrals-in-cross-origin-navi--fixup-.patch index e3796bca..8e450f63 100644 --- a/build/patches/00Remove-HTTP-referrals-in-cross-origin-navi--fixup-.patch +++ b/build/patches/00Remove-HTTP-referrals-in-cross-origin-navi--fixup-.patch @@ -412,7 +412,7 @@ diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/render diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd -@@ -879,8 +879,29 @@ CHAR_LIMIT guidelines: +@@ -882,8 +882,29 @@ CHAR_LIMIT guidelines: For example, some websites may respond to this request by showing you ads that aren’t based on other websites you’ve visited. Many websites will still collect and use your browsing data — for example to improve security, to provide content, ads and recommendations, and to generate reporting statistics. diff --git a/build/patches/00Remove-signin-and-sync-integrations--win-fixup-.patch b/build/patches/00Remove-signin-and-sync-integrations--win-fixup-.patch index 45735711..132376f5 100644 --- a/build/patches/00Remove-signin-and-sync-integrations--win-fixup-.patch +++ b/build/patches/00Remove-signin-and-sync-integrations--win-fixup-.patch @@ -24,7 +24,7 @@ Subject: Remove signin and sync integrations (win fixup) diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4243,8 +4243,6 @@ static_library("browser") { +@@ -4239,8 +4239,6 @@ static_library("browser") { "sharing_hub/sharing_hub_service_factory.h", "signin/signin_promo.cc", "signin/signin_promo.h", @@ -33,7 +33,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "signin/signin_ui_util.cc", "signin/signin_ui_util.h", "speech/chrome_speech_recognition_service.cc", -@@ -6983,12 +6981,6 @@ static_library("browser") { +@@ -6979,12 +6977,6 @@ static_library("browser") { "signin/signin_ui_delegate_impl_dice.cc", "signin/signin_ui_delegate_impl_dice.h", ] diff --git a/build/patches/00Timezone-customization--win-fixup-.patch b/build/patches/00Timezone-customization--win-fixup-.patch index 3673a4d8..2fdb3b47 100644 --- a/build/patches/00Timezone-customization--win-fixup-.patch +++ b/build/patches/00Timezone-customization--win-fixup-.patch @@ -240,8 +240,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc @@ -624,7 +624,7 @@ void ContentSettingsRegistry::Init() { - CONTENT_SETTING_ASK, // custom timezone, default UTC - CONTENT_SETTING_BLOCK), // random + CONTENT_SETTING_ASK, // custom timezone, default UTC + CONTENT_SETTING_BLOCK}, // random WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, - WebsiteSettingsRegistry::PLATFORM_ANDROID, + WebsiteSettingsRegistry::ALL_PLATFORMS, diff --git a/build/patches/00Viewport-Protection-Site-Setting.patch b/build/patches/00Viewport-Protection-Site-Setting.patch index 492ec96d..59cac9ae 100644 --- a/build/patches/00Viewport-Protection-Site-Setting.patch +++ b/build/patches/00Viewport-Protection-Site-Setting.patch @@ -447,8 +447,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. --- a/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc @@ -645,7 +645,7 @@ void ContentSettingsRegistry::Init() { - ValidSettings(CONTENT_SETTING_ALLOW, - CONTENT_SETTING_BLOCK), + /*valid_settings=*/{CONTENT_SETTING_ALLOW, + CONTENT_SETTING_BLOCK}, WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, - WebsiteSettingsRegistry::PLATFORM_ANDROID, + WebsiteSettingsRegistry::ALL_PLATFORMS, @@ -462,9 +462,9 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. + + Register(ContentSettingsType::VIEWPORT, "viewport", CONTENT_SETTING_BLOCK, + WebsiteSettingsInfo::SYNCABLE, -+ AllowlistedSchemes(), -+ ValidSettings(CONTENT_SETTING_ALLOW, -+ CONTENT_SETTING_BLOCK), ++ /*allowlisted_schemes=*/{}, ++ /*valid_settings=*/{CONTENT_SETTING_ALLOW, ++ CONTENT_SETTING_BLOCK}, + WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, + WebsiteSettingsRegistry::ALL_PLATFORMS, + ContentSettingsInfo::INHERIT_IN_INCOGNITO, diff --git a/build/patches/00Viewport-Protection-flag.patch b/build/patches/00Viewport-Protection-flag.patch index ab6ccf08..5b38ee41 100644 --- a/build/patches/00Viewport-Protection-flag.patch +++ b/build/patches/00Viewport-Protection-flag.patch @@ -134,7 +134,7 @@ diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/th + builder.SetEffectiveZoom(InitialZoom()); + } else { + builder.SetZoom(InitialZoom()); -+ builder.SetEffectiveZoom(initial_style->Zoom()); ++ builder.SetEffectiveZoom(initial_style_->Zoom()); + } builder.SetInForcedColorsMode(GetDocument().InForcedColorsMode()); builder.SetTapHighlightColor( diff --git a/build/patches/00ungoogled-chr-no-special-hosts-domains--add-fixup-.patch b/build/patches/00ungoogled-chr-no-special-hosts-domains--add-fixup-.patch index 6268aec7..3cfa3555 100644 --- a/build/patches/00ungoogled-chr-no-special-hosts-domains--add-fixup-.patch +++ b/build/patches/00ungoogled-chr-no-special-hosts-domains--add-fixup-.patch @@ -10,7 +10,7 @@ Subject: ungoogled-chr no special hosts/domains (add fixup) chrome/browser/extensions/BUILD.gn | 1 - .../log_sources/chrome_internal_log_source.cc | 5 -- chrome/browser/first_run/first_run.cc | 9 -- - chrome/browser/google/BUILD.gn | 2 +- + chrome/browser/google/BUILD.gn | 4 +- .../long_screenshots_tab_service.cc | 22 ----- .../metrics/chrome_metrics_service_client.cc | 2 +- .../chrome_metrics_services_manager_client.cc | 5 +- @@ -35,7 +35,7 @@ Subject: ungoogled-chr no special hosts/domains (add fixup) components/search_provider_logos/BUILD.gn | 2 - .../logo_service_impl.cc | 16 +--- components/url_matcher/url_util.cc | 83 ------------------- - 32 files changed, 19 insertions(+), 359 deletions(-) + 32 files changed, 20 insertions(+), 360 deletions(-) diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn @@ -67,7 +67,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/common", "//chrome/common:buildflags", "//chrome/common:constants", -@@ -7677,8 +7671,6 @@ static_library("browser") { +@@ -7673,8 +7667,6 @@ static_library("browser") { "supervised_user/supervised_user_constants.h", "supervised_user/supervised_user_denylist.cc", "supervised_user/supervised_user_denylist.h", @@ -210,6 +210,15 @@ diff --git a/chrome/browser/google/BUILD.gn b/chrome/browser/google/BUILD.gn sources = [ "google_brand.cc", "google_brand.h", +@@ -93,7 +93,7 @@ source_set("unit_tests") { + ] + + deps = [ +- ":google", ++ ":google_UNUSED", + "//base", + "//base/test:test_support", + "//chrome/common:constants", diff --git a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc b/chrome/browser/long_screenshots/long_screenshots_tab_service.cc --- a/chrome/browser/long_screenshots/long_screenshots_tab_service.cc +++ b/chrome/browser/long_screenshots/long_screenshots_tab_service.cc diff --git a/build/patches/00wip-add-browser-policy.patch b/build/patches/00wip-add-browser-policy.patch index 0054328c..f787d0ae 100644 --- a/build/patches/00wip-add-browser-policy.patch +++ b/build/patches/00wip-add-browser-policy.patch @@ -35,7 +35,7 @@ Subject: wip add browser policy diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc --- a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc +++ b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc -@@ -61,6 +61,11 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy( +@@ -62,6 +62,11 @@ JNI_PrivacyPreferencesManagerImpl_IsMetricsReportingDisabledByPolicy( } const PrefService* local_state = g_browser_process->local_state(); @@ -435,7 +435,7 @@ diff --git a/components/policy/core/common/policy_loader_command_line.cc b/compo - command_line_->GetSwitchValueASCII(switches::kChromePolicy), - base::JSONParserOptions::JSON_ALLOW_TRAILING_COMMAS); + PolicyMap& policy_map = -+ bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())); ++ bundle.Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())); - if (!policies.has_value()) { - VLOG(1) << "Command line policy error: " << policies.error().message;