#159 allow the webview build

This commit is contained in:
Carmelo Messina
2023-12-14 15:30:30 +01:00
parent 1a8ef384c2
commit 962233864b
4 changed files with 112 additions and 43 deletions
@@ -7,7 +7,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
.../browser/tasks/ReturnToChromeUtil.java | 4 +++-
.../chrome/browser/ui/RootUiCoordinator.java | 5 ++++-
chrome/browser/preferences/BUILD.gn | 1 +
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/ChromeSharedPreferences.java | 8 ++++++++
.../LegacyChromePreferenceKeys.java | 1 +
.../omnibox/LocationBarCoordinator.java | 2 +-
.../strings/android_chrome_strings.grd | 7 +++++++
@@ -16,9 +18,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../res/xml/accessibility_preferences.xml | 5 +++++
.../accessibility/AccessibilitySettings.java | 10 ++++++++++
.../AccessibilitySettingsDelegate.java | 2 ++
ui/android/BUILD.gn | 2 ++
.../chromium/ui/base/DeviceFormFactor.java | 5 +++++
14 files changed, 65 insertions(+), 9 deletions(-)
.../chromium/ui/base/DeviceFormFactor.java | 6 ++++++
15 files changed, 73 insertions(+), 9 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
@@ -85,6 +86,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
stubId = R.id.find_toolbar_tablet_stub;
}
mFindToolbarManager = new FindToolbarManager(mActivity.findViewById(stubId),
diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BUILD.gn
--- a/chrome/browser/preferences/BUILD.gn
+++ b/chrome/browser/preferences/BUILD.gn
@@ -25,6 +25,7 @@ android_library("java") {
"//components/browser_ui/site_settings/android:constants_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
+ "//ui/android:ui_java",
]
srcjar_deps = [
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
@@ -96,6 +108,31 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/** Keys used to save settings related to homepage. */
public static final String DEPRECATED_HOMEPAGE_CUSTOM_URI = "homepage_custom_uri";
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromeSharedPreferences.java
@@ -11,6 +11,8 @@ import org.chromium.base.shared_preferences.PreferenceKeyRegistry;
import org.chromium.base.shared_preferences.SharedPreferencesManager;
import org.chromium.build.BuildConfig;
+import org.chromium.ui.base.DeviceFormFactor;
+
@JNINamespace("android::shared_preferences")
public class ChromeSharedPreferences {
public static final PreferenceKeyRegistry REGISTRY =
@@ -22,6 +24,12 @@ public class ChromeSharedPreferences {
LegacyChromePreferenceKeys.getPrefixesInUse())
: null);
+ static {
+ DeviceFormFactor.setForceTabletUI(
+ ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false));
+ }
+
/**
* @return The //base SharedPreferencesManager singleton.
*/
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -242,37 +279,26 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
/**
* 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
@@ -417,6 +417,8 @@ android_library("ui_no_recycler_view_java") {
":ui_android_features_java",
":ui_java_resources",
":ui_utils_java",
+ # dependency for ui_no_recycler_view_java
+ "//chrome/browser/preferences:java",
"//base:base_java",
"//build/android:build_java",
"//components/url_formatter/android:url_formatter_java",
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
@@ -13,6 +13,8 @@ import org.jni_zero.CalledByNative;
@@ -38,6 +38,11 @@ public class DeviceFormFactor {
*/
private static final int SCREEN_BUCKET_LARGET_TABLET = 3;
import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.ui.R;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.display.DisplayUtil;
@@ -63,6 +65,9 @@ public class DeviceFormFactor {
+ private static boolean mForceTabletUI;
+ public static void setForceTabletUI(boolean forceTabletUI) {
+ mForceTabletUI = forceTabletUI;
+ }
+
/**
* Each activity could be on a different display, and this will just tell you whether the
* display associated with the application context is "tablet sized".
@@ -63,6 +68,7 @@ public class DeviceFormFactor {
* E.g. http://developer.samsung.com/samsung-dex/testing
*/
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
+ if (ChromeSharedPreferences.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false))
+ return true;
+ if (mForceTabletUI) return true;
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
}
@@ -9,6 +9,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
android_webview/common/aw_features.cc | 4 +--
android_webview/nonembedded/BUILD.gn | 2 --
...eddedFastVariationsSeedSafeModeAction.java | 2 --
...SafeModeVariationsSeedContentProvider.java | 2 --
.../services/VariationsSeedServer.java | 2 --
.../metrics/chrome_browser_sampling_trials.cc | 4 +++
.../net/system_network_context_manager.cc | 1 -
@@ -25,7 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../variations_render_thread_observer.cc | 9 ------
.../Disable-fetching-of-all-field-trials.inc | 1 +
.../renderer/core/loader/document_loader.cc | 7 ----
18 files changed, 28 insertions(+), 80 deletions(-)
20 files changed, 28 insertions(+), 84 deletions(-)
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-fetching-of-all-field-trials.inc
diff --git a/android_webview/common/aw_features.cc b/android_webview/common/aw_features.cc
@@ -61,6 +63,35 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/
"java/src/org/chromium/android_webview/services/VariationsSeedServer.java",
]
deps = [
diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/NonEmbeddedFastVariationsSeedSafeModeAction.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/NonEmbeddedFastVariationsSeedSafeModeAction.java
--- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/NonEmbeddedFastVariationsSeedSafeModeAction.java
+++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/NonEmbeddedFastVariationsSeedSafeModeAction.java
@@ -27,13 +27,11 @@ public class NonEmbeddedFastVariationsSeedSafeModeAction implements NonEmbeddedS
@Override
public boolean onActivate() {
- AwVariationsSeedFetcher.scheduleIfNeeded(/*requireFastMode=*/true);
return true;
}
@Override
public boolean onDeactivate() {
- AwVariationsSeedFetcher.cancelSafeModeSeedFetchSchedulerJob();
return true;
}
}
diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java
--- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java
+++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java
@@ -83,8 +83,6 @@ public class SafeModeVariationsSeedContentProvider extends ContentProvider {
private Boolean awaitSeedResults() {
CountDownLatch countDownLatch = new CountDownLatch(1);
- VariationsSeedHolder.getInstance().hasSeedUpdateCompletedAsync(
- () -> { countDownLatch.countDown(); });
try {
return countDownLatch.await(TIMEOUT_IN_MILLIS, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
--- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
+++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
@@ -4,6 +4,7 @@ Subject: Disable third-party origin trials
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
android_webview/common/aw_content_client.cc | 1 -
.../origin_trials/origin_trial_policy_impl.cc | 7 ++++---
.../origin_trials/origin_trial_policy_impl.h | 2 +-
.../browser/renderer_host/navigation_request.cc | 1 -
@@ -13,8 +14,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/core/loader/document_loader.cc | 17 -----------------
.../blink/renderer/core/loader/http_equiv.cc | 2 +-
.../core/origin_trials/origin_trial_context.cc | 6 ++++--
9 files changed, 16 insertions(+), 47 deletions(-)
10 files changed, 16 insertions(+), 48 deletions(-)
diff --git a/android_webview/common/aw_content_client.cc b/android_webview/common/aw_content_client.cc
--- a/android_webview/common/aw_content_client.cc
+++ b/android_webview/common/aw_content_client.cc
@@ -127,7 +127,6 @@ blink::OriginTrialPolicy* AwContentClient::GetOriginTrialPolicy() {
// flag to true after construction. This will work because trial token
// validator will always get the current instance of policy when needed.
if (IsDisableOriginTrialsSafeModeActionOn()) {
- origin_trial_policy_->SetAllowOnlyDeprecationTrials(true);
}
return origin_trial_policy_.get();
}
diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.cc b/components/embedder_support/origin_trials/origin_trial_policy_impl.cc
--- a/components/embedder_support/origin_trials/origin_trial_policy_impl.cc
+++ b/components/embedder_support/origin_trials/origin_trial_policy_impl.cc
@@ -15,7 +15,7 @@ See also: https://github.com/bromite/bromite/issues/547
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
android_webview/browser/aw_contents.cc | 3 +-
android_webview/browser/aw_autofill_client.cc | 3 +-
chrome/android/BUILD.gn | 1 +
.../settings/PasswordSettings.java | 81 ++++++++++++++++++-
.../chromium/chrome/browser/tab/TabImpl.java | 51 ++++++++++++
@@ -38,19 +38,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chromium/ui/base/ViewAndroidDelegate.java | 8 ++
21 files changed, 326 insertions(+), 9 deletions(-)
diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc
--- a/android_webview/browser/aw_contents.cc
+++ b/android_webview/browser/aw_contents.cc
@@ -216,7 +216,8 @@ AwBrowserPermissionRequestDelegate* AwBrowserPermissionRequestDelegate::FromID(
AwSafeBrowsingUIManager::UIManagerClient*
AwSafeBrowsingUIManager::UIManagerClient::FromWebContents(
WebContents* web_contents) {
- return AwContents::FromWebContents(web_contents);
+ return AwContents::FromWebContents(web_contents,
+ /*enable_secondary_autofill_manager*/ false);
}
// static
diff --git a/android_webview/browser/aw_autofill_client.cc b/android_webview/browser/aw_autofill_client.cc
--- a/android_webview/browser/aw_autofill_client.cc
+++ b/android_webview/browser/aw_autofill_client.cc
@@ -369,7 +369,8 @@ AwAutofillClient::AwAutofillClient(WebContents* contents,
? base::BindRepeating(&autofill::AndroidDriverInitHook, this)
: base::BindRepeating(&autofill::BrowserDriverInitHook,
this,
- base::android::GetDefaultLocaleString()))
+ base::android::GetDefaultLocaleString(),
+ /*enable_secondary_autofill_manager*/ false))
#if DCHECK_IS_ON()
,
use_android_autofill_manager_(use_android_autofill_manager)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn