Fixes from debug build and uazo
This commit is contained in:
parent
8439ece721
commit
c7a6d5e006
13 changed files with 432 additions and 117 deletions
|
@ -1 +1 @@
|
|||
1ab0cee259c250b41b2adb8e3a7fabc967f5b762-
|
||||
c22bc105a0fa559ec08a6f10c605cc62b6e81ac9-
|
|
@ -1 +1 @@
|
|||
103.0.5060.115
|
||||
103.0.5060.121
|
|
@ -1 +1 @@
|
|||
3764ccd59b9f1ec1d98138dd253bb0eb08887649
|
||||
ada3f42065259282d4465fc093d31c6148ae4b19
|
|
@ -4,18 +4,87 @@ Subject: Add option to force tablet UI
|
|||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||
.../preferences/LegacyChromePreferenceKeys.java | 1 +
|
||||
.../browser/omnibox/LocationBarCoordinator.java | 2 +-
|
||||
.../android/strings/android_chrome_strings.grd | 6 ++++++
|
||||
.../toolbar/top/ToolbarControlContainer.java | 16 ----------------
|
||||
components/BUILD.gn | 6 +++---
|
||||
.../java/res/xml/accessibility_preferences.xml | 5 +++++
|
||||
.../accessibility/AccessibilitySettings.java | 10 ++++++++++
|
||||
ui/android/BUILD.gn | 2 ++
|
||||
.../org/chromium/ui/base/DeviceFormFactor.java | 5 +++++
|
||||
10 files changed, 34 insertions(+), 20 deletions(-)
|
||||
.../ChromeAccessibilitySettingsDelegate.java | 57 +++++++++++++++++++
|
||||
.../preferences/ChromePreferenceKeys.java | 1 +
|
||||
.../LegacyChromePreferenceKeys.java | 1 +
|
||||
.../omnibox/LocationBarCoordinator.java | 2 +-
|
||||
.../strings/android_chrome_strings.grd | 6 ++
|
||||
.../toolbar/top/ToolbarControlContainer.java | 16 ------
|
||||
components/BUILD.gn | 6 +-
|
||||
.../res/xml/accessibility_preferences.xml | 5 ++
|
||||
.../accessibility/AccessibilitySettings.java | 10 ++++
|
||||
.../AccessibilitySettingsDelegate.java | 2 +
|
||||
ui/android/BUILD.gn | 2 +
|
||||
.../chromium/ui/base/DeviceFormFactor.java | 5 ++
|
||||
12 files changed, 93 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
|
||||
@@ -67,6 +67,63 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
return new ReaderForAccessibilityDelegate();
|
||||
}
|
||||
|
||||
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
|
||||
+ @Override
|
||||
+ public boolean isEnabled() {
|
||||
+ return SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setEnabled(boolean value) {
|
||||
+ SharedPreferencesManager.getInstance().writeBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, value);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public BooleanPreferenceDelegate getForceTabletUIDelegate() {
|
||||
+ return new ForceTabletUIDelegate();
|
||||
+ }
|
||||
+
|
||||
+ private static class MoveTopToolbarToBottomDelegate implements BooleanPreferenceDelegate {
|
||||
+ @Override
|
||||
+ public boolean isEnabled() {
|
||||
+ return CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setEnabled(boolean value) {
|
||||
+ CachedFeatureFlags.setFlagEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM,
|
||||
+ "move-top-toolbar-to-bottom", value);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate() {
|
||||
+ return new MoveTopToolbarToBottomDelegate();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void requestRestart(Activity activity) {
|
||||
+ Snackbar mSnackbar = Snackbar.make(activity.getString(R.string.ui_relaunch_notice),
|
||||
+ new SnackbarManager.SnackbarController() {
|
||||
+ @Override
|
||||
+ public void onDismissNoAction(Object actionData) { }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onAction(Object actionData) {
|
||||
+ ApplicationLifetime.terminate(true);
|
||||
+ }
|
||||
+ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN)
|
||||
+ .setSingleLine(false)
|
||||
+ .setAction(activity.getString(R.string.relaunch),
|
||||
+ /*actionData*/null)
|
||||
+ .setDuration(/*durationMs*/70000);
|
||||
+ if (!mSnackbarManager.isShowing())
|
||||
+ mSnackbarManager.showSnackbar(mSnackbar);
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
public void addExtraPreferences(PreferenceFragmentCompat fragment) {
|
||||
if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
|
||||
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
|
||||
|
@ -140,37 +209,49 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
|||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
@@ -27,6 +27,7 @@ public class AccessibilitySettings
|
||||
@@ -27,6 +27,8 @@ public class AccessibilitySettings
|
||||
public static final String PREF_READER_FOR_ACCESSIBILITY = "reader_for_accessibility";
|
||||
public static final String PREF_CAPTIONS = "captions";
|
||||
|
||||
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
||||
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
private TextScalePreference mTextScalePref;
|
||||
private ChromeBaseCheckBoxPreference mForceEnableZoomPref;
|
||||
private boolean mRecordFontSizeChangeOnStop;
|
||||
@@ -85,6 +86,12 @@ public class AccessibilitySettings
|
||||
@@ -85,6 +87,12 @@ public class AccessibilitySettings
|
||||
getPreferenceScreen().removePreference(readerForAccessibilityPref);
|
||||
}
|
||||
|
||||
+ ChromeBaseCheckBoxPreference forceTabletUiPref =
|
||||
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_FORCE_TABLET_UI);
|
||||
+ forceTabletUiPref.setChecked(SharedPreferencesManager.getInstance().readBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false));
|
||||
+ mForceTabletUIDelegate = mDelegate.getForceTabletUIDelegate();
|
||||
+ forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
|
||||
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
|
||||
+
|
||||
ChromeBaseCheckBoxPreference accessibilityTabSwitcherPref =
|
||||
(ChromeBaseCheckBoxPreference) findPreference(
|
||||
AccessibilityConstants.ACCESSIBILITY_TAB_SWITCHER);
|
||||
@@ -133,6 +140,9 @@ public class AccessibilitySettings
|
||||
@@ -133,6 +141,8 @@ public class AccessibilitySettings
|
||||
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
|
||||
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
||||
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
|
||||
+ } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) {
|
||||
+ SharedPreferencesManager.getInstance().writeBoolean(
|
||||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, (Boolean) newValue);
|
||||
+ mForceTabletUIDelegate.setEnabled((Boolean) newValue);
|
||||
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
|
||||
if (mReaderForAccessibilityDelegate != null) {
|
||||
mReaderForAccessibilityDelegate.setEnabled((Boolean) newValue);
|
||||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
|
||||
@@ -44,6 +44,8 @@ public interface AccessibilitySettingsDelegate {
|
||||
*/
|
||||
BooleanPreferenceDelegate getReaderForAccessibilityDelegate();
|
||||
|
||||
+ BooleanPreferenceDelegate getForceTabletUIDelegate();
|
||||
+
|
||||
/**
|
||||
* Allows the embedder to add more preferences to the preference screen.
|
||||
*
|
||||
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
|
||||
--- a/ui/android/BUILD.gn
|
||||
+++ b/ui/android/BUILD.gn
|
||||
|
|
|
@ -9,7 +9,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../net/cross_origin_embedder_policy_reporter.cc | 4 +++-
|
||||
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
|
||||
content/browser/net/reporting_service_proxy.cc | 3 +++
|
||||
.../renderer_host/render_frame_host_impl.cc | 14 ++++++++++++++
|
||||
.../renderer_host/render_frame_host_impl.cc | 6 ------
|
||||
.../web_package/signed_exchange_reporter.cc | 2 ++
|
||||
...content_switch_dependent_feature_overrides.cc | 1 +
|
||||
net/reporting/reporting_service.cc | 6 ++++++
|
||||
|
@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../blink/renderer/core/frame/local_frame.h | 6 +++---
|
||||
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
|
||||
.../renderer/core/frame/reporting_context.h | 7 +++++--
|
||||
16 files changed, 63 insertions(+), 19 deletions(-)
|
||||
16 files changed, 49 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc
|
||||
--- a/android_webview/browser/aw_contents.cc
|
||||
|
@ -188,31 +188,16 @@ diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/ne
|
|||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -11437,6 +11437,7 @@ void RenderFrameHostImpl::TakeNewDocumentPropertiesFromNavigation(
|
||||
early_hints_manager_ = navigation_request->TakeEarlyHintsManager();
|
||||
|
||||
// Only take some properties if this is not the synchronous initial
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
// `about:blank` navigation, because the values set at construction time
|
||||
// should remain unmodified.
|
||||
if (!navigation_request->IsWaitingToCommit()) {
|
||||
@@ -11555,6 +11556,19 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||
/*type=*/"crash", /*group=*/"default", last_committed_url_,
|
||||
GetReportingSource(), isolation_info_.network_isolation_key(),
|
||||
absl::nullopt /* user_agent */, std::move(body));
|
||||
+#else
|
||||
+}
|
||||
+
|
||||
+void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
|
||||
+ const base::UnguessableToken& navigation_token,
|
||||
+ bool should_replace_current_entry,
|
||||
+ blink::mojom::CommitResult result) {
|
||||
+}
|
||||
+
|
||||
+void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||
+ base::TerminationStatus status,
|
||||
+ int exit_code) {
|
||||
+#endif
|
||||
@@ -11549,12 +11549,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
|
||||
auto body = base::DictionaryValue();
|
||||
if (!reason.empty())
|
||||
body.SetString("reason", reason);
|
||||
-
|
||||
- // Send the crash report to the Reporting API.
|
||||
- GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport(
|
||||
- /*type=*/"crash", /*group=*/"default", last_committed_url_,
|
||||
- GetReportingSource(), isolation_info_.network_isolation_key(),
|
||||
- absl::nullopt /* user_agent */, std::move(body));
|
||||
}
|
||||
|
||||
void RenderFrameHostImpl::SendCommitNavigation(
|
||||
|
|
|
@ -11,6 +11,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
|||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/BUILD.gn | 1 +
|
||||
chrome/android/chrome_java_resources.gni | 2 +
|
||||
chrome/android/chrome_java_sources.gni | 2 +
|
||||
.../java/res/layout/adblock_editor.xml | 67 +++++
|
||||
|
@ -48,7 +49,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../browser/subresource_filter_features.cc | 113 +-------
|
||||
.../core/common/indexed_ruleset.cc | 5 +-
|
||||
.../navigation_throttle_runner.cc | 5 -
|
||||
37 files changed, 1160 insertions(+), 126 deletions(-)
|
||||
38 files changed, 1161 insertions(+), 126 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
|
||||
|
@ -58,6 +59,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
create mode 100644 components/component_updater/download_filters_task.cc
|
||||
create mode 100644 components/component_updater/download_filters_task.h
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -357,6 +357,7 @@ android_library("chrome_java") {
|
||||
"//chrome/browser/download/android:java",
|
||||
"//chrome/browser/download/android:java_resources",
|
||||
"//chrome/browser/enterprise/util:java",
|
||||
+ "//chrome/browser/endpoint_fetcher:java",
|
||||
"//chrome/browser/feature_engagement:java",
|
||||
"//chrome/browser/feature_guide/notifications:java",
|
||||
"//chrome/browser/feed/android:java",
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
|
|
|
@ -16,7 +16,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
|
||||
-_default_package = "org.chromium.chrome"
|
||||
+_default_package = "org.bromite.bromite"
|
||||
if (android_channel != "default" && android_channel != "stable") {
|
||||
if (android_channel != "default") {
|
||||
# android-binary-size trybot may checks if an internal Chrome variant's
|
||||
# AndroidManifest is as expected by ensuring the differences between its
|
||||
--
|
||||
|
|
|
@ -3,7 +3,6 @@ Date: Sat, 8 Jan 2022 19:42:34 +0100
|
|||
Subject: Chromium package name
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
|
||||
---
|
||||
chrome/android/BUILD.gn | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
|
|
@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -364,7 +364,6 @@ android_library("chrome_java") {
|
||||
@@ -365,7 +365,6 @@ android_library("chrome_java") {
|
||||
"//chrome/browser/first_run/android:java",
|
||||
"//chrome/browser/flags:java",
|
||||
"//chrome/browser/fullscreen/android:java",
|
||||
|
@ -30,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
"//chrome/browser/history_clusters:java",
|
||||
"//chrome/browser/history_clusters:java_resources",
|
||||
"//chrome/browser/image_descriptions:java",
|
||||
@@ -974,7 +973,6 @@ junit_binary("chrome_junit_tests") {
|
||||
@@ -975,7 +974,6 @@ junit_binary("chrome_junit_tests") {
|
||||
"//chrome/browser/flags:flags_junit_tests",
|
||||
"//chrome/browser/flags:java",
|
||||
"//chrome/browser/fullscreen/android:java",
|
||||
|
@ -38,7 +38,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
"//chrome/browser/history_clusters:java",
|
||||
"//chrome/browser/image_descriptions:java",
|
||||
"//chrome/browser/image_editor/public:java",
|
||||
@@ -1367,7 +1365,6 @@ android_library("chrome_test_java") {
|
||||
@@ -1368,7 +1366,6 @@ android_library("chrome_test_java") {
|
||||
"//chrome/browser/first_run/android:java",
|
||||
"//chrome/browser/flags:java",
|
||||
"//chrome/browser/fullscreen/android:java",
|
||||
|
|
|
@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -401,7 +401,6 @@ android_library("chrome_java") {
|
||||
@@ -402,7 +402,6 @@ android_library("chrome_java") {
|
||||
"//chrome/browser/privacy_sandbox/android:java",
|
||||
"//chrome/browser/profiles/android:java",
|
||||
"//chrome/browser/safe_browsing/android:java",
|
||||
|
@ -22,7 +22,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/segmentation_platform:factory_java",
|
||||
"//chrome/browser/selection/android:java",
|
||||
@@ -1003,8 +1002,6 @@ junit_binary("chrome_junit_tests") {
|
||||
@@ -1004,8 +1003,6 @@ junit_binary("chrome_junit_tests") {
|
||||
"//chrome/browser/preferences:java",
|
||||
"//chrome/browser/preferences:preferences_junit_tests",
|
||||
"//chrome/browser/profiles/android:java",
|
||||
|
@ -31,7 +31,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/share:java",
|
||||
"//chrome/browser/tab:java",
|
||||
@@ -1408,8 +1405,6 @@ android_library("chrome_test_java") {
|
||||
@@ -1409,8 +1406,6 @@ android_library("chrome_test_java") {
|
||||
"//chrome/browser/profiles/android:java",
|
||||
"//chrome/browser/safe_browsing/android:java",
|
||||
"//chrome/browser/safe_browsing/android:javatests",
|
||||
|
|
|
@ -241,7 +241,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|||
}
|
||||
|
||||
if (enable_vr) {
|
||||
@@ -555,6 +559,7 @@ android_library("chrome_java") {
|
||||
@@ -556,6 +560,7 @@ android_library("chrome_java") {
|
||||
"//components/ukm/android:java",
|
||||
"//components/url_formatter/android:url_formatter_java",
|
||||
"//components/user_prefs/android:java",
|
||||
|
|
|
@ -17,13 +17,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
cc/input/browser_controls_offset_manager.cc | 6 +++
|
||||
cc/trees/layer_tree_host_impl.cc | 3 ++
|
||||
.../tab_management/TabGroupUiCoordinator.java | 7 ++-
|
||||
.../tab_management/TabGroupUiMediator.java | 50 +++++++++++++++++-
|
||||
.../tab_management/TabGroupUiMediator.java | 50 ++++++++++++++++++-
|
||||
.../tab_management/TabGroupUiProperties.java | 6 ++-
|
||||
.../tab_management/TabGroupUiToolbarView.java | 18 +++++++
|
||||
.../tab_management/TabGroupUiViewBinder.java | 3 ++
|
||||
.../tab_management/TabListRecyclerView.java | 19 ++++++-
|
||||
.../tab_management/TabSwitcherMediator.java | 15 ++++++
|
||||
.../ChromeAccessibilitySettingsDelegate.java | 52 +++++++++++++++++++
|
||||
.../ChromeAccessibilitySettingsDelegate.java | 14 ++++++
|
||||
.../chrome/browser/app/ChromeActivity.java | 13 +++++
|
||||
.../browser/app/flags/ChromeCachedFlags.java | 1 +
|
||||
.../compositor/CompositorViewHolder.java | 6 +++
|
||||
|
@ -32,11 +32,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../overlays/strip/StripLayoutHelper.java | 2 +-
|
||||
.../strip/StripLayoutHelperManager.java | 36 +++++++++++--
|
||||
.../scene_layer/StaticTabSceneLayer.java | 8 ++-
|
||||
.../scene_layer/TabListSceneLayer.java | 14 +++++
|
||||
.../scene_layer/TabListSceneLayer.java | 14 ++++++
|
||||
.../scene_layer/TabStripSceneLayer.java | 15 +++++-
|
||||
.../browser/findinpage/FindToolbarTablet.java | 11 ++--
|
||||
.../fullscreen/BrowserControlsManager.java | 13 +++++
|
||||
.../messages/MessageContainerCoordinator.java | 17 +++++-
|
||||
.../messages/MessageContainerCoordinator.java | 17 ++++++-
|
||||
.../modaldialog/ChromeTabModalPresenter.java | 2 +-
|
||||
.../chrome/browser/ntp/NewTabPage.java | 13 +++--
|
||||
.../chrome/browser/ntp/RecentTabsPage.java | 22 ++++++--
|
||||
|
@ -44,7 +44,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../browser/settings/SettingsActivity.java | 5 ++
|
||||
.../StatusIndicatorCoordinator.java | 10 ++++
|
||||
.../StatusIndicatorSceneLayer.java | 7 ++-
|
||||
.../browser/toolbar/ToolbarManager.java | 37 +++++++++++--
|
||||
.../browser/toolbar/ToolbarManager.java | 37 ++++++++++++--
|
||||
.../chrome/browser/ui/BottomContainer.java | 19 +++++++
|
||||
chrome/browser/about_flags.cc | 5 ++
|
||||
.../scene_layer/tab_strip_scene_layer.cc | 16 ++++--
|
||||
|
@ -56,13 +56,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../flags/android/chrome_feature_list.cc | 2 +
|
||||
.../browser/flags/CachedFeatureFlags.java | 19 +++++++
|
||||
.../browser/flags/ChromeFeatureList.java | 2 +
|
||||
.../chrome/browser/ui/appmenu/AppMenu.java | 25 +++++++++
|
||||
.../chrome/browser/ui/appmenu/AppMenu.java | 25 ++++++++++
|
||||
.../ui/appmenu/AppMenuHandlerImpl.java | 11 ++++
|
||||
.../omnibox/LocationBarCoordinator.java | 9 +++-
|
||||
.../browser/omnibox/UrlBarCoordinator.java | 11 +++-
|
||||
.../suggestions/AutocompleteCoordinator.java | 16 +++++-
|
||||
.../suggestions/AutocompleteMediator.java | 7 ++-
|
||||
.../OmniboxSuggestionsDropdown.java | 23 +++++++-
|
||||
.../OmniboxSuggestionsDropdown.java | 23 ++++++++-
|
||||
.../OmniboxSuggestionsDropdownEmbedder.java | 4 ++
|
||||
.../strings/android_chrome_strings.grd | 6 +++
|
||||
chrome/browser/ui/android/toolbar/BUILD.gn | 1 +
|
||||
|
@ -72,7 +72,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../bottom/BottomControlsMediator.java | 9 ++++
|
||||
.../bottom/BottomControlsProperties.java | 5 +-
|
||||
.../bottom/BottomControlsViewBinder.java | 2 +
|
||||
.../bottom/ScrollingBottomViewSceneLayer.java | 20 ++++++-
|
||||
.../bottom/ScrollingBottomViewSceneLayer.java | 20 +++++++-
|
||||
.../toolbar/top/ToolbarControlContainer.java | 11 ++++
|
||||
.../top/TopToolbarOverlayCoordinator.java | 7 +++
|
||||
.../top/TopToolbarOverlayProperties.java | 8 ++-
|
||||
|
@ -81,7 +81,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../accessibility/AccessibilitySettings.java | 16 ++++++
|
||||
.../AccessibilitySettingsDelegate.java | 6 +++
|
||||
.../render_widget_host_view_android.cc | 3 ++
|
||||
69 files changed, 735 insertions(+), 53 deletions(-)
|
||||
69 files changed, 697 insertions(+), 53 deletions(-)
|
||||
|
||||
diff --git a/cc/base/features.cc b/cc/base/features.cc
|
||||
--- a/cc/base/features.cc
|
||||
|
@ -501,51 +501,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||
private static class ReaderForAccessibilityDelegate implements BooleanPreferenceDelegate {
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
@@ -67,6 +81,44 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
return new ReaderForAccessibilityDelegate();
|
||||
}
|
||||
|
||||
+ private static class MoveTopToolbarToBottomDelegate implements BooleanPreferenceDelegate {
|
||||
+ @Override
|
||||
+ public boolean isEnabled() {
|
||||
+ return CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setEnabled(boolean value) {
|
||||
+ CachedFeatureFlags.setFlagEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM,
|
||||
+ "move-top-toolbar-to-bottom", value);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public BooleanPreferenceDelegate getMoveTopToolbarToBottomDelegate() {
|
||||
+ return new MoveTopToolbarToBottomDelegate();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void requestRestart(Activity activity) {
|
||||
+ Snackbar mSnackbar = Snackbar.make(activity.getString(R.string.ui_relaunch_notice),
|
||||
+ new SnackbarManager.SnackbarController() {
|
||||
+ @Override
|
||||
+ public void onDismissNoAction(Object actionData) { }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onAction(Object actionData) {
|
||||
+ ApplicationLifetime.terminate(true);
|
||||
+ }
|
||||
+ }, Snackbar.TYPE_NOTIFICATION, Snackbar.UMA_UNKNOWN)
|
||||
+ .setSingleLine(false)
|
||||
+ .setAction(activity.getString(R.string.relaunch),
|
||||
+ /*actionData*/null)
|
||||
+ .setDuration(/*durationMs*/70000);
|
||||
+ if (!mSnackbarManager.isShowing())
|
||||
+ mSnackbarManager.showSnackbar(mSnackbar);
|
||||
+ }
|
||||
+
|
||||
@Override
|
||||
public void addExtraPreferences(PreferenceFragmentCompat fragment) {
|
||||
if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
|
||||
|
@ -2262,9 +2217,9 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
|
|||
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
|
||||
@@ -31,12 +31,15 @@ public class AccessibilitySettings
|
||||
public static final String PREF_CAPTIONS = "captions";
|
||||
@@ -32,12 +32,15 @@ public class AccessibilitySettings
|
||||
|
||||
private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
||||
static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
+ static final String PREF_MOVE_TOOLBAR_TO_BOTTOM = "move_toolbar_bottom";
|
||||
+
|
||||
|
@ -2278,7 +2233,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||
|
||||
private FontSizePrefs mFontSizePrefs;
|
||||
private FontSizePrefsObserver mFontSizePrefsObserver = new FontSizePrefsObserver() {
|
||||
@@ -56,6 +59,10 @@ public class AccessibilitySettings
|
||||
@@ -57,6 +60,10 @@ public class AccessibilitySettings
|
||||
mFontSizePrefs = FontSizePrefs.getInstance(delegate.getBrowserContextHandle());
|
||||
}
|
||||
|
||||
|
@ -2289,7 +2244,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
|||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
@@ -105,6 +112,12 @@ public class AccessibilitySettings
|
||||
@@ -106,6 +113,12 @@ public class AccessibilitySettings
|
||||
getPreferenceScreen().removePreference(accessibilityTabSwitcherPref);
|
||||
}
|
||||
|
||||
|
|
|
@ -104,10 +104,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
|||
.../browser/password_manager_client_helper.cc | 43 +---
|
||||
.../core/browser/sync_credentials_filter.cc | 48 +---
|
||||
components/signin/features.gni | 4 +-
|
||||
...e_oauth2_token_service_delegate_android.cc | 134 +-----------
|
||||
...le_oauth2_token_service_delegate_android.h | 10 -
|
||||
.../signin/SystemAccountManagerDelegate.java | 25 +--
|
||||
.../ProfileOAuth2TokenServiceDelegate.java | 52 -----
|
||||
.../net/HttpNegotiateAuthenticator.java | 88 +-------
|
||||
.../chromoting/base/OAuthTokenFetcher.java | 2 -
|
||||
88 files changed, 85 insertions(+), 2097 deletions(-)
|
||||
91 files changed, 88 insertions(+), 2290 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
|
@ -4503,6 +4506,218 @@ diff --git a/components/signin/features.gni b/components/signin/features.gni
|
|||
# Mirror is enabled and other account consistency mechanisms are not available.
|
||||
-enable_mirror = is_android || is_chromeos || is_ios
|
||||
+enable_mirror = false
|
||||
diff --git a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc
|
||||
--- a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc
|
||||
+++ b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc
|
||||
@@ -14,7 +14,6 @@
|
||||
#include "base/memory/raw_ptr.h"
|
||||
#include "base/metrics/histogram_functions.h"
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
-#include "components/signin/public/android/jni_headers/ProfileOAuth2TokenServiceDelegate_jni.h"
|
||||
#include "components/signin/public/base/account_consistency_method.h"
|
||||
#include "components/signin/public/identity_manager/account_info.h"
|
||||
#include "google_apis/gaia/gaia_auth_util.h"
|
||||
@@ -91,20 +90,7 @@ AndroidAccessTokenFetcher::~AndroidAccessTokenFetcher() {}
|
||||
void AndroidAccessTokenFetcher::Start(const std::string& client_id,
|
||||
const std::string& client_secret,
|
||||
const std::vector<std::string>& scopes) {
|
||||
- JNIEnv* env = AttachCurrentThread();
|
||||
- std::string scope = CombineScopes(scopes);
|
||||
- ScopedJavaLocalRef<jstring> j_email =
|
||||
- ConvertUTF8ToJavaString(env, account_id_);
|
||||
- ScopedJavaLocalRef<jstring> j_scope = ConvertUTF8ToJavaString(env, scope);
|
||||
- std::unique_ptr<FetchOAuth2TokenCallback> heap_callback(
|
||||
- new FetchOAuth2TokenCallback(
|
||||
- base::BindOnce(&AndroidAccessTokenFetcher::OnAccessTokenResponse,
|
||||
- weak_factory_.GetWeakPtr())));
|
||||
-
|
||||
- // Call into Java to get a new token.
|
||||
- signin::Java_ProfileOAuth2TokenServiceDelegate_getAccessTokenFromNative(
|
||||
- env, oauth2_token_service_delegate_->GetJavaObject(), j_email, j_scope,
|
||||
- reinterpret_cast<intptr_t>(heap_callback.release()));
|
||||
+ CancelRequest();
|
||||
}
|
||||
|
||||
void AndroidAccessTokenFetcher::CancelRequest() {
|
||||
@@ -153,27 +139,6 @@ ProfileOAuth2TokenServiceDelegateAndroid::
|
||||
fire_refresh_token_loaded_(RT_LOAD_NOT_START) {
|
||||
DVLOG(1) << "ProfileOAuth2TokenServiceDelegateAndroid::ctor";
|
||||
DCHECK(account_tracker_service_);
|
||||
-
|
||||
- JNIEnv* env = AttachCurrentThread();
|
||||
- base::android::ScopedJavaLocalRef<jobject> local_java_ref =
|
||||
- signin::Java_ProfileOAuth2TokenServiceDelegate_Constructor(
|
||||
- env, reinterpret_cast<intptr_t>(this),
|
||||
- account_tracker_service_->GetJavaObject());
|
||||
- java_ref_.Reset(env, local_java_ref.obj());
|
||||
-
|
||||
- if (account_tracker_service_->GetMigrationState() ==
|
||||
- AccountTrackerService::MIGRATION_IN_PROGRESS) {
|
||||
- std::vector<CoreAccountId> accounts = GetAccounts();
|
||||
- std::vector<CoreAccountId> accounts_id;
|
||||
- for (auto account_name : accounts) {
|
||||
- std::string email = account_name.ToString();
|
||||
- AccountInfo account_info =
|
||||
- account_tracker_service_->FindAccountInfoByEmail(email);
|
||||
- DCHECK(!account_info.gaia.empty());
|
||||
- accounts_id.push_back(CoreAccountId::FromGaiaId(account_info.gaia));
|
||||
- }
|
||||
- SetAccounts(accounts_id);
|
||||
- }
|
||||
}
|
||||
|
||||
ProfileOAuth2TokenServiceDelegateAndroid::
|
||||
@@ -181,30 +146,12 @@ ProfileOAuth2TokenServiceDelegateAndroid::
|
||||
|
||||
ScopedJavaLocalRef<jobject>
|
||||
ProfileOAuth2TokenServiceDelegateAndroid::GetJavaObject() {
|
||||
- return ScopedJavaLocalRef<jobject>(java_ref_);
|
||||
+ return nullptr;
|
||||
}
|
||||
|
||||
bool ProfileOAuth2TokenServiceDelegateAndroid::RefreshTokenIsAvailable(
|
||||
const CoreAccountId& account_id) const {
|
||||
- DVLOG(1)
|
||||
- << "ProfileOAuth2TokenServiceDelegateAndroid::RefreshTokenIsAvailable"
|
||||
- << " account= " << account_id;
|
||||
- std::string account_name = MapAccountIdToAccountName(account_id);
|
||||
- if (account_name.empty()) {
|
||||
- // This corresponds to the case when the account with id |account_id| is not
|
||||
- // present on the device and thus was not seeded.
|
||||
- DVLOG(1)
|
||||
- << "ProfileOAuth2TokenServiceDelegateAndroid::RefreshTokenIsAvailable"
|
||||
- << " cannot find account name for account id " << account_id;
|
||||
- return false;
|
||||
- }
|
||||
- JNIEnv* env = AttachCurrentThread();
|
||||
- ScopedJavaLocalRef<jstring> j_account_name =
|
||||
- ConvertUTF8ToJavaString(env, account_name);
|
||||
- jboolean refresh_token_is_available =
|
||||
- signin::Java_ProfileOAuth2TokenServiceDelegate_hasOAuth2RefreshToken(
|
||||
- env, java_ref_, j_account_name);
|
||||
- return refresh_token_is_available == JNI_TRUE;
|
||||
+ return false;
|
||||
}
|
||||
|
||||
GoogleServiceAuthError ProfileOAuth2TokenServiceDelegateAndroid::GetAuthError(
|
||||
@@ -277,49 +224,11 @@ void ProfileOAuth2TokenServiceDelegateAndroid::OnAccessTokenInvalidated(
|
||||
const std::string& client_id,
|
||||
const OAuth2AccessTokenManager::ScopeSet& scopes,
|
||||
const std::string& access_token) {
|
||||
- ValidateAccountId(account_id);
|
||||
- JNIEnv* env = AttachCurrentThread();
|
||||
- ScopedJavaLocalRef<jstring> j_access_token =
|
||||
- ConvertUTF8ToJavaString(env, access_token);
|
||||
- signin::Java_ProfileOAuth2TokenServiceDelegate_invalidateAccessToken(
|
||||
- env, java_ref_, j_access_token);
|
||||
}
|
||||
|
||||
void ProfileOAuth2TokenServiceDelegateAndroid::
|
||||
ReloadAllAccountsFromSystemWithPrimaryAccount(
|
||||
const absl::optional<CoreAccountId>& primary_account_id) {
|
||||
- JNIEnv* env = AttachCurrentThread();
|
||||
-
|
||||
- ScopedJavaLocalRef<jstring> j_account_id =
|
||||
- primary_account_id.has_value()
|
||||
- ? ConvertUTF8ToJavaString(env, primary_account_id->ToString())
|
||||
- : nullptr;
|
||||
- signin::
|
||||
- Java_ProfileOAuth2TokenServiceDelegate_seedAndReloadAccountsWithPrimaryAccount(
|
||||
- env, java_ref_, j_account_id);
|
||||
-}
|
||||
-
|
||||
-void ProfileOAuth2TokenServiceDelegateAndroid::
|
||||
- ReloadAllAccountsWithPrimaryAccountAfterSeeding(
|
||||
- JNIEnv* env,
|
||||
- const base::android::JavaParamRef<jstring>& j_primary_account_id,
|
||||
- const base::android::JavaParamRef<jobjectArray>&
|
||||
- j_device_account_names) {
|
||||
- absl::optional<CoreAccountId> primary_account_id;
|
||||
- if (j_primary_account_id) {
|
||||
- primary_account_id = CoreAccountId::FromString(
|
||||
- ConvertJavaStringToUTF8(env, j_primary_account_id));
|
||||
- }
|
||||
- std::vector<std::string> device_account_names;
|
||||
- base::android::AppendJavaStringArrayToStringVector(
|
||||
- env, j_device_account_names, &device_account_names);
|
||||
- std::vector<CoreAccountId> account_ids;
|
||||
- for (const std::string& name : device_account_names) {
|
||||
- CoreAccountId id(MapAccountNameToAccountId(name));
|
||||
- if (!id.empty())
|
||||
- account_ids.push_back(std::move(id));
|
||||
- }
|
||||
- UpdateAccountList(primary_account_id, GetValidAccounts(), account_ids);
|
||||
}
|
||||
|
||||
void ProfileOAuth2TokenServiceDelegateAndroid::UpdateAccountList(
|
||||
@@ -482,40 +391,3 @@ ProfileOAuth2TokenServiceDelegateAndroid::MapAccountNameToAccountId(
|
||||
<< "Can't find account id, account_name=" << account_name;
|
||||
return account_id;
|
||||
}
|
||||
-
|
||||
-namespace signin {
|
||||
-
|
||||
-// Called from Java when fetching of an OAuth2 token is finished. The
|
||||
-// |authToken| param is only valid when |result| is true.
|
||||
-// |expiration_time_secs| param is the number of seconds (NOT milliseconds)
|
||||
-// after the Unix epoch when the token is scheduled to expire.
|
||||
-// It is set to 0 if there's no known expiration time.
|
||||
-void JNI_ProfileOAuth2TokenServiceDelegate_OnOAuth2TokenFetched(
|
||||
- JNIEnv* env,
|
||||
- const JavaParamRef<jstring>& authToken,
|
||||
- const jlong expiration_time_secs,
|
||||
- jboolean isTransientError,
|
||||
- jlong nativeCallback) {
|
||||
- std::string token;
|
||||
- if (authToken)
|
||||
- token = ConvertJavaStringToUTF8(env, authToken);
|
||||
- std::unique_ptr<FetchOAuth2TokenCallback> heap_callback(
|
||||
- reinterpret_cast<FetchOAuth2TokenCallback*>(nativeCallback));
|
||||
- GoogleServiceAuthError err = GoogleServiceAuthError::AuthErrorNone();
|
||||
- if (!authToken) {
|
||||
- err =
|
||||
- isTransientError
|
||||
- ? GoogleServiceAuthError(GoogleServiceAuthError::CONNECTION_FAILED)
|
||||
- : GoogleServiceAuthError::FromInvalidGaiaCredentialsReason(
|
||||
- GoogleServiceAuthError::InvalidGaiaCredentialsReason::
|
||||
- CREDENTIALS_REJECTED_BY_SERVER);
|
||||
- }
|
||||
-
|
||||
- const base::Time expiration_time =
|
||||
- expiration_time_secs == 0
|
||||
- ? base::Time()
|
||||
- : base::Time::FromJavaTime(expiration_time_secs * 1000);
|
||||
-
|
||||
- std::move(*heap_callback).Run(err, token, expiration_time);
|
||||
-}
|
||||
-} // namespace signin
|
||||
diff --git a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.h b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.h
|
||||
--- a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.h
|
||||
+++ b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.h
|
||||
@@ -59,14 +59,6 @@ class ProfileOAuth2TokenServiceDelegateAndroid
|
||||
void ReloadAllAccountsFromSystemWithPrimaryAccount(
|
||||
const absl::optional<CoreAccountId>& primary_account_id) override;
|
||||
|
||||
- // Resumes the reload of accounts once the account seeding is complete.
|
||||
- // TODO(crbug.com/934688) Once ProfileOAuth2TokenServiceDelegate.java is
|
||||
- // internalized, use CoreAccountId instead of String.
|
||||
- void ReloadAllAccountsWithPrimaryAccountAfterSeeding(
|
||||
- JNIEnv* env,
|
||||
- const base::android::JavaParamRef<jstring>& j_primary_account_id,
|
||||
- const base::android::JavaParamRef<jobjectArray>& j_device_account_names);
|
||||
-
|
||||
// Takes a the signed in sync account as well as all the other
|
||||
// android account ids and check the token status of each.
|
||||
// NOTE: TokenAvailable notifications will be sent for all accounts, even if
|
||||
@@ -117,8 +109,6 @@ class ProfileOAuth2TokenServiceDelegateAndroid
|
||||
// Set accounts that have been advertised by OnRefreshTokenAvailable.
|
||||
virtual void SetAccounts(const std::vector<CoreAccountId>& accounts);
|
||||
|
||||
- base::android::ScopedJavaGlobalRef<jobject> java_ref_;
|
||||
-
|
||||
// Accounts that have been advertised by OnRefreshTokenAvailable.
|
||||
std::vector<CoreAccountId> accounts_;
|
||||
|
||||
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
--- a/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
||||
|
@ -4547,6 +4762,74 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
|
|||
}
|
||||
|
||||
@Nullable
|
||||
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/identitymanager/ProfileOAuth2TokenServiceDelegate.java b/components/signin/public/android/java/src/org/chromium/components/signin/identitymanager/ProfileOAuth2TokenServiceDelegate.java
|
||||
--- a/components/signin/public/android/java/src/org/chromium/components/signin/identitymanager/ProfileOAuth2TokenServiceDelegate.java
|
||||
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/identitymanager/ProfileOAuth2TokenServiceDelegate.java
|
||||
@@ -82,31 +82,6 @@ final class ProfileOAuth2TokenServiceDelegate {
|
||||
private void getAccessTokenFromNative(
|
||||
String accountEmail, String scope, final long nativeCallback) {
|
||||
assert accountEmail != null : "Account email cannot be null!";
|
||||
- mAccountManagerFacade.getAccounts().then(accounts -> {
|
||||
- final Account account = AccountUtils.findAccountByName(accounts, accountEmail);
|
||||
- if (account == null) {
|
||||
- ThreadUtils.postOnUiThread(() -> {
|
||||
- ProfileOAuth2TokenServiceDelegateJni.get().onOAuth2TokenFetched(
|
||||
- null, AccessTokenData.NO_KNOWN_EXPIRATION_TIME, false, nativeCallback);
|
||||
- });
|
||||
- return;
|
||||
- }
|
||||
- String oauth2Scope = OAUTH2_SCOPE_PREFIX + scope;
|
||||
- getAccessToken(account, oauth2Scope, new GetAccessTokenCallback() {
|
||||
- @Override
|
||||
- public void onGetTokenSuccess(AccessTokenData token) {
|
||||
- ProfileOAuth2TokenServiceDelegateJni.get().onOAuth2TokenFetched(
|
||||
- token.getToken(), token.getExpirationTimeSecs(), false, nativeCallback);
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onGetTokenFailure(boolean isTransientError) {
|
||||
- ProfileOAuth2TokenServiceDelegateJni.get().onOAuth2TokenFetched(null,
|
||||
- AccessTokenData.NO_KNOWN_EXPIRATION_TIME, isTransientError,
|
||||
- nativeCallback);
|
||||
- }
|
||||
- });
|
||||
- });
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -161,32 +136,5 @@ final class ProfileOAuth2TokenServiceDelegate {
|
||||
@CalledByNative
|
||||
void seedAndReloadAccountsWithPrimaryAccount(@Nullable String primaryAccountId) {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
- mAccountTrackerService.seedAccountsIfNeeded(() -> {
|
||||
- final List<Account> accounts = AccountUtils.getAccountsIfFulfilledOrEmpty(
|
||||
- AccountManagerFacadeProvider.getInstance().getAccounts());
|
||||
- ProfileOAuth2TokenServiceDelegateJni.get()
|
||||
- .reloadAllAccountsWithPrimaryAccountAfterSeeding(
|
||||
- mNativeProfileOAuth2TokenServiceDelegate, primaryAccountId,
|
||||
- AccountUtils.toAccountNames(accounts).toArray(new String[0]));
|
||||
- });
|
||||
- }
|
||||
-
|
||||
- @NativeMethods
|
||||
- interface Natives {
|
||||
- /**
|
||||
- * Called to C++ when fetching of an OAuth2 token is finished.
|
||||
- * @param authToken The string value of the OAuth2 token.
|
||||
- * @param expirationTimeSecs The number of seconds after the Unix epoch when the token is
|
||||
- * scheduled to expire. It is set to 0 if there's no known expiration time.
|
||||
- * @param isTransientError Indicates if the error is transient (network timeout or
|
||||
- * * unavailable, etc) or persistent (bad credentials, permission denied, etc).
|
||||
- * @param nativeCallback the pointer to the native callback that should be run upon
|
||||
- * completion.
|
||||
- */
|
||||
- void onOAuth2TokenFetched(String authToken, long expirationTimeSecs,
|
||||
- boolean isTransientError, long nativeCallback);
|
||||
- void reloadAllAccountsWithPrimaryAccountAfterSeeding(
|
||||
- long nativeProfileOAuth2TokenServiceDelegateAndroid, @Nullable String accountId,
|
||||
- String[] deviceAccountNames);
|
||||
}
|
||||
}
|
||||
diff --git a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java b/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
|
||||
--- a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
|
||||
+++ b/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
|
||||
|
|
Loading…
Add table
Reference in a new issue