Patches for v147 (final)
This commit is contained in:
@@ -48,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../tabmodel/TabModelSelectorImpl.java | 3 +
|
||||
.../tabmodel/TabPersistentStoreImpl.java | 7 +
|
||||
.../browser/toolbar/ToolbarManager.java | 1 +
|
||||
.../webapps/WebappIntentDataProvider.java | 15 ++
|
||||
.../webapps/WebappIntentDataProvider.java | 16 ++
|
||||
.../browser/android/historical_tab_saver.cc | 24 ++-
|
||||
.../chrome_autocomplete_provider_client.cc | 9 +
|
||||
.../chrome_autocomplete_provider_client.h | 1 +
|
||||
@@ -68,7 +68,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/prefs/browser_prefs.cc | 5 +
|
||||
chrome/browser/profiles/profile_selections.cc | 10 +
|
||||
chrome/browser/profiles/profile_selections.h | 7 +-
|
||||
.../signin/services/ProfileDataCache.java | 16 +-
|
||||
.../signin/services/ProfileDataCache.java | 18 +-
|
||||
.../browser/ui/android/native_page/BUILD.gn | 2 +
|
||||
.../browser/ui/native_page/NativePage.java | 17 +-
|
||||
.../browser/omnibox/LocationBarMediator.java | 8 +
|
||||
@@ -89,7 +89,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../add-an-always-incognito-mode.inc | 1 +
|
||||
.../add-an-always-incognito-mode.inc | 3 +
|
||||
.../add-an-always-incognito-mode.inc | 1 +
|
||||
70 files changed, 811 insertions(+), 118 deletions(-)
|
||||
70 files changed, 812 insertions(+), 120 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
|
||||
@@ -1127,16 +1127,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
|
||||
@@ -33,6 +33,8 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
|
||||
@@ -33,6 +33,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
|
||||
import org.chromium.device.mojom.ScreenOrientationLockType;
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
+import org.chromium.chrome.browser.flags.CustomTabProfileType;
|
||||
+
|
||||
/** Stores info about a web app. */
|
||||
@NullMarked
|
||||
public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider {
|
||||
@@ -47,6 +49,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -47,6 +50,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
private final ColorProviderImpl mDarkColorProvider;
|
||||
private @DisplayMode.EnumType int mResolvedDisplayMode = DisplayMode.UNDEFINED;
|
||||
|
||||
@@ -1145,7 +1146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
||||
/** Returns the toolbar color to use if a custom color is not specified by the webapp. */
|
||||
public static int getDefaultToolbarColor() {
|
||||
return Color.WHITE;
|
||||
@@ -82,6 +86,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -82,6 +87,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
mWebappExtras = webappExtras;
|
||||
mWebApkExtras = webApkExtras;
|
||||
mActivityType = (webApkExtras != null) ? ActivityType.WEB_APK : ActivityType.WEBAPP;
|
||||
@@ -1156,7 +1157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -177,6 +185,13 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
@@ -177,6 +186,13 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
|
||||
return mWebApkExtras;
|
||||
}
|
||||
|
||||
@@ -1914,7 +1915,16 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
|
||||
mImageSize = imageSize;
|
||||
mDefaultBadgeConfig = badgeConfig;
|
||||
mPlaceholderImage = getScaledPlaceholderImage(context, imageSize);
|
||||
@@ -266,7 +263,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
@@ -255,8 +252,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
return;
|
||||
}
|
||||
mPerAccountBadgeConfig.put(accountId, badgeConfig);
|
||||
- var accountInfo = mIdentityManager.findExtendedAccountInfoByAccountId(accountId);
|
||||
- onExtendedAccountInfoUpdated(accountInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -266,7 +261,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
ThreadUtils.assertOnUiThread();
|
||||
if (mObservers.isEmpty()) {
|
||||
mAccountManagerFacade.addObserver(this);
|
||||
@@ -1922,7 +1932,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
|
||||
}
|
||||
mObservers.addObserver(observer);
|
||||
}
|
||||
@@ -279,7 +275,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
@@ -279,7 +273,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
mObservers.removeObserver(observer);
|
||||
if (mObservers.isEmpty()) {
|
||||
mAccountManagerFacade.removeObserver(this);
|
||||
@@ -1930,7 +1940,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
|
||||
}
|
||||
}
|
||||
|
||||
@@ -311,6 +306,7 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
@@ -311,6 +304,7 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
}
|
||||
|
||||
private void updateCache() {
|
||||
@@ -1938,7 +1948,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
|
||||
var accounts = mAccountManagerFacade.getAccounts();
|
||||
if (!accounts.isFulfilled()) {
|
||||
// When the list of accounts is ready - onCoreAccountInfosChanged will call
|
||||
@@ -320,14 +316,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
@@ -320,14 +314,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
|
||||
|
||||
List<AccountsCache.AccountEntry> displayableAccounts = new ArrayList<>();
|
||||
for (CoreAccountInfo account : accounts.getResult()) {
|
||||
|
||||
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
|
||||
.../app/bookmarks/BookmarkActivity.java | 20 ++
|
||||
.../native_page/NativePageFactory.java | 7 +-
|
||||
chrome/browser/BUILD.gn | 9 +
|
||||
chrome/browser/BUILD.gn | 7 +
|
||||
.../bookmarks/android/bookmark_bridge.cc | 193 ++++++++++++
|
||||
.../bookmarks/android/bookmark_bridge.h | 30 +-
|
||||
.../browser/bookmarks/BookmarkBridge.java | 39 +++
|
||||
@@ -51,7 +51,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
|
||||
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
|
||||
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
|
||||
40 files changed, 792 insertions(+), 21 deletions(-)
|
||||
40 files changed, 790 insertions(+), 21 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc
|
||||
@@ -205,16 +205,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -210,6 +210,8 @@ static_library("browser") {
|
||||
"bad_message.h",
|
||||
"browser_about_handler.cc",
|
||||
"browser_about_handler.h",
|
||||
+ "bookmarks/bookmark_html_writer.cc",
|
||||
+ "bookmarks/bookmark_html_writer.h",
|
||||
"browser_features.cc",
|
||||
"browser_features.h",
|
||||
"browser_process_impl.cc",
|
||||
@@ -1327,6 +1329,13 @@ static_library("browser") {
|
||||
@@ -1327,6 +1327,13 @@ static_library("browser") {
|
||||
"webauthn/webauthn_switches.cc",
|
||||
]
|
||||
|
||||
|
||||
@@ -1580,7 +1580,7 @@ diff --git a/components/webui/flags/resources/experiment.css b/components/webui/
|
||||
}
|
||||
|
||||
+.experiment-on select {
|
||||
+ background: #dddddd;
|
||||
+ background: #ddd;
|
||||
+ color: var(--link-color);
|
||||
+}
|
||||
+
|
||||
@@ -1722,11 +1722,13 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
||||
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
|
||||
--- a/content/public/common/content_features.h
|
||||
+++ b/content/public/common/content_features.h
|
||||
@@ -440,4 +440,5 @@ CONTENT_EXPORT bool IsFluidResizeEnabled();
|
||||
|
||||
} // namespace features
|
||||
@@ -438,6 +438,7 @@ CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled();
|
||||
CONTENT_EXPORT bool IsFluidResizeEnabled();
|
||||
#endif
|
||||
|
||||
+#include "cromite_flags/content_public_common_content_features_h.inc"
|
||||
} // namespace features
|
||||
|
||||
#endif // CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_
|
||||
diff --git a/cromite_flags/BUILD.gn b/cromite_flags/BUILD.gn
|
||||
new file mode 100755
|
||||
|
||||
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -661,7 +661,7 @@ config("compiler") {
|
||||
@@ -669,7 +669,7 @@ config("compiler") {
|
||||
# TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
|
||||
# It also causes segfault on Linux s390x:
|
||||
# https://github.com/llvm/llvm-project/issues/149511
|
||||
|
||||
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../bookmarks/bookmark_parent_folder.cc | 1 +
|
||||
.../permanent_folder_ordering_tracker.cc | 2 +
|
||||
.../dialogs/DownloadLocationCustomView.java | 4 +-
|
||||
.../strings/android_chrome_strings.grd | 3 ++
|
||||
.../strings/android_chrome_strings.grd | 6 +--
|
||||
.../bookmark_ui_operations_helper.cc | 2 +
|
||||
.../bookmark_bar_page_handler.cc | 2 +
|
||||
components/bookmark_bar_strings.grdp | 6 +++
|
||||
@@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/bookmarks/browser/bookmark_uuids.h | 1 +
|
||||
components/bookmarks/browser/model_loader.cc | 9 +++-
|
||||
.../bookmark_specifics_conversions.cc | 1 +
|
||||
27 files changed, 251 insertions(+), 11 deletions(-)
|
||||
27 files changed, 251 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
|
||||
--- a/chrome/android/java/res/values/ids.xml
|
||||
@@ -470,6 +470,16 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
<message name="IDS_MENU_GET_IMAGE_DESCRIPTIONS" desc="Menu item to start getting alt text accessibility image labels/descriptions [CHAR_LIMIT=27]">
|
||||
Get image descriptions
|
||||
</message>
|
||||
@@ -4733,9 +4736,6 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_MENU_REOPEN_CLOSED_GROUP" desc="Menu item for reopening the last closed tab group.">
|
||||
Reopen closed group
|
||||
</message>
|
||||
- <message name="IDS_MENU_BOOKMARK_ALL_TABS" desc="Menu item for bookmarking all tabs.">
|
||||
- Bookmark all tabs
|
||||
- </message>
|
||||
<message name="IDS_MENU_UNPIN_GLIC_BUTTON" desc="Menu item for unpinning the tab strip Glic button.">
|
||||
Unpin
|
||||
</message>
|
||||
diff --git a/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc b/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc
|
||||
--- a/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc
|
||||
+++ b/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc
|
||||
|
||||
@@ -200,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
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
|
||||
@@ -6709,6 +6709,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -6706,6 +6706,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
|
||||
</message>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../layout/custom_tabs_control_container.xml | 2 +-
|
||||
.../java/res/layout/recent_tabs_page.xml | 2 +-
|
||||
.../java/res/values-sw600dp/dimens.xml | 3 ++-
|
||||
chrome/android/java/res/values/dimens.xml | 6 +++++-
|
||||
chrome/android/java/res/values/dimens.xml | 3 ++-
|
||||
.../browser/ChromeBaseAppCompatActivity.java | 3 +++
|
||||
.../chrome/browser/WarmupManager.java | 7 +++++--
|
||||
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
|
||||
@@ -29,7 +29,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../java/res/layout/toolbar_tablet.xml | 2 +-
|
||||
.../java/res/values-sw600dp/dimens.xml | 5 +++--
|
||||
.../toolbar/java/res/values/dimens.xml | 6 ++++--
|
||||
.../toolbar/top/ToolbarControlContainer.java | 19 +++++++++++++++++++
|
||||
.../toolbar/top/ToolbarControlContainer.java | 6 ++++++
|
||||
.../browser/toolbar/top/ToolbarLayout.java | 5 ++++-
|
||||
.../tab_strip/HeightTransitionHandler.java | 2 ++
|
||||
.../TabStripTransitionCoordinator.java | 6 +++++-
|
||||
@@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../accessibility/AccessibilitySettings.java | 13 +++++++++++++
|
||||
.../AccessibilitySettingsDelegate.java | 2 ++
|
||||
.../chromium/ui/base/DeviceFormFactor.java | 14 ++++++++++++++
|
||||
33 files changed, 165 insertions(+), 22 deletions(-)
|
||||
33 files changed, 149 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||
--- a/chrome/android/java/res/layout/custom_tabs_control_container.xml
|
||||
@@ -72,28 +72,23 @@ diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/
|
||||
<!-- Full Screen Dimensions -->
|
||||
- <dimen name="control_container_height">96dp</dimen>
|
||||
+ <dimen name="control_container_height_cromite">96dp</dimen>
|
||||
+ <dimen name="control_container_height_tabletui">96dp</dimen>
|
||||
+ <dimen name="control_container_height_tabletui">56dp</dimen>
|
||||
|
||||
<!-- NTP dimensions -->
|
||||
<dimen name="ntp_search_box_transition_start_offset">60dp</dimen>
|
||||
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
|
||||
--- a/chrome/android/java/res/values/dimens.xml
|
||||
+++ b/chrome/android/java/res/values/dimens.xml
|
||||
@@ -116,9 +116,13 @@ found in the LICENSE file.
|
||||
@@ -116,7 +116,8 @@ found in the LICENSE file.
|
||||
<dimen name="signin_screen_top_padding">50dp</dimen>
|
||||
|
||||
<!-- Should match toolbar_height_no_shadow -->
|
||||
- <dimen name="control_container_height">@dimen/default_action_bar_height</dimen>
|
||||
+ <dimen name="control_container_height_cromite">@dimen/default_action_bar_height</dimen>
|
||||
+ <dimen name="control_container_height_tabletui">96dp</dimen>
|
||||
+ <dimen name="control_container_height_tabletui">56dp</dimen>
|
||||
<dimen name="custom_tabs_control_container_height">@dimen/default_action_bar_height</dimen>
|
||||
|
||||
+ <!-- The combined height of the tab strip and toolbar. -->
|
||||
+ <dimen name="tab_strip_and_toolbar_height_cromite">56dp</dimen>
|
||||
+
|
||||
<!-- Find in Page dimensions -->
|
||||
<dimen name="find_in_page_popup_width">375dp</dimen>
|
||||
<dimen name="find_in_page_popup_height">64dp</dimen>
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
|
||||
@@ -489,27 +484,14 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
@@ -174,6 +175,24 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@@ -174,6 +175,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@Initializer
|
||||
public void initWithToolbar(int toolbarLayoutId, int toolbarLayoutHeightResId) {
|
||||
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
|
||||
+ if (DeviceFormFactor.isForceTabletUI() && toolbarLayoutHeightResId != 0) {
|
||||
+ toolbarLayoutHeightResId = R.dimen.tab_strip_height_tabletui;
|
||||
+ toolbarLayoutHeightResId = R.dimen.control_container_height_tabletui;
|
||||
+ Resources res = getContext().getResources();
|
||||
+ setMinimumHeight((int) res.getDimension(toolbarLayoutHeightResId));
|
||||
+ int tab_strip_height =
|
||||
+ (int) res.getDimension(R.dimen.tab_strip_height_tabletui);
|
||||
+
|
||||
+ View view = findViewById(R.id.toolbar_stub);
|
||||
+ if (view != null)
|
||||
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
|
||||
+
|
||||
+ view = findViewById(R.id.toolbar_hairline);
|
||||
+ if (view != null) view.setVisibility(View.GONE);
|
||||
+
|
||||
+ view = findViewById(R.id.find_toolbar_stub);
|
||||
+ if (view != null)
|
||||
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
|
||||
+ }
|
||||
mToolbarContainer = findViewById(R.id.toolbar_container);
|
||||
mToolbarLayoutHeight = getResources().getDimensionPixelSize(toolbarLayoutHeightResId);
|
||||
|
||||
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../browsing_data/BrowsingDataBridge.java | 12 +--
|
||||
.../ClearBrowsingDataFragment.java | 37 +++++++--
|
||||
.../ClearBrowsingDataFragmentAtStart.java | 79 +++++++++++++++++++
|
||||
chrome/app/settings_strings.grdp | 10 +++
|
||||
chrome/app/settings_strings.grdp | 8 ++
|
||||
chrome/browser/about_flags.cc | 1 +
|
||||
.../browsing_data/browsing_data_bridge.cc | 17 +++-
|
||||
.../chrome_browsing_data_lifetime_manager.cc | 22 +++++-
|
||||
@@ -20,16 +20,24 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../profiles/android/profile_manager_utils.cc | 5 ++
|
||||
chrome/browser/profiles/profile_manager.cc | 17 +++-
|
||||
chrome/browser/profiles/profile_manager.h | 2 +
|
||||
.../clear_browsing_data_browser_proxy.ts | 1 +
|
||||
.../clear_browsing_data_dialog_v2.html | 20 ++++-
|
||||
.../clear_browsing_data_dialog_v2.ts | 62 ++++++++++++++-
|
||||
.../clear_browsing_data_time_picker.ts | 6 +-
|
||||
.../settings/privacy_page/privacy_page.html | 12 +++
|
||||
.../settings/privacy_page/privacy_page.ts | 10 +++
|
||||
.../privacy_page/privacy_page_index.ts | 2 +-
|
||||
chrome/browser/resources/settings/route.ts | 2 +
|
||||
chrome/browser/resources/settings/router.ts | 1 +
|
||||
.../strings/android_chrome_strings.grd | 3 +
|
||||
.../Add-setting-to-clear-data-on-exit.grdp | 9 +++
|
||||
.../settings_localized_strings_provider.cc | 1 +
|
||||
.../settings_localized_strings_provider.cc | 4 +
|
||||
.../content/browsing_data_helper.cc | 9 ++-
|
||||
components/browsing_data/core/BUILD.gn | 5 ++
|
||||
.../core/browsing_data_policies_utils.cc | 20 ++---
|
||||
.../core/browsing_data_policies_utils.h | 11 +++
|
||||
.../browsing_data/core/browsing_data_utils.cc | 31 ++++++++
|
||||
.../core/clear_browsing_data_tab.h | 3 +-
|
||||
components/browsing_data/core/features.h | 1 +
|
||||
components/browsing_data/core/pref_names.cc | 17 ++++
|
||||
components/browsing_data/core/pref_names.h | 10 +++
|
||||
components/favicon/core/favicon_database.cc | 9 +++
|
||||
@@ -39,7 +47,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
content/browser/storage_partition_impl.cc | 2 +
|
||||
.../public/browser/browsing_data_remover.h | 7 +-
|
||||
.../Add-setting-to-clear-data-on-exit.inc | 8 ++
|
||||
35 files changed, 369 insertions(+), 35 deletions(-)
|
||||
43 files changed, 473 insertions(+), 47 deletions(-)
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-clear-data-on-exit.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-clear-data-on-exit.inc
|
||||
@@ -346,18 +354,16 @@ new file mode 100644
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2222,6 +2222,16 @@
|
||||
@@ -2222,6 +2222,14 @@
|
||||
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for delete browsing data button in Privacy options">
|
||||
Delete browsing data
|
||||
</message>
|
||||
+ <if expr="is_win or is_linux">
|
||||
+ <message name="IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE" desc="The title of the tab showing the at start clear browsing data options.">
|
||||
+ At Close
|
||||
+ <message name="IDS_SETTINGS_CLEAR_BROWSING_DATA_AT_CLOSE" desc="The title of the tab showing the at close clear browsing data options.">
|
||||
+ Clear browsing data when closing Cromite
|
||||
+ </message>
|
||||
+ </if>
|
||||
+ <if expr="is_android">
|
||||
+ <message name="IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE" desc="The title of the tab showing the at start clear browsing data options.">
|
||||
+ At Startup
|
||||
+ <message name="IDS_SETTINGS_CLEAR_DATA_AT_CLOSE_DESCRIPTION" desc="Description for delete browsing data button at close in Privacy options. 'History' refers to browsing history. 'Cookies' refers to the technical meaning of a cookie, i.e. data saved by a website on the user's computer, as in when a website saves your preferences.">
|
||||
+ Choose what to automatically delete when you close Cromite
|
||||
+ </message>
|
||||
+ </if>
|
||||
<message name="IDS_SETTINGS_CLEAR_DATA_DESCRIPTION" desc="Description for delete browsing data button in Privacy options. 'History' refers to browsing history. 'Cookies' refers to the technical meaning of a cookie, i.e. data saved by a website on the user's computer, as in when a website saves your preferences.">
|
||||
@@ -631,6 +637,352 @@ diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles
|
||||
// If a profile with the given path is currently managed by this object and
|
||||
// fully initialized, return a pointer to the corresponding Profile object;
|
||||
// otherwise return null.
|
||||
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts
|
||||
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts
|
||||
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts
|
||||
@@ -42,6 +42,7 @@ export enum BrowsingDataType {
|
||||
SITE_SETTINGS = 5,
|
||||
DOWNLOADS = 6,
|
||||
HOSTED_APPS_DATA = 7,
|
||||
+ PASSWORDS = 8,
|
||||
// TABS = 8, Not used on Desktop.
|
||||
}
|
||||
// LINT.ThenChange(/components/browsing_data/core/browsing_data_utils.h:BrowsingDataType)
|
||||
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.html
|
||||
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.html
|
||||
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.html
|
||||
@@ -40,6 +40,8 @@
|
||||
|
||||
#deleteBrowsingDataDialog::part(dialog) {
|
||||
max-height: var(--dbd-dialog-max-height);
|
||||
+ top: 300px;
|
||||
+ width: 590px;
|
||||
}
|
||||
|
||||
#deletingDataAlert {
|
||||
@@ -99,18 +101,25 @@
|
||||
<cr-dialog id="deleteBrowsingDataDialog" close-text="$i18n{close}"
|
||||
show-on-attach ignore-popstate ignore-enter-key
|
||||
hidden="[[showOtherGoogleDataDialog_]]">
|
||||
+<template is="dom-if" if="[[!clearBrowsingDialogAtClose]]">
|
||||
<div slot="title" class="dialog-title">$i18n{clearBrowsingData}</div>
|
||||
+</template>
|
||||
+<template is="dom-if" if="[[clearBrowsingDialogAtClose]]">
|
||||
+ <div slot="title" class="dialog-title">$i18n{clearBrowsingDataAtClose}</div>
|
||||
+</template>
|
||||
<div slot="header">
|
||||
+<template is="dom-if" if="[[!clearBrowsingDialogAtClose]]">
|
||||
<settings-clear-browsing-data-time-picker id="timePicker" prefs="{{prefs}}"
|
||||
on-selected-time-period-change="onTimePeriodChanged_">
|
||||
</settings-clear-browsing-data-time-picker>
|
||||
+</template>
|
||||
</div>
|
||||
<div slot="body">
|
||||
<div id="checkboxContainer">
|
||||
<template is="dom-repeat"
|
||||
items="[[expandedBrowsingDataTypeOptionsList_]]">
|
||||
- <settings-checkbox pref="{{item.pref}}" no-set-pref
|
||||
- sub-label-html="[[item.subLabel]]"
|
||||
+ <settings-checkbox pref="{{item.pref}}" no-set-pref="[[!clearBrowsingDialogAtClose]]"
|
||||
+ sub-label-html="[[shouldShowSubLabel_(item.subLabel)]]"
|
||||
disabled="[[isDeletionInProgress_]]"
|
||||
on-sub-label-link-clicked="onCheckboxSubLabelLinkClick_">
|
||||
<div class="checkbox-title">[[item.label]]</div>
|
||||
@@ -137,12 +146,14 @@
|
||||
<cr-icon icon="cr:expand-more" aria-hidden="true" role="presentation">
|
||||
</cr-icon>
|
||||
</cr-button>
|
||||
+<template is="dom-if" if="[[!clearBrowsingDialogAtClose]]">
|
||||
<cr-link-row id="manageOtherGoogleDataRow"
|
||||
label="[[otherGoogleDataRowLabel_]]"
|
||||
sub-label="[[otherGoogleDataRowSubLabel_]]"
|
||||
on-click="onManageOtherGoogleDataRowClick_"
|
||||
role-description="$i18n{subpageArrowRoleDescription}">
|
||||
</cr-link-row>
|
||||
+</template>
|
||||
</div>
|
||||
<div slot="button-container" class="row-aligned">
|
||||
<if expr="not is_chromeos">
|
||||
@@ -152,9 +163,10 @@
|
||||
<div id="spinner" class="spinner" hidden="[[!isDeletionInProgress_]]"></div>
|
||||
<cr-button id="cancelButton" class="cancel-button" on-click="onCancelClick_"
|
||||
disabled="[[isDeletionInProgress_]]" autofocus>
|
||||
- $i18n{cancel}
|
||||
+ $i18n{close}
|
||||
</cr-button>
|
||||
<cr-button id="deleteButton" class="action-button"
|
||||
+ hidden="[[clearBrowsingDialogAtClose]]"
|
||||
on-click="onDeleteBrowsingDataClick_"
|
||||
disabled="[[shouldDisableDeleteButton_(
|
||||
isDeletionInProgress_, isNoDatatypeSelected_)]]">
|
||||
@@ -177,4 +189,4 @@
|
||||
<template is="dom-if" if="[[showOtherGoogleDataDialog_]]" restamp>
|
||||
<settings-other-google-data-dialog on-cancel="onOtherGoogleDataDialogClose_">
|
||||
</settings-other-google-data-dialog>
|
||||
-</template>
|
||||
\ No newline at end of file
|
||||
+</template>
|
||||
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts
|
||||
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts
|
||||
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts
|
||||
@@ -91,6 +91,17 @@ const ALL_BROWSING_DATATYPES_LIST: BrowsingDataType[] = [
|
||||
BrowsingDataType.HOSTED_APPS_DATA,
|
||||
];
|
||||
|
||||
+const ALL_BROWSING_DATATYPES_LIST_AT_CLOSE: BrowsingDataType[] = [
|
||||
+ BrowsingDataType.HISTORY,
|
||||
+ BrowsingDataType.SITE_DATA,
|
||||
+ BrowsingDataType.CACHE,
|
||||
+ BrowsingDataType.DOWNLOADS,
|
||||
+ BrowsingDataType.FORM_DATA,
|
||||
+ BrowsingDataType.SITE_SETTINGS,
|
||||
+ BrowsingDataType.PASSWORDS,
|
||||
+ BrowsingDataType.HOSTED_APPS_DATA,
|
||||
+];
|
||||
+
|
||||
/** The list of Browsing Data types that should be expanded by default. */
|
||||
const DEFAULT_BROWSING_DATATYPES_LIST: BrowsingDataType[] = [
|
||||
BrowsingDataType.HISTORY,
|
||||
@@ -120,12 +131,36 @@ function getDataTypeLabel(datatypes: BrowsingDataType) {
|
||||
return loadTimeData.getString('clearDownloadHistory');
|
||||
case BrowsingDataType.HOSTED_APPS_DATA:
|
||||
return loadTimeData.getString('clearHostedAppData');
|
||||
+ case BrowsingDataType.PASSWORDS:
|
||||
+ return loadTimeData.getString('clearPasswords');
|
||||
default:
|
||||
assertNotReachedCase(datatypes);
|
||||
}
|
||||
}
|
||||
|
||||
-export function getDataTypePrefName(datatypes: BrowsingDataType) {
|
||||
+export function getDataTypePrefName(datatypes: BrowsingDataType, atclose: boolean) {
|
||||
+ if (atclose) {
|
||||
+ switch (datatypes) {
|
||||
+ case BrowsingDataType.HISTORY:
|
||||
+ return 'browser.clear_data.browsing_history_at_start';
|
||||
+ case BrowsingDataType.CACHE:
|
||||
+ return 'browser.clear_data.cache_at_start';
|
||||
+ case BrowsingDataType.SITE_DATA:
|
||||
+ return 'browser.clear_data.cookies_at_start';
|
||||
+ case BrowsingDataType.FORM_DATA:
|
||||
+ return 'browser.clear_data.form_data_at_start';
|
||||
+ case BrowsingDataType.SITE_SETTINGS:
|
||||
+ return 'browser.clear_data.site_settings_at_start';
|
||||
+ case BrowsingDataType.DOWNLOADS:
|
||||
+ return 'browser.clear_data.download_history_at_start';
|
||||
+ case BrowsingDataType.HOSTED_APPS_DATA:
|
||||
+ return 'browser.clear_data.hosted_apps_data_at_start';
|
||||
+ case BrowsingDataType.PASSWORDS:
|
||||
+ return 'browser.clear_data.passwords_at_start';
|
||||
+ default:
|
||||
+ assertNotReachedCase(datatypes);
|
||||
+ }
|
||||
+ }
|
||||
switch (datatypes) {
|
||||
case BrowsingDataType.HISTORY:
|
||||
return 'browser.clear_data.browsing_history';
|
||||
@@ -141,6 +176,8 @@ export function getDataTypePrefName(datatypes: BrowsingDataType) {
|
||||
return 'browser.clear_data.download_history';
|
||||
case BrowsingDataType.HOSTED_APPS_DATA:
|
||||
return 'browser.clear_data.hosted_apps_data';
|
||||
+ case BrowsingDataType.PASSWORDS:
|
||||
+ return 'browser.clear_data.passwords';
|
||||
default:
|
||||
assertNotReachedCase(datatypes);
|
||||
}
|
||||
@@ -161,6 +198,12 @@ export class SettingsClearBrowsingDataDialogV2Element extends
|
||||
|
||||
static get properties() {
|
||||
return {
|
||||
+ clearBrowsingDialogAtClose: {
|
||||
+ type: Boolean,
|
||||
+ value: '',
|
||||
+ reflectToAttribute: true,
|
||||
+ },
|
||||
+
|
||||
dataTypesExpanded_: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
@@ -224,6 +267,8 @@ export class SettingsClearBrowsingDataDialogV2Element extends
|
||||
};
|
||||
}
|
||||
|
||||
+ declare private clearBrowsingDialogAtClose: boolean;
|
||||
+
|
||||
declare private dataTypesExpanded_: boolean;
|
||||
declare private deleteButtonLabel_: string;
|
||||
declare private deletingDataAlertString_: string;
|
||||
@@ -310,10 +355,14 @@ export class SettingsClearBrowsingDataDialogV2Element extends
|
||||
const expandedOptionsList: BrowsingDataTypeOption[] = [];
|
||||
const moreOptionsList: BrowsingDataTypeOption[] = [];
|
||||
|
||||
- ALL_BROWSING_DATATYPES_LIST.forEach((datatype) => {
|
||||
+ var list = ALL_BROWSING_DATATYPES_LIST;
|
||||
+ if (this.clearBrowsingDialogAtClose)
|
||||
+ list = ALL_BROWSING_DATATYPES_LIST_AT_CLOSE;
|
||||
+
|
||||
+ list.forEach((datatype) => {
|
||||
const datatypeOption = {
|
||||
label: getDataTypeLabel(datatype),
|
||||
- pref: this.getPref(getDataTypePrefName(datatype)),
|
||||
+ pref: this.getPref(getDataTypePrefName(datatype, this.clearBrowsingDialogAtClose)),
|
||||
};
|
||||
|
||||
if (this.shouldDataTypeBeExpanded_(datatype)) {
|
||||
@@ -362,7 +411,12 @@ export class SettingsClearBrowsingDataDialogV2Element extends
|
||||
|
||||
private shouldDataTypeBeExpanded_(datatype: BrowsingDataType) {
|
||||
return DEFAULT_BROWSING_DATATYPES_LIST.includes(datatype) ||
|
||||
- this.getPref(getDataTypePrefName(datatype)).value;
|
||||
+ this.getPref(getDataTypePrefName(datatype, this.clearBrowsingDialogAtClose)).value ||
|
||||
+ this.clearBrowsingDialogAtClose;
|
||||
+ }
|
||||
+
|
||||
+ private shouldShowSubLabel_(value: string) {
|
||||
+ return this.clearBrowsingDialogAtClose ? '' : value;
|
||||
}
|
||||
|
||||
private computeDeleteButtonLabel_() {
|
||||
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_time_picker.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_time_picker.ts
|
||||
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_time_picker.ts
|
||||
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_time_picker.ts
|
||||
@@ -80,7 +80,7 @@ export class SettingsClearBrowsingDataTimePicker extends
|
||||
selectedTimePeriod_: {
|
||||
type: Number,
|
||||
observer: 'onTimePeriodSelectionChanged_',
|
||||
- value: TimePeriod.LAST_HOUR,
|
||||
+ value: TimePeriod.ALL_TIME,
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -91,12 +91,12 @@ export class SettingsClearBrowsingDataTimePicker extends
|
||||
readOnly: true,
|
||||
type: Array,
|
||||
value: [
|
||||
+ TimePeriod.ALL_TIME,
|
||||
TimePeriod.LAST_15_MINUTES,
|
||||
TimePeriod.LAST_HOUR,
|
||||
TimePeriod.LAST_DAY,
|
||||
TimePeriod.LAST_WEEK,
|
||||
TimePeriod.FOUR_WEEKS,
|
||||
- TimePeriod.ALL_TIME,
|
||||
],
|
||||
},
|
||||
|
||||
@@ -125,7 +125,7 @@ export class SettingsClearBrowsingDataTimePicker extends
|
||||
*/
|
||||
maxChipsShown_: {
|
||||
type: Number,
|
||||
- value: 4,
|
||||
+ value: 6,
|
||||
},
|
||||
};
|
||||
}
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -6,6 +6,13 @@
|
||||
on-browsing-data-deleted="onBrowsingDataDeleted_">
|
||||
</settings-clear-browsing-data-dialog-v2>
|
||||
</template>
|
||||
+ <template is="dom-if" if="[[showClearBrowsingAtCloseDataDialog_]]" restamp>
|
||||
+ <settings-clear-browsing-data-dialog-v2 prefs="{{prefs}}"
|
||||
+ clear-browsing-dialog-at-close="true"
|
||||
+ on-close="onCbdDialogClosed_"
|
||||
+ on-browsing-data-deleted="onBrowsingDataDeleted_">
|
||||
+ </settings-clear-browsing-data-dialog-v2>
|
||||
+ </template>
|
||||
<template is="dom-if" if="[[showPrivacyGuideDialog_]]" restamp>
|
||||
<settings-privacy-guide-dialog id="privacyGuideDialog" prefs="{{prefs}}"
|
||||
on-close="onPrivacyGuideDialogClosed_">
|
||||
@@ -16,6 +23,11 @@
|
||||
label="$i18n{clearBrowsingData}"
|
||||
sub-label="$i18n{clearBrowsingDataDescription}"
|
||||
on-click="onClearBrowsingDataClick_"></cr-link-row>
|
||||
+ <cr-link-row id="clearBrowsingDataAtClose"
|
||||
+ start-icon="cr:delete"
|
||||
+ label="$i18n{clearBrowsingDataAtClose}"
|
||||
+ sub-label="$i18n{clearBrowsingDataAtCloseDescription}"
|
||||
+ on-click="onClearBrowsingDataAtCloseClick_"></cr-link-row>
|
||||
<template is="dom-if" if="[[isPrivacyGuideAvailable]]">
|
||||
<cr-link-row id="privacyGuideLinkRow" class="hr"
|
||||
start-icon="privacy20:signpost"
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
@@ -81,6 +81,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
},
|
||||
|
||||
showClearBrowsingDataDialog_: Boolean,
|
||||
+ showClearBrowsingAtCloseDataDialog_: Boolean,
|
||||
showPrivacyGuideDialog_: Boolean,
|
||||
|
||||
isPrivacySandboxRestricted_: {
|
||||
@@ -121,6 +122,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
|
||||
declare private historyExpireDaysThresholdOptions_: object[];
|
||||
declare private showClearBrowsingDataDialog_: boolean;
|
||||
+ declare private showClearBrowsingAtCloseDataDialog_: boolean;
|
||||
declare private showPrivacyGuideDialog_: boolean;
|
||||
declare private referersPolicyOptions_: object[];
|
||||
declare private isPrivacySandboxRestricted_: boolean;
|
||||
@@ -136,6 +138,8 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
|
||||
this.showClearBrowsingDataDialog_ =
|
||||
Router.getInstance().getCurrentRoute() === routes.CLEAR_BROWSER_DATA;
|
||||
+ this.showClearBrowsingAtCloseDataDialog_ =
|
||||
+ Router.getInstance().getCurrentRoute() === routes.CLEAR_BROWSER_DATA_AT_CLOSE;
|
||||
this.showPrivacyGuideDialog_ =
|
||||
Router.getInstance().getCurrentRoute() === routes.PRIVACY_GUIDE &&
|
||||
this.isPrivacyGuideAvailable;
|
||||
@@ -147,6 +151,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
Router.getInstance().navigateTo(routes.CLEAR_BROWSER_DATA);
|
||||
}
|
||||
|
||||
+ private onClearBrowsingDataAtCloseClick_() {
|
||||
+ this.interactedWithPage_();
|
||||
+
|
||||
+ Router.getInstance().navigateTo(routes.CLEAR_BROWSER_DATA_AT_CLOSE);
|
||||
+ }
|
||||
+
|
||||
private onCookiesClick_() {
|
||||
this.interactedWithPage_();
|
||||
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
|
||||
@@ -253,7 +253,7 @@ export class SettingsPrivacyPageIndexElement extends
|
||||
}
|
||||
|
||||
private isRouteHostedWithinPrivacyView_(route: Route): boolean {
|
||||
- const nestedRoutes = [routes.CLEAR_BROWSER_DATA];
|
||||
+ const nestedRoutes = [routes.CLEAR_BROWSER_DATA, routes.CLEAR_BROWSER_DATA_AT_CLOSE];
|
||||
if (loadTimeData.getBoolean('showPrivacyGuide')) {
|
||||
nestedRoutes.push(routes.PRIVACY_GUIDE);
|
||||
}
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -17,6 +17,8 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
assert(r.PRIVACY);
|
||||
r.CLEAR_BROWSER_DATA = r.PRIVACY.createChild('/clearBrowserData');
|
||||
r.CLEAR_BROWSER_DATA.isNavigableDialog = true;
|
||||
+ r.CLEAR_BROWSER_DATA_AT_CLOSE = r.PRIVACY.createChild('/clearBrowserDataAtClose');
|
||||
+ r.CLEAR_BROWSER_DATA_AT_CLOSE.isNavigableDialog = true;
|
||||
|
||||
const visibility = pageVisibility || {};
|
||||
|
||||
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
|
||||
--- a/chrome/browser/resources/settings/router.ts
|
||||
+++ b/chrome/browser/resources/settings/router.ts
|
||||
@@ -24,6 +24,7 @@ export interface SettingsRoutes {
|
||||
BASIC: Route;
|
||||
CAPTIONS: Route;
|
||||
CLEAR_BROWSER_DATA: Route;
|
||||
+ CLEAR_BROWSER_DATA_AT_CLOSE: Route;
|
||||
COMPARE: Route;
|
||||
COOKIES: Route;
|
||||
DEFAULT_BROWSER: Route;
|
||||
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
|
||||
@@ -661,11 +1013,14 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2303,6 +2303,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
@@ -2303,6 +2303,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
|
||||
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
|
||||
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
|
||||
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
|
||||
+ {"atStartPageTitle", IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE},
|
||||
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
|
||||
+ {"clearBrowsingDataAtClose", IDS_SETTINGS_CLEAR_BROWSING_DATA_AT_CLOSE},
|
||||
+ {"clearBrowsingDataAtCloseDescription", IDS_SETTINGS_CLEAR_DATA_AT_CLOSE_DESCRIPTION},
|
||||
+#endif
|
||||
{"titleAndCount", IDS_SETTINGS_TITLE_AND_COUNT},
|
||||
{"safeBrowsingEnableExtendedReportingDesc",
|
||||
IDS_SETTINGS_SAFEBROWSING_ENABLE_REPORTING_DESC},
|
||||
@@ -820,17 +1175,6 @@ diff --git a/components/browsing_data/core/clear_browsing_data_tab.h b/component
|
||||
|
||||
} // namespace browsing_data
|
||||
|
||||
diff --git a/components/browsing_data/core/features.h b/components/browsing_data/core/features.h
|
||||
--- a/components/browsing_data/core/features.h
|
||||
+++ b/components/browsing_data/core/features.h
|
||||
@@ -19,6 +19,7 @@ BASE_DECLARE_FEATURE(kBrowsingDataModel);
|
||||
// updates to history counter logic and removal of the bulk password deletion
|
||||
// option from the dialog.
|
||||
BASE_DECLARE_FEATURE(kDbdRevampDesktop);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kDbdRevampDesktop);
|
||||
|
||||
// When enabled, calls to browsingData.removePasswords extension API would
|
||||
// result in an error response instead of a console warning.
|
||||
diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc
|
||||
--- a/components/browsing_data/core/pref_names.cc
|
||||
+++ b/components/browsing_data/core/pref_names.cc
|
||||
|
||||
@@ -21,6 +21,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../accessibility/AccessibilitySettings.java | 12 +++++++
|
||||
.../AccessibilitySettingsDelegate.java | 2 ++
|
||||
.../contextmenu/ContextMenuItemDelegate.java | 3 ++
|
||||
.../ThinWebViewContextMenuItemDelegate.java | 6 ++++
|
||||
...Add-setting-to-invert-tap-and-long-tap.inc | 8 +++++
|
||||
...Add-setting-to-invert-tap-and-long-tap.inc | 3 ++
|
||||
...Add-setting-to-invert-tap-and-long-tap.inc | 1 +
|
||||
@@ -30,7 +31,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../renderer/core/html/html_image_element.h | 2 ++
|
||||
.../core/page/context_menu_controller.cc | 23 +++++++++---
|
||||
.../core/page/context_menu_controller.h | 5 +--
|
||||
22 files changed, 164 insertions(+), 16 deletions(-)
|
||||
23 files changed, 170 insertions(+), 16 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||
create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
|
||||
@@ -314,6 +315,29 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
|
||||
/**
|
||||
* Called when the current embedder app is not the default to handle a View Intent.
|
||||
*
|
||||
diff --git a/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java b/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
|
||||
--- a/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
|
||||
+++ b/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
|
||||
@@ -6,6 +6,7 @@ package org.chromium.components.thinwebview.internal;
|
||||
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuItemDelegate;
|
||||
+import org.chromium.content_public.common.Referrer;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.ui.base.Clipboard;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -43,6 +44,11 @@ public class ThinWebViewContextMenuItemDelegate implements ContextMenuItemDelega
|
||||
// Intentionally empty.
|
||||
}
|
||||
|
||||
+ @Override
|
||||
+ public void onOpenUrl(GURL url, Referrer referrer) {
|
||||
+ // Intentionally empty. (Add setting to invert tap and long tap)
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
public GURL getPageUrl() {
|
||||
return mWebContents.getVisibleUrl();
|
||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -544,7 +544,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
|
||||
|
||||
if (isAttachedToWindow(view)) {
|
||||
- webContents.setSize(width - horizontalViewportInsets, height - verticalViewportInsets);
|
||||
+ webContents.setSize(width - horizontalViewportInsets, height - viewportInsets, verticalViewportInsets);
|
||||
+ webContents.setSize(width - horizontalViewportInsets, height - verticalViewportInsets, verticalViewportInsets);
|
||||
|
||||
// Dispatch the geometrychange JavaScript event to the page.
|
||||
// TODO(bokan): This doesn't belong in updateWebContentsSize. Ideally the content/ layer
|
||||
@@ -553,7 +553,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
|
||||
webContents.setSize(
|
||||
view.getWidth() - horizontalViewportInsets,
|
||||
- view.getHeight() - verticalViewportInsets);
|
||||
+ view.getHeight() - viewportInsets, verticalViewportInsets);
|
||||
+ view.getHeight() - verticalViewportInsets, verticalViewportInsets);
|
||||
requestRender();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,12 +43,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../skia/src/ports/SkFontConfigInterface.cpp | 5 +
|
||||
.../ports/SkFontConfigInterface_direct.cpp | 5 +
|
||||
.../src/ports/SkFontConfigInterface_direct.h | 1 +
|
||||
.../skia/src/ports/SkFontMgr_android.cpp | 284 ++-
|
||||
.../skia/src/ports/SkFontMgr_android.cpp | 286 ++-
|
||||
.../skia/src/ports/SkFontMgr_android_data.cpp | 1641 +++++++++++++++++
|
||||
.../skia/src/ports/SkFontMgr_android_ndk.cpp | 2 +-
|
||||
.../src/ports/SkFontMgr_android_parser.cpp | 66 +-
|
||||
.../skia/src/ports/SkFontMgr_android_parser.h | 5 +-
|
||||
42 files changed, 2448 insertions(+), 87 deletions(-)
|
||||
42 files changed, 2449 insertions(+), 88 deletions(-)
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Android-fonts-fingerprinting-mitigation.grdp
|
||||
create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.cc
|
||||
create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.h
|
||||
@@ -122,7 +122,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -7871,6 +7871,13 @@ static_library("browser") {
|
||||
@@ -7869,6 +7869,13 @@ static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1421,7 +1421,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
+ return face;
|
||||
+ }
|
||||
+ } else {
|
||||
+ sk_sp<SkTypeface_AndroidSystem> face(family->matchAndroidStyle(style));
|
||||
+ sk_sp<SkTypeface_AndroidSystem> face(nameToFamily.styleSet->matchAndroidStyle(style));
|
||||
+
|
||||
+ if (!langTag.isEmpty() &&
|
||||
+ std::none_of(face->fLang.begin(), face->fLang.end(), [&](const SkLanguage& lang){
|
||||
@@ -1455,6 +1455,15 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
|
||||
if (!familyName.isEmpty()) {
|
||||
matchingTypeface = find_family_style_character(
|
||||
familyName, fNameToFamilyMap, style, elegant, lang, character,
|
||||
@@ -410,7 +573,7 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
- sk_sp<SkTypeface_AndroidSystem> matchingTypeface;
|
||||
+ sk_sp<SkTypeface> matchingTypeface;
|
||||
// If familyName is empty, don't look through everything twice.
|
||||
SkString familyNames[2] = { SkString(familyName), SkString() };
|
||||
size_t familyNamesCount = familyNames[0].isEmpty() ? 1 : 2;
|
||||
@@ -475,6 +638,7 @@ protected:
|
||||
private:
|
||||
|
||||
|
||||
@@ -423,8 +423,8 @@ diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chr
|
||||
|
||||
+ @Override
|
||||
+ public void setPagesFrozen(boolean frozen) {
|
||||
+ for (Map.Entry<@WindowId Integer, WindowDeps> entry : mWindowIdToDeps.entrySet()) {
|
||||
+ TabModelSelector selector = entry.getValue().selector;
|
||||
+ for (Map.Entry<@WindowId Integer, TabModelSelector> entry : mWindowIdToSelectors.entrySet()) {
|
||||
+ TabModelSelector selector = entry.getValue();
|
||||
+ if (selector != null) {
|
||||
+ selector.setPagesFrozen(frozen);
|
||||
+ }
|
||||
|
||||
@@ -688,7 +688,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2505,6 +2505,12 @@ static_library("browser") {
|
||||
@@ -2503,6 +2503,12 @@ static_library("browser") {
|
||||
}
|
||||
|
||||
if (is_android) {
|
||||
|
||||
@@ -24,9 +24,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/settings/AdBlockPreferences.java | 76 +++++
|
||||
.../browser/settings/SettingsActivity.java | 3 +
|
||||
chrome/app/generated_resources.grd | 10 +
|
||||
chrome/browser/after_startup_task_utils.cc | 4 +
|
||||
chrome/browser/browser_process.h | 6 +
|
||||
chrome/browser/browser_process_impl.cc | 28 ++
|
||||
chrome/browser/after_startup_task_utils.cc | 5 +
|
||||
chrome/browser/browser_process.h | 5 +
|
||||
chrome/browser/browser_process_impl.cc | 30 ++
|
||||
chrome/browser/browser_process_impl.h | 2 +
|
||||
chrome/browser/chrome_browser_main.cc | 3 +
|
||||
chrome/browser/flags/BUILD.gn | 3 +
|
||||
@@ -50,7 +50,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/subresource_filter_features.cc | 118 +-------
|
||||
.../core/browser/verified_ruleset_dealer.cc | 4 +
|
||||
.../core/common/indexed_ruleset.cc | 5 +-
|
||||
38 files changed, 1286 insertions(+), 127 deletions(-)
|
||||
38 files changed, 1288 insertions(+), 127 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
|
||||
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||
@@ -483,16 +483,17 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
|
||||
--- a/chrome/browser/after_startup_task_utils.cc
|
||||
+++ b/chrome/browser/after_startup_task_utils.cc
|
||||
@@ -24,6 +24,8 @@
|
||||
@@ -24,6 +24,9 @@
|
||||
#include "chrome/browser/ui/ash/login/login_display_host.h"
|
||||
#endif
|
||||
|
||||
+#include "chrome/browser/browser_process.h"
|
||||
+#include "components/component_updater/adblock_updater_service.h"
|
||||
+
|
||||
using content::BrowserThread;
|
||||
|
||||
namespace {
|
||||
@@ -129,6 +131,8 @@ void SetBrowserStartupIsComplete() {
|
||||
@@ -129,6 +132,8 @@ void SetBrowserStartupIsComplete() {
|
||||
}
|
||||
GetAfterStartupTasks().clear();
|
||||
GetAfterStartupTasks().shrink_to_fit();
|
||||
@@ -504,15 +505,7 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
|
||||
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||
--- a/chrome/browser/browser_process.h
|
||||
+++ b/chrome/browser/browser_process.h
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "chrome/common/buildflags.h"
|
||||
#include "components/safe_browsing/buildflags.h"
|
||||
#include "media/media_buildflags.h"
|
||||
+#include "components/component_updater/adblock_updater_service.h"
|
||||
|
||||
class BackgroundModeManager;
|
||||
class BrowserProcessPlatformPart;
|
||||
@@ -96,6 +97,10 @@ namespace component_updater {
|
||||
@@ -96,6 +96,10 @@ namespace component_updater {
|
||||
class ComponentUpdateService;
|
||||
}
|
||||
|
||||
@@ -523,7 +516,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||
namespace gcm {
|
||||
class GCMDriver;
|
||||
}
|
||||
@@ -294,6 +299,7 @@ class BrowserProcess {
|
||||
@@ -294,6 +298,7 @@ class BrowserProcess {
|
||||
virtual activity_reporter::ActivityReporter* activity_reporter() = 0;
|
||||
|
||||
virtual component_updater::ComponentUpdateService* component_updater() = 0;
|
||||
@@ -534,7 +527,16 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
|
||||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||
--- a/chrome/browser/browser_process_impl.cc
|
||||
+++ b/chrome/browser/browser_process_impl.cc
|
||||
@@ -1375,6 +1375,34 @@ BrowserProcessImpl::component_updater() {
|
||||
@@ -184,6 +184,8 @@
|
||||
#include "ui/message_center/message_center.h"
|
||||
#endif
|
||||
|
||||
+#include "components/component_updater/adblock_updater_service.h"
|
||||
+
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
|
||||
#include "chrome/browser/flags/android/chrome_feature_list.h"
|
||||
@@ -1375,6 +1377,34 @@ BrowserProcessImpl::component_updater() {
|
||||
return component_updater_.get();
|
||||
}
|
||||
|
||||
|
||||
@@ -8,15 +8,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../settings/site_settings/popups_page.html | 2 +
|
||||
.../tab_under_navigation_throttle.cc | 11 +-
|
||||
.../android/popup_blocked_message_delegate.cc | 20 +++-
|
||||
.../android/popup_blocked_message_delegate.cc | 20 ++-
|
||||
.../android/popup_blocked_message_delegate.h | 1 +
|
||||
components/blocked_content/popup_blocker.cc | 3 +
|
||||
components/blocked_content_strings.grdp | 3 +
|
||||
.../impl/BromitePopupContentSetting.java | 106 ++++++++++++++++++
|
||||
.../impl/BromitePopupContentSetting.java | 115 ++++++++++++++++++
|
||||
.../bromite_content_settings/popups.grdp | 18 +++
|
||||
.../bromite_content_settings/popups.inc | 13 +++
|
||||
.../bromite_content_settings/popups.inc | 13 ++
|
||||
.../core/browser/content_settings_registry.cc | 2 +-
|
||||
10 files changed, 173 insertions(+), 6 deletions(-)
|
||||
10 files changed, 182 insertions(+), 6 deletions(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/popups.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/popups.inc
|
||||
@@ -146,7 +146,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
|
||||
@@ -0,0 +1,106 @@
|
||||
@@ -0,0 +1,115 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -239,6 +239,15 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int[] getTriStateSettingIconIDs() {
|
||||
+ return new int[] {
|
||||
+ R.drawable.permission_popups,
|
||||
+ R.drawable.permission_popups,
|
||||
+ R.drawable.sensors_off_24px
|
||||
+ };
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean showOnlyDescriptions() {
|
||||
+ return true;
|
||||
+ }
|
||||
|
||||
@@ -569,7 +569,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.css b/chrome/browser/re
|
||||
|
||||
+#need-update {
|
||||
+ color: red;
|
||||
+ margin-inline: 0px;
|
||||
+ margin-inline: 0;
|
||||
+}
|
||||
+
|
||||
cr-toolbar {
|
||||
@@ -586,7 +586,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.html.ts b/chrome/browse
|
||||
+ <span>$i18n{toolbarExtensionUpdateEnabled}
|
||||
+ <span id="need-update" ?hidden="${!this.shouldShowRelaunchDialog}">$i18n{toolbarExtensionUpdateEnabledNeedRestart}</span>
|
||||
+ </span>
|
||||
+ <cr-toggle @change="${this.onExtUpdateEnabledChanged_}" ?checked="${this.isExtUpdateEnabled}">
|
||||
+ <cr-toggle @change="${this.onExtUpdateEnabledChange_}" ?checked="${this.isExtUpdateEnabled}">
|
||||
+ </cr-toggle>
|
||||
+ </div>
|
||||
</cr-toolbar>
|
||||
@@ -645,7 +645,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/res
|
||||
'Options_ToggleDeveloperMode_' + (e.detail ? 'Enabled' : 'Disabled'));
|
||||
}
|
||||
|
||||
+ protected onExtUpdateEnabledChanged_(e: CustomEvent<boolean>) {
|
||||
+ protected onExtUpdateEnabledChange_(e: CustomEvent<boolean>) {
|
||||
+ this.delegate.setExtUpdateEnabled(e.detail);
|
||||
+ this.shouldShowRelaunchDialog = true;
|
||||
+ this.isExtUpdateEnabled = e.detail;
|
||||
|
||||
@@ -40,10 +40,10 @@ Require: bromite-build-utils.patch
|
||||
.../browser_ui/site_settings/android/BUILD.gn | 18 +
|
||||
.../res/xml/site_settings_preferences.xml | 7 +
|
||||
.../site_settings/AllSiteSettings.java | 5 +-
|
||||
.../BromiteCustomContentSetting.java | 155 +++++++
|
||||
.../BromiteCustomContentSettingImpl.java | 416 ++++++++++++++++++
|
||||
.../BromiteCustomContentSetting.java | 159 +++++++
|
||||
.../BromiteCustomContentSettingImpl.java | 422 ++++++++++++++++++
|
||||
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
|
||||
.../ContentSettingsResources.java | 32 +-
|
||||
.../ContentSettingsResources.java | 34 +-
|
||||
.../site_settings/SingleCategorySettings.java | 57 ++-
|
||||
.../site_settings/SingleWebsiteSettings.java | 48 +-
|
||||
.../site_settings/SiteSettings.java | 35 +-
|
||||
@@ -73,7 +73,7 @@ Require: bromite-build-utils.patch
|
||||
.../common/content_settings_mojom_traits.cc | 12 +-
|
||||
.../common/content_settings_mojom_traits.h | 24 +
|
||||
.../core/common/content_settings_types.mojom | 2 +
|
||||
.../renderer/content_settings_agent_impl.cc | 74 ++++
|
||||
.../renderer/content_settings_agent_impl.cc | 74 +++
|
||||
.../renderer/content_settings_agent_impl.h | 9 +
|
||||
.../PageInfoPermissionsController.java | 9 +
|
||||
.../android/page_info_controller_android.cc | 18 +
|
||||
@@ -83,7 +83,7 @@ Require: bromite-build-utils.patch
|
||||
.../platform/web_content_settings_client.h | 13 +
|
||||
.../execution_context/execution_context.cc | 16 +
|
||||
.../execution_context/execution_context.h | 5 +
|
||||
72 files changed, 1942 insertions(+), 105 deletions(-)
|
||||
72 files changed, 1954 insertions(+), 105 deletions(-)
|
||||
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -275,7 +275,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
|
||||
|
||||
/**
|
||||
* Add all of the child routes that originate from the privacy route,
|
||||
@@ -155,6 +156,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
@@ -157,6 +158,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_LOOPBACK_NETWORK =
|
||||
r.SITE_SETTINGS.createChild('loopbackNetwork');
|
||||
}
|
||||
@@ -1148,7 +1148,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
#include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
|
||||
#include "components/password_manager/core/browser/manage_passwords_referrer.h"
|
||||
#include "components/password_manager/core/common/password_manager_features.h"
|
||||
@@ -4268,6 +4272,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -4271,6 +4275,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
policy_indicator::AddLocalizedStrings(html_source);
|
||||
AddSecurityKeysStrings(html_source);
|
||||
|
||||
@@ -1540,7 +1540,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
|
||||
@@ -0,0 +1,155 @@
|
||||
@@ -0,0 +1,159 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -1688,6 +1688,10 @@ new file mode 100644
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public int[] getTriStateSettingIconIDs() {
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public boolean showOnlyDescriptions() {
|
||||
+ return false;
|
||||
+ }
|
||||
@@ -1700,7 +1704,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -0,0 +1,416 @@
|
||||
@@ -0,0 +1,422 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -1928,6 +1932,12 @@ new file mode 100644
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public static int[] getTriStateSettingIconIDs(@ContentSettingsType.EnumType int type) {
|
||||
+ BromiteCustomContentSetting cs = getContentSetting(type);
|
||||
+ if (cs != null) return cs.getTriStateSettingIconIDs();
|
||||
+ return null;
|
||||
+ }
|
||||
+
|
||||
+ public static int getCategoryDescription(SiteSettingsCategory category) {
|
||||
+ for (BromiteCustomContentSetting cs : mItemList) {
|
||||
+ if (category.getType() == cs.getSiteSettingsCategory()) {
|
||||
@@ -2216,6 +2226,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (contentType == ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER) {
|
||||
return new int[] {
|
||||
R.string.website_settings_protected_content_allow,
|
||||
@@ -1101,6 +1129,8 @@ public class ContentSettingsResources {
|
||||
* order.
|
||||
*/
|
||||
public static int @Nullable [] getTriStateSettingIconIDs(int contentType) {
|
||||
+ int[] value = BromiteCustomContentSettingImpl.getTriStateSettingIconIDs(contentType);
|
||||
+ if (value != null) return value;
|
||||
if (contentType == ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER) {
|
||||
return new int[] {
|
||||
R.drawable.live_tv_24px, R.drawable.tv_24px, R.drawable.tv_off_24px,
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
|
||||
|
||||
@@ -67,9 +67,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../webui/version/resources/about_version.ts | 4 +-
|
||||
.../resources/about_version_mobile.css | 10 ++
|
||||
content/child/runtime_features.cc | 44 ++++-----
|
||||
.../Cromite-Branding.inc | 2 +
|
||||
.../Cromite-Branding.inc | 1 +
|
||||
tools/grit/grit/grd_reader.py | 35 +++++++
|
||||
65 files changed, 268 insertions(+), 175 deletions(-)
|
||||
65 files changed, 267 insertions(+), 175 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
|
||||
|
||||
diff --git a/build/BUILD.gn b/build/BUILD.gn
|
||||
@@ -13208,7 +13208,7 @@ e)fqMZZ`3a)Ds&5H<cfp<0000<MNUMnLSTYHt&Yn8
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -1625,6 +1625,7 @@ static_library("browser") {
|
||||
@@ -1623,6 +1623,7 @@ static_library("browser") {
|
||||
"//build/config/chromebox_for_meetings:buildflags",
|
||||
"//build/config/compiler:compiler_buildflags",
|
||||
"//build/config/linux/dbus:buildflags",
|
||||
@@ -13472,7 +13472,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_APPLICATION_VERSION_TITLE" desc="Title for application version">
|
||||
Application version
|
||||
@@ -6042,7 +6042,7 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -6039,7 +6039,7 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
|
||||
<!-- Storage Preference UI strings for clearing storage. -->
|
||||
<message name="IDS_STORAGE_MANAGEMENT_ACTIVITY_LABEL" desc="Title for Chrome's Manage Space Activity.">
|
||||
@@ -19312,9 +19312,8 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/C
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
|
||||
@@ -0,0 +1,2 @@
|
||||
+SET_CROMITE_FEATURE_ENABLED(kGridTabSwitcherUpdate);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kShowNewTabAnimations);
|
||||
@@ -0,0 +1 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kShowTabListAnimations);
|
||||
diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
|
||||
--- a/tools/grit/grit/grd_reader.py
|
||||
+++ b/tools/grit/grit/grd_reader.py
|
||||
|
||||
@@ -10,10 +10,10 @@ Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/java/res/layout/url_bar.xml | 1 +
|
||||
.../browser/omnibox/LocationBarMediator.java | 10 ++++++++
|
||||
.../chrome/browser/omnibox/UrlBar.java | 24 +++++++++++++++++++
|
||||
.../browser/omnibox/UrlBarViewBinder.java | 2 ++
|
||||
4 files changed, 37 insertions(+)
|
||||
.../browser/omnibox/LocationBarMediator.java | 25 ++++++++++++++-----
|
||||
.../chrome/browser/omnibox/UrlBar.java | 25 +++++++++++++++++++
|
||||
.../browser/omnibox/UrlBarViewBinder.java | 1 +
|
||||
4 files changed, 46 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml
|
||||
--- a/chrome/android/java/res/layout/url_bar.xml
|
||||
@@ -29,23 +29,80 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
|
||||
@@ -413,6 +413,16 @@ class LocationBarMediator
|
||||
@@ -589,7 +589,7 @@ class LocationBarMediator
|
||||
if (NativePage.isChromePageUrl(currentUrl, mLocationBarDataProvider.isOffTheRecord())
|
||||
&& mCurrentInput != null) {
|
||||
mCurrentInput.setUserText(null);
|
||||
- beginOrResumeInput(/* activateNewSession= */ false);
|
||||
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
|
||||
} else {
|
||||
setUrlBarText(
|
||||
mLocationBarDataProvider.getUrlBarData(),
|
||||
@@ -838,7 +838,7 @@ class LocationBarMediator
|
||||
if (mCurrentInput == null) return; // session not started yet.
|
||||
|
||||
if (hasFocus) {
|
||||
if (mNativeInitialized) RecordUserAction.record("FocusLocation");
|
||||
+ UrlBarData data = mLocationBarDataProvider.getUrlBarData();
|
||||
mCurrentInput.setUserText(null);
|
||||
- beginOrResumeInput(/* activateNewSession= */ false);
|
||||
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
|
||||
updateButtonVisibility();
|
||||
mUrlCoordinator.requestAccessibilityFocus();
|
||||
}
|
||||
@@ -919,7 +919,7 @@ class LocationBarMediator
|
||||
// Existing text (e.g. if the user pasted via the fakebox) from the fake box
|
||||
// should be restored after toggling the focus.
|
||||
if (mCurrentInput != null && !mCurrentInput.getUserText().isEmpty()) {
|
||||
- beginOrResumeInput(/* activateNewSession= */ false);
|
||||
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -964,7 +964,7 @@ class LocationBarMediator
|
||||
*/
|
||||
@EnsuresNonNullIf("mCurrentInput")
|
||||
@VisibleForTesting
|
||||
- void beginOrResumeInput(boolean activateNewSession) {
|
||||
+ void beginOrResumeInput(boolean activateNewSession, boolean wasFocus) {
|
||||
// Do not instantiate a new ephemeral session unless we're activating it as well.
|
||||
var session = FuseboxSessionState.from(mLocationBarDataProvider);
|
||||
|
||||
@@ -996,6 +996,19 @@ class LocationBarMediator
|
||||
.addSyncObserverAndCallIfNonNull(mAutocompleteRequestTypeObserver);
|
||||
|
||||
UrlBarData data = UrlBarData.forNonUrlText(mCurrentInput.getUserText());
|
||||
+ if (wasFocus) {
|
||||
+ data = mLocationBarDataProvider.getUrlBarData();
|
||||
+ GURL url = mLocationBarDataProvider.getUrlBarData().url;
|
||||
+ if (url != null && mTemplateUrlServiceSupplier.get() != null) {
|
||||
+ String searchParams =
|
||||
+ mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(url);
|
||||
+ if (searchParams != null && !searchParams.isEmpty()) {
|
||||
+ mCurrentInput.setUserText(searchParams);
|
||||
+ data = UrlBarData.forUrlAndText(data.url, data.displayText, searchParams);
|
||||
+ }
|
||||
+ }
|
||||
+ setUrlBarText(data, UrlBar.ScrollType.NO_SCROLL, UrlBarData.SELECT_ALL);
|
||||
+ mCurrentInput.setSelection(0, Integer.MAX_VALUE);
|
||||
+ }
|
||||
mUrlCoordinator.setUrlBarData(
|
||||
data, UrlBar.ScrollType.NO_SCROLL, mCurrentInput.getSelection());
|
||||
|
||||
@@ -1047,7 +1060,7 @@ class LocationBarMediator
|
||||
// This call is permitted to happen before anyone else is activated, and
|
||||
// must be called before everyone else cleans up.
|
||||
if (hasFocus) {
|
||||
- beginOrResumeInput(/* activateNewSession= */ true);
|
||||
+ beginOrResumeInput(/* activateNewSession= */ true, /* wasFocus */ true);
|
||||
} else {
|
||||
mUrlFocusedWithoutAnimations = false;
|
||||
endInputInternal();
|
||||
}
|
||||
@@ -1923,7 +1936,7 @@ class LocationBarMediator
|
||||
}
|
||||
|
||||
// Wait for the Url focus change before refreshing autocomplete.
|
||||
- beginOrResumeInput(/* activateNewSession= */ true);
|
||||
+ beginOrResumeInput(/* activateNewSession= */ true, /* wasFocus */ false);
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
|
||||
@@ -65,7 +122,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
private boolean mPendingScroll;
|
||||
private boolean mIsInCct;
|
||||
|
||||
@@ -340,6 +342,28 @@ public class UrlBar extends AutocompleteEditText {
|
||||
@@ -340,6 +342,29 @@ public class UrlBar extends AutocompleteEditText {
|
||||
mPendingScroll = false;
|
||||
}
|
||||
fixupTextDirection();
|
||||
@@ -84,7 +141,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
+
|
||||
+ @Override
|
||||
+ public void selectAll() {
|
||||
+ mPendingSelectAll = true;
|
||||
+ if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(getContext()))
|
||||
+ mPendingSelectAll = true;
|
||||
+ super.selectAll();
|
||||
+ }
|
||||
+
|
||||
@@ -97,12 +155,11 @@ 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/UrlBarViewBinder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
|
||||
@@ -100,6 +100,8 @@ class UrlBarViewBinder {
|
||||
@@ -100,6 +100,7 @@ class UrlBarViewBinder {
|
||||
selectionRange = Range.create(textLength, textLength);
|
||||
}
|
||||
view.setSelection(selectionRange.getLower(), selectionRange.getUpper());
|
||||
+ if (state.selection == UrlBarData.SELECT_ALL)
|
||||
+ view.selectAll();
|
||||
+ view.selectAll();
|
||||
view.requestAccessibilityFocus();
|
||||
}
|
||||
} else if (UrlBarProperties.TEXT_COLOR.equals(propertyKey)) {
|
||||
|
||||
@@ -5,8 +5,9 @@ Subject: Disable PrivacyGuide
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/java/res/xml/privacy_preferences.xml | 1 +
|
||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
||||
chrome/browser/ui/webui/settings/settings_ui.cc | 3 +--
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -19,6 +20,18 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
android:title="@string/privacy_guide_pref_title"
|
||||
android:summary="@string/privacy_guide_pref_summary"
|
||||
android:fragment="org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment" />
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -2158,7 +2158,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
registry->RegisterBooleanPref(webauthn::pref_names::kAllowWithBrokenCerts,
|
||||
false);
|
||||
|
||||
- registry->RegisterBooleanPref(prefs::kPrivacyGuideViewed, false);
|
||||
+ registry->RegisterBooleanPref(prefs::kPrivacyGuideViewed, true);
|
||||
|
||||
RegisterProfilePrefsForMigration(registry);
|
||||
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
|
||||
|
||||
@@ -3,15 +3,27 @@ Date: Wed, 24 Jan 2024 12:19:44 +0000
|
||||
Subject: Disable Read Aloud by default
|
||||
|
||||
---
|
||||
.../flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
||||
.../flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
||||
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -1505,7 +1505,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(policy::policy_prefs::kBackForwardCacheEnabled,
|
||||
true);
|
||||
- registry->RegisterBooleanPref(policy::policy_prefs::kReadAloudEnabled, true);
|
||||
+ registry->RegisterBooleanPref(policy::policy_prefs::kReadAloudEnabled, false);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
// Below this point is for platform-specific and compile-time conditional
|
||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
|
||||
@@ -0,0 +1,2 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kReadAloud);
|
||||
@@ -0,0 +1 @@
|
||||
+SET_CROMITE_FEATURE_DISABLED(kReadAloudPlayback);
|
||||
--
|
||||
|
||||
@@ -4,11 +4,11 @@ Subject: Disable Real Box
|
||||
|
||||
Real-box is search box in ntp
|
||||
---
|
||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
||||
chrome/browser/resources/new_tab_page/app.html | 18 ------------------
|
||||
.../searchbox/searchbox_handler.cc | 1 +
|
||||
components/search/ntp_features.cc | 4 ++--
|
||||
4 files changed, 4 insertions(+), 21 deletions(-)
|
||||
chrome/browser/prefs/browser_prefs.cc | 2 +-
|
||||
.../browser/resources/new_tab_page/app.html | 19 +------------------
|
||||
.../searchbox/searchbox_handler.cc | 1 +
|
||||
components/search/ntp_features.cc | 4 ++--
|
||||
4 files changed, 5 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -25,7 +25,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html
|
||||
--- a/chrome/browser/resources/new_tab_page/app.html
|
||||
+++ b/chrome/browser/resources/new_tab_page/app.html
|
||||
@@ -43,24 +43,6 @@ import {nothing} from '//resources/lit/v3_0/lit.rollup.js';
|
||||
@@ -43,24 +43,7 @@ import {nothing} from '//resources/lit/v3_0/lit.rollup.js';
|
||||
<div id="searchboxContainer"
|
||||
@focusin="${this.onSearchboxContainerFocusin_}"
|
||||
@focusout="${this.onSearchboxContainerFocusout_}">
|
||||
@@ -47,6 +47,7 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
|
||||
- context-menu-glif-animation-state="${this.contextMenuGlifAnimationState_}"
|
||||
- ?multi-line-enabled="${this.multiLineEnabled_}">
|
||||
- </cr-searchbox>
|
||||
+ <div id="searchbox"></div>
|
||||
${this.showComposebox_ ? html`
|
||||
<div id="dialogAnchor"></div>
|
||||
<dialog id="composeboxDialog">
|
||||
|
||||
@@ -29,10 +29,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../features_cc/Disable-TLS-resumption.inc | 7 +++
|
||||
.../features_h/Disable-TLS-resumption.inc | 5 ++
|
||||
net/http/http_network_session.cc | 1 +
|
||||
net/quic/quic_session_pool.cc | 34 ++++++++++-
|
||||
net/quic/quic_session_pool.cc | 35 ++++++++++-
|
||||
net/socket/ssl_client_socket_impl.cc | 59 +++++++++++++++++++
|
||||
net/socket/ssl_client_socket_impl.h | 2 +
|
||||
7 files changed, 119 insertions(+), 1 deletion(-)
|
||||
7 files changed, 119 insertions(+), 2 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Disable-TLS-resumption.inc
|
||||
create mode 100644 cromite_flags/net/base/features_cc/Disable-TLS-resumption.inc
|
||||
create mode 100644 cromite_flags/net/base/features_h/Disable-TLS-resumption.inc
|
||||
@@ -129,15 +129,16 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
|
||||
QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {}
|
||||
|
||||
QuicSessionRequest::~QuicSessionRequest() {
|
||||
@@ -2429,7 +2461,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
|
||||
@@ -2429,8 +2461,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
|
||||
cert_verifier_, transport_security_state_, sct_auditing_delegate_,
|
||||
std::move(hostnames_to_allow_unknown_roots),
|
||||
key.network_anonymization_key),
|
||||
- std::make_unique<quic::QuicClientSessionCache>(
|
||||
+ std::make_unique<BromiteSessionCache>(
|
||||
kDefaultQuicSessionCacheSize),
|
||||
- kDefaultQuicSessionCacheSize),
|
||||
+ std::make_unique<BromiteSessionCache>(),
|
||||
kDefaultQuicSessionCacheSize, this);
|
||||
|
||||
quic::QuicCryptoClientConfig* crypto_config = crypto_config_owner->config();
|
||||
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
|
||||
--- a/net/socket/ssl_client_socket_impl.cc
|
||||
+++ b/net/socket/ssl_client_socket_impl.cc
|
||||
|
||||
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../passage_embedder_delegate.cc | 2 ++
|
||||
.../permissions_ai_ui_selector.cc | 5 ++++
|
||||
.../permissions_ai_ui_selector.h | 5 +++-
|
||||
.../prediction_model_handler_provider.cc | 13 ++++++--
|
||||
.../prediction_model_handler_provider.cc | 12 ++++++--
|
||||
.../prediction_model_handler_provider.h | 2 ++
|
||||
.../quiet_notification_permission_ui_state.cc | 4 +--
|
||||
.../autocomplete_action_predictor.cc | 2 ++
|
||||
@@ -57,8 +57,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../core/hints/hints_manager.cc | 2 ++
|
||||
.../core/optimization_guide_features.cc | 11 ++++---
|
||||
components/optimization_guide/features.gni | 3 +-
|
||||
.../core/page_content_annotations_features.cc | 7 +++++
|
||||
.../page_category_classifier_bridge_impl.cc | 4 +++
|
||||
.../page_category_classifier_bridge_impl.h | 3 ++
|
||||
.../core/page_content_annotations_features.cc | 8 +++++
|
||||
.../page_content_annotations_model_manager.cc | 1 +
|
||||
.../core/page_content_annotations_service.h | 7 +++--
|
||||
.../browser/client_side_phishing_model.cc | 4 +--
|
||||
.../notification_content_detection/BUILD.gn | 4 ---
|
||||
components/viz/service/BUILD.gn | 4 +--
|
||||
@@ -74,9 +77,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../Disable-all-predictors-code.inc | 1 +
|
||||
.../Disable-all-predictors-code.inc | 1 +
|
||||
.../Disable-all-predictors-code.inc | 2 ++
|
||||
media/webrtc/BUILD.gn | 5 ++++
|
||||
media/webrtc/BUILD.gn | 1 +
|
||||
media/webrtc/helpers.cc | 1 +
|
||||
services/on_device_model/ml/ts_model.cc | 4 +--
|
||||
services/on_device_model/on_device_model.gni | 2 +-
|
||||
services/on_device_model/safety/BUILD.gn | 2 +-
|
||||
services/webnn/BUILD.gn | 2 +-
|
||||
services/webnn/features.gni | 2 +-
|
||||
@@ -84,7 +88,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../core/html/parser/html_document_parser.cc | 1 +
|
||||
.../document_speculation_rules.cc | 1 +
|
||||
.../platform/runtime_enabled_features.json5 | 2 +-
|
||||
79 files changed, 199 insertions(+), 139 deletions(-)
|
||||
83 files changed, 209 insertions(+), 141 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc
|
||||
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
|
||||
@@ -97,7 +101,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2231,7 +2231,6 @@ static_library("browser") {
|
||||
@@ -2229,7 +2229,6 @@ static_library("browser") {
|
||||
"//components/resources",
|
||||
"//components/safe_browsing/content/browser",
|
||||
"//components/safe_browsing/content/browser:safe_browsing_service",
|
||||
@@ -367,7 +371,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
|
||||
diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
|
||||
--- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
|
||||
+++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
|
||||
@@ -13,14 +13,16 @@
|
||||
@@ -13,8 +13,11 @@
|
||||
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
|
||||
#include "components/optimization_guide/core/delivery/optimization_guide_model_provider.h"
|
||||
#include "components/permissions/features.h"
|
||||
@@ -380,13 +384,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "components/download/public/background_service/download_params.h"
|
||||
#endif
|
||||
|
||||
-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
#include "components/permissions/prediction_service/prediction_model_handler.h"
|
||||
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
|
||||
@@ -30,6 +32,7 @@ using optimization_guide::proto::OptimizationTarget;
|
||||
@@ -30,6 +33,7 @@ using optimization_guide::proto::OptimizationTarget;
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -394,7 +392,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
|
||||
inline OptimizationTarget getGeolocationAiv4OptTarget() {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
return OptimizationTarget::
|
||||
@@ -48,6 +51,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
|
||||
@@ -48,6 +52,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
|
||||
OPTIMIZATION_TARGET_PERMISSIONS_AIV4_NOTIFICATIONS_DESKTOP;
|
||||
#endif
|
||||
}
|
||||
@@ -402,7 +400,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -55,7 +59,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
|
||||
@@ -55,7 +60,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
|
||||
OptimizationGuideKeyedService* optimization_guide,
|
||||
passage_embeddings::EmbedderMetadataProvider* embedder_metadata_provider,
|
||||
passage_embeddings::Embedder* passage_embedder)
|
||||
@@ -1335,6 +1333,58 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
|
||||
}
|
||||
|
||||
if (is_ios) {
|
||||
diff --git a/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc b/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
|
||||
--- a/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
|
||||
+++ b/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
|
||||
@@ -22,7 +22,9 @@ PageCategoryClassifierBridgeImpl::PageCategoryClassifierBridgeImpl(
|
||||
: page_embeddings_service_(page_embeddings_service),
|
||||
category_classifier_(category_classifier) {
|
||||
scoped_observation_.Observe(&*page_embeddings_service_);
|
||||
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
category_classifier_observation_.Observe(&*category_classifier_);
|
||||
+#endif
|
||||
}
|
||||
|
||||
PageCategoryClassifierBridgeImpl::~PageCategoryClassifierBridgeImpl() = default;
|
||||
@@ -34,6 +36,7 @@ PageCategoryClassifierBridgeImpl::GetUsageMode() const {
|
||||
|
||||
void PageCategoryClassifierBridgeImpl::OnPageEmbeddingsAvailable(
|
||||
content::Page& page) {
|
||||
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
std::vector<PassageEmbedding> embeddings =
|
||||
page_embeddings_service_->GetEmbeddings(page);
|
||||
|
||||
@@ -45,6 +48,7 @@ void PageCategoryClassifierBridgeImpl::OnPageEmbeddingsAvailable(
|
||||
return;
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
// TODO - crbug.com/434047312: Move the metrics recording to the actual user of
|
||||
diff --git a/components/page_content_annotations/content/page_category_classifier_bridge_impl.h b/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
|
||||
--- a/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
|
||||
+++ b/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
#include "base/memory/raw_ref.h"
|
||||
#include "base/scoped_observation.h"
|
||||
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
|
||||
#include "components/page_content_annotations/content/page_embeddings_service.h"
|
||||
#include "components/page_content_annotations/core/on_device_category_classifier.h"
|
||||
#include "components/page_content_annotations/core/page_category_classifier_bridge.h"
|
||||
@@ -50,9 +51,11 @@ class PageCategoryClassifierBridgeImpl
|
||||
PageEmbeddingsService::Observer>
|
||||
scoped_observation_{this};
|
||||
|
||||
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
base::ScopedObservation<OnDeviceCategoryClassifier,
|
||||
OnDeviceCategoryClassifier::Observer>
|
||||
category_classifier_observation_{this};
|
||||
+#endif
|
||||
};
|
||||
|
||||
} // namespace page_content_annotations
|
||||
diff --git a/components/page_content_annotations/core/page_content_annotations_features.cc b/components/page_content_annotations/core/page_content_annotations_features.cc
|
||||
--- a/components/page_content_annotations/core/page_content_annotations_features.cc
|
||||
+++ b/components/page_content_annotations/core/page_content_annotations_features.cc
|
||||
@@ -1354,7 +1404,15 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
|
||||
if (supported_countries == "*") {
|
||||
return true;
|
||||
}
|
||||
@@ -281,6 +283,7 @@ bool IsSupportedLocaleForFeature(
|
||||
@@ -149,6 +151,7 @@ base::TimeDelta PCAServiceWaitForTitleDelayDuration() {
|
||||
}
|
||||
|
||||
bool ShouldEnablePageContentAnnotations() {
|
||||
+ if ((true)) return false;
|
||||
// Allow for the validation experiment or remote page metadata to enable the
|
||||
// PCAService without need to enable both features.
|
||||
return base::FeatureList::IsEnabled(kPageContentAnnotations) ||
|
||||
@@ -281,6 +284,7 @@ bool IsSupportedLocaleForFeature(
|
||||
const std::string& locale,
|
||||
const base::Feature& feature,
|
||||
const std::string& default_value = "de,en,es,fr,it,nl,pt,tr") {
|
||||
@@ -1362,7 +1420,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
|
||||
if (!base::FeatureList::IsEnabled(feature)) {
|
||||
return false;
|
||||
}
|
||||
@@ -298,6 +301,7 @@ bool IsSupportedLocaleForFeature(
|
||||
@@ -298,6 +302,7 @@ bool IsSupportedLocaleForFeature(
|
||||
bool IsSupportedCountryForFeature(const std::string& country_code,
|
||||
const base::Feature& feature,
|
||||
const std::string& default_value) {
|
||||
@@ -1370,7 +1428,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
|
||||
if (!base::FeatureList::IsEnabled(feature)) {
|
||||
return false;
|
||||
}
|
||||
@@ -312,4 +316,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code,
|
||||
@@ -312,4 +317,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code,
|
||||
return IsSupportedCountry(country_code, value);
|
||||
}
|
||||
|
||||
@@ -1389,6 +1447,23 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_m
|
||||
if (page_visibility_model_handler_)
|
||||
return;
|
||||
|
||||
diff --git a/components/page_content_annotations/core/page_content_annotations_service.h b/components/page_content_annotations/core/page_content_annotations_service.h
|
||||
--- a/components/page_content_annotations/core/page_content_annotations_service.h
|
||||
+++ b/components/page_content_annotations/core/page_content_annotations_service.h
|
||||
@@ -127,8 +127,11 @@ enum class PageContentAnnotationsType {
|
||||
class PageContentAnnotationsService
|
||||
: public KeyedService,
|
||||
public history::HistoryServiceObserver,
|
||||
- public ZeroSuggestCacheServiceInterface::Observer,
|
||||
- public OnDeviceCategoryClassifier::Observer {
|
||||
+ public ZeroSuggestCacheServiceInterface::Observer
|
||||
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
+ , public OnDeviceCategoryClassifier::Observer
|
||||
+#endif
|
||||
+ {
|
||||
public:
|
||||
// Observer interface to listen for PageContentAnnotations for page loads.
|
||||
// Annotations will be sent for each page load for the registered annotation
|
||||
diff --git a/components/safe_browsing/content/browser/client_side_phishing_model.cc b/components/safe_browsing/content/browser/client_side_phishing_model.cc
|
||||
--- a/components/safe_browsing/content/browser/client_side_phishing_model.cc
|
||||
+++ b/components/safe_browsing/content/browser/client_side_phishing_model.cc
|
||||
@@ -1577,17 +1652,6 @@ diff --git a/media/webrtc/BUILD.gn b/media/webrtc/BUILD.gn
|
||||
|
||||
component("webrtc") {
|
||||
output_name = "media_webrtc"
|
||||
@@ -36,6 +37,10 @@ component("webrtc") {
|
||||
deps += [ "//components/optimization_guide/core/inference:op_resolver" ]
|
||||
}
|
||||
|
||||
+ if (!build_with_tflite_lib) {
|
||||
+ deps -= [ "//components/optimization_guide/core/inference:op_resolver" ]
|
||||
+ }
|
||||
+
|
||||
public_deps = [ "//third_party/tflite" ]
|
||||
}
|
||||
|
||||
diff --git a/media/webrtc/helpers.cc b/media/webrtc/helpers.cc
|
||||
--- a/media/webrtc/helpers.cc
|
||||
+++ b/media/webrtc/helpers.cc
|
||||
@@ -1620,6 +1684,16 @@ diff --git a/services/on_device_model/ml/ts_model.cc b/services/on_device_model/
|
||||
if (!params->safety_assets || params->safety_assets->which() ==
|
||||
mojom::SafetyModelAssets::Tag::kTsAssets) {
|
||||
auto impl = TsModel::Create(*chrome_ml_, std::move(params));
|
||||
diff --git a/services/on_device_model/on_device_model.gni b/services/on_device_model/on_device_model.gni
|
||||
--- a/services/on_device_model/on_device_model.gni
|
||||
+++ b/services/on_device_model/on_device_model.gni
|
||||
@@ -29,5 +29,5 @@ declare_args() {
|
||||
# MLKit is the developer-facing APIs and AICore is the system-level AI runtime
|
||||
# to host on-device model services. Chrome-branded builds use internal/private
|
||||
# APIs to access AICore directly.
|
||||
- use_mlkit_for_aicore = !is_chrome_branded
|
||||
+ use_mlkit_for_aicore = false
|
||||
}
|
||||
diff --git a/services/on_device_model/safety/BUILD.gn b/services/on_device_model/safety/BUILD.gn
|
||||
--- a/services/on_device_model/safety/BUILD.gn
|
||||
+++ b/services/on_device_model/safety/BUILD.gn
|
||||
|
||||
@@ -7,9 +7,11 @@ see https://w3c.github.io/webappsec-dbsc/#privacy-considerations
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../metrics/chrome_browser_main_extra_parts_metrics.cc | 6 ++++++
|
||||
net/features.gni | 2 +-
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
.../metrics/chrome_browser_main_extra_parts_metrics.cc | 6 ++++++
|
||||
net/BUILD.gn | 7 +++++++
|
||||
net/base/features.cc | 7 ++++---
|
||||
net/features.gni | 2 +-
|
||||
4 files changed, 18 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
|
||||
--- a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
|
||||
@@ -35,6 +37,43 @@ diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b
|
||||
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
|
||||
|
||||
// Record whether Chrome is the default browser or not.
|
||||
diff --git a/net/BUILD.gn b/net/BUILD.gn
|
||||
--- a/net/BUILD.gn
|
||||
+++ b/net/BUILD.gn
|
||||
@@ -1287,6 +1287,13 @@ component("net") {
|
||||
]
|
||||
}
|
||||
|
||||
+ if (!enable_device_bound_sessions) {
|
||||
+ sources += [
|
||||
+ "device_bound_sessions/session_error.cc",
|
||||
+ "device_bound_sessions/session_error.h",
|
||||
+ ]
|
||||
+ }
|
||||
+
|
||||
if (enable_device_bound_sessions) {
|
||||
sources += [
|
||||
"device_bound_sessions/cookie_craving.cc",
|
||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -356,12 +356,13 @@ BASE_FEATURE(kUseNetworkPathMonitorForNetworkChangeNotifier,
|
||||
);
|
||||
#endif // BUILDFLAG(IS_APPLE)
|
||||
|
||||
-#if BUILDFLAG(IS_WIN)
|
||||
-BASE_FEATURE(kDeviceBoundSessions, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+#if BUILDFLAG(IS_WIN) && BUILDFLAG(ENABLE_DEVICE_BOUND_SESSIONS)
|
||||
+BASE_FEATURE(kDeviceBoundSessions, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+BASE_FEATURE(kPersistDeviceBoundSessions, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
#else
|
||||
BASE_FEATURE(kDeviceBoundSessions, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+BASE_FEATURE(kPersistDeviceBoundSessions, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
#endif
|
||||
-BASE_FEATURE(kPersistDeviceBoundSessions, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
BASE_FEATURE_PARAM(bool,
|
||||
kDeviceBoundSessionsRequireOriginTrialTokens,
|
||||
&kDeviceBoundSessions,
|
||||
diff --git a/net/features.gni b/net/features.gni
|
||||
--- a/net/features.gni
|
||||
+++ b/net/features.gni
|
||||
|
||||
@@ -11,7 +11,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../android/java/res/xml/main_preferences.xml | 5 ----
|
||||
.../AppMenuPropertiesDelegateImpl.java | 11 --------
|
||||
.../search/SearchIndexProviderRegistry.java | 1 -
|
||||
.../TabbedAppMenuPropertiesDelegate.java | 13 ++--------
|
||||
.../TabbedAdaptiveToolbarBehavior.java | 8 ------
|
||||
.../TabbedAppMenuPropertiesDelegate.java | 13 ++-------
|
||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 3 +--
|
||||
chrome/browser/BUILD.gn | 2 --
|
||||
chrome/browser/actor/BUILD.gn | 3 ---
|
||||
chrome/browser/android/tab_features.cc | 4 +++
|
||||
@@ -19,7 +21,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../contextual_cueing_helper.cc | 2 ++
|
||||
.../contextual_cueing_page_data.cc | 3 +++
|
||||
.../api/pdf_viewer_private/BUILD.gn | 3 ---
|
||||
.../pdf_viewer_private_api.cc | 25 +------------------
|
||||
.../pdf_viewer_private_api.cc | 27 +------------------
|
||||
chrome/browser/glic/BUILD.gn | 2 +-
|
||||
chrome/browser/glic/android/BUILD.gn | 2 +-
|
||||
chrome/browser/pdf/BUILD.gn | 1 -
|
||||
chrome/browser/sync/BUILD.gn | 4 +--
|
||||
@@ -31,11 +34,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
chrome/browser/ui/toasts/BUILD.gn | 2 +-
|
||||
chrome/common/BUILD.gn | 1 +
|
||||
chrome/common/chrome_features.cc | 1 +
|
||||
chrome/common/chrome_features.h | 1 +
|
||||
chrome/common/features.gni | 3 +--
|
||||
chrome/common/features.gni | 2 ++
|
||||
chrome/test/BUILD.gn | 2 +-
|
||||
components/browser_sync/BUILD.gn | 2 +-
|
||||
28 files changed, 32 insertions(+), 74 deletions(-)
|
||||
30 files changed, 34 insertions(+), 85 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
@@ -96,6 +98,31 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/search
|
||||
org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings
|
||||
.SEARCH_INDEX_DATA_PROVIDER,
|
||||
org.chromium.chrome.browser.homepage.settings.HomepageSettings
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAdaptiveToolbarBehavior.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAdaptiveToolbarBehavior.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAdaptiveToolbarBehavior.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAdaptiveToolbarBehavior.java
|
||||
@@ -19,7 +19,6 @@ import org.chromium.chrome.browser.ai.PageSummaryButtonController;
|
||||
import org.chromium.chrome.browser.bookmarks.AddToBookmarksToolbarButtonController;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
import org.chromium.chrome.browser.bookmarks.TabBookmarker;
|
||||
-import org.chromium.chrome.browser.glic.GlicToolbarButtonController;
|
||||
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
|
||||
import org.chromium.chrome.browser.tab_group_suggestion.toolbar.GroupSuggestionsButtonController;
|
||||
import org.chromium.chrome.browser.tab_group_suggestion.toolbar.GroupSuggestionsButtonDataProvider;
|
||||
@@ -125,13 +124,6 @@ public class TabbedAdaptiveToolbarBehavior implements AdaptiveToolbarBehavior {
|
||||
controller.addButtonVariant(AdaptiveToolbarButtonVariant.TAB_GROUPING, tabGrouping);
|
||||
}
|
||||
|
||||
- if (AdaptiveToolbarFeatures.isGlicActionEnabled()) {
|
||||
- controller.addButtonVariant(
|
||||
- AdaptiveToolbarButtonVariant.GLIC,
|
||||
- new GlicToolbarButtonController(
|
||||
- mContext, mActivityTabProvider, mToggleGlicCallback));
|
||||
- }
|
||||
-
|
||||
mRegisterVoiceSearchRunnable.run();
|
||||
}
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
@@ -126,10 +153,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -107,7 +107,6 @@ import org.chromium.chrome.browser.gesturenav.BackActionDelegate;
|
||||
import org.chromium.chrome.browser.gesturenav.HistoryNavigationCoordinator;
|
||||
import org.chromium.chrome.browser.gesturenav.NavigationSheet;
|
||||
import org.chromium.chrome.browser.gesturenav.TabbedSheetDelegate;
|
||||
-import org.chromium.chrome.browser.glic.GlicKeyedServiceHandler;
|
||||
import org.chromium.chrome.browser.history.HistoryManagerUtils;
|
||||
import org.chromium.chrome.browser.hub.HubManager;
|
||||
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthCoordinatorFactory;
|
||||
@@ -2256,7 +2255,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
Profile profile = mTabModelSelectorSupplier.get().getCurrentModel().getProfile();
|
||||
assert profile != null;
|
||||
|
||||
- return GlicKeyedServiceHandler.toggleGlic(profile, mChromeAndroidTaskSupplier.get());
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/* package */ KeyboardFocusRowManager getKeyboardFocusRowManagerForTesting() {
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3275,8 +3275,6 @@ static_library("browser") {
|
||||
@@ -3273,8 +3273,6 @@ static_library("browser") {
|
||||
"//chrome/browser/flags:flags_android_impl",
|
||||
"//chrome/browser/gesturenav/android:gesturenav",
|
||||
"//chrome/browser/gesturenav/android:impl",
|
||||
@@ -285,7 +332,16 @@ diff --git a/chrome/browser/extensions/api/pdf_viewer_private/pdf_viewer_private
|
||||
#include "chrome/browser/pdf/pdf_pref_names.h"
|
||||
#include "chrome/browser/pdf/pdf_viewer_stream_manager.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
@@ -307,27 +304,7 @@ ExtensionFunction::ResponseAction PdfViewerPrivateGlicSummarizeFunction::Run() {
|
||||
@@ -51,8 +48,6 @@ namespace SetPdfPluginAttributes =
|
||||
|
||||
namespace SetPdfDocumentTitle = api::pdf_viewer_private::SetPdfDocumentTitle;
|
||||
|
||||
-constexpr char kSummarizePrompt[] = "Summarize this document";
|
||||
-
|
||||
// Check if the current URL is allowed based on a list of allowlisted domains.
|
||||
bool IsUrlAllowedToEmbedLocalFiles(const GURL& current_url,
|
||||
const base::ListValue& allowlisted_domains) {
|
||||
@@ -307,27 +302,7 @@ ExtensionFunction::ResponseAction PdfViewerPrivateGlicSummarizeFunction::Run() {
|
||||
return RespondNow(Error("No tab."));
|
||||
}
|
||||
|
||||
@@ -314,6 +370,18 @@ diff --git a/chrome/browser/extensions/api/pdf_viewer_private/pdf_viewer_private
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
diff --git a/chrome/browser/glic/BUILD.gn b/chrome/browser/glic/BUILD.gn
|
||||
--- a/chrome/browser/glic/BUILD.gn
|
||||
+++ b/chrome/browser/glic/BUILD.gn
|
||||
@@ -438,7 +438,7 @@ source_set("impl") {
|
||||
deps += [
|
||||
":actor_types_for_migration",
|
||||
"//chrome/browser/context_sharing/tab_bottom_sheet/android:jni_headers",
|
||||
- "//chrome/browser/glic/android",
|
||||
+ #"//chrome/browser/glic/android",
|
||||
"//ui/android",
|
||||
]
|
||||
}
|
||||
diff --git a/chrome/browser/glic/android/BUILD.gn b/chrome/browser/glic/android/BUILD.gn
|
||||
--- a/chrome/browser/glic/android/BUILD.gn
|
||||
+++ b/chrome/browser/glic/android/BUILD.gn
|
||||
@@ -464,30 +532,18 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
|
||||
|
||||
// Controls whether the Glic feature is always detached.
|
||||
BASE_FEATURE(kGlicDetached, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
|
||||
--- a/chrome/common/chrome_features.h
|
||||
+++ b/chrome/common/chrome_features.h
|
||||
@@ -377,6 +377,7 @@ extern const base::FeatureParam<int> kGlicTrustFirstOnboardingArmParam;
|
||||
// Chrome versions.
|
||||
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kGlic);
|
||||
|
||||
+#if BUILDFLAG(ENABLE_GLIC)
|
||||
COMPONENT_EXPORT(CHROME_FEATURES)
|
||||
BASE_DECLARE_FEATURE(kGlicDevelopmentSyncGoogleCookies);
|
||||
COMPONENT_EXPORT(CHROME_FEATURES)
|
||||
diff --git a/chrome/common/features.gni b/chrome/common/features.gni
|
||||
--- a/chrome/common/features.gni
|
||||
+++ b/chrome/common/features.gni
|
||||
@@ -42,8 +42,7 @@ declare_args() {
|
||||
enable_background_contents = !is_android
|
||||
enable_background_mode = !is_android && !is_chromeos
|
||||
@@ -45,6 +45,8 @@ declare_args() {
|
||||
# Enables usage of notifications via Chrome's MessageCenter.
|
||||
enable_chrome_notifications = is_mac || is_win || is_linux
|
||||
|
||||
- # Enables usage of notifications via Chrome's MessageCenter.
|
||||
- enable_chrome_notifications = is_mac || is_win || is_linux
|
||||
+ enable_glic = is_mac || is_win || is_linux || is_chromeos
|
||||
|
||||
+
|
||||
# Skips unmigrated actor files in the build on Android. This is temporary, and
|
||||
# will eventually be removed once migration is done. Adding this flag likely
|
||||
# means the code needs to be adapted for Android. Once adapted, the final code
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
|
||||
@@ -13,11 +13,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../settings/SettingsNavigationImpl.java | 3 +-
|
||||
.../search/SearchIndexProviderRegistry.java | 2 --
|
||||
chrome/browser/BUILD.gn | 1 -
|
||||
.../privacy_page/privacy_page_index.ts | 2 +-
|
||||
chrome/browser/safety_check/android/BUILD.gn | 2 --
|
||||
.../safety_check/SafetyCheckBridge.java | 4 +--
|
||||
.../suggestions/action/OmniboxPedal.java | 3 --
|
||||
.../Disable-safety-check.inc | 1 +
|
||||
13 files changed, 6 insertions(+), 80 deletions(-)
|
||||
14 files changed, 7 insertions(+), 81 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
@@ -233,7 +234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/search
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3292,7 +3292,6 @@ static_library("browser") {
|
||||
@@ -3290,7 +3290,6 @@ static_library("browser") {
|
||||
"//chrome/browser/recent_tabs:jni_headers",
|
||||
"//chrome/browser/regional_capabilities",
|
||||
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
|
||||
@@ -241,6 +242,18 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"//chrome/browser/safety_hub/android",
|
||||
"//chrome/browser/search_resumption:jni_headers",
|
||||
"//chrome/browser/serial/android:jni_headers",
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
|
||||
@@ -246,7 +246,7 @@ export class SettingsPrivacyPageIndexElement extends
|
||||
}
|
||||
|
||||
if (this.showPage_(this.pageVisibility_.safetyHub)) {
|
||||
- defaultViews.push('safetyHubEntryPoint');
|
||||
+ // defaultViews.push('safetyHubEntryPoint');
|
||||
}
|
||||
|
||||
return defaultViews;
|
||||
diff --git a/chrome/browser/safety_check/android/BUILD.gn b/chrome/browser/safety_check/android/BUILD.gn
|
||||
--- a/chrome/browser/safety_check/android/BUILD.gn
|
||||
+++ b/chrome/browser/safety_check/android/BUILD.gn
|
||||
|
||||
@@ -39,7 +39,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
|
||||
}
|
||||
|
||||
VisitedLinkWriter::Hash VisitedLinkWriter::TryToAddURL(const GURL& url) {
|
||||
+ if ((true)) return null_hash_;
|
||||
+ if ((true)) return kNullHash;
|
||||
// Extra check that we are not incognito. This should not happen.
|
||||
// TODO(boliu): Move this check to HistoryService when IsOffTheRecord is
|
||||
// removed from BrowserContext.
|
||||
|
||||
@@ -7,37 +7,37 @@ Full activation of incognito mode in experimental extension
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 9 ++
|
||||
.../chrome/browser/app/ChromeActivity.java | 45 ++++++--
|
||||
.../chrome/browser/app/ChromeActivity.java | 45 ++++++-
|
||||
.../BaseCustomTabRootUiCoordinator.java | 2 +
|
||||
.../CustomTabIntentDataProvider.java | 3 +
|
||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 1 +
|
||||
.../browser/tabmodel/TabModelJniBridge.java | 2 +-
|
||||
.../tabmodel/TabModelSelectorBase.java | 14 +++
|
||||
.../browser/tabmodel/TabModelJniBridge.java | 3 +-
|
||||
.../tabmodel/TabModelSelectorBase.java | 14 ++
|
||||
.../browser/toolbar/ToolbarManager.java | 2 +
|
||||
.../chrome/browser/ui/RootUiCoordinator.java | 2 +
|
||||
.../developer_private_functions.cc | 3 +-
|
||||
.../browser/extensions/extension_tab_util.cc | 2 +-
|
||||
.../tabmodel/IncognitoTabModelImpl.java | 14 ++-
|
||||
.../tabmodel/IncognitoTabModelImpl.java | 10 +-
|
||||
.../tabmodel/IncognitoTabModelObserver.java | 3 +
|
||||
.../extensions/extension_actions_bridge.cc | 23 ++--
|
||||
.../extensions/extension_actions_bridge.cc | 23 +++-
|
||||
.../extensions/extension_actions_bridge.h | 4 +-
|
||||
.../ExtensionActionContextMenuBridge.java | 2 +-
|
||||
.../ui/extensions/ExtensionActionsBridge.java | 64 +++++++++--
|
||||
.../ui/extensions/ExtensionsMenuBridge.java | 70 ++++++++++--
|
||||
.../extensions/ExtensionsToolbarBridge.java | 105 +++++++++++++-----
|
||||
.../ui/extensions/ExtensionActionsBridge.java | 65 +++++++++-
|
||||
.../ui/extensions/ExtensionsMenuBridge.java | 101 ++++++++++++---
|
||||
.../extensions/ExtensionsToolbarBridge.java | 121 +++++++++++++-----
|
||||
.../android/tab_model/tab_model_jni_bridge.cc | 4 +
|
||||
.../ExtensionActionListCoordinator.java | 12 ++
|
||||
.../ExtensionActionListMediator.java | 14 +--
|
||||
.../ExtensionActionListCoordinator.java | 15 ++-
|
||||
.../ExtensionActionListMediator.java | 30 ++---
|
||||
.../ExtensionToolbarCoordinator.java | 3 +
|
||||
.../ExtensionToolbarCoordinatorImpl.java | 15 +--
|
||||
...MenuAndAccessControlButtonCoordinator.java | 5 +-
|
||||
.../extensions/ExtensionsMenuCoordinator.java | 2 +
|
||||
.../extensions/ExtensionsMenuMediator.java | 13 ++-
|
||||
.../browser_window/ChromeAndroidTaskImpl.java | 41 ++++++-
|
||||
.../extensions/ExtensionsMenuMediator.java | 14 +-
|
||||
.../browser_window/ChromeAndroidTaskImpl.java | 18 ++-
|
||||
.../ChromeAndroidTaskFeature.java | 2 +-
|
||||
components/tabs/impl/tab_collection.cc | 16 +++
|
||||
components/tabs/impl/tab_strip_collection.cc | 4 +-
|
||||
31 files changed, 406 insertions(+), 95 deletions(-)
|
||||
31 files changed, 419 insertions(+), 124 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -133,19 +133,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
+ private void addFeatures(ChromeAndroidTask task, Profile profile) {
|
||||
+ task.addFeature(
|
||||
+ new ChromeAndroidTaskFeatureKey(
|
||||
+ ExtensionWindowControllerBridge.class, profile, activityWindowAndroid),
|
||||
+ ExtensionWindowControllerBridge.class, profile, getWindowAndroid()),
|
||||
+ () -> ExtensionWindowControllerBridgeFactory.create(task, profile));
|
||||
+
|
||||
+ task.addFeature(
|
||||
+ new ChromeAndroidTaskFeatureKey(ExtensionsToolbarBridge.class, profile),
|
||||
+ new ChromeAndroidTaskFeatureKey(ExtensionsToolbarBridge.class, profile, getWindowAndroid()),
|
||||
+ () -> ExtensionsToolbarBridge.create(task, profile));
|
||||
+
|
||||
+ task.addFeature(
|
||||
+ new ChromeAndroidTaskFeatureKey(ExtensionActionsBridge.class, profile),
|
||||
+ new ChromeAndroidTaskFeatureKey(ExtensionActionsBridge.class, profile, getWindowAndroid()),
|
||||
+ () -> ExtensionActionsBridge.create(task, profile));
|
||||
+
|
||||
+ task.addFeature(
|
||||
+ new ChromeAndroidTaskFeatureKey(ExtensionsMenuBridge.class, profile),
|
||||
+ new ChromeAndroidTaskFeatureKey(ExtensionsMenuBridge.class, profile, getWindowAndroid()),
|
||||
+ () -> ExtensionsMenuBridge.create(task, profile));
|
||||
+ }
|
||||
+
|
||||
@@ -201,7 +201,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -202,6 +202,7 @@ import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarBehavior;
|
||||
@@ -201,6 +201,7 @@ import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarBehavior;
|
||||
import org.chromium.chrome.browser.ui.RootUiCoordinator;
|
||||
import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker;
|
||||
import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
|
||||
@@ -212,15 +212,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelJniBridge.java
|
||||
@@ -134,7 +134,7 @@ public abstract class TabModelJniBridge implements TabModelInternal {
|
||||
@Override
|
||||
public void associateWithBrowserWindow(long nativeAndroidBrowserWindow) {
|
||||
// Ensure this isn't set multiple times.
|
||||
- assert mNativeAndroidBrowserWindow == 0;
|
||||
+ if (nativeAndroidBrowserWindow != 0) assert mNativeAndroidBrowserWindow == 0;
|
||||
assert nativeAndroidBrowserWindow != 0;
|
||||
@@ -144,8 +144,7 @@ public abstract class TabModelJniBridge implements TabModelInternal {
|
||||
|
||||
mNativeAndroidBrowserWindow = nativeAndroidBrowserWindow;
|
||||
@Override
|
||||
public void dissociateWithBrowserWindow() {
|
||||
- assert mNativeAndroidBrowserWindow != 0;
|
||||
-
|
||||
+ if (mNativeTabModelJniBridge == 0 || mNativeAndroidBrowserWindow == 0) return;
|
||||
TabModelJniBridgeJni.get().dissociateWithBrowserWindow(mNativeTabModelJniBridge);
|
||||
mNativeAndroidBrowserWindow = 0;
|
||||
}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
|
||||
@@ -311,21 +312,16 @@ diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/ex
|
||||
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/IncognitoTabModelImpl.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/IncognitoTabModelImpl.java
|
||||
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/IncognitoTabModelImpl.java
|
||||
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/IncognitoTabModelImpl.java
|
||||
@@ -147,8 +147,12 @@ class IncognitoTabModelImpl implements IncognitoTabModelInternal {
|
||||
return;
|
||||
@@ -148,7 +148,7 @@ class IncognitoTabModelImpl implements IncognitoTabModelInternal {
|
||||
}
|
||||
|
||||
+ // Disassociate
|
||||
+ mDelegateModel.associateWithBrowserWindow(/*nativeAndroidBrowserWindow=*/ 0);
|
||||
+ mNativeAndroidBrowserWindow = 0;
|
||||
+
|
||||
for (IncognitoTabModelObserver observer : mIncognitoObservers) {
|
||||
- observer.didBecomeEmpty();
|
||||
+ observer.didDestroyed();
|
||||
}
|
||||
|
||||
mDelegateModel
|
||||
@@ -159,6 +163,10 @@ class IncognitoTabModelImpl implements IncognitoTabModelInternal {
|
||||
@@ -159,6 +159,10 @@ class IncognitoTabModelImpl implements IncognitoTabModelInternal {
|
||||
mCurrentTabSupplier.set(null);
|
||||
mTabCountSupplier.set(0);
|
||||
|
||||
@@ -336,7 +332,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
|
||||
mDelegateModel = EmptyTabModel.getInstance(true);
|
||||
for (Callback<TabModelInternal> delegateModelObserver : mDelegateModelObservers) {
|
||||
delegateModelObserver.onResult(mDelegateModel);
|
||||
@@ -196,6 +204,10 @@ class IncognitoTabModelImpl implements IncognitoTabModelInternal {
|
||||
@@ -196,6 +200,10 @@ class IncognitoTabModelImpl implements IncognitoTabModelInternal {
|
||||
assert mNativeAndroidBrowserWindow == 0;
|
||||
mNativeAndroidBrowserWindow = nativeAndroidBrowserWindow;
|
||||
mDelegateModel.associateWithBrowserWindow(nativeAndroidBrowserWindow);
|
||||
@@ -539,7 +535,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
assert mNativeExtensionActionsBridge != 0;
|
||||
ExtensionActionsBridgeJni.get().destroy(mNativeExtensionActionsBridge);
|
||||
mNativeExtensionActionsBridge = 0;
|
||||
@@ -88,19 +132,25 @@ public class ExtensionActionsBridge implements Destroyable {
|
||||
@@ -88,19 +132,26 @@ public class ExtensionActionsBridge implements Destroyable {
|
||||
}
|
||||
|
||||
public void clearExtensionData() {
|
||||
@@ -548,7 +544,8 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
+ }
|
||||
+
|
||||
+ private void closeBackgroundHosts() {
|
||||
+ ExtensionActionsBridgeJni.get().closeBackgroundHosts(mNativeExtensionActionsBridge);
|
||||
+ if (mProfile.isIncognitoBranded())
|
||||
+ ExtensionActionsBridgeJni.get().closeBackgroundHosts(mNativeExtensionActionsBridge);
|
||||
}
|
||||
|
||||
@NativeMethods
|
||||
@@ -626,16 +623,16 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
ExtensionsMenuBridgeJni.get()
|
||||
- .init(this, task.getOrCreateNativeBrowserWindowPtr(profile));
|
||||
+ .init(this, mTask.getOrCreateNativeBrowserWindowPtr(mProfile));
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onFeatureRemoved() {
|
||||
+ Instance().mObservers.remove(mTask);
|
||||
+ destroy();
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void destroy() {
|
||||
+ public void onFeatureRemoved() {
|
||||
+ Instance().mObservers.remove(mTask);
|
||||
+ destroy();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onTaskBoundsChanged(Rect newBoundsInDp) {}
|
||||
+
|
||||
+ @Override
|
||||
@@ -653,6 +650,36 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
assert mNativeExtensionsMenuDelegateAndroid != 0;
|
||||
ExtensionsMenuBridgeJni.get().destroy(mNativeExtensionsMenuDelegateAndroid);
|
||||
mNativeExtensionsMenuDelegateAndroid = 0;
|
||||
@@ -47,12 +99,12 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
/** Returns the icon for the given extension index from native. */
|
||||
public @Nullable Bitmap getActionIcon(int actionIndex) {
|
||||
return ExtensionsMenuBridgeJni.get()
|
||||
- .getActionIcon(mNativeExtensionsMenuDelegateAndroid, actionIndex);
|
||||
+ .getActionIcon(Instance().mNativeExtensionsMenuDelegateAndroid, actionIndex);
|
||||
}
|
||||
|
||||
/** Returns the list of menu entries with their states from native. */
|
||||
public List<ExtensionsMenuTypes.MenuEntryState> getMenuEntries() {
|
||||
- return ExtensionsMenuBridgeJni.get().getMenuEntries(mNativeExtensionsMenuDelegateAndroid);
|
||||
+ return ExtensionsMenuBridgeJni.get().getMenuEntries(Instance().mNativeExtensionsMenuDelegateAndroid);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,12 +114,12 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
*/
|
||||
public ExtensionsMenuTypes.MenuEntryState getMenuEntry(int actionIndex) {
|
||||
return ExtensionsMenuBridgeJni.get()
|
||||
- .getMenuEntry(mNativeExtensionsMenuDelegateAndroid, actionIndex);
|
||||
+ .getMenuEntry(Instance().mNativeExtensionsMenuDelegateAndroid, actionIndex);
|
||||
}
|
||||
|
||||
/** Returns the site settings state from native. */
|
||||
public ExtensionsMenuTypes.SiteSettingsState getSiteSettingsState() {
|
||||
- return ExtensionsMenuBridgeJni.get().getSiteSettings(mNativeExtensionsMenuDelegateAndroid);
|
||||
+ return ExtensionsMenuBridgeJni.get().getSiteSettings(Instance().mNativeExtensionsMenuDelegateAndroid);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,12 +129,12 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
*/
|
||||
public void onSiteSettingsToggleChanged(boolean isChecked) {
|
||||
@@ -668,7 +695,53 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -134,7 +186,7 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
@@ -92,7 +144,8 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
*/
|
||||
@CalledByNative
|
||||
public void onActionAdded(int actionIndex) {
|
||||
- mObserver.onActionAdded(actionIndex);
|
||||
+ if (Instance().mNativeExtensionsMenuDelegateAndroid != mNativeExtensionsMenuDelegateAndroid) return;
|
||||
+ Instance().mObserver.onActionAdded(actionIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -103,7 +156,10 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
*/
|
||||
@CalledByNative
|
||||
public void onActionIconUpdated(int actionIndex) {
|
||||
- mObserver.onActionIconUpdated(actionIndex);
|
||||
+ if (Instance().mNativeExtensionsMenuDelegateAndroid != mNativeExtensionsMenuDelegateAndroid) return;
|
||||
+ if (Instance().mObserver != null) {
|
||||
+ Instance().mObserver.onActionIconUpdated(actionIndex);
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -114,7 +170,10 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
*/
|
||||
@CalledByNative
|
||||
public void onActionRemoved(int actionIndex) {
|
||||
- mObserver.onActionRemoved(actionIndex);
|
||||
+ if (Instance().mNativeExtensionsMenuDelegateAndroid != mNativeExtensionsMenuDelegateAndroid) return;
|
||||
+ if (Instance().mObserver != null) {
|
||||
+ Instance().mObserver.onActionRemoved(actionIndex);
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -125,7 +184,10 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
*/
|
||||
@CalledByNative
|
||||
public void onActionUpdated(int actionIndex) {
|
||||
- mObserver.onActionUpdated(actionIndex);
|
||||
+ if (Instance().mNativeExtensionsMenuDelegateAndroid != mNativeExtensionsMenuDelegateAndroid) return;
|
||||
+ if (Instance().mObserver != null) {
|
||||
+ Instance().mObserver.onActionUpdated(actionIndex);
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -134,13 +196,14 @@ public class ExtensionsMenuBridge implements Destroyable {
|
||||
*/
|
||||
@CalledByNative
|
||||
public void onReady() {
|
||||
@@ -677,6 +750,15 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
}
|
||||
|
||||
@CalledByNative
|
||||
private void onModelChanged() {
|
||||
- if (mObserver != null) {
|
||||
- mObserver.onModelChanged();
|
||||
+ if (Instance().mNativeExtensionsMenuDelegateAndroid != mNativeExtensionsMenuDelegateAndroid) return;
|
||||
+ if (Instance().mObserver != null) {
|
||||
+ Instance().mObserver.onModelChanged();
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionsToolbarBridge.java b/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionsToolbarBridge.java
|
||||
--- a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionsToolbarBridge.java
|
||||
+++ b/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/browser/ui/extensions/ExtensionsToolbarBridge.java
|
||||
@@ -699,20 +781,26 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
// TODO(crbug.com/423483658): Consider moving ExtensionsMenuButtonState and related types
|
||||
// (e.g., RequestAccessButtonParams) into a new ExtensionControls.java file.
|
||||
@IntDef({
|
||||
@@ -53,15 +60,56 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
@@ -47,21 +54,61 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
private final @Nullable LifetimeAssert mLifetimeAssert = LifetimeAssert.create(this);
|
||||
private long mNativeExtensionsToolbarAndroid;
|
||||
private final ObserverList<Observer> mObservers = new ObserverList<>();
|
||||
- private final Profile mProfile;
|
||||
+ private Profile mProfile;
|
||||
|
||||
// The delegate is set via a setter because of a bidirectional dependency
|
||||
// with {@code ExtensionActionListMediator}.
|
||||
private @Nullable Delegate mDelegate;
|
||||
|
||||
- public ExtensionsToolbarBridge(ChromeAndroidTask task, Profile profile) {
|
||||
- mProfile = profile;
|
||||
+ private final ChromeAndroidTask mTask;
|
||||
+ private final Profile mProfile;
|
||||
+
|
||||
+ private static ExtensionsToolbarBridge toolbarBridgeInstance;
|
||||
+ private final Map<ChromeAndroidTask, Delegate> mDelegates = new ArrayMap<>();
|
||||
+
|
||||
+ @Override
|
||||
+ public void onAddedToTask() {
|
||||
mProfile = profile;
|
||||
mNativeExtensionsToolbarAndroid =
|
||||
ExtensionsToolbarBridgeJni.get()
|
||||
- .init(this, task.getOrCreateNativeBrowserWindowPtr(profile));
|
||||
@@ -721,7 +809,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
+
|
||||
+ @Override
|
||||
+ public void onFeatureRemoved() {
|
||||
+ Instance().mDelegates.remove(mTask);
|
||||
+ //Instance().mDelegates.remove(mTask);
|
||||
+ destroy();
|
||||
}
|
||||
|
||||
@@ -737,6 +825,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
+ if (mTask == task && tabModel.getProfile() == mProfile) {
|
||||
+ Instance().mNativeExtensionsToolbarAndroid = mNativeExtensionsToolbarAndroid;
|
||||
+ Instance().mDelegate = Instance().mDelegates.get(mTask);
|
||||
+ Instance().mProfile = mProfile;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
@@ -759,7 +848,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
assert mNativeExtensionsToolbarAndroid != 0;
|
||||
ExtensionsToolbarBridgeJni.get().destroy(mNativeExtensionsToolbarAndroid);
|
||||
mNativeExtensionsToolbarAndroid = 0;
|
||||
@@ -69,19 +117,21 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
@@ -69,27 +116,30 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
}
|
||||
|
||||
public void addObserver(Observer observer) {
|
||||
@@ -775,17 +864,19 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
- public void setDelegate(@Nullable Delegate delegate) {
|
||||
- mDelegate = delegate;
|
||||
+ public void setDelegate(ChromeAndroidTask task, @Nullable Delegate delegate) {
|
||||
+ if (delegate == null) return;
|
||||
+ Instance().mDelegates.put(task, delegate);
|
||||
+ Instance().mDelegate = delegate;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public ExtensionAction getAction(String actionId, @Nullable WebContents webContents) {
|
||||
- if (mProfile.shutdownStarted()) {
|
||||
+ assert Instance().mNativeExtensionsToolbarAndroid != 0;
|
||||
if (mProfile.shutdownStarted()) {
|
||||
+ if (Instance().mProfile.shutdownStarted()) {
|
||||
// TODO(crbug.com/459079170): This is to prevent tests from breaking. {@code
|
||||
// ExtensionToolbarCoordinatorImpl} should ideally be destroyed following {@code
|
||||
@@ -89,7 +139,7 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
// ChromeAndroidTask}'s destruction, and it is currently being worked on.
|
||||
return null;
|
||||
}
|
||||
return ExtensionsToolbarBridgeJni.get()
|
||||
@@ -806,7 +897,14 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
actionId,
|
||||
webContents,
|
||||
canvasWidthDp,
|
||||
@@ -122,7 +173,7 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
@@ -116,58 +167,58 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
}
|
||||
|
||||
public String[] getAllActionIds() {
|
||||
- if (mProfile.shutdownStarted()) {
|
||||
+ if (Instance().mProfile.shutdownStarted()) {
|
||||
// TODO(crbug.com/459079170): This is to prevent tests from breaking. {@code
|
||||
// ExtensionToolbarCoordinatorImpl} should ideally be destroyed following {@code
|
||||
// ChromeAndroidTask}'s destruction, and it is currently being worked on.
|
||||
return new String[0];
|
||||
}
|
||||
@@ -815,7 +913,10 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
}
|
||||
|
||||
public String[] getPinnedActionIds() {
|
||||
@@ -132,7 +183,7 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
- if (mProfile.shutdownStarted()) {
|
||||
+ if (Instance().mProfile.shutdownStarted()) {
|
||||
// TODO(crbug.com/459079170): This is to prevent tests from breaking. {@code
|
||||
// ExtensionToolbarCoordinatorImpl} should ideally be destroyed following {@code
|
||||
// ChromeAndroidTask}'s destruction, and it is currently being worked on.
|
||||
return new String[0];
|
||||
}
|
||||
@@ -824,7 +925,11 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
}
|
||||
|
||||
public void executeUserAction(String actionId, @InvocationSource int source) {
|
||||
@@ -143,7 +194,7 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
- if (mProfile.shutdownStarted()) {
|
||||
+ if (Instance().mProfile.shutdownStarted()) {
|
||||
// TODO(crbug.com/459079170): This is to prevent tests from breaking. {@code
|
||||
// ExtensionToolbarCoordinatorImpl} should ideally be destroyed following {@code
|
||||
// ChromeAndroidTask}'s destruction, and it is currently being worked on.
|
||||
return;
|
||||
}
|
||||
ExtensionsToolbarBridgeJni.get()
|
||||
@@ -833,7 +938,11 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
}
|
||||
|
||||
public void movePinnedAction(String actionId, int targetIndex) {
|
||||
@@ -154,20 +205,20 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
- if (mProfile.shutdownStarted()) {
|
||||
+ if (Instance().mProfile.shutdownStarted()) {
|
||||
// TODO(crbug.com/459079170): This is to prevent tests from breaking. {@code
|
||||
// ExtensionToolbarCoordinatorImpl} should ideally be destroyed following {@code
|
||||
// ChromeAndroidTask}'s destruction, and it is currently being worked on.
|
||||
return;
|
||||
}
|
||||
ExtensionsToolbarBridgeJni.get()
|
||||
@@ -859,7 +968,7 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
assert params != null;
|
||||
return params;
|
||||
}
|
||||
@@ -175,14 +226,14 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
@@ -175,63 +226,63 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
@CalledByNative
|
||||
public void triggerPopup(@JniType("std::string") String actionId, long nativeHostPtr) {
|
||||
// {@link mDelegate} should be set in {@code ExtensionActionListMediator}'s constructor.
|
||||
@@ -877,7 +986,14 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
|
||||
observer.onRequestAccessButtonParamsChanged();
|
||||
}
|
||||
}
|
||||
@@ -196,42 +247,42 @@ public class ExtensionsToolbarBridge implements Destroyable {
|
||||
|
||||
@CalledByNative
|
||||
public void onToolbarControlStateUpdated() {
|
||||
- for (Observer observer : mObservers) {
|
||||
+ for (Observer observer : Instance().mObservers) {
|
||||
observer.onToolbarControlStateUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
@CalledByNative
|
||||
public void onActionsInitialized() {
|
||||
@@ -981,7 +1097,17 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
|
||||
mModels = new ModelList();
|
||||
mMediator =
|
||||
@@ -135,8 +142,13 @@ public class ExtensionActionListCoordinator implements Destroyable {
|
||||
@@ -79,7 +86,8 @@ public class ExtensionActionListCoordinator implements Destroyable {
|
||||
this::getButtonViewForId,
|
||||
extensionsToolbarBridge,
|
||||
contextMenuPopulatorFactory,
|
||||
- selectionDropdownMenuDelegate);
|
||||
+ selectionDropdownMenuDelegate,
|
||||
+ extensionsMenuButton);
|
||||
|
||||
ExtensionsToolbarDragTouchHandler dragTouchHandler =
|
||||
new ExtensionsToolbarDragTouchHandler(context, mModels);
|
||||
@@ -135,8 +143,13 @@ public class ExtensionActionListCoordinator implements Destroyable {
|
||||
LifetimeAssert.setSafeToGc(mLifetimeAssert, true);
|
||||
}
|
||||
|
||||
@@ -1006,7 +1132,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
|
||||
@NullMarked
|
||||
class ExtensionActionListMediator implements Destroyable {
|
||||
@@ -88,7 +89,6 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
@@ -88,11 +89,11 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
private final WindowAndroid mWindowAndroid;
|
||||
private final ModelList mModels;
|
||||
private final ChromeAndroidTask mTask;
|
||||
@@ -1014,7 +1140,19 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
private final NullableObservableSupplier<Tab> mCurrentTabSupplier;
|
||||
private final ExtensionActionListCoordinator.ActionAnchorViewProvider mActionAnchorViewProvider;
|
||||
private final @Nullable ContextMenuPopulatorFactory mContextMenuPopulatorFactory;
|
||||
@@ -121,14 +121,13 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
private final @Nullable SelectionDropdownMenuDelegate mSelectionDropdownMenuDelegate;
|
||||
+ private final ListMenuButton mExtensionsMenuButton;
|
||||
|
||||
private final ExtensionsToolbarBridge mExtensionsToolbarBridge;
|
||||
private final ToolbarDelegate mToolbarDelegate = new ToolbarDelegate();
|
||||
@@ -116,19 +117,20 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
ExtensionActionListCoordinator.ActionAnchorViewProvider actionAnchorViewProvider,
|
||||
ExtensionsToolbarBridge extensionsToolbarBridge,
|
||||
@Nullable ContextMenuPopulatorFactory contextMenuPopulatorFactory,
|
||||
- @Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate) {
|
||||
+ @Nullable SelectionDropdownMenuDelegate selectionDropdownMenuDelegate,
|
||||
+ ListMenuButton extensionsMenuButton) {
|
||||
mContext = context;
|
||||
mWindowAndroid = windowAndroid;
|
||||
mModels = models;
|
||||
mTask = task;
|
||||
@@ -1024,13 +1162,14 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
mExtensionsToolbarBridge = extensionsToolbarBridge;
|
||||
mContextMenuPopulatorFactory = contextMenuPopulatorFactory;
|
||||
mSelectionDropdownMenuDelegate = selectionDropdownMenuDelegate;
|
||||
+ mExtensionsMenuButton = extensionsMenuButton;
|
||||
|
||||
- mExtensionsToolbarBridge.setDelegate(mToolbarDelegate);
|
||||
+ mExtensionsToolbarBridge.setDelegate(mTask, mToolbarDelegate);
|
||||
mExtensionsToolbarBridge.addObserver(mToolbarObserver);
|
||||
reconcileActionItems();
|
||||
}
|
||||
@@ -141,7 +140,7 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
@@ -141,7 +143,7 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
assert mActionState instanceof ActionState.Idle;
|
||||
|
||||
mExtensionsToolbarBridge.removeObserver(mToolbarObserver);
|
||||
@@ -1039,26 +1178,40 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
LifetimeAssert.setSafeToGc(mLifetimeAssert, true);
|
||||
}
|
||||
|
||||
@@ -316,7 +315,7 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
@@ -316,7 +318,8 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
return mModels.get(index).model.get(ExtensionActionButtonProperties.ID);
|
||||
}
|
||||
|
||||
- private void onPrimaryClick(String actionId) {
|
||||
+ public void onPrimaryClick(String actionId) {
|
||||
+ if (!mTask.isActive()) return;
|
||||
if (mActionState instanceof ActionState.PopupActive activeState) {
|
||||
boolean closeOnly = activeState.getActionId().equals(actionId);
|
||||
closePopup();
|
||||
@@ -349,8 +348,7 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
@@ -337,20 +340,13 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
|
||||
ExtensionActionPopupContents contents = ExtensionActionPopupContents.create(nativeHostPtr);
|
||||
|
||||
- if (findIndexForId(actionId) == -1) {
|
||||
- // TODO(crbug.com/483194547): Implement popping out actions.
|
||||
- contents.destroy();
|
||||
- return;
|
||||
- } else {
|
||||
- showPopupOnReadyAnchor(actionId, contents);
|
||||
- }
|
||||
+ showPopupOnReadyAnchor(actionId, contents);
|
||||
}
|
||||
|
||||
private void showPopupOnReadyAnchor(String actionId, ExtensionActionPopupContents contents) {
|
||||
View buttonView = mActionAnchorViewProvider.getButtonViewForId(actionId);
|
||||
if (buttonView == null) {
|
||||
- contents.destroy();
|
||||
- return;
|
||||
+ buttonView = mContainer;
|
||||
+ buttonView = mExtensionsMenuButton;
|
||||
}
|
||||
|
||||
Activity activity = mWindowAndroid.getActivity().get();
|
||||
@@ -420,7 +418,7 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
@@ -420,7 +416,7 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
assert mActionState instanceof ActionState.Idle;
|
||||
ExtensionActionContextMenuBridge bridge =
|
||||
new ExtensionActionContextMenuBridge(
|
||||
@@ -1067,6 +1220,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
ExtensionActionContextMenuUtils.showContextMenu(
|
||||
mContext,
|
||||
buttonView,
|
||||
@@ -452,7 +448,7 @@ class ExtensionActionListMediator implements Destroyable {
|
||||
|
||||
/** Updates the list of displayed actions to fit within the provided width constraint. */
|
||||
public void fitActionsWithinWidth(int availableWidth) {
|
||||
- mAvailableWidth = availableWidth;
|
||||
+ // mAvailableWidth = availableWidth;
|
||||
|
||||
// If this is called during an animation (e.g. the user resizes window during pinning /
|
||||
// unpinning animation), we abandon the animation and update to the new state instantly.
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionToolbarCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionToolbarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionToolbarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionToolbarCoordinator.java
|
||||
@@ -1113,7 +1275,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
new ExtensionActionListCoordinator(
|
||||
context,
|
||||
mContainer.findViewById(R.id.extension_action_list),
|
||||
+ container.findViewById(R.id.extensions_menu_button),
|
||||
+ mContainer.findViewById(R.id.extensions_menu_button),
|
||||
windowAndroid,
|
||||
task,
|
||||
profile,
|
||||
@@ -1227,6 +1389,14 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -174,6 +177,7 @@ class ExtensionsMenuMediator implements Destroyable, ExtensionsMenuBridge.Observ
|
||||
break;
|
||||
}
|
||||
}
|
||||
+ if (oldIndex < 0) return;
|
||||
assert oldIndex != -1
|
||||
: "Action model with ID " + entry.id + " should exist in mActionModels.";
|
||||
|
||||
diff --git a/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskImpl.java b/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskImpl.java
|
||||
--- a/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskImpl.java
|
||||
+++ b/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskImpl.java
|
||||
@@ -1235,46 +1405,22 @@ diff --git a/chrome/browser/ui/browser_window/internal/android/java/src/org/chro
|
||||
// destruction until the activity is destroyed since there should never be more
|
||||
// than one profile/window on desktop Android.
|
||||
- if (!BuildConfig.IS_DESKTOP_ANDROID) {
|
||||
+ if (!BuildConfig.IS_DESKTOP_ANDROID_CROMITE) {
|
||||
+ if ((true)) {
|
||||
if (mPendingBrowserWindow != null
|
||||
&& mPendingBrowserWindow.getProfile() == profile) {
|
||||
assert mActivityScopedObjectsDeque.isEmpty();
|
||||
@@ -402,6 +402,34 @@ final class ChromeAndroidTaskImpl
|
||||
@@ -402,6 +402,10 @@ final class ChromeAndroidTaskImpl
|
||||
observer.onBrowserWindowAdded(ptr);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public void didDestroyed() {
|
||||
+ var activityScopedObjects = mActivityScopedObjectsDeque.peekFirst();
|
||||
+ assert activityScopedObjects != null
|
||||
+ : "ActivityScopedObjects should not be null if the"
|
||||
+ + " mIncognitoTabModelObserver is registered.";
|
||||
+ var tabModelSelector = activityScopedObjects.mTabModelSelector;
|
||||
+ var incognitoModel = tabModelSelector.getModel(/* incognito= */ true);
|
||||
+ var incognitoProfile = incognitoModel.getProfile();
|
||||
+ var iterator = mFeatures.entrySet().iterator();
|
||||
+ while (iterator.hasNext()) {
|
||||
+ var entry = iterator.next();
|
||||
+ var key = entry.getKey();
|
||||
+ if (incognitoProfile.equals(key.mProfile)) {
|
||||
+ entry.getValue().onFeatureRemoved();
|
||||
+ iterator.remove();
|
||||
+ }
|
||||
+ }
|
||||
+ var browserWindow = mAndroidBrowserWindows.remove(incognitoProfile);
|
||||
+ if (browserWindow != null) {
|
||||
+ var ptr = browserWindow.getOrCreateNativePtr();
|
||||
+ for (var observer : mAndroidBrowserWindowObservers) {
|
||||
+ observer.onBrowserWindowRemoved(ptr);
|
||||
+ }
|
||||
+ browserWindow.destroy();
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
private @Nullable Integer mId;
|
||||
@@ -685,7 +713,7 @@ final class ChromeAndroidTaskImpl
|
||||
@@ -685,7 +689,7 @@ final class ChromeAndroidTaskImpl
|
||||
mFeatures.put(featureKey, feature);
|
||||
feature.onAddedToTask();
|
||||
if (tabModelSelector != null) {
|
||||
@@ -1283,12 +1429,13 @@ diff --git a/chrome/browser/ui/browser_window/internal/android/java/src/org/chro
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1166,6 +1194,13 @@ final class ChromeAndroidTaskImpl
|
||||
@@ -1166,6 +1170,14 @@ final class ChromeAndroidTaskImpl
|
||||
for (var feature : mFeatures.values()) {
|
||||
feature.onTaskFocusChanged(isTopResumedActivity);
|
||||
}
|
||||
+ if (isTopResumedActivity) {
|
||||
+ var topActivityScopedObjects = mActivityScopedObjectsDeque.peekFirst();
|
||||
+ var internalActivityScopedObjects = mActivityScopedObjectsDeque.peekFirst();
|
||||
+ var topActivityScopedObjects = internalActivityScopedObjects.mActivityScopedObjects;
|
||||
+ TabModelSelector tabModelSelector = topActivityScopedObjects.mTabModelSelector;
|
||||
+ for (var feature : mFeatures.values()) {
|
||||
+ feature.onTabModelSelected(this, tabModelSelector.getCurrentModel());
|
||||
@@ -1297,7 +1444,7 @@ diff --git a/chrome/browser/ui/browser_window/internal/android/java/src/org/chro
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1805,7 +1840,7 @@ final class ChromeAndroidTaskImpl
|
||||
@@ -1805,7 +1817,7 @@ final class ChromeAndroidTaskImpl
|
||||
|
||||
private void onTabModelSelected(TabModel tabModel) {
|
||||
for (var feature : mFeatures.values()) {
|
||||
|
||||
@@ -45,15 +45,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -1054,6 +1054,10 @@ config("linker") {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -432,6 +432,10 @@ config("compiler") {
|
||||
# In general, Windows is totally different, but all the other builds share
|
||||
# some common compiler and linker configuration.
|
||||
if (!is_win) {
|
||||
+ if (is_clang && !is_ubsan && !is_ubsan_security) {
|
||||
+ cflags += [ "-fwrapv" ]
|
||||
+ }
|
||||
+
|
||||
# Linker warnings.
|
||||
if (fatal_linker_warnings && !is_apple && current_os != "aix" &&
|
||||
current_os != "zos") {
|
||||
# Common POSIX compiler flags setup.
|
||||
# --------------------------------
|
||||
cflags += [ "-fno-strict-aliasing" ] # See http://crbug.com/32204
|
||||
--
|
||||
|
||||
@@ -19,6 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../chrome/browser/settings/MainSettings.java | 18 +---
|
||||
.../chromium/chrome/browser/tab/TabImpl.java | 41 ++++++--
|
||||
chrome/browser/android/tab_android.cc | 4 +-
|
||||
.../actor/actor_form_filling_service_impl.cc | 8 --
|
||||
chrome/browser/autofill/android/BUILD.gn | 2 +-
|
||||
.../autofill/AutofillClientProviderUtils.java | 2 +-
|
||||
...AutofillThirdPartyModeContentProvider.java | 1 +
|
||||
@@ -44,7 +45,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../foundations/browser_autofill_manager.h | 2 +
|
||||
.../autofill/core/common/autofill_prefs.cc | 4 +-
|
||||
.../autofill/core/common/autofill_prefs.h | 5 +
|
||||
29 files changed, 239 insertions(+), 136 deletions(-)
|
||||
30 files changed, 239 insertions(+), 144 deletions(-)
|
||||
create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
||||
@@ -315,6 +316,24 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
|
||||
|
||||
// We need to initialize the keyboard suppressor before creating any
|
||||
// AutofillManagers and after the autofill client is available.
|
||||
diff --git a/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc b/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
|
||||
--- a/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
|
||||
+++ b/chrome/browser/autofill/actor/actor_form_filling_service_impl.cc
|
||||
@@ -426,14 +426,6 @@ GetAutofillManager(const tabs::TabInterface& tab) {
|
||||
if (!profile) {
|
||||
return base::unexpected(kAutofillNotAvailable);
|
||||
}
|
||||
- if (AutofillClientProviderFactory::GetForProfile(profile)
|
||||
- .uses_platform_autofill()) {
|
||||
- // This is currently only possible on Android platforms, but this check
|
||||
- // guards against this becoming applicable for Desktop platforms as well.
|
||||
- // It is a requirement for the cast to `BrowserAutofillManager` to be
|
||||
- // safe.
|
||||
- return base::unexpected(kAutofillNotAvailable);
|
||||
- }
|
||||
|
||||
ContentAutofillClient* const client =
|
||||
ContentAutofillClient::FromWebContents(tab.GetContents());
|
||||
diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/android/BUILD.gn
|
||||
--- a/chrome/browser/autofill/android/BUILD.gn
|
||||
+++ b/chrome/browser/autofill/android/BUILD.gn
|
||||
|
||||
@@ -35,7 +35,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../java/res/layout/search_engine_layout.xml | 25 ++
|
||||
.../settings/SearchEngineSettings.java | 20 ++
|
||||
chrome/browser/ui/BUILD.gn | 25 +-
|
||||
.../edit_search_engine_controller.cc | 8 +-
|
||||
.../edit_search_engine_controller.cc | 7 +-
|
||||
.../edit_search_engine_controller.h | 6 +-
|
||||
.../keyword_editor_controller.cc | 13 +-
|
||||
.../keyword_editor_controller.h | 6 +-
|
||||
@@ -54,7 +54,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
chrome/chrome_paks.gni | 11 +
|
||||
.../settings/SettingsNavigation.java | 2 +
|
||||
.../search_engine_desktop_ui.grdp | 6 +
|
||||
.../android/template_url_service_android.cc | 2 +-
|
||||
.../android/template_url_service_android.cc | 4 +-
|
||||
.../search_engines/search_engines_switches.cc | 1 +
|
||||
components/search_engines/template_url.cc | 4 +
|
||||
components/search_engines/template_url.h | 1 +
|
||||
@@ -82,7 +82,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
ui/webui/resources/images/BUILD.gn | 2 +-
|
||||
ui/webui/resources/js/BUILD.gn | 2 +-
|
||||
ui/webui/resources/js/load_time_data.ts | 17 +-
|
||||
75 files changed, 1160 insertions(+), 75 deletions(-)
|
||||
75 files changed, 1160 insertions(+), 76 deletions(-)
|
||||
create mode 100644 chrome/app/settings_strings_android.grdp
|
||||
create mode 100644 chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml
|
||||
create mode 100644 chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc
|
||||
@@ -156,7 +156,7 @@ diff --git a/chrome/app/generated_resources.grd.gritdeps b/chrome/app/generated_
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2473,6 +2473,9 @@
|
||||
@@ -2471,6 +2471,9 @@
|
||||
<message name="IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION" desc="Label for explaining the format of the URL that should be entered by the user in the add/edit search engine dialog.">
|
||||
URL with <ph name="SPECIAL_SYMBOL">%s</ph> in place of query
|
||||
</message>
|
||||
@@ -434,7 +434,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3600,6 +3600,9 @@ static_library("browser") {
|
||||
@@ -3598,6 +3598,9 @@ static_library("browser") {
|
||||
"//components/user_scripts/android",
|
||||
]
|
||||
}
|
||||
@@ -972,23 +972,17 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
diff --git a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc b/chrome/browser/ui/search_engines/edit_search_engine_controller.cc
|
||||
--- a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc
|
||||
+++ b/chrome/browser/ui/search_engines/edit_search_engine_controller.cc
|
||||
@@ -50,12 +50,14 @@ bool EditSearchEngineController::IsKeywordValid(
|
||||
@@ -50,7 +50,8 @@ bool EditSearchEngineController::IsKeywordValid(
|
||||
void EditSearchEngineController::AcceptAddOrEdit(
|
||||
const std::u16string& title_input,
|
||||
const std::u16string& keyword_input,
|
||||
- const std::string& url_input) {
|
||||
+ const std::string& url_input,
|
||||
+ const std::string& url_suggestion_input) {
|
||||
+ const std::string& url_suggestion) {
|
||||
DCHECK(!keyword_input.empty());
|
||||
TemplateURLService* template_url_service =
|
||||
TemplateURLServiceFactory::GetForProfile(profile_);
|
||||
std::string url_string = GetFixedUpSearchEngineUrl(
|
||||
url_input, template_url_service->search_terms_data());
|
||||
+ std::string url_suggestion = GetFixedUpURL(url_suggestion_input);
|
||||
DCHECK(!url_string.empty());
|
||||
|
||||
const TemplateURL* existing =
|
||||
@@ -77,12 +79,12 @@ void EditSearchEngineController::AcceptAddOrEdit(
|
||||
@@ -77,12 +78,12 @@ void EditSearchEngineController::AcceptAddOrEdit(
|
||||
DCHECK(template_url_);
|
||||
template_url_service->AddWithOverrides(
|
||||
base::WrapUnique(template_url_.get()), title_input, keyword_input,
|
||||
@@ -1387,7 +1381,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2931,6 +2931,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
@@ -2934,6 +2934,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
|
||||
{"searchEnginesQueryURLExplanation",
|
||||
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
|
||||
@@ -1396,7 +1390,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
|
||||
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
|
||||
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
|
||||
@@ -4262,7 +4264,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -4265,7 +4267,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
AddSiteSettingsStrings(html_source, profile);
|
||||
AddSiteDataPageStrings(html_source, profile);
|
||||
AddStorageAccessStrings(html_source);
|
||||
@@ -1942,6 +1936,15 @@ diff --git a/components/search_engines/android/template_url_service_android.cc b
|
||||
}
|
||||
}
|
||||
|
||||
@@ -485,7 +485,7 @@ bool TemplateUrlServiceAndroid::EditSearchEngine(
|
||||
}
|
||||
|
||||
template_url_service_->ResetTemplateURL(template_url, short_name, new_keyword,
|
||||
- search_url);
|
||||
+ search_url, /*suggestion_url*/ "");
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/components/search_engines/search_engines_switches.cc b/components/search_engines/search_engines_switches.cc
|
||||
--- a/components/search_engines/search_engines_switches.cc
|
||||
+++ b/components/search_engines/search_engines_switches.cc
|
||||
|
||||
@@ -495,7 +495,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
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
|
||||
@@ -6613,6 +6613,19 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -6610,6 +6610,19 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
Make sure a phone app is enabled on this device
|
||||
</message>
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
cc/resources/ui_resource_bitmap.cc | 2 +-
|
||||
chrome/android/BUILD.gn | 4 +-
|
||||
chrome/android/chrome_public_apk_tmpl.gni | 2 +-
|
||||
chrome/android/java/AndroidManifest.xml | 3 -
|
||||
.../java/res/layout/manage_space_activity.xml | 14 +++-
|
||||
.../java/res/xml/developer_preferences.xml | 6 ++
|
||||
.../browser/ChromeBaseAppCompatActivity.java | 2 +-
|
||||
@@ -41,6 +42,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../browser/tab/RequestDesktopUtils.java | 2 +-
|
||||
.../TabbedAppMenuPropertiesDelegate.java | 2 +-
|
||||
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
|
||||
.../browser/tasks/ReturnToChromeUtil.java | 2 +-
|
||||
.../browser/toolbar/ToolbarManager.java | 2 +-
|
||||
chrome/app/extensions_strings.grdp | 7 ++
|
||||
chrome/app/theme/theme_resources.grd | 4 +-
|
||||
chrome/browser/BUILD.gn | 6 +-
|
||||
@@ -60,12 +63,18 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../chrome_extensions_api_client_android.cc | 2 +-
|
||||
.../extensions/api/identity/web_auth_flow.cc | 6 +-
|
||||
.../extensions/api/identity/web_auth_flow.h | 4 +-
|
||||
.../extensions/api/tabs/tabs_event_router.cc | 3 +
|
||||
.../browser/extensions/api/tabs/tabs_api.cc | 3 +
|
||||
.../extensions/api/tabs/tabs_event_router.cc | 22 ++++++-
|
||||
.../browser_extension_window_controller.cc | 10 ++-
|
||||
.../browser_extension_window_controller.h | 6 +-
|
||||
.../extensions/extension_management.cc | 8 ++-
|
||||
.../browser/extensions/extension_management.h | 2 +-
|
||||
chrome/browser/extensions/extension_util.cc | 11 ++++
|
||||
.../chrome/browser/feed/FeedFeatures.java | 2 +-
|
||||
.../feedback/DeviceInfoFeedbackSource.java | 2 +-
|
||||
.../browser/flags/ChromeFeatureList.java | 6 +-
|
||||
.../browser/incognito/IncognitoUtils.java | 2 +-
|
||||
.../magic_stack/HomeModulesConfigManager.java | 2 +-
|
||||
chrome/browser/media/router/BUILD.gn | 4 +-
|
||||
.../browser/media/router/discovery/BUILD.gn | 2 +-
|
||||
.../media/router/media_router_feature.cc | 10 +--
|
||||
@@ -105,13 +114,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../extension_window_controller_bridge.h | 2 +-
|
||||
.../Enable-extensions-Android.grdp | 15 +++++
|
||||
.../Extensions-Android.grdp | 9 +++
|
||||
.../browser/ui/android/tab_model/tab_model.cc | 2 +-
|
||||
.../android/tab_model/tab_model_test_helper.h | 2 +-
|
||||
.../toolbar/java/res/layout/toolbar_phone.xml | 6 ++
|
||||
.../ExtensionToolbarCoordinatorImpl.java | 10 ++-
|
||||
.../ExtensionToolbarCoordinatorImpl.java | 12 +++-
|
||||
.../extensions/ExtensionsMenuCoordinator.java | 8 ++-
|
||||
.../ExtensionsMenuItemProperties.java | 5 +-
|
||||
.../ExtensionsMenuItemViewBinder.java | 2 +
|
||||
.../extensions/ExtensionsMenuMediator.java | 9 ++-
|
||||
chrome/browser/ui/browser_window/BUILD.gn | 2 +-
|
||||
.../ChromeAndroidTaskTrackerFactory.java | 2 +-
|
||||
chrome/browser/ui/prefs/BUILD.gn | 4 +-
|
||||
chrome/browser/ui/prefs/prefs_tab_helper.cc | 8 +--
|
||||
@@ -151,7 +162,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../render_widget_host_view_android.cc | 2 +-
|
||||
.../browser/ContentUiEventHandler.java | 7 +-
|
||||
.../SelectionPopupControllerImpl.java | 5 ++
|
||||
content/public/common/content_features.cc | 2 +-
|
||||
content/public/common/content_features.cc | 4 +-
|
||||
.../render_frame_media_playback_options.cc | 2 +-
|
||||
.../about_flags_cc/Extensions-Android.inc | 12 ++++
|
||||
.../about_flags_cc/Webstore-protection.inc | 8 +--
|
||||
@@ -172,12 +183,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../default_locale_handler.cc | 3 +
|
||||
.../renderer/bindings/api_binding_util.cc | 2 +-
|
||||
gpu/config/gpu_finch_features.cc | 4 +-
|
||||
.../chromium/media/AudioManagerAndroid.java | 2 +-
|
||||
net/features.gni | 4 +-
|
||||
skia/features.gni | 2 +-
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
.../renderer/modules/modules_initializer.cc | 4 +-
|
||||
tools/grit/grit_args.gni | 3 +-
|
||||
.../cpp_bundle_generator.py | 2 +-
|
||||
.../chromium/ui/base/SelectFileDialog.java | 2 +-
|
||||
.../ui/widget/PopupSpecCalculator.java | 9 ++-
|
||||
.../ui/test/util/UiDisableIfSkipCheck.java | 8 +--
|
||||
.../chromium/ui/test/util/UiRestriction.java | 4 +-
|
||||
@@ -189,7 +202,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
ui/webui/resources/cr_elements/BUILD.gn | 2 +-
|
||||
.../cr_elements/cr_toolbar/cr_toolbar.css | 3 +
|
||||
ui/webui/resources/css/BUILD.gn | 2 +-
|
||||
177 files changed, 587 insertions(+), 289 deletions(-)
|
||||
190 files changed, 631 insertions(+), 308 deletions(-)
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp
|
||||
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc
|
||||
@@ -429,6 +442,19 @@ diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_p
|
||||
"enable_screen_capture=$enable_screen_capture",
|
||||
"zygote_preload_class=org.chromium.content_public.app.ZygotePreload",
|
||||
]
|
||||
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
||||
--- a/chrome/android/java/AndroidManifest.xml
|
||||
+++ b/chrome/android/java/AndroidManifest.xml
|
||||
@@ -558,9 +558,6 @@ by a child template that "extends" this file.
|
||||
android:theme="@style/Theme.Chromium.TabbedMode"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTask"
|
||||
- {% if is_desktop_android == "true" %}
|
||||
- android:persistableMode="persistAcrossReboots"
|
||||
- {% endif %}
|
||||
{# We can only use blocks once in Jinja, for future substitutions we use
|
||||
self.supports_video_persistence(). #}
|
||||
{% block supports_video_persistence %}
|
||||
diff --git a/chrome/android/java/res/layout/manage_space_activity.xml b/chrome/android/java/res/layout/manage_space_activity.xml
|
||||
--- a/chrome/android/java/res/layout/manage_space_activity.xml
|
||||
+++ b/chrome/android/java/res/layout/manage_space_activity.xml
|
||||
@@ -652,7 +678,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -651,7 +651,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -650,7 +650,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
});
|
||||
|
||||
mCrossDeviceSettingImporter =
|
||||
@@ -661,7 +687,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
? null
|
||||
: new CrossDeviceSettingImporter(
|
||||
activityLifecycleDispatcher,
|
||||
@@ -2226,7 +2226,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -2225,7 +2225,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
} else if (id == R.id.toggle_bookmark_bar) {
|
||||
// isActivityStateBookmarkBarCompatible already checks the flag sAndroidBookmarkBar.
|
||||
if (BookmarkBarUtils.isActivityStateBookmarkBarCompatible(mActivity)) {
|
||||
@@ -670,6 +696,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
// Desktop uses the synced UserPref.
|
||||
BookmarkBarUtils.toggleUserPrefsShowBookmarksBar(
|
||||
mProfileSupplier.get(), /* fromKeyboardShortcut= */ true);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToChromeUtil.java
|
||||
@@ -133,7 +133,7 @@ public final class ReturnToChromeUtil {
|
||||
PersistableBundle persistableBundle,
|
||||
ChromeInactivityTracker inactivityTracker) {
|
||||
// If the device is android desktop, don't show a NTP homepage.
|
||||
- if (ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktop()) {
|
||||
+ if (ChromeFeatureList.sNtpSimplification.isEnabled() && DeviceInfo.isDesktopFalse()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
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
|
||||
@@ -2391,7 +2391,7 @@ public class ToolbarManager
|
||||
mActivityTabProvider.asObservable(),
|
||||
mTabCreatorManager.getTabCreator(false),
|
||||
getBrowsingModeThemeColorProvider(),
|
||||
- (ToolbarTablet) mToolbarLayout,
|
||||
+ mToolbarLayout,
|
||||
contextMenuPopulatorFactory,
|
||||
selectionDropdownMenuDelegate);
|
||||
if (mExtensionToolbarCoordinator != null) {
|
||||
diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp
|
||||
--- a/chrome/app/extensions_strings.grdp
|
||||
+++ b/chrome/app/extensions_strings.grdp
|
||||
@@ -714,7 +764,7 @@ diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resou
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -7471,7 +7471,7 @@ static_library("browser") {
|
||||
@@ -7469,7 +7469,7 @@ static_library("browser") {
|
||||
deps += [ "//media/mojo/mojom:remoting" ]
|
||||
}
|
||||
|
||||
@@ -723,7 +773,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
sources += [ "download/download_crx_util_android.cc" ]
|
||||
}
|
||||
|
||||
@@ -7815,7 +7815,7 @@ static_library("browser") {
|
||||
@@ -7813,7 +7813,7 @@ static_library("browser") {
|
||||
|
||||
# TODO(https://crbug.com/356905053): Add more dependencies here and merge this
|
||||
# block with the `enable_extensions` block above.
|
||||
@@ -732,7 +782,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
sources += [
|
||||
# TODO(https://crbug.com/356905053): These files are temporary workarounds
|
||||
# allow for a lightweight extensions runtime in desktop-android builds.
|
||||
@@ -8595,7 +8595,7 @@ static_library("browser_generated_files") {
|
||||
@@ -8593,7 +8593,7 @@ static_library("browser_generated_files") {
|
||||
[ "//chrome/browser/ui/webui/new_tab_page/foo:mojo_bindings" ]
|
||||
}
|
||||
}
|
||||
@@ -831,7 +881,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom
|
||||
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
||||
--- a/chrome/browser/browser_process_impl.cc
|
||||
+++ b/chrome/browser/browser_process_impl.cc
|
||||
@@ -394,7 +394,7 @@ void BrowserProcessImpl::Init() {
|
||||
@@ -396,7 +396,7 @@ void BrowserProcessImpl::Init() {
|
||||
// TODO(devlin): Move this block out of BrowserProcessImpl to somewhere like
|
||||
// //chrome/browser/initialize_extensions_browser_client, analogous to
|
||||
// `EnsureExtensionsClientInitialized()` above?
|
||||
@@ -1173,10 +1223,47 @@ diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.h b/chrome/bro
|
||||
base::WeakPtrFactory<WebAuthFlow> weak_factory_{this};
|
||||
#endif
|
||||
};
|
||||
diff --git a/chrome/browser/extensions/api/tabs/tabs_api.cc b/chrome/browser/extensions/api/tabs/tabs_api.cc
|
||||
--- a/chrome/browser/extensions/api/tabs/tabs_api.cc
|
||||
+++ b/chrome/browser/extensions/api/tabs/tabs_api.cc
|
||||
@@ -1693,6 +1693,9 @@ base::ListValue TabsQueryFunction::BuildTabList(
|
||||
}
|
||||
|
||||
TabListInterface* tab_list = TabListInterface::From(browser);
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (!tab_list) return result;
|
||||
+#endif
|
||||
for (int i = 0; i < tab_list->GetTabCount(); ++i) {
|
||||
if (tab_index > -1 && i != tab_index) {
|
||||
continue;
|
||||
diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.cc b/chrome/browser/extensions/api/tabs/tabs_event_router.cc
|
||||
--- a/chrome/browser/extensions/api/tabs/tabs_event_router.cc
|
||||
+++ b/chrome/browser/extensions/api/tabs/tabs_event_router.cc
|
||||
@@ -408,6 +408,9 @@ void TabsEventRouter::OnTabAdded(TabListInterface& tab_list,
|
||||
@@ -344,7 +344,12 @@ void TabsEventRouter::DispatchTabRemovedEvent(
|
||||
api::tabs::OnRemoved::kEventName, std::move(args),
|
||||
EventRouter::UserGestureState::kUnknown);
|
||||
|
||||
- UnregisterForTabNotifications(web_contents, /*expect_registered=*/true);
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ bool expect_registered = false;
|
||||
+#else
|
||||
+ bool expect_registered = true;
|
||||
+#endif
|
||||
+ UnregisterForTabNotifications(web_contents, expect_registered);
|
||||
}
|
||||
|
||||
void TabsEventRouter::DispatchTabDetachedEvent(
|
||||
@@ -392,6 +397,9 @@ void TabsEventRouter::UpdateTabIndices(TabListInterface& tab_list) {
|
||||
std::vector<tabs::TabInterface*> tabs = tab_list.GetAllTabs();
|
||||
for (size_t i = 0; i < tabs.size(); ++i) {
|
||||
content::WebContents* web_contents = tabs[i]->GetContents();
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (!web_contents) continue;
|
||||
+#endif
|
||||
CHECK(web_contents);
|
||||
TabEntry* tab_entry = GetTabEntry(*web_contents);
|
||||
if (!tab_entry) {
|
||||
@@ -408,6 +416,9 @@ void TabsEventRouter::OnTabAdded(TabListInterface& tab_list,
|
||||
tabs::TabInterface* tab,
|
||||
int index) {
|
||||
content::WebContents* contents = tab->GetContents();
|
||||
@@ -1186,6 +1273,111 @@ diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.cc b/chrome/br
|
||||
CHECK(contents);
|
||||
|
||||
// Adding a new tab can affect the indices of all existing tabs in the tab
|
||||
@@ -490,6 +501,9 @@ void TabsEventRouter::OnTabRemoved(TabListInterface& tab_list,
|
||||
tabs::TabInterface* tab,
|
||||
TabRemovedReason removed_reason) {
|
||||
content::WebContents* web_contents = tab->GetContents();
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (!web_contents) return;
|
||||
+#endif
|
||||
CHECK(web_contents);
|
||||
|
||||
// Removing a tab can affect the indices of all existing tabs in the tab
|
||||
@@ -513,6 +527,9 @@ void TabsEventRouter::OnTabMoved(TabListInterface& tab_list,
|
||||
int to_index) {
|
||||
CHECK(tab);
|
||||
content::WebContents* web_contents = tab->GetContents();
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (!web_contents) return;
|
||||
+#endif
|
||||
CHECK(web_contents);
|
||||
|
||||
// Moving tab can affect the indices of all existing tabs in the tab list
|
||||
@@ -551,6 +568,9 @@ void TabsEventRouter::OnHighlightedTabsChanged(
|
||||
|
||||
for (tabs::TabInterface* tab : highlighted_tabs) {
|
||||
content::WebContents* web_contents = tab->GetContents();
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (!web_contents) continue;
|
||||
+#endif
|
||||
CHECK(web_contents);
|
||||
|
||||
// All the tabs should be in the same window, so just grab the window ID and
|
||||
diff --git a/chrome/browser/extensions/browser_extension_window_controller.cc b/chrome/browser/extensions/browser_extension_window_controller.cc
|
||||
--- a/chrome/browser/extensions/browser_extension_window_controller.cc
|
||||
+++ b/chrome/browser/extensions/browser_extension_window_controller.cc
|
||||
@@ -105,11 +105,12 @@ BrowserExtensionWindowController::BrowserExtensionWindowController(
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
window_(CHECK_DEREF(browser->GetBrowserForMigrationOnly()->window())),
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
- tab_list_(CHECK_DEREF(TabListInterface::From(browser))),
|
||||
+ tab_list_(TabListInterface::From(browser)),
|
||||
session_id_(browser->GetSessionID()),
|
||||
window_type_(GetTabsWindowType(browser)),
|
||||
scoped_data_holder_(browser->GetUnownedUserDataHost(), *this) {
|
||||
WindowControllerList::GetInstance()->AddExtensionWindow(this);
|
||||
+ tab_list_->AddTabListInterfaceObserver(this);
|
||||
}
|
||||
|
||||
BrowserExtensionWindowController::~BrowserExtensionWindowController() {
|
||||
@@ -122,6 +123,11 @@ BrowserExtensionWindowController* BrowserExtensionWindowController::From(
|
||||
browser_window_interface->GetUnownedUserDataHost());
|
||||
}
|
||||
|
||||
+void BrowserExtensionWindowController::OnTabListDestroyed(TabListInterface& tab_list) {
|
||||
+ tab_list_->RemoveTabListInterfaceObserver(this);
|
||||
+ tab_list_ = nullptr;
|
||||
+}
|
||||
+
|
||||
int BrowserExtensionWindowController::GetWindowId() const {
|
||||
return static_cast<int>(session_id_.id());
|
||||
}
|
||||
@@ -268,7 +274,7 @@ base::ListValue BrowserExtensionWindowController::CreateTabList(
|
||||
ExtensionTabUtil::GetScrubTabBehavior(extension, context, web_contents);
|
||||
tab_list.Append(
|
||||
ExtensionTabUtil::CreateTabObject(web_contents, scrub_tab_behavior,
|
||||
- extension, &tab_list_.get(), i)
|
||||
+ extension, tab_list_, i)
|
||||
.ToValue());
|
||||
}
|
||||
|
||||
diff --git a/chrome/browser/extensions/browser_extension_window_controller.h b/chrome/browser/extensions/browser_extension_window_controller.h
|
||||
--- a/chrome/browser/extensions/browser_extension_window_controller.h
|
||||
+++ b/chrome/browser/extensions/browser_extension_window_controller.h
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "base/memory/raw_ref.h"
|
||||
#include "chrome/browser/extensions/window_controller.h"
|
||||
+#include "chrome/browser/tab_list/tab_list_interface_observer.h"
|
||||
#include "components/sessions/core/session_id.h"
|
||||
#include "extensions/buildflags/buildflags.h"
|
||||
#include "ui/base/unowned_user_data/scoped_unowned_user_data.h"
|
||||
@@ -27,7 +28,7 @@ namespace api::tabs {
|
||||
enum class WindowType;
|
||||
} // namespace api::tabs
|
||||
|
||||
-class BrowserExtensionWindowController : public WindowController {
|
||||
+class BrowserExtensionWindowController : public WindowController, TabListInterfaceObserver {
|
||||
public:
|
||||
DECLARE_USER_DATA(BrowserExtensionWindowController);
|
||||
|
||||
@@ -70,6 +71,7 @@ class BrowserExtensionWindowController : public WindowController {
|
||||
bool OpenOptionsPage(const Extension* extension,
|
||||
const GURL& url,
|
||||
bool open_in_tab) override;
|
||||
+ void OnTabListDestroyed(TabListInterface& tab_list) override;
|
||||
|
||||
private:
|
||||
const raw_ref<BrowserWindowInterface> browser_;
|
||||
@@ -78,7 +80,7 @@ class BrowserExtensionWindowController : public WindowController {
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
const raw_ref<BrowserWindow> window_;
|
||||
#endif
|
||||
- const raw_ref<TabListInterface> tab_list_;
|
||||
+ raw_ptr<TabListInterface> tab_list_;
|
||||
const SessionID session_id_;
|
||||
const api::tabs::WindowType window_type_;
|
||||
|
||||
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
|
||||
--- a/chrome/browser/extensions/extension_management.cc
|
||||
+++ b/chrome/browser/extensions/extension_management.cc
|
||||
@@ -1252,6 +1444,18 @@ diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extens
|
||||
Profile* profile = Profile::FromBrowserContext(context);
|
||||
return ExtensionsDisabledViaCommandLine(command_line) ||
|
||||
profile->GetPrefs()->GetBoolean(prefs::kDisableExtensions);
|
||||
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
|
||||
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
|
||||
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
|
||||
@@ -37,7 +37,7 @@ public final class FeedFeatures {
|
||||
* enterprise policy, or by flag. The value returned should not be cached as it may change.
|
||||
*/
|
||||
public static boolean isFeedEnabled(Profile profile) {
|
||||
- return (!ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktop())
|
||||
+ return (!ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktopCromite())
|
||||
&& FeedServiceBridge.isEnabled()
|
||||
&& isFeedEnabledByDSE(profile);
|
||||
}
|
||||
diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
|
||||
--- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
|
||||
+++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
|
||||
@@ -1294,6 +1498,30 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sReportNotificationContentDetectionData =
|
||||
newCachedFlag(
|
||||
REPORT_NOTIFICATION_CONTENT_DETECTION_DATA,
|
||||
diff --git a/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java b/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
|
||||
--- a/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
|
||||
+++ b/chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
|
||||
@@ -97,7 +97,7 @@ public class IncognitoUtils {
|
||||
// The feature should be ON for Android Desktop.
|
||||
// The screen size check is not reliable on Android Desktop emulator.
|
||||
sShouldOpenIncognitoAsWindowForTesting =
|
||||
- DeviceInfo.isDesktop()
|
||||
+ DeviceInfo.isDesktopFalse()
|
||||
|| ThreadUtils.runOnUiThreadBlocking(
|
||||
() ->
|
||||
DisplayUtil.isGlobalDefaultDisplayWithMinDiagonal(
|
||||
diff --git a/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesConfigManager.java b/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesConfigManager.java
|
||||
--- a/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesConfigManager.java
|
||||
+++ b/chrome/browser/magic_stack/android/java/src/org/chromium/chrome/browser/magic_stack/HomeModulesConfigManager.java
|
||||
@@ -89,7 +89,7 @@ public class HomeModulesConfigManager {
|
||||
*/
|
||||
public boolean getPrefModuleTypeEnabled(@ModuleType int moduleType) {
|
||||
boolean defaultEnabled =
|
||||
- !ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktop();
|
||||
+ !ChromeFeatureList.sNtpSimplification.isEnabled() || !DeviceInfo.isDesktopFalse();
|
||||
return mSharedPreferencesManager.readBoolean(
|
||||
getSettingsPreferenceKey(moduleType), defaultEnabled);
|
||||
}
|
||||
diff --git a/chrome/browser/media/router/BUILD.gn b/chrome/browser/media/router/BUILD.gn
|
||||
--- a/chrome/browser/media/router/BUILD.gn
|
||||
+++ b/chrome/browser/media/router/BUILD.gn
|
||||
@@ -1567,7 +1795,7 @@ diff --git a/chrome/browser/resources/extensions/item_list.css b/chrome/browser/
|
||||
#content-wrapper {
|
||||
min-width: var(--extensions-card-width);
|
||||
+<if expr="is_android">
|
||||
+ padding: 0px !important;
|
||||
+ padding: 0 !important;
|
||||
+</if>
|
||||
+<if expr="not is_android">
|
||||
padding: 24px 60px 64px;
|
||||
@@ -2086,6 +2314,18 @@ new file mode 100644
|
||||
+ Enable experimental support for extensions in Android
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/chrome/browser/ui/android/tab_model/tab_model.cc b/chrome/browser/ui/android/tab_model/tab_model.cc
|
||||
--- a/chrome/browser/ui/android/tab_model/tab_model.cc
|
||||
+++ b/chrome/browser/ui/android/tab_model/tab_model.cc
|
||||
@@ -173,7 +173,7 @@ bool TabListInterface::CanEditTabList(Profile& profile) {
|
||||
|
||||
// static
|
||||
bool TabModel::EnableBrowserWindowInterfaceMobile() {
|
||||
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
|
||||
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
|
||||
return true;
|
||||
#else // !BUILDFLAG(IS_DESKTOP_ANDROID)
|
||||
return base::FeatureList::IsEnabled(
|
||||
diff --git a/chrome/browser/ui/android/tab_model/tab_model_test_helper.h b/chrome/browser/ui/android/tab_model/tab_model_test_helper.h
|
||||
--- a/chrome/browser/ui/android/tab_model/tab_model_test_helper.h
|
||||
+++ b/chrome/browser/ui/android/tab_model/tab_model_test_helper.h
|
||||
@@ -2108,7 +2348,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_phone.xml
|
||||
+ <ViewStub
|
||||
+ android:id="@+id/extension_toolbar_container_stub"
|
||||
+ android:inflatedId="@+id/extension_toolbar_container"
|
||||
+ android:layout_width="56dp"
|
||||
+ android:layout_width="wrap_content"
|
||||
+ android:layout_height="match_parent" />
|
||||
+
|
||||
<org.chromium.chrome.browser.toolbar.top.ToggleTabStackButton
|
||||
@@ -2148,6 +2388,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -148,7 +156,7 @@ public class ExtensionToolbarCoordinatorImpl implements ExtensionToolbarCoordina
|
||||
}
|
||||
|
||||
private void setHasSpaceToShow(boolean hasSpaceToShow) {
|
||||
- int visibility = hasSpaceToShow ? View.VISIBLE : View.GONE;
|
||||
+ int visibility = View.VISIBLE;
|
||||
mContainer.findViewById(R.id.extensions_menu_button).setVisibility(visibility);
|
||||
mContainer.findViewById(R.id.extensions_divider).setVisibility(visibility);
|
||||
}
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/extensions/ExtensionsMenuCoordinator.java
|
||||
@@ -2254,10 +2503,22 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
onContextMenuButtonClicked((ListMenuButton) view, entry.id))
|
||||
+ .with(
|
||||
+ ExtensionsMenuItemProperties.ITEM_CLICK_LISTENER,
|
||||
+ (view) -> mExtensionActionListCoordinator.click(actionId))
|
||||
+ (view) -> mExtensionActionListCoordinator.openPopup(entry.id))
|
||||
.with(
|
||||
ExtensionsMenuItemProperties.CONTEXT_MENU_BUTTON_ICON,
|
||||
contextMenuIcon)
|
||||
diff --git a/chrome/browser/ui/browser_window/BUILD.gn b/chrome/browser/ui/browser_window/BUILD.gn
|
||||
--- a/chrome/browser/ui/browser_window/BUILD.gn
|
||||
+++ b/chrome/browser/ui/browser_window/BUILD.gn
|
||||
@@ -75,7 +75,7 @@ if (!is_android) {
|
||||
|
||||
# These tests don't work on mobile Android due to the lack of multi-window
|
||||
# support.
|
||||
-if (!is_android || is_desktop_android) {
|
||||
+if (!is_android || is_desktop_android_cromite) {
|
||||
source_set("browser_tests") {
|
||||
testonly = true
|
||||
sources = [ "internal/profile_browser_collection_browsertest.cc" ]
|
||||
diff --git a/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java b/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java
|
||||
--- a/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java
|
||||
+++ b/chrome/browser/ui/browser_window/internal/android/java/src/org/chromium/chrome/browser/ui/browser_window/ChromeAndroidTaskTrackerFactory.java
|
||||
@@ -3031,6 +3292,15 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#else
|
||||
base::FEATURE_ENABLED_BY_DEFAULT
|
||||
@@ -1488,7 +1488,7 @@ bool IsFluidResizeEnabled() {
|
||||
// dragging seen on tablets and desktops.
|
||||
return base::FeatureList::IsEnabled(features::kFluidResize) &&
|
||||
(base::android::device_info::is_tablet() ||
|
||||
- base::android::device_info::is_desktop());
|
||||
+ base::android::device_info::is_desktop_false());
|
||||
}
|
||||
#endif
|
||||
|
||||
diff --git a/content/public/renderer/render_frame_media_playback_options.cc b/content/public/renderer/render_frame_media_playback_options.cc
|
||||
--- a/content/public/renderer/render_frame_media_playback_options.cc
|
||||
+++ b/content/public/renderer/render_frame_media_playback_options.cc
|
||||
@@ -3403,6 +3673,18 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
||||
--- a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
||||
+++ b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
|
||||
@@ -186,7 +186,7 @@ class AudioManagerAndroid {
|
||||
// Set the audio capture policy based on the device class.
|
||||
// For non-desktop devices, allow capture only by the system.
|
||||
// For desktop devices, use the default behavior to allow capture by all apps.
|
||||
- if (!DeviceInfo.isDesktop()) {
|
||||
+ if (!DeviceInfo.isDesktopFalse()) {
|
||||
mAudioManager.setAllowedCapturePolicy(AudioAttributes.ALLOW_CAPTURE_BY_SYSTEM);
|
||||
}
|
||||
|
||||
diff --git a/net/features.gni b/net/features.gni
|
||||
--- a/net/features.gni
|
||||
+++ b/net/features.gni
|
||||
@@ -3487,6 +3769,18 @@ diff --git a/tools/json_schema_compiler/cpp_bundle_generator.py b/tools/json_sch
|
||||
elif platform == Platforms.LINUX:
|
||||
ifdefs.append('BUILDFLAG(IS_LINUX)')
|
||||
elif platform == Platforms.MAC:
|
||||
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
|
||||
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
|
||||
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
|
||||
@@ -650,7 +650,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
|
||||
// (e.g., MIME type */*), the Camera is often included in the app list by default, creating
|
||||
// a confusing experience for desktop users who expect a standard file picker.
|
||||
ArrayList<Intent> extraIntents = new ArrayList<>();
|
||||
- if (!DeviceInfo.isDesktop()) {
|
||||
+ if (!DeviceInfo.isDesktopFalse()) {
|
||||
if (shouldShowImageTypes() && camera != null) extraIntents.add(camera);
|
||||
if (shouldShowVideoTypes() && camcorder != null) extraIntents.add(camcorder);
|
||||
if (shouldShowAudioTypes() && soundRecorder != null) extraIntents.add(soundRecorder);
|
||||
diff --git a/ui/android/java/src/org/chromium/ui/widget/PopupSpecCalculator.java b/ui/android/java/src/org/chromium/ui/widget/PopupSpecCalculator.java
|
||||
--- a/ui/android/java/src/org/chromium/ui/widget/PopupSpecCalculator.java
|
||||
+++ b/ui/android/java/src/org/chromium/ui/widget/PopupSpecCalculator.java
|
||||
|
||||
@@ -83,7 +83,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../user_scripts/browser/user_script_loader.h | 168 ++++
|
||||
.../browser/user_script_pref_info.cc | 34 +
|
||||
.../browser/user_script_pref_info.h | 72 ++
|
||||
.../user_scripts/browser/user_script_prefs.cc | 275 ++++++
|
||||
.../user_scripts/browser/user_script_prefs.cc | 277 ++++++
|
||||
.../user_scripts/browser/user_script_prefs.h | 62 ++
|
||||
.../browser/userscripts_browser_client.cc | 78 ++
|
||||
.../browser/userscripts_browser_client.h | 62 ++
|
||||
@@ -123,7 +123,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../user_scripts/renderer/scripts_run_info.h | 70 ++
|
||||
.../renderer/user_script_injector.cc | 227 +++++
|
||||
.../renderer/user_script_injector.h | 86 ++
|
||||
.../user_scripts/renderer/user_script_set.cc | 264 ++++++
|
||||
.../user_scripts/renderer/user_script_set.cc | 260 ++++++
|
||||
.../user_scripts/renderer/user_script_set.h | 101 +++
|
||||
.../renderer/user_script_set_manager.cc | 65 ++
|
||||
.../renderer/user_script_set_manager.h | 56 ++
|
||||
@@ -136,7 +136,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../strings/userscripts_strings.grdp | 54 ++
|
||||
.../Experimental-user-scripts-support.inc | 13 +
|
||||
tools/gritsettings/resource_ids.spec | 6 +
|
||||
109 files changed, 10494 insertions(+), 3 deletions(-)
|
||||
109 files changed, 10492 insertions(+), 3 deletions(-)
|
||||
create mode 100644 components/user_scripts/README.md
|
||||
create mode 100755 components/user_scripts/android/BUILD.gn
|
||||
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml
|
||||
@@ -338,7 +338,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3583,6 +3583,13 @@ static_library("browser") {
|
||||
@@ -3581,6 +3581,13 @@ static_library("browser") {
|
||||
]
|
||||
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
|
||||
}
|
||||
@@ -5123,7 +5123,7 @@ diff --git a/components/user_scripts/browser/user_script_prefs.cc b/components/u
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/user_scripts/browser/user_script_prefs.cc
|
||||
@@ -0,0 +1,275 @@
|
||||
@@ -0,0 +1,277 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -5144,7 +5144,9 @@ new file mode 100644
|
||||
+#include <map>
|
||||
+
|
||||
+#include "base/values.h"
|
||||
+#include "base/logging.h"
|
||||
+#include "base/strings/string_number_conversions.h"
|
||||
+#include "base/strings/string_util.h"
|
||||
+#include "base/json/json_writer.h"
|
||||
+
|
||||
+#include "chrome/browser/browser_process.h"
|
||||
@@ -5214,14 +5216,14 @@ new file mode 100644
|
||||
+ DCHECK(dict);
|
||||
+ const std::string* value_str = dict->GetDict().FindString(key);
|
||||
+ if (!value_str) {
|
||||
+ VLOG(2) << "Can't find key in local pref dictionary. Invalid key: " << key
|
||||
+ << ".";
|
||||
+ LOG(INFO) << "Can't find key in local pref dictionary. Invalid key: " << key
|
||||
+ << ".";
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ if (!base::StringToInt64(*value_str, value)) {
|
||||
+ VLOG(2) << "Can't change string to int64_t. Invalid string value: "
|
||||
+ << *value_str << ".";
|
||||
+ LOG(INFO) << "Can't change string to int64_t. Invalid string value: "
|
||||
+ << *value_str << ".";
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
@@ -10533,7 +10535,7 @@ diff --git a/components/user_scripts/renderer/user_script_set.cc b/components/us
|
||||
new file mode 100755
|
||||
--- /dev/null
|
||||
+++ b/components/user_scripts/renderer/user_script_set.cc
|
||||
@@ -0,0 +1,264 @@
|
||||
@@ -0,0 +1,260 @@
|
||||
+// Copyright 2014 The Chromium Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
@@ -10664,19 +10666,15 @@ new file mode 100755
|
||||
+ // Note that this is a pointer into shared memory. We don't own it. It gets
|
||||
+ // cleared up when the last renderer or browser process drops their
|
||||
+ // reference to the shared memory.
|
||||
+ for (size_t j = 0; j < script->js_scripts().size(); ++j) {
|
||||
+ const char* body = NULL;
|
||||
+ size_t body_length = 0;
|
||||
+ CHECK(iter.ReadData(&body, &body_length));
|
||||
+ script->js_scripts()[j]->set_external_content(
|
||||
+ std::string_view(body, body_length));
|
||||
+ for (const auto& js_script : script->js_scripts()) {
|
||||
+ std::string_view body;
|
||||
+ CHECK(iter.ReadStringPiece(&body));
|
||||
+ js_script->set_external_content(body);
|
||||
+ }
|
||||
+ for (size_t j = 0; j < script->css_scripts().size(); ++j) {
|
||||
+ const char* body = NULL;
|
||||
+ size_t body_length = 0;
|
||||
+ CHECK(iter.ReadData(&body, &body_length));
|
||||
+ script->css_scripts()[j]->set_external_content(
|
||||
+ std::string_view(body, body_length));
|
||||
+ for (const auto& css_script : script->css_scripts()) {
|
||||
+ std::string_view body;
|
||||
+ CHECK(iter.ReadStringPiece(&body));
|
||||
+ css_script->set_external_content(body);
|
||||
+ }
|
||||
+
|
||||
+ if (only_inject_incognito && !script->is_incognito_enabled())
|
||||
|
||||
@@ -1796,7 +1796,7 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -272,6 +272,10 @@ function createRoutes(): SettingsRoutes {
|
||||
@@ -274,6 +274,10 @@ function createRoutes(): SettingsRoutes {
|
||||
'/onStartup', 'onStartup', loadTimeData.getString('onStartup'));
|
||||
}
|
||||
|
||||
|
||||
@@ -33,8 +33,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../history/core/browser/history_service.h | 8 +++
|
||||
components/history/core/common/pref_names.cc | 4 ++
|
||||
components/history/core/common/pref_names.h | 1 +
|
||||
.../history_embeddings/core/sql_database.cc | 2 +-
|
||||
.../omnibox/browser/shortcuts_backend.cc | 4 +-
|
||||
24 files changed, 263 insertions(+), 15 deletions(-)
|
||||
25 files changed, 264 insertions(+), 16 deletions(-)
|
||||
create mode 100644 components/cromite_components_strings_grd/History-number-of-days-privacy-setting.grdp
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -662,6 +663,18 @@ diff --git a/components/history/core/common/pref_names.h b/components/history/co
|
||||
extern const char kAllowDeletingBrowserHistory[];
|
||||
|
||||
} // namespace prefs
|
||||
diff --git a/components/history_embeddings/core/sql_database.cc b/components/history_embeddings/core/sql_database.cc
|
||||
--- a/components/history_embeddings/core/sql_database.cc
|
||||
+++ b/components/history_embeddings/core/sql_database.cc
|
||||
@@ -183,7 +183,7 @@ sql::InitStatus SqlDatabase::InitInternal(const base::FilePath& storage_dir,
|
||||
// Chrome is running, but it's possible to miss events or start Chrome after
|
||||
// some down time, so this prevents long term accidental retention edge cases.
|
||||
DeleteExpiredData(/*expiration_time=*/base::Time::Now() -
|
||||
- base::Days(history::HistoryBackend::kExpireDaysThreshold));
|
||||
+ base::Days(/*kExpireDaysThreshold*/ 90));
|
||||
|
||||
// It's possible to get here without `embedder_metadata_` if forcing for
|
||||
// data deletion. In that case, don't check or change meta table.
|
||||
diff --git a/components/omnibox/browser/shortcuts_backend.cc b/components/omnibox/browser/shortcuts_backend.cc
|
||||
--- a/components/omnibox/browser/shortcuts_backend.cc
|
||||
+++ b/components/omnibox/browser/shortcuts_backend.cc
|
||||
|
||||
@@ -60,7 +60,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2419,6 +2419,7 @@ static_library("browser") {
|
||||
@@ -2417,6 +2417,7 @@ static_library("browser") {
|
||||
"//third_party/ungoogled:switches",
|
||||
"//services/device/public/mojom",
|
||||
"//services/device/public/mojom:usb",
|
||||
|
||||
@@ -116,7 +116,7 @@ diff --git a/third_party/blink/renderer/core/events/keyboard_event.cc b/third_pa
|
||||
+ is_editable = IsEditable(*node) ||
|
||||
+ (text_control && !text_control->IsDisabledOrReadOnly()) ||
|
||||
+ (element &&
|
||||
+ EqualIgnoringASCIICase(
|
||||
+ EqualIgnoringAsciiCase(
|
||||
+ element->FastGetAttribute(html_names::kRoleAttr), "textbox"));
|
||||
+ }
|
||||
+ }
|
||||
|
||||
@@ -10,20 +10,20 @@ under enable-log-dangling-attributes about flag
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
...gling-attributes-in-some-html-elements.inc | 8 +++++++
|
||||
.../blink/renderer/core/dom/document.cc | 18 +++++++++++++++
|
||||
.../blink/renderer/core/dom/element.cc | 20 ++++++++++++++++-
|
||||
.../blink/renderer/core/dom/document.cc | 18 ++++++++++++++++
|
||||
.../blink/renderer/core/dom/element.cc | 20 +++++++++++++++++-
|
||||
third_party/blink/renderer/core/dom/element.h | 3 ++-
|
||||
.../editing/serializers/markup_formatter.cc | 12 ++++++++++
|
||||
.../editing/serializers/markup_formatter.cc | 12 +++++++++++
|
||||
.../core/html/forms/html_form_element.cc | 2 +-
|
||||
.../renderer/core/html/html_base_element.cc | 6 +++++
|
||||
.../renderer/core/html/html_base_element.cc | 6 ++++++
|
||||
.../renderer/core/html/html_base_element.h | 2 ++
|
||||
.../core/html/html_frame_element_base.cc | 10 +++++++++
|
||||
.../renderer/core/html/html_iframe_element.cc | 16 ++++++++++++++
|
||||
.../renderer/core/html/html_iframe_element.h | 2 ++
|
||||
.../core/loader/frame_load_request.cc | 9 ++++++++
|
||||
.../blink/renderer/core/page/frame_tree.cc | 22 +++++++++++++++++++
|
||||
.../platform/runtime_enabled_features.json5 | 6 +++++
|
||||
14 files changed, 133 insertions(+), 3 deletions(-)
|
||||
.../blink/renderer/core/page/frame_tree.cc | 21 +++++++++++++++++++
|
||||
.../platform/runtime_enabled_features.json5 | 6 ++++++
|
||||
14 files changed, 132 insertions(+), 3 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Log-dangling-attributes-in-some-html-elements.inc
|
||||
|
||||
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Log-dangling-attributes-in-some-html-elements.inc b/cromite_flags/chrome/browser/about_flags_cc/Log-dangling-attributes-in-some-html-elements.inc
|
||||
@@ -76,7 +76,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
|
||||
UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget);
|
||||
}
|
||||
base_target_ = *target;
|
||||
+ if (target->Contains('\n') || target->Contains('\r') || target->Contains('<'))
|
||||
+ if (target->contains('\n') || target->contains('\r') || target->contains('<'))
|
||||
+ base_target_ = g_null_atom;
|
||||
} else {
|
||||
base_target_ = g_null_atom;
|
||||
@@ -92,7 +92,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
|
||||
+ Vector<Attribute, kAttributePrealloc>& attribute_vector) {
|
||||
+ for (auto& attribute : attribute_vector) {
|
||||
+ auto value = attribute.Value();
|
||||
+ if (value.Contains('\n') || value.Contains('<')) {
|
||||
+ if (value.contains('\n') || value.contains('<')) {
|
||||
+ if (RuntimeEnabledFeatures::LogDanglingAttributesEnabled()) {
|
||||
+ GetDocument().AddConsoleMessage(MakeGarbageCollected<ConsoleMessage>(
|
||||
+ mojom::ConsoleMessageSource::kSecurity,
|
||||
@@ -201,7 +201,7 @@ diff --git a/third_party/blink/renderer/core/html/html_frame_element_base.cc b/t
|
||||
frame_name_ = value;
|
||||
} else if (name == html_names::kNameAttr) {
|
||||
frame_name_ = value;
|
||||
+ if (value.Contains('\n') || value.Contains('<')) {
|
||||
+ if (value.contains('\n') || value.contains('<')) {
|
||||
+ if (RuntimeEnabledFeatures::LogDanglingAttributesEnabled()) {
|
||||
+ GetDocument().AddConsoleMessage(MakeGarbageCollected<ConsoleMessage>(
|
||||
+ mojom::ConsoleMessageSource::kSecurity,
|
||||
@@ -234,7 +234,7 @@ diff --git a/third_party/blink/renderer/core/html/html_iframe_element.cc b/third
|
||||
}
|
||||
AtomicString old_name = name_;
|
||||
name_ = value;
|
||||
+ if (name_.Contains('\n') || name_.Contains('<')) {
|
||||
+ if (name_.contains('\n') || name_.contains('<')) {
|
||||
+ if (RuntimeEnabledFeatures::LogDanglingAttributesEnabled()) {
|
||||
+ GetDocument().AddConsoleMessage(MakeGarbageCollected<ConsoleMessage>(
|
||||
+ mojom::ConsoleMessageSource::kSecurity,
|
||||
@@ -298,20 +298,19 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
|
||||
#include "third_party/blink/renderer/core/frame/frame_client.h"
|
||||
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
|
||||
#include "third_party/blink/renderer/core/frame/local_frame.h"
|
||||
@@ -42,6 +45,12 @@ namespace {
|
||||
@@ -42,6 +45,11 @@ namespace {
|
||||
|
||||
const unsigned kInvalidChildCount = ~0U;
|
||||
|
||||
+bool ContainsNewLineAndLessThan(const AtomicString& target) {
|
||||
+ return (target.Contains('\n') || target.Contains('\r') ||
|
||||
+ target.Contains('\t')) &&
|
||||
+ target.Contains('<');
|
||||
+ return (target.contains('\n') || target.contains('\r') ||
|
||||
+ target.contains('\t')) && target.contains('<');
|
||||
+}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
FrameTree::FrameTree(Frame* this_frame)
|
||||
@@ -212,6 +221,19 @@ FrameTree::FindResult FrameTree::FindOrCreateFrameForNavigation(
|
||||
@@ -212,6 +220,19 @@ FrameTree::FindResult FrameTree::FindOrCreateFrameForNavigation(
|
||||
if (request.GetNavigationPolicy() != kNavigationPolicyCurrentTab)
|
||||
return FindResult(current_frame, false);
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
cc/base/features.cc | 8 +
|
||||
cc/base/features.h | 2 +
|
||||
cc/input/browser_controls_offset_manager.cc | 6 +
|
||||
cc/trees/layer_tree_host_impl.cc | 3 +
|
||||
cc/input/browser_controls_offset_manager.cc | 8 +
|
||||
cc/trees/layer_tree_host_impl.cc | 5 +-
|
||||
.../tab_management/TabGroupUiCoordinator.java | 8 +-
|
||||
.../tab_management/TabGroupUiMediator.java | 52 +++++-
|
||||
.../tab_management/TabGroupUiProperties.java | 5 +
|
||||
@@ -36,12 +36,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../layouts/LayoutManagerChrome.java | 12 +-
|
||||
.../layouts/LayoutManagerChromeTablet.java | 7 +-
|
||||
.../layouts/ToolbarSwipeLayout.java | 14 +-
|
||||
.../layouts/phone/NewTabAnimationLayout.java | 7 +-
|
||||
.../overlays/strip/ScrollDelegate.java | 2 +-
|
||||
.../strip/StripLayoutHelperManager.java | 39 ++++-
|
||||
.../strip/StripLayoutHelperManager.java | 43 ++++-
|
||||
.../scene_layer/StaticTabSceneLayer.java | 7 +-
|
||||
.../scene_layer/TabStripSceneLayer.java | 20 ++-
|
||||
.../browser/findinpage/FindToolbarTablet.java | 10 +-
|
||||
.../fullscreen/BrowserControlsManager.java | 12 ++
|
||||
.../fullscreen/BrowserControlsManager.java | 17 +-
|
||||
.../messages/MessageContainerCoordinator.java | 15 +-
|
||||
.../modaldialog/ChromeTabModalPresenter.java | 2 +-
|
||||
.../chrome/browser/ntp/NewTabPage.java | 14 +-
|
||||
@@ -55,11 +56,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/toolbar/ToolbarManager.java | 37 ++++-
|
||||
.../chrome/browser/ui/BottomContainer.java | 18 +++
|
||||
.../ui/system/StatusBarColorController.java | 8 +
|
||||
.../android/compositor/layer/toolbar_layer.cc | 5 +
|
||||
.../android/compositor/layer/toolbar_layer.cc | 6 +-
|
||||
.../scene_layer/tab_strip_scene_layer.cc | 16 +-
|
||||
.../BottomControlsStacker.java | 2 +-
|
||||
.../BrowserControlsMarginAdapter.java | 5 +
|
||||
.../BrowserControlsStateProvider.java | 6 +
|
||||
.../BrowserControlsUtils.java | 2 +-
|
||||
.../browser_controls/TopControlsStacker.java | 6 +-
|
||||
.../browser/feed/FeedListContentManager.java | 6 +-
|
||||
.../flags/android/chrome_feature_list.cc | 3 +
|
||||
.../browser/flags/ChromeFeatureList.java | 10 ++
|
||||
@@ -76,10 +79,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../ui/edge_to_edge/EdgeToEdgeUtils.java | 2 +
|
||||
...rredIMEWindowInsetApplicationCallback.java | 7 +
|
||||
.../omnibox/LocationBarCoordinator.java | 1 +
|
||||
...mniboxSuggestionsDropdownEmbedderImpl.java | 31 ++++
|
||||
...mniboxSuggestionsDropdownEmbedderImpl.java | 35 +++++
|
||||
.../suggestions/AutocompleteCoordinator.java | 16 ++
|
||||
.../suggestions/AutocompleteMediator.java | 6 +-
|
||||
.../OmniboxSuggestionsDropdown.java | 5 +
|
||||
.../OmniboxSuggestionsDropdown.java | 10 +-
|
||||
.../OmniboxSuggestionsDropdownEmbedder.java | 6 +
|
||||
.../base/BaseSuggestionViewBinder.java | 7 +
|
||||
.../strings/android_chrome_strings.grd | 6 +
|
||||
@@ -92,18 +95,20 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../bottom/BottomControlsProperties.java | 6 +-
|
||||
.../bottom/BottomControlsViewBinder.java | 2 +
|
||||
.../bottom/ScrollingBottomViewSceneLayer.java | 19 ++-
|
||||
.../settings/AddressBarPreference.java | 1 +
|
||||
.../toolbar/top/ToolbarControlContainer.java | 9 ++
|
||||
.../top/TopToolbarOverlayCoordinator.java | 10 ++
|
||||
.../toolbar/top/TopToolbarCoordinator.java | 2 +-
|
||||
.../top/TopToolbarOverlayCoordinator.java | 12 +-
|
||||
.../top/TopToolbarOverlayProperties.java | 8 +-
|
||||
.../toolbar/top/TopToolbarSceneLayer.java | 10 +-
|
||||
.../toolbar/top/TopToolbarSceneLayer.java | 14 +-
|
||||
.../res/xml/accessibility_preferences.xml | 8 +
|
||||
.../accessibility/AccessibilitySettings.java | 27 ++++
|
||||
.../AccessibilitySettingsDelegate.java | 8 +
|
||||
components/viz/common/features.cc | 3 +-
|
||||
components/viz/common/features.cc | 1 +
|
||||
.../render_widget_host_view_android.cc | 3 +
|
||||
.../Move-navigation-bar-to-bottom.inc | 17 ++
|
||||
.../renderer/core/frame/viewport_data.cc | 1 +
|
||||
90 files changed, 1056 insertions(+), 89 deletions(-)
|
||||
95 files changed, 1087 insertions(+), 103 deletions(-)
|
||||
create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java
|
||||
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc
|
||||
|
||||
@@ -148,7 +153,16 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont
|
||||
|
||||
namespace cc {
|
||||
namespace {
|
||||
@@ -676,6 +677,11 @@ gfx::Vector2dF BrowserControlsOffsetManager::ScrollByPrecise(
|
||||
@@ -94,6 +95,8 @@ BrowserControlsOffsetManager::BrowserControlsOffsetManager(
|
||||
BrowserControlsOffsetManager::~BrowserControlsOffsetManager() = default;
|
||||
|
||||
float BrowserControlsOffsetManager::ControlsTopOffset() const {
|
||||
+ if (base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom))
|
||||
+ return 0;
|
||||
return ContentTopOffset() - TopControlsHeight();
|
||||
}
|
||||
|
||||
@@ -676,6 +679,11 @@ gfx::Vector2dF BrowserControlsOffsetManager::ScrollByPrecise(
|
||||
// content. If the top controls have no height, the content should scroll
|
||||
// immediately.
|
||||
gfx::Vector2dF applied_delta(0.f, old_top_offset - ContentTopOffset());
|
||||
@@ -163,12 +177,28 @@ 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
|
||||
@@ -5408,6 +5408,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
|
||||
@@ -2753,7 +2753,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
|
||||
browser_controls_offset_manager_->TopControlsShownRatio();
|
||||
metadata.top_controls_visible_height.emplace(visible_height);
|
||||
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
+#if BUILDFLAG(IS_ANDROID) && false
|
||||
const viz::OffsetTag& top_controls_offset_tag =
|
||||
browser_controls_offset_manager_->TopControlsOffsetTag();
|
||||
const viz::OffsetTag& content_offset_tag =
|
||||
@@ -2791,7 +2791,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
+#if BUILDFLAG(IS_ANDROID) && false
|
||||
if (browser_controls_offset_manager_->BottomControlsHeight() > 0) {
|
||||
const viz::OffsetTag& bottom_controls_offset_tag =
|
||||
browser_controls_offset_manager_->BottomControlsOffsetTag();
|
||||
@@ -5408,6 +5408,7 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
|
||||
return false;
|
||||
}
|
||||
|
||||
+ if (base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom))
|
||||
+ return false;
|
||||
+
|
||||
// This counter-scrolls the page to keep the appearance of the page content
|
||||
// being fixed while the browser controls animate.
|
||||
@@ -1030,6 +1060,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
|
||||
needUpdate = updateSnap(dt, mRightTab) || needUpdate;
|
||||
} else if (mRightToolbarOverlay != null) {
|
||||
mRightToolbarOverlay.setManualVisibility(false);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewTabAnimationLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewTabAnimationLayout.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewTabAnimationLayout.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/NewTabAnimationLayout.java
|
||||
@@ -461,6 +461,10 @@ public class NewTabAnimationLayout extends Layout {
|
||||
|
||||
boolean oldTabHasTopToolbar = ToolbarPositionController.shouldShowToolbarOnTop(oldTab);
|
||||
boolean newTabHasTopToolbar = ToolbarPositionController.shouldShowToolbarOnTop(newTab);
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ oldTabHasTopToolbar = false;
|
||||
+ newTabHasTopToolbar = false;
|
||||
+ }
|
||||
|
||||
if (oldTabHasTopToolbar && newTabHasTopToolbar) {
|
||||
return RectStart.TOP_TOOLBAR;
|
||||
@@ -697,7 +701,8 @@ public class NewTabAnimationLayout extends Layout {
|
||||
int[] toolbarPosition = new int[2];
|
||||
mAnimationHostView.findViewById(R.id.toolbar).getLocationInWindow(toolbarPosition);
|
||||
boolean isTopToolbar =
|
||||
- isRegularNtp || ToolbarPositionController.shouldShowToolbarOnTop(animationTab);
|
||||
+ isRegularNtp || ToolbarPositionController.shouldShowToolbarOnTop(animationTab)
|
||||
+ || !ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled();
|
||||
int toolbarHeight = toolbarPosition[1] + getTopInsetIfNeeded(animationTab);
|
||||
|
||||
Rect compositorViewRect = new Rect();
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/ScrollDelegate.java
|
||||
@@ -1045,16 +1099,17 @@ 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
|
||||
@@ -127,6 +127,8 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
@@ -127,6 +127,9 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
import org.chromium.ui.resources.ResourceManager;
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
import org.chromium.url.GURL;
|
||||
+import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+import java.util.function.Supplier;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -309,12 +311,17 @@ public class StripLayoutHelperManager
|
||||
@@ -309,12 +312,17 @@ public class StripLayoutHelperManager
|
||||
// Drag-Drop
|
||||
private @Nullable TabStripDragHandler mTabStripDragHandler;
|
||||
|
||||
@@ -1072,7 +1127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
if (mGlicButton != null && mGlicButton.onDown(x, y, buttons)) {
|
||||
return;
|
||||
}
|
||||
@@ -346,6 +353,7 @@ public class StripLayoutHelperManager
|
||||
@@ -346,6 +354,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
}
|
||||
@@ -1080,7 +1135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
if (mGlicButton != null) {
|
||||
mGlicButton.drag(x, y);
|
||||
}
|
||||
@@ -360,6 +368,7 @@ public class StripLayoutHelperManager
|
||||
@@ -360,6 +369,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
}
|
||||
@@ -1088,7 +1143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
long time = time();
|
||||
if (mGlicButton != null && mGlicButton.click(x, y, buttons)) {
|
||||
mGlicButton.handleClick(time, buttons, modifiers);
|
||||
@@ -377,6 +386,7 @@ public class StripLayoutHelperManager
|
||||
@@ -377,6 +387,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
}
|
||||
@@ -1096,7 +1151,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
getActiveStripLayoutHelper().fling(time(), velocityX);
|
||||
}
|
||||
|
||||
@@ -415,6 +425,7 @@ public class StripLayoutHelperManager
|
||||
@@ -415,6 +426,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
}
|
||||
@@ -1104,7 +1159,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
getActiveStripLayoutHelper().onHoverMove(x, y);
|
||||
}
|
||||
|
||||
@@ -537,7 +548,8 @@ public class StripLayoutHelperManager
|
||||
@@ -537,7 +549,8 @@ public class StripLayoutHelperManager
|
||||
@Nullable NonNullObservableSupplier<Boolean> xrSpaceModeObservableSupplier,
|
||||
BackPressManager backPressManager,
|
||||
SnackbarManager snackbarManager,
|
||||
@@ -1114,7 +1169,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
mContext = context;
|
||||
Resources res = context.getResources();
|
||||
mManagerHost = managerHost;
|
||||
@@ -695,6 +707,8 @@ public class StripLayoutHelperManager
|
||||
@@ -695,6 +708,8 @@ public class StripLayoutHelperManager
|
||||
shareDelegateSupplier,
|
||||
TabGroupListBottomSheetCoordinator::new,
|
||||
snackbarManager);
|
||||
@@ -1123,7 +1178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
|
||||
tabHoverCardViewStub.setOnInflateListener(
|
||||
(viewStub, view) -> {
|
||||
@@ -1042,6 +1056,7 @@ public class StripLayoutHelperManager
|
||||
@@ -1042,6 +1057,7 @@ public class StripLayoutHelperManager
|
||||
RectF viewport, RectF visibleViewport, ResourceManager resourceManager) {
|
||||
assert mTabStripTreeProvider != null;
|
||||
mResourceManager = resourceManager;
|
||||
@@ -1131,7 +1186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
|
||||
// When refactor is enabled, the mSceneLayerYOffset / mSceneLayerVisibleHeight wil be
|
||||
// calculated externally, so we can skip the adjustment here.
|
||||
@@ -1085,6 +1100,10 @@ public class StripLayoutHelperManager
|
||||
@@ -1085,6 +1101,10 @@ public class StripLayoutHelperManager
|
||||
getStripTransitionScrimColor(), mStripTransitionScrimOpacity);
|
||||
}
|
||||
|
||||
@@ -1142,7 +1197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
mTabStripTreeProvider.pushAndUpdateStrip(
|
||||
this,
|
||||
assertNonNull(mLayerTitleCacheSupplier.get()),
|
||||
@@ -1098,7 +1117,9 @@ public class StripLayoutHelperManager
|
||||
@@ -1098,7 +1118,9 @@ public class StripLayoutHelperManager
|
||||
mStripTransitionScrimOpacity,
|
||||
getActiveStripLayoutHelper().getLeftPaddingToDraw(),
|
||||
getActiveStripLayoutHelper().getRightPaddingToDraw(),
|
||||
@@ -1153,7 +1208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
}
|
||||
|
||||
private float getVisibleHeightDp(float topControlOffsetDp) {
|
||||
@@ -1199,11 +1220,21 @@ public class StripLayoutHelperManager
|
||||
@@ -1199,11 +1221,21 @@ public class StripLayoutHelperManager
|
||||
mRightPadding,
|
||||
mTopPadding);
|
||||
|
||||
@@ -1177,6 +1232,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
// Avoid handling motion events when invisible strip state persists after a size change.
|
||||
if (mEventFilter != null
|
||||
&& getStripVisibilityStateSupplier().get() == StripVisibilityState.VISIBLE) {
|
||||
@@ -1240,7 +1272,8 @@ public class StripLayoutHelperManager
|
||||
|
||||
// TODO(crbug/331490430): Revisit how we position the scrollable strip.
|
||||
mTopPadding = Math.max(0, mHeight - mScrollableStripHeight);
|
||||
- onSizeChanged(mWidth, mHeight, mLastVisibleViewportOffsetY, mOrientation);
|
||||
+ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
|
||||
+ onSizeChanged(mWidth, mHeight, mLastVisibleViewportOffsetY, mOrientation);
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
@@ -1303,6 +1368,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
|
||||
return getTopControlsHeight() + getTopControlOffset();
|
||||
}
|
||||
|
||||
@@ -931,7 +943,10 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
|
||||
TraceEvent.scoped("BrowserControlsManager.notifyControlOffsetChanged")) {
|
||||
scheduleVisibilityUpdate();
|
||||
if (shouldShowAndroidControls() && mControlsPosition == ControlsPosition.TOP) {
|
||||
- mControlContainer.getView().setTranslationY(getTopControlOffset());
|
||||
+ var topControlOffset = getTopControlOffset();
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
|
||||
+ topControlOffset = -topControlOffset;
|
||||
+ mControlContainer.getView().setTranslationY(topControlOffset);
|
||||
}
|
||||
|
||||
// Explicitly tell the compositor to draw again. Should be |true| only when the android
|
||||
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
|
||||
@@ -1793,17 +1870,18 @@ diff --git a/chrome/browser/android/compositor/layer/toolbar_layer.cc b/chrome/b
|
||||
#include "cc/resources/scoped_ui_resource.h"
|
||||
#include "cc/slim/layer.h"
|
||||
#include "cc/slim/nine_patch_layer.h"
|
||||
@@ -159,6 +160,10 @@ void ToolbarLayer::PushResource(int toolbar_resource_id,
|
||||
y_offset = legacy_content_offset - layer_->bounds().height();
|
||||
}
|
||||
|
||||
@@ -153,7 +154,10 @@ void ToolbarLayer::PushResource(int toolbar_resource_id,
|
||||
// always at the bottom of the browser controls. This is no longer the case
|
||||
// as for 2025.
|
||||
// TODO(https://crbug.com/454338286): Rename / remove in favor of y_Offset.
|
||||
- if (!base::FeatureList::IsEnabled(chrome::android::kTopControlsRefactor) ||
|
||||
+ if (base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom)) {
|
||||
+ y_offset = legacy_content_offset + layer_->bounds().height();
|
||||
+ y_offset = y_offset + legacy_content_offset - layer_->bounds().height() - resource->shadow_height();
|
||||
+ }
|
||||
+
|
||||
layer_->SetPosition(gfx::PointF(x_offset, y_offset));
|
||||
layer_->SetOffsetTag(offset_tag);
|
||||
}
|
||||
+ else if (!base::FeatureList::IsEnabled(chrome::android::kTopControlsRefactor) ||
|
||||
!base::FeatureList::IsEnabled(chrome::android::kTopControlsRefactorV2) ||
|
||||
kInvalidContentOffset != legacy_content_offset) {
|
||||
y_offset = legacy_content_offset - layer_->bounds().height();
|
||||
diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc b/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc
|
||||
--- a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc
|
||||
+++ b/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer.cc
|
||||
@@ -1901,6 +1979,41 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom
|
||||
/**
|
||||
* @return The minimum visible height top controls can have in pixels.
|
||||
*/
|
||||
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsUtils.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsUtils.java
|
||||
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsUtils.java
|
||||
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsUtils.java
|
||||
@@ -83,7 +83,7 @@ public class BrowserControlsUtils {
|
||||
* @return Whether the browser controls should be drawn as a texture.
|
||||
*/
|
||||
public static boolean drawControlsAsTexture(BrowserControlsStateProvider stateProvider) {
|
||||
- return stateProvider.getBrowserControlHiddenRatio() > 0;
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/TopControlsStacker.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/TopControlsStacker.java
|
||||
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/TopControlsStacker.java
|
||||
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/TopControlsStacker.java
|
||||
@@ -549,7 +549,7 @@ public class TopControlsStacker implements BrowserControlsStateProvider.Observer
|
||||
// mLayerYOffsets has the visually accurate offsets. This is needed so we can handle
|
||||
// offset updates due to constraint changes.
|
||||
if (!offsetsAppliedByBrowser) {
|
||||
- yOffset = mLayerRestingOffsets.get(type);
|
||||
+ //yOffset = mLayerRestingOffsets.get(type);
|
||||
}
|
||||
}
|
||||
layer.onBrowserControlsOffsetUpdate(yOffset, controlsAtResting);
|
||||
@@ -606,8 +606,8 @@ public class TopControlsStacker implements BrowserControlsStateProvider.Observer
|
||||
// To avoid scrollable layers keeps getting update after it is scrolled off,
|
||||
// limit the yOffset, so the scrollable layer's bottom is aligned with
|
||||
// the bottom of the last non-scrollable layer (nonScrollableYOffset).
|
||||
- int optimizedYOffset =
|
||||
- Math.max(scrollableYOffset, nonScrollableYOffset - layerHeight);
|
||||
+ int optimizedYOffset = scrollableYOffset;
|
||||
+ //Math.max(scrollableYOffset, nonScrollableYOffset - layerHeight);
|
||||
yOffsetOfLayers.put(type, optimizedYOffset);
|
||||
scrollableYOffset += layerHeight;
|
||||
}
|
||||
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedListContentManager.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedListContentManager.java
|
||||
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedListContentManager.java
|
||||
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedListContentManager.java
|
||||
@@ -2465,21 +2578,25 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
}
|
||||
|
||||
if (isTablet()) {
|
||||
@@ -368,6 +384,13 @@ class OmniboxSuggestionsDropdownEmbedderImpl
|
||||
@@ -368,6 +384,17 @@ class OmniboxSuggestionsDropdownEmbedderImpl
|
||||
height = Math.min(windowSpace, contentSpace) - top;
|
||||
}
|
||||
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ ViewCompat.setPaddingRelative(
|
||||
+ contentView, 0, 0, 0, keyboardHeight + mSystemBarInsetsBottomSupplier.get());
|
||||
+ top = 0;
|
||||
+ height -= mSystemBarInsetsBottomSupplier.get();
|
||||
+ if (keyboardHeight > 0) {
|
||||
+ ViewCompat.setPaddingRelative(
|
||||
+ contentView, 0, 0, 0, keyboardHeight + mSystemBarInsetsBottomSupplier.get());
|
||||
+ height -= mSystemBarInsetsBottomSupplier.get();
|
||||
+ } else {
|
||||
+ detachKeyboardAlignment();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// TODO(pnoland@, https://crbug.com/1416985): avoid pushing changes that are identical to
|
||||
// the previous alignment value.
|
||||
OmniboxAlignment omniboxAlignment =
|
||||
@@ -410,6 +433,14 @@ class OmniboxSuggestionsDropdownEmbedderImpl
|
||||
@@ -410,6 +437,14 @@ class OmniboxSuggestionsDropdownEmbedderImpl
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -2574,17 +2691,22 @@ 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/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
|
||||
@@ -294,6 +294,9 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
@@ -292,8 +292,12 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
final Resources resources = context.getResources();
|
||||
mBaseBottomPadding =
|
||||
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_bottom);
|
||||
mBaseTopPadding =
|
||||
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_top);
|
||||
- mBaseTopPadding =
|
||||
- resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_top);
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ paddingTop = 0;
|
||||
+ mBaseTopPadding = 0;
|
||||
+ } else {
|
||||
+ mBaseTopPadding =
|
||||
+ resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_top);
|
||||
+ }
|
||||
this.setPaddingRelative(0, mBaseTopPadding, 0, mBaseBottomPadding);
|
||||
|
||||
// Disable the scrollbar since it causes the hover events happening near the
|
||||
@@ -504,6 +507,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
@@ -504,6 +508,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
mToolbarOnTop =
|
||||
!(ChromeFeatureList.sAndroidBottomToolbarV2ReverseOrderSuggestionsList.getValue()
|
||||
&& toolbarPosition == ControlsPosition.BOTTOM);
|
||||
@@ -2941,6 +3063,17 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
true,
|
||||
mOffsetTag);
|
||||
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/settings/AddressBarPreference.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/settings/AddressBarPreference.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/settings/AddressBarPreference.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/settings/AddressBarPreference.java
|
||||
@@ -82,6 +82,7 @@ public class AddressBarPreference extends ContainedRadioButtonGroupPreference
|
||||
* configurable for experimental purposes but defaults to top.
|
||||
*/
|
||||
public static boolean isToolbarConfiguredToShowOnTop() {
|
||||
+ if ((true)) return true;
|
||||
// enumToBoolean is true if position is bottom, but this method wants whether it's on top.
|
||||
var t = computeToolbarPositionAndSource();
|
||||
return !isToolbarAtBottom(t);
|
||||
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
|
||||
@@ -2955,9 +3088,9 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
/** Layout for the browser controls (omnibox, menu, tab strip, etc..). */
|
||||
@NullMarked
|
||||
public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@@ -193,6 +197,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
if (view != null)
|
||||
((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
|
||||
@@ -180,6 +184,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
Resources res = getContext().getResources();
|
||||
setMinimumHeight((int) res.getDimension(toolbarLayoutHeightResId));
|
||||
}
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ // the top toolbar is docked at the bottom
|
||||
@@ -2967,6 +3100,17 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
mToolbarContainer = findViewById(R.id.toolbar_container);
|
||||
mToolbarLayoutHeight = getResources().getDimensionPixelSize(toolbarLayoutHeightResId);
|
||||
ViewStub toolbarStub = findViewById(R.id.toolbar_stub);
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java
|
||||
@@ -1049,6 +1049,6 @@ public class TopToolbarCoordinator implements Toolbar, TopControlLayer {
|
||||
hairlineAdjustment = -mControlContainer.getToolbarHairlineHeight();
|
||||
}
|
||||
|
||||
- assertNonNull(mOverlayCoordinator).setYOffset(mLayerYOffset - diff + hairlineAdjustment);
|
||||
+ assertNonNull(mOverlayCoordinator).setYOffsetLegacy(mLayerYOffset - diff + hairlineAdjustment);
|
||||
}
|
||||
}
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java
|
||||
@@ -2998,6 +3142,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
.build();
|
||||
mSceneLayer = new TopToolbarSceneLayer(resourceManagerSupplier);
|
||||
mChangeProcessor =
|
||||
@@ -117,7 +126,7 @@ public class TopToolbarOverlayCoordinator implements SceneOverlay {
|
||||
}
|
||||
|
||||
/** Set the yOffset */
|
||||
- public void setYOffset(float yOffset) {
|
||||
+ public void setYOffsetLegacy(float yOffset) {
|
||||
mMediator.setYOffset(yOffset);
|
||||
}
|
||||
|
||||
@@ -151,6 +160,7 @@ public class TopToolbarOverlayCoordinator implements SceneOverlay {
|
||||
@Override
|
||||
public SceneOverlayLayer getUpdatedSceneOverlayTree(
|
||||
@@ -3040,26 +3193,30 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -45,6 +46,13 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
@@ -45,6 +46,15 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
/** Push all information about the texture to native at once. */
|
||||
private void pushProperties(PropertyModel model) {
|
||||
if (mResourceManagerSupplier.get() == null) return;
|
||||
+ float offsetY = model.get(TopToolbarOverlayProperties.LEGACY_CONTENT_OFFSET);
|
||||
+ float contentOffset = model.get(TopToolbarOverlayProperties.LEGACY_CONTENT_OFFSET);
|
||||
+ if (contentOffset == -10001 /*INVALID_CONTENT_OFFSET*/) return;
|
||||
+ float yOffset = model.get(TopToolbarOverlayProperties.Y_OFFSET);
|
||||
+ 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) -
|
||||
+ offsetY;
|
||||
+ yOffset = model.get(TopToolbarOverlayProperties.VIEWPORT_HEIGHT) -
|
||||
+ model.get(TopToolbarOverlayProperties.TOOLBAR_HEIGHT);
|
||||
+ }
|
||||
+
|
||||
TopToolbarSceneLayerJni.get()
|
||||
.updateToolbarLayer(
|
||||
mNativePtr,
|
||||
@@ -55,7 +63,7 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
@@ -54,8 +64,8 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
model.get(TopToolbarOverlayProperties.URL_BAR_RESOURCE_ID),
|
||||
model.get(TopToolbarOverlayProperties.URL_BAR_COLOR),
|
||||
model.get(TopToolbarOverlayProperties.X_OFFSET),
|
||||
model.get(TopToolbarOverlayProperties.Y_OFFSET),
|
||||
- model.get(TopToolbarOverlayProperties.Y_OFFSET),
|
||||
- model.get(TopToolbarOverlayProperties.LEGACY_CONTENT_OFFSET),
|
||||
+ offsetY,
|
||||
+ yOffset,
|
||||
+ contentOffset,
|
||||
model.get(TopToolbarOverlayProperties.SHOW_SHADOW),
|
||||
model.get(TopToolbarOverlayProperties.VISIBLE),
|
||||
model.get(TopToolbarOverlayProperties.ANONYMIZE),
|
||||
@@ -3165,12 +3322,10 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
|
||||
--- a/components/viz/common/features.cc
|
||||
+++ b/components/viz/common/features.cc
|
||||
@@ -33,7 +33,8 @@
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
namespace features {
|
||||
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
+#if BUILDFLAG(IS_ANDROID)SET_CROMITE_FEATURE_DISABLED(kAndroidBrowserControlsInViz);
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
+
|
||||
// If this flag is enabled, a DumpWithoutCrashing() is captured when a bad
|
||||
// state is detected when moving the composited UI. For example, this could
|
||||
|
||||
@@ -1118,7 +1118,7 @@ diff --git a/chrome/browser/webid/android/java/src/org/chromium/chrome/browser/w
|
||||
@VisibleForTesting
|
||||
public static @Nullable DigitalCredential extractDigitalCredentialFromResponseBundle(
|
||||
int code, Bundle bundle) throws JSONException {
|
||||
+ if ((true)) throw new JSONException();
|
||||
+ if ((true)) throw new JSONException("not reached");
|
||||
Intent intent = IntentUtils.safeGetParcelable(bundle, BUNDLE_KEY_PROVIDER_DATA);
|
||||
if (intent == null) {
|
||||
return null;
|
||||
|
||||
@@ -27,7 +27,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -1329,6 +1329,16 @@ static_library("browser") {
|
||||
@@ -1327,6 +1327,16 @@ static_library("browser") {
|
||||
"webauthn/webauthn_switches.cc",
|
||||
]
|
||||
|
||||
|
||||
@@ -32,9 +32,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../ntp/search/SearchBoxViewBinder.java | 1 +
|
||||
.../suggestions/SuggestionsConfig.java | 2 +-
|
||||
.../SuggestionsNavigationDelegate.java | 27 +-
|
||||
.../tile/MostVisitedTilesCoordinator.java | 6 +-
|
||||
.../tile/MostVisitedTilesCoordinator.java | 8 +-
|
||||
.../tile/MostVisitedTilesGridLayout.java | 287 ++++++++++++++++++
|
||||
.../tile/MostVisitedTilesMediator.java | 8 +-
|
||||
.../tile/MostVisitedTilesMediator.java | 12 +-
|
||||
.../tile/TileDragDelegateImpl.java | 18 +-
|
||||
.../suggestions/tile/TileRenderer.java | 12 +-
|
||||
.../suggestions/tile/TilesLinearLayout.java | 2 +-
|
||||
@@ -49,9 +49,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/omnibox/common/omnibox_features.cc | 2 +
|
||||
components/search_engines/template_url.h | 4 +-
|
||||
.../Restore-Simplified-NTP-launch.inc | 12 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 10 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 8 +
|
||||
.../Restore-Simplified-NTP-launch.inc | 1 +
|
||||
45 files changed, 648 insertions(+), 63 deletions(-)
|
||||
45 files changed, 647 insertions(+), 68 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/drawable-hdpi/ic_most_visited_placeholder.png
|
||||
create mode 100644 chrome/android/java/res/drawable-mdpi/ic_most_visited_placeholder.png
|
||||
create mode 100644 chrome/android/java/res/drawable-xhdpi/ic_most_visited_placeholder.png
|
||||
@@ -1044,6 +1044,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
|
||||
mRenderer =
|
||||
new TileRenderer(
|
||||
mActivity, SuggestionsConfig.getTileStyle(mUiConfig), TITLE_LINES, null);
|
||||
@@ -88,7 +84,7 @@ public class MostVisitedTilesCoordinator implements ConfigurationChangedObserver
|
||||
new MostVisitedTilesMediator(
|
||||
activity,
|
||||
mUiConfig,
|
||||
- mvTilesContainerLayout,
|
||||
+ tilesLayout,
|
||||
mRenderer,
|
||||
propertyModel,
|
||||
isTablet,
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesGridLayout.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@@ -1370,7 +1379,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
|
||||
}
|
||||
|
||||
public void onConfigurationChanged() {
|
||||
@@ -383,7 +381,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
@@ -264,10 +262,6 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
* recalculate the value of |mMvtContentFits|.
|
||||
*/
|
||||
void updateMvtOnTablet(@Nullable Integer totalWidth) {
|
||||
- if (totalWidth != null) {
|
||||
- mMvtContentFits = mMvTilesLayout.contentFitsOnTablet(totalWidth);
|
||||
- }
|
||||
-
|
||||
MarginLayoutParams marginLayoutParams =
|
||||
(MarginLayoutParams) mMvTilesContainerLayout.getLayoutParams();
|
||||
marginLayoutParams.width =
|
||||
@@ -383,7 +377,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
|
||||
|
||||
double firstTileScore = mTileGroup.getSuggestionScore(firstTile.getUrl());
|
||||
if (firstTileScore < MVT_CUSTOMIZATION_IPH_TILE_SCORE_THRESHOULD) return;
|
||||
@@ -1673,16 +1693,14 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/R
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-Simplified-NTP-launch.inc
|
||||
@@ -0,0 +1,10 @@
|
||||
@@ -0,0 +1,8 @@
|
||||
+CROMITE_FEATURE(kSimplifiedNTP,
|
||||
+ "SimplifiedNTP",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+
|
||||
+SET_CROMITE_FEATURE_DISABLED(kMagicStackAndroid);
|
||||
+
|
||||
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageCustomization);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageCustomizationV2);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageCustomizationToolbarButton);
|
||||
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageCustomizationForMvt);
|
||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Restore-Simplified-NTP-launch.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Restore-Simplified-NTP-launch.inc
|
||||
new file mode 100644
|
||||
|
||||
@@ -67,7 +67,7 @@ diff --git a/chrome/browser/segmentation_platform/segmentation_platform_config.c
|
||||
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
|
||||
@@ -5246,6 +5246,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -5243,6 +5243,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_READER_MODE_MESSAGE_BUTTON" desc="The label for the button to open the current page in reader mode.">
|
||||
View
|
||||
</message>
|
||||
|
||||
@@ -1353,8 +1353,8 @@ new file mode 100644
|
||||
+}
|
||||
+
|
||||
+void CredentialEditBridge::SaveChanges(JNIEnv* env,
|
||||
+ std::u16string& username,
|
||||
+ std::u16string& password) {
|
||||
+ const std::u16string& username,
|
||||
+ const std::u16string& password) {
|
||||
+ password_manager::CredentialUIEntry updated_credential = credential_;
|
||||
+ updated_credential.username = username;
|
||||
+ updated_credential.password = password;
|
||||
@@ -1460,8 +1460,8 @@ new file mode 100644
|
||||
+
|
||||
+ // Called by Java to save the changes to the edited credential.
|
||||
+ void SaveChanges(JNIEnv* env,
|
||||
+ std::u16string& username,
|
||||
+ std::u16string& password);
|
||||
+ const std::u16string& username,
|
||||
+ const std::u16string& password);
|
||||
+
|
||||
+ // Called by Java to remove the credential from the store.
|
||||
+ void DeleteCredential(JNIEnv* env);
|
||||
|
||||
@@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
...alled_service_worker_module_script_fetcher.cc | 1 +
|
||||
.../modulescript/module_script_loader_test.cc | 1 +
|
||||
.../modulescript/worker_module_script_fetcher.cc | 3 ++-
|
||||
.../renderer/core/workers/dedicated_worker.cc | 9 +++++++++
|
||||
.../renderer/core/workers/dedicated_worker.cc | 10 +++++++++-
|
||||
.../renderer/core/workers/dedicated_worker.h | 3 +++
|
||||
.../workers/dedicated_worker_global_scope.cc | 9 ++++++++-
|
||||
.../core/workers/dedicated_worker_global_scope.h | 1 +
|
||||
@@ -51,7 +51,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../webaudio/audio_worklet_global_scope_test.cc | 1 +
|
||||
.../webaudio/audio_worklet_thread_test.cc | 1 +
|
||||
.../worklet/worklet_thread_test_common.cc | 2 +-
|
||||
34 files changed, 144 insertions(+), 8 deletions(-)
|
||||
34 files changed, 144 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
@@ -262,15 +262,16 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third
|
||||
mojo::PendingRemote<mojom::blink::BackForwardCacheControllerHost>
|
||||
back_forward_cache_controller_host,
|
||||
mojo::PendingReceiver<mojom::blink::ReportingObserver>
|
||||
@@ -509,6 +515,7 @@ void DedicatedWorker::ContinueStartInternal(
|
||||
@@ -509,7 +515,7 @@ void DedicatedWorker::ContinueStartInternal(
|
||||
CreateGlobalScopeCreationParams(
|
||||
script_url, referrer_policy,
|
||||
std::move(response_content_security_policies),
|
||||
+ response_address_space,
|
||||
std::move(document_policy), std::move(coep_reporting_observer),
|
||||
- std::move(document_policy), std::move(coep_reporting_observer),
|
||||
+ std::move(document_policy), response_address_space, std::move(coep_reporting_observer),
|
||||
std::move(dip_reporting_observer)),
|
||||
std::move(worker_main_script_load_params), options_, script_url,
|
||||
@@ -548,6 +555,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
|
||||
*outside_fetch_client_settings_object_, v8_stack_trace_id_, token_,
|
||||
@@ -548,6 +554,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
|
||||
Vector<network::mojom::blink::ContentSecurityPolicyPtr>
|
||||
response_content_security_policies,
|
||||
DocumentPolicy::DocumentPolicyBundle document_policy,
|
||||
@@ -278,7 +279,7 @@ diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third
|
||||
mojo::PendingReceiver<mojom::blink::ReportingObserver>
|
||||
coep_reporting_observer,
|
||||
mojo::PendingReceiver<mojom::blink::ReportingObserver>
|
||||
@@ -600,6 +608,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
|
||||
@@ -600,6 +607,7 @@ DedicatedWorker::CreateGlobalScopeCreationParams(
|
||||
std::move(document_policy), execution_context->GetSecurityOrigin(),
|
||||
execution_context->IsSecureContext(), execution_context->GetHttpsState(),
|
||||
MakeGarbageCollected<WorkerClients>(), CreateWebContentSettingsClient(),
|
||||
|
||||
@@ -15,7 +15,7 @@ Require: Content-settings-infrastructure.patch
|
||||
...ezoneoverride_site_settings_preference.xml | 68 ++++++
|
||||
...imezoneOverrideSiteSettingsPreference.java | 196 ++++++++++++++++++
|
||||
.../WebsitePreferenceBridge.java | 10 +
|
||||
...BromiteTimezoneOverrideContentSetting.java | 148 +++++++++++++
|
||||
...BromiteTimezoneOverrideContentSetting.java | 157 ++++++++++++++
|
||||
.../android/website_preference_bridge.cc | 16 ++
|
||||
.../bromite_content_settings/timezone.grdp | 39 ++++
|
||||
.../timezone_override.inc | 24 +++
|
||||
@@ -37,7 +37,7 @@ Require: Content-settings-infrastructure.patch
|
||||
.../timezone/external_timezone_controller.h | 34 +++
|
||||
.../core/timezone/timezone_controller.cc | 11 -
|
||||
.../core/timezone/timezone_controller.h | 12 +-
|
||||
27 files changed, 761 insertions(+), 17 deletions(-)
|
||||
27 files changed, 770 insertions(+), 17 deletions(-)
|
||||
create mode 100755 components/browser_ui/site_settings/android/java/res/layout/time_zone_select_dialog.xml
|
||||
create mode 100755 components/browser_ui/site_settings/android/java/res/layout/timezoneoverride_site_settings_preference.xml
|
||||
create mode 100755 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java
|
||||
@@ -414,7 +414,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteTimezoneOverrideContentSetting.java
|
||||
@@ -0,0 +1,148 @@
|
||||
@@ -0,0 +1,157 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -501,6 +501,15 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int[] getTriStateSettingIconIDs() {
|
||||
+ return new int[] {
|
||||
+ R.drawable.web_asset,
|
||||
+ R.drawable.web_asset,
|
||||
+ R.drawable.sensors_off_24px
|
||||
+ };
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategoryDescription() {
|
||||
+ return R.string.website_settings_timeoverride_info;
|
||||
+ }
|
||||
|
||||
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../TabGridDialogProperties.java | 3 +
|
||||
.../tab_management/TabGridDialogView.java | 13 +
|
||||
.../TabGridDialogViewBinder.java | 8 +
|
||||
.../TabListContainerViewBinder.java | 29 +-
|
||||
.../TabListContainerViewBinder.java | 34 +-
|
||||
.../tab_management/TabListCoordinator.java | 37 +-
|
||||
.../TabListEditorCoordinator.java | 2 +-
|
||||
.../tab_management/TabListItemAnimator.java | 2 +-
|
||||
@@ -42,7 +42,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../java/res/drawable/ic_warning_red_16dp.xml | 26 ++
|
||||
.../layout/title_and_description_layout.xml | 31 +-
|
||||
.../tab-switcher-list-mode.inc | 3 +
|
||||
35 files changed, 1183 insertions(+), 39 deletions(-)
|
||||
35 files changed, 1184 insertions(+), 43 deletions(-)
|
||||
create mode 100644 chrome/android/features/tab_ui/java/res/drawable/selected_tab_background.xml
|
||||
create mode 100644 chrome/android/features/tab_ui/java/res/drawable/selected_tab_background_incognito.xml
|
||||
create mode 100644 chrome/android/features/tab_ui/java/res/layout/tab_list_card_item.xml
|
||||
@@ -302,7 +302,19 @@ 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
|
||||
@@ -305,14 +305,27 @@ class TabListContainerViewBinder {
|
||||
@@ -86,10 +86,7 @@ class TabListContainerViewBinder {
|
||||
mTabListRecyclerView = tabListRecyclerView;
|
||||
mPaneHairline = paneHairline;
|
||||
mSupplementaryContainer = supplementaryContainer;
|
||||
- mSearchBoxGapPx =
|
||||
- tabListRecyclerView
|
||||
- .getResources()
|
||||
- .getDimensionPixelSize(R.dimen.hub_search_box_gap);
|
||||
+ mSearchBoxGapPx = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,14 +302,27 @@ class TabListContainerViewBinder {
|
||||
}
|
||||
if (width <= 0 || height <= 0) return 0;
|
||||
|
||||
@@ -1213,9 +1225,9 @@ diff --git a/chrome/browser/android/favicon_helper.cc b/chrome/browser/android/f
|
||||
+jboolean FaviconHelper::GetComposedFaviconImage(
|
||||
+ JNIEnv* env,
|
||||
+ Profile* profile,
|
||||
+ std::vector<GURL>& gurls,
|
||||
+ jint j_desired_size_in_pixel,
|
||||
+ const base::android::JavaRef<jobject>&
|
||||
+ const std::vector<GURL>& gurls,
|
||||
+ int32_t j_desired_size_in_pixel,
|
||||
+ const JavaRef<jobject>&
|
||||
+ j_composed_favicon_image_callback) {
|
||||
+ DCHECK(profile);
|
||||
+ if (!profile) {
|
||||
@@ -1350,8 +1362,8 @@ diff --git a/chrome/browser/android/favicon_helper.h b/chrome/browser/android/fa
|
||||
+ jboolean GetComposedFaviconImage(
|
||||
+ JNIEnv* env,
|
||||
+ Profile* profile,
|
||||
+ std::vector<GURL>& gurls,
|
||||
+ jint j_desired_size_in_pixel,
|
||||
+ const std::vector<GURL>& gurls,
|
||||
+ int32_t j_desired_size_in_pixel,
|
||||
+ const base::android::JavaRef<jobject>& j_favicon_image_callback);
|
||||
bool GetLocalFaviconImageForURL(
|
||||
JNIEnv* env,
|
||||
|
||||
@@ -995,8 +995,8 @@ diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chr
|
||||
|
||||
+ @Override
|
||||
+ public void SetOverrideUserAgentForAllTabs(boolean usingDesktopUserAgent) {
|
||||
+ for (Map.Entry<@WindowId Integer, WindowDeps> entry : mWindowIdToDeps.entrySet()) {
|
||||
+ TabModelSelector selector = entry.getValue().selector;
|
||||
+ for (Map.Entry<@WindowId Integer, TabModelSelector> entry : mWindowIdToSelectors.entrySet()) {
|
||||
+ TabModelSelector selector = entry.getValue();
|
||||
+ if (selector != null) {
|
||||
+ List<TabModel> models = selector.getModels();
|
||||
+ for (int modelIndex = 0; modelIndex < models.size(); modelIndex++) {
|
||||
|
||||
@@ -4,7 +4,8 @@ Subject: WIN Add some prefs to secure preferences
|
||||
|
||||
---
|
||||
chrome/browser/prefs/chrome_pref_service_factory.cc | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
services/preferences/tracked/pref_hash_filter.cc | 2 +-
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
|
||||
@@ -24,4 +25,16 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
|
||||
{0, prefs::kShowHomeButton, EnforcementLevel::ENFORCE_ON_LOAD,
|
||||
PrefTrackingStrategy::ATOMIC, ValueType::IMPERSONAL},
|
||||
{1, prefs::kHomePageIsNewTabPage, EnforcementLevel::ENFORCE_ON_LOAD,
|
||||
diff --git a/services/preferences/tracked/pref_hash_filter.cc b/services/preferences/tracked/pref_hash_filter.cc
|
||||
--- a/services/preferences/tracked/pref_hash_filter.cc
|
||||
+++ b/services/preferences/tracked/pref_hash_filter.cc
|
||||
@@ -131,7 +131,7 @@ PrefHashFilter::PrefHashFilter(
|
||||
base::FeatureList::IsEnabled(tracked::kEncryptedPrefHashing)) {
|
||||
// For base::UmaHistogramExactLinear, number of tracked histograms must 100 or
|
||||
// below.
|
||||
- CHECK_LE(reporting_ids_count_, 100u);
|
||||
+ //CHECK_LE(reporting_ids_count_, 100u);
|
||||
DCHECK(pref_hash_store_);
|
||||
DCHECK_GE(reporting_ids_count, tracked_preferences.size());
|
||||
// Verify that, if |external_validation_hash_store_pair_| is present, both its
|
||||
--
|
||||
|
||||
@@ -19,8 +19,9 @@ Subject: bromite build utils
|
||||
.../browser/flags/CromiteNativeUtils.java | 46 ++++++++
|
||||
mojo/public/tools/mojom/mojom_parser.py | 22 +++-
|
||||
tools/grit/grit/grd_reader.py | 27 ++++-
|
||||
tools/grit/grit_rule.gni | 2 +-
|
||||
tools/grit/preprocess_if_expr.py | 32 +++++-
|
||||
17 files changed, 538 insertions(+), 19 deletions(-)
|
||||
18 files changed, 539 insertions(+), 20 deletions(-)
|
||||
create mode 100644 build/bromite/bromite_utils.gni
|
||||
create mode 100644 build/bromite/gyp/cpp_bromite_include.py
|
||||
create mode 100644 build/bromite/gyp/cpp_bromite_include.pydeps
|
||||
@@ -755,6 +756,18 @@ diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
|
||||
|
||||
if self.debug:
|
||||
print("End parsing of element %s" % name)
|
||||
diff --git a/tools/grit/grit_rule.gni b/tools/grit/grit_rule.gni
|
||||
--- a/tools/grit/grit_rule.gni
|
||||
+++ b/tools/grit/grit_rule.gni
|
||||
@@ -360,7 +360,7 @@ template("grit") {
|
||||
_gritdeps_lines = read_file(invoker.gritdeps, "list lines")
|
||||
_gritdeps_entries = filter_exclude(_gritdeps_lines, [ "#*" ])
|
||||
inputs += rebase_path(_gritdeps_entries, ".", "//")
|
||||
- deps += [ ":$_check_gritdeps_target" ]
|
||||
+ #deps += [ ":$_check_gritdeps_target" ]
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/tools/grit/preprocess_if_expr.py b/tools/grit/preprocess_if_expr.py
|
||||
--- a/tools/grit/preprocess_if_expr.py
|
||||
+++ b/tools/grit/preprocess_if_expr.py
|
||||
|
||||
@@ -11,15 +11,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -1058,6 +1058,10 @@ config("linker") {
|
||||
cflags += [ "-fwrapv" ]
|
||||
}
|
||||
@@ -440,6 +440,10 @@ config("compiler") {
|
||||
# --------------------------------
|
||||
cflags += [ "-fno-strict-aliasing" ] # See http://crbug.com/32204
|
||||
|
||||
+ if (is_clang) {
|
||||
+ cflags += [ "-ftrivial-auto-var-init=zero", "-Wno-unused-command-line-argument" ]
|
||||
+ }
|
||||
+
|
||||
# Linker warnings.
|
||||
if (fatal_linker_warnings && !is_apple && current_os != "aix" &&
|
||||
current_os != "zos") {
|
||||
# Stack protection. ShadowCallStack and Stack protector address the same
|
||||
# problems. Therefore, we only enable one or the other. Clang advertises SCS as
|
||||
# a stronger alternative to StackProtector, so we give SCS precedence over SP.
|
||||
--
|
||||
|
||||
@@ -155,7 +155,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3235,6 +3235,10 @@ static_library("browser") {
|
||||
@@ -3233,6 +3233,10 @@ static_library("browser") {
|
||||
]
|
||||
deps += [ "//chrome/browser/password_entry_edit/android" ]
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"after_startup_task_utils.cc",
|
||||
"after_startup_task_utils.h",
|
||||
"bad_message.cc",
|
||||
@@ -1983,6 +1988,7 @@ static_library("browser") {
|
||||
@@ -1981,6 +1986,7 @@ static_library("browser") {
|
||||
"//chrome/common/notifications",
|
||||
"//chrome/installer/util:with_no_strings",
|
||||
"//chrome/services/speech/buildflags",
|
||||
@@ -88,7 +88,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"//components/application_locale_storage",
|
||||
"//components/assist_ranker",
|
||||
"//components/autofill/content/browser",
|
||||
@@ -8365,6 +8371,7 @@ static_library("browser_public_dependencies") {
|
||||
@@ -8363,6 +8369,7 @@ static_library("browser_public_dependencies") {
|
||||
"//chrome/services/file_util/public/mojom",
|
||||
"//components/accessibility_annotator/core",
|
||||
"//components/account_id",
|
||||
|
||||
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/chrome_browser_main.cc | 10 -
|
||||
.../browser/chrome_content_browser_client.cc | 29 +-
|
||||
...ent_browser_client_navigation_throttles.cc | 1 -
|
||||
.../domain_reliability/service_factory.cc | 30 +-
|
||||
.../domain_reliability/service_factory.cc | 28 +-
|
||||
.../key_management/browser/commands/BUILD.gn | 1 -
|
||||
.../commands/win_key_rotation_command.cc | 9 +-
|
||||
chrome/browser/extensions/BUILD.gn | 1 -
|
||||
@@ -71,7 +71,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
...gled-chromium-no-special-hosts-domains.inc | 1 +
|
||||
net/base/url_util.cc | 25 +-
|
||||
services/network/network_context.cc | 2 +-
|
||||
64 files changed, 56 insertions(+), 890 deletions(-)
|
||||
64 files changed, 56 insertions(+), 888 deletions(-)
|
||||
create mode 100644 cromite_flags/content/public/common/content_features_cc/ungoogled-chromium-no-special-hosts-domains.inc
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
|
||||
@@ -288,12 +288,10 @@ diff --git a/chrome/browser/chrome_content_browser_client_navigation_throttles.c
|
||||
diff --git a/chrome/browser/domain_reliability/service_factory.cc b/chrome/browser/domain_reliability/service_factory.cc
|
||||
--- a/chrome/browser/domain_reliability/service_factory.cc
|
||||
+++ b/chrome/browser/domain_reliability/service_factory.cc
|
||||
@@ -8,38 +8,10 @@
|
||||
#include "base/metrics/field_trial.h"
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
@@ -10,36 +10,10 @@
|
||||
|
||||
namespace domain_reliability {
|
||||
|
||||
-namespace domain_reliability {
|
||||
-
|
||||
-namespace {
|
||||
-
|
||||
-// If Domain Reliability is enabled in the absence of a flag or field trial.
|
||||
|
||||
Reference in New Issue
Block a user