AP9-5174 Update Chromium code to latest
Update the version to 101.0.4951.69. Fix the conflicts.
This commit is contained in:
parent
914c3b1359
commit
e27c948d5e
17 changed files with 914 additions and 178 deletions
182
README.md
182
README.md
|
@ -1,3 +1,185 @@
|
|||
# Chromium Bromite patches + Promethean additions
|
||||
|
||||
This is a fork of the [Bromite repo on Github](https://github.com/bromite/bromite).
|
||||
|
||||
It contains a number of patches to Chromium that greatly increase
|
||||
security and privacy and fix various annoyances.
|
||||
|
||||
One patch has been removed from the original Bromite distribution:
|
||||
|
||||
- Automated domain substitution
|
||||
|
||||
One patch has been modified:
|
||||
|
||||
- The Bromite adblock engine is disabled by default
|
||||
|
||||
# Build instructions
|
||||
|
||||
## Getting Chromium
|
||||
|
||||
Building requires a [properly set up
|
||||
environment](https://chromium.googlesource.com/chromium/src/+/refs/tags/95.0.4638.78/docs/android_build_instructions.md#System-requirements). The
|
||||
Promethean [builder machine](https://builder.waq.be) has the proper
|
||||
dependencies installed.
|
||||
|
||||
The builder also has an existing Chromium checkout in
|
||||
`/tank/chromium/src` and a checkout of this repo in
|
||||
`/tank/chromium/bromite`. Before starting, you may wish to make a
|
||||
clone of `/tank/chromium`:
|
||||
|
||||
```
|
||||
sudo zfs snapshot tank/chromium@allen
|
||||
sudo zfs clone tank/chromium@allen tank/chromium4allen
|
||||
```
|
||||
|
||||
If you are not using the builder or wish to
|
||||
start from scratch, follow the instructions to [install depot_tools]
|
||||
and [get the code] but stop before the [Install additional build
|
||||
dependencies](https://chromium.googlesource.com/chromium/src/+/refs/tags/95.0.4638.78/docs/android_build_instructions.md#Install-additional-build-dependencies)
|
||||
section. If you're building on the builder box, skip that particular
|
||||
instruction. Apply the patches before continuing.
|
||||
|
||||
## Prepare your environment
|
||||
|
||||
All the operations that follow assume you are in an updated checkout
|
||||
of Chromium. It's advisable to set your `PATH` to where `gclient` is
|
||||
located. For example:
|
||||
|
||||
```
|
||||
export PATH=/tank/chromium4allen/depot_tools/:$PATH
|
||||
cd /tank/chromium4allen/src
|
||||
```
|
||||
|
||||
## Prepare Chromium
|
||||
|
||||
The patches are intended to be applied to the `101.0.4951.69` tag of
|
||||
the Chromium repo. Before continuing, make sure you are on that tag in
|
||||
the Chromium source repo:
|
||||
|
||||
```
|
||||
git fetch origin
|
||||
git checkout -B promethean-101.0.4951.69 101.0.4951.69
|
||||
gclient sync --with_branch_heads --with_tags
|
||||
gclient runhooks
|
||||
```
|
||||
|
||||
Do a quick check to see if there are any new dependencies that might be missing:
|
||||
|
||||
```
|
||||
./build/install-build-deps.sh --quick-check
|
||||
```
|
||||
|
||||
Note: this does not do a comprehensive check for missing
|
||||
dependencies. If you have troubles with the build, you may wish to run
|
||||
`./build/install-build-deps.sh` to make sure dependencies are properly
|
||||
installed.
|
||||
|
||||
## Applying the patches
|
||||
|
||||
Now apply the patches in correct order. Make sure you do this from the
|
||||
`src/` directory of the Chromium checkout and set the `BROMITE_REPO`
|
||||
variable to the location of this checkout:
|
||||
|
||||
```
|
||||
export BROMITE_REPO=/tank/chromium4allen/bromite
|
||||
for patchName in `cat $BROMITE_REPO/build/bromite_patches_list.txt`; do
|
||||
git am $BROMITE_REPO/build/patches/$patchName || break
|
||||
done
|
||||
```
|
||||
|
||||
All patches should apply cleanly. If they did not, make sure you have
|
||||
checked out the proper Chromium tag (101.0.4951.69).
|
||||
|
||||
## Getting the third dependencies
|
||||
|
||||
If you have added the third dependencies to `third_party/android_deps/build.gradle`,
|
||||
you need to run `third_party/android_deps/fetch_all.py` to regenerate libs.
|
||||
|
||||
```
|
||||
python3 third_party/android_deps/fetch_all.py --android-deps-dir third_party/android_deps/ --ignore-vulnerabilities --ignore-licenses
|
||||
```
|
||||
|
||||
### How to add third dependencies
|
||||
|
||||
First, you need to add the configurations to `third_party/android_deps/build.gradle`,
|
||||
like `compile 'com.prometheanworld:telemetry:0.3.2'`.
|
||||
Also, if other configurations (such as `resource_overlay = true`, `enable_bytecode_checks = false`) are needed,
|
||||
you need to add these configurations to `third_party/android_deps/buildSrc/src/main/groovy/BuildConfigGenerator.groovy`.
|
||||
|
||||
Secondly, if you want to use these libs on `chrome/android`, you need to add these to `chrome/android/BUILD.gn`.
|
||||
If you don't know where to add, maybe you can run the build, the error message will tell you.
|
||||
|
||||
Finally, if you don't know how to begin with, maybe `Telemetry-event-video-full-screen.patch` will help you.
|
||||
|
||||
## Setting the build arguments
|
||||
|
||||
The arguments in `bromite/build/bromite.gn_args` must be used as the Chromium
|
||||
build arguments. To do this, run `gn args` with the default args
|
||||
file. You can optionally set your preferred editor. This is done from
|
||||
the Chromium src directory:
|
||||
|
||||
```
|
||||
EDITOR=vi gn args out/Default
|
||||
```
|
||||
|
||||
Replace all the args with the contents of the `build/bromite.gn_args` file in this repo.
|
||||
|
||||
## Continuing the build
|
||||
|
||||
This command will build Chromium for the Android API 28 target. This
|
||||
should produce a package with the highest level of optimization for
|
||||
ActivPanel devices:
|
||||
|
||||
```
|
||||
autoninja -C out/Default monochrome_public_apk
|
||||
```
|
||||
|
||||
The resulting APK can be found at
|
||||
`out/Default/apks/MonochromePublic.apk` in the Chromium source
|
||||
directory.
|
||||
|
||||
(Original Bromite README follows)
|
||||
|
||||
## Merging upstream changes
|
||||
|
||||
Periodically the Bromite project will add new patches for
|
||||
release. There is a specific process to add these to this repo which
|
||||
should be followed to ensure a clean and maintainable Git history.
|
||||
|
||||
1. Make sure the upstream remote is established.
|
||||
|
||||
If you do not have an upstream remote, add it with:
|
||||
|
||||
git remote add upstream https://github.com/bromite/bromite.git
|
||||
|
||||
2. Retrieve the upstream changes
|
||||
|
||||
git fetch upstream
|
||||
|
||||
3. Find the latest Bromite release tag
|
||||
|
||||
git describe --tags --abbrev=0 upstream/master
|
||||
|
||||
This will give you output like `101.0.4951.69` which we'll use as an example going forward.
|
||||
|
||||
4. Create a new branch based on this tag
|
||||
|
||||
git checkout -b upstream-101.0.4951.69 101.0.4951.69
|
||||
|
||||
5. Rebase this branch on the current master
|
||||
|
||||
git rebase origin/master
|
||||
|
||||
If the rebase complete cleanly, you're done! Push the branch and open
|
||||
a PR to master.
|
||||
|
||||
If you run into conflicts, there is more work to do. We want to keep
|
||||
the upstream commits faithful to their original source. This means
|
||||
collecting any conflicts and putting them into a separate commit. The
|
||||
procedure is largely the same but start out by adding a commit with
|
||||
the conflicts pre-resolved. Then rebase onto `origin/master` and -- if
|
||||
the rebase succeeds cleanly -- push the new branch.
|
||||
|
||||
# Bromite - Take back your browser
|
||||
<a href="https://github.com/bromite/bromite/releases/latest">
|
||||
<img src="https://www.bromite.org/release.svg" alt="current Bromite release" title="current Bromite release" /> </a>
|
||||
|
|
|
@ -37,6 +37,8 @@ safe_browsing_mode=0
|
|||
symbol_level=1
|
||||
system_webview_package_name="org.bromite.webview"
|
||||
target_os="android"
|
||||
target_cpu="arm"
|
||||
treat_warnings_as_errors=false
|
||||
use_cfi_cast=true
|
||||
use_debug_fission=true
|
||||
use_errorprone_java_compiler=false
|
||||
|
|
|
@ -156,7 +156,6 @@ Allow-building-without-enable_reporting.patch
|
|||
Disable-lock-icon-in-address-bar-by-default.patch
|
||||
Enable-share-intent.patch
|
||||
Site-setting-for-images.patch
|
||||
Bromite-auto-updater.patch
|
||||
Experimental-user-scripts-support.patch
|
||||
Keep-empty-tabs-between-sessions.patch
|
||||
Disable-third-party-origin-trials.patch
|
||||
|
@ -189,10 +188,25 @@ Disable-TLS-resumption.patch
|
|||
Partition-DNS-requests-by-top-frame-NIK.patch
|
||||
Remove-mremap-from-seccomp-baseline-policy.patch
|
||||
Move-navigation-bar-to-bottom.patch
|
||||
Welcome-screen.patch
|
||||
Content-settings-infrastructure.patch
|
||||
Add-webGL-site-setting.patch
|
||||
Add-site-engagement-flag.patch
|
||||
Add-webRTC-site-settings.patch
|
||||
enable-process-isolated-sandboxed-iframes-by-default.patch
|
||||
Automated-domain-substitution.patch
|
||||
Turn-AdBlock-off-by-default.patch
|
||||
Force-tablet-mode.patch
|
||||
Set-default-page-url.patch
|
||||
change-Android-userAgent-to-deskmode-userAgent.patch
|
||||
Force-accessibility-text-scaling.patch
|
||||
Force-package-name-to-org.chromium.chrome.patch
|
||||
Donot-stretch-when-force-enable-zoom-checked.patch
|
||||
Force-desktop-mode.patch
|
||||
Telemetry-event-video-full-screen.patch
|
||||
Fix-google-web-apps-show-unsupported-message.patch
|
||||
Update-telemetry-lib-implementation.patch
|
||||
Fix-uncheck-desktop-site-no-effect.patch
|
||||
Fix-not-current-site-when-tab-opened-blank-target.patch
|
||||
Modify-default-url-AP9-5158.patch
|
||||
Hide-bookmark-and-settings.patch
|
||||
Fix-build-error-of-101_0_4951_69.patch
|
|
@ -3,22 +3,9 @@ Date: Sun, 27 Feb 2022 23:58:22 +0100
|
|||
Subject: Disable minidump upload scheduling
|
||||
|
||||
---
|
||||
chrome/browser/endpoint_fetcher/endpoint_fetcher.cc | 2 +-
|
||||
.../minidump_uploader/MinidumpUploadJobService.java | 5 ++++-
|
||||
2 files changed, 5 insertions(+), 2 deletions(-)
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
|
||||
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
|
||||
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
|
||||
@@ -337,7 +337,7 @@ void EndpointFetcher::OnResponseFetched(
|
||||
auto response = std::make_unique<EndpointResponse>();
|
||||
// TODO(crbug.com/993393) Add more detailed error messaging
|
||||
std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
|
||||
- VLOG(1) << __func__ << " with response error: " << net_error;
|
||||
+ LOG(ERROR) << __func__ << " with response error: " << net_error;
|
||||
response->response = "There was a response error";
|
||||
simple_url_loader_.reset();
|
||||
std::move(endpoint_fetcher_callback).Run(std::move(response));
|
||||
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
|
||||
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
|
||||
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
|
||||
|
|
|
@ -8,15 +8,15 @@ Refer to: https://prometheanworld.atlassian.net/browse/AP9-2791
|
|||
|
||||
---
|
||||
content/browser/web_contents/web_contents_impl.cc | 2 +-
|
||||
chrome/android/java/res/xml/accessibility_preferences.xml | 4 ++--
|
||||
chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java | 8 ++++----
|
||||
components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml | 4 ++--
|
||||
components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java | 8 ++++----
|
||||
3 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -2849,9 +2849,9 @@
|
||||
#if defined(OS_ANDROID)
|
||||
@@ -2907,9 +2907,9 @@
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
for (FrameTreeNode* node : primary_frame_tree_.Nodes()) {
|
||||
RenderFrameHostImpl* rfh = node->current_frame_host();
|
||||
if (rfh->is_local_root()) {
|
||||
|
@ -26,11 +26,11 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
|
|||
}
|
||||
}
|
||||
#endif
|
||||
diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
+++ b/chrome/android/java/res/xml/accessibility_preferences.xml
|
||||
@@ -8,14 +8,14 @@
|
||||
<org.chromium.chrome.browser.accessibility.settings.TextScalePreference
|
||||
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
|
||||
@@ -13,14 +13,14 @@
|
||||
<org.chromium.components.browser_ui.accessibility.TextScalePreference
|
||||
android:key="text_scale"
|
||||
android:title="@string/font_size"
|
||||
android:selectable="false" />
|
||||
|
@ -46,18 +46,18 @@ diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/chrome/
|
|||
android:key="reader_for_accessibility"
|
||||
android:summary="@string/reader_for_accessibility_summary"
|
||||
android:title="@string/reader_for_accessibility_title" />
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
@@ -36,6 +36,6 @@
|
||||
static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
|
||||
|
||||
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
|
||||
@@ -33,6 +33,6 @@
|
||||
static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
static final String PREF_MOVE_TOOLBAR_TO_BOTTOM = "move_toolbar_bottom";
|
||||
|
||||
private TextScalePreference mTextScalePref;
|
||||
- private ChromeBaseCheckBoxPreference mForceEnableZoomPref;
|
||||
+ //private ChromeBaseCheckBoxPreference mForceEnableZoomPref;
|
||||
private boolean mRecordFontSizeChangeOnStop;
|
||||
@@ -44,11 +44,11 @@
|
||||
@@ -45,11 +45,11 @@
|
||||
private FontSizePrefsObserver mFontSizePrefsObserver = new FontSizePrefsObserver() {
|
||||
@Override
|
||||
public void onFontScaleFactorChanged(float fontScaleFactor, float userFontScaleFactor) {
|
||||
|
@ -70,7 +70,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
|||
+ //mForceEnableZoomPref.setChecked(enabled);
|
||||
}
|
||||
};
|
||||
@@ -68,11 +68,11 @@
|
||||
@@ -79,11 +79,11 @@
|
||||
mTextScalePref = (TextScalePreference) findPreference(PREF_TEXT_SCALE);
|
||||
mTextScalePref.setOnPreferenceChangeListener(this);
|
||||
mTextScalePref.updateFontScaleFactors(mFontSizePrefs.getFontScaleFactor(),
|
||||
|
|
564
build/patches/Fix-build-error-of-101_0_4951_69.patch
Normal file
564
build/patches/Fix-build-error-of-101_0_4951_69.patch
Normal file
|
@ -0,0 +1,564 @@
|
|||
From: Yifeng <wuyifeng@nd.com.cn>
|
||||
Date: Wed, 29 Dec 2021 05:40:00 +0000
|
||||
Subject: Fix the build error of 101.0.4951.69
|
||||
|
||||
---
|
||||
chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java | 2 +-
|
||||
chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java | 2 +-
|
||||
chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java | 2 +-
|
||||
chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java | 4 ++--
|
||||
4 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
|
||||
@@ -31,8 +31,6 @@ import org.chromium.chrome.browser.customtabs.CustomTabActivity;
|
||||
import org.chromium.chrome.browser.fonts.FontPreloader;
|
||||
import org.chromium.chrome.browser.metrics.UmaUtils;
|
||||
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
|
||||
-import org.chromium.chrome.browser.signin.SigninFirstRunFragment;
|
||||
-import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial;
|
||||
import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
|
||||
import org.chromium.ui.base.LocalizationUtils;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
@@ -96,8 +94,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
@Nullable
|
||||
private static FirstRunActivityObserver sObserver;
|
||||
|
||||
- private String mResultSyncConsentAccountName;
|
||||
-
|
||||
private boolean mPostNativeAndPolicyPagesCreated;
|
||||
// Use hasValue() to simplify access. Will be null before initialized.
|
||||
private final OneshotSupplierImpl<Boolean> mNativeSideIsInitializedSupplier =
|
||||
@@ -146,18 +142,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
/** Creates first page and sets up adapter. Should result UI being shown on the screen. */
|
||||
private void createFirstPage() {
|
||||
BooleanSupplier showWelcomePage = () -> !FirstRunStatus.shouldSkipWelcomePage();
|
||||
- if (FREMobileIdentityConsistencyFieldTrial.isEnabled()) {
|
||||
- mPages.add(new FirstRunPage<>(SigninFirstRunFragment.class, showWelcomePage));
|
||||
- } else {
|
||||
- // TODO(crbug.com/1111490): Revisit during post-MVP.
|
||||
- // There's an edge case where we accept the welcome page in the main app, abort the FRE,
|
||||
- // then go through this CCT FRE again.
|
||||
- mPages.add(shouldCreateEnterpriseCctTosPage()
|
||||
- ? new FirstRunPage<>(
|
||||
- TosAndUmaFirstRunFragmentWithEnterpriseSupport.class,
|
||||
- showWelcomePage)
|
||||
- : new FirstRunPage<>(ToSAndUMAFirstRunFragment.class, showWelcomePage));
|
||||
- }
|
||||
+ mPages.add(new FirstRunPage<>(ToSAndUMAFirstRunFragment.class, showWelcomePage));
|
||||
mFreProgressStates.add(MobileFreProgress.WELCOME_SHOWN);
|
||||
mPagerAdapter = new FirstRunPagerAdapter(FirstRunActivity.this, mPages);
|
||||
mPager.setAdapter(mPagerAdapter);
|
||||
@@ -165,15 +150,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
// native and policy service have been initialized.
|
||||
}
|
||||
|
||||
- private boolean shouldCreateEnterpriseCctTosPage() {
|
||||
- // TODO(crbug.com/1111490): Revisit case when #shouldSkipWelcomePage = true.
|
||||
- // If the client has already accepted ToS (FirstRunStatus#shouldSkipWelcomePage), do not
|
||||
- // use the subclass ToSAndUmaCCTFirstRunFragment. Instead, use the base class
|
||||
- // (ToSAndUMAFirstRunFragment) which simply shows a loading spinner while waiting for
|
||||
- // native to be loaded.
|
||||
- return mLaunchedFromCCT && !FirstRunStatus.shouldSkipWelcomePage();
|
||||
- }
|
||||
-
|
||||
/**
|
||||
* Create the page sequence which requires native initialized, and policies loaded if any
|
||||
* on-device policies may exists.
|
||||
@@ -187,7 +163,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
|
||||
BooleanSupplier showSearchEnginePromo =
|
||||
() -> mFreProperties.getBoolean(SHOW_SEARCH_ENGINE_PAGE);
|
||||
- BooleanSupplier showSyncConsent = () -> mFreProperties.getBoolean(SHOW_SYNC_CONSENT_PAGE);
|
||||
|
||||
// An optional page to select a default search engine.
|
||||
if (showSearchEnginePromo.getAsBoolean()) {
|
||||
@@ -196,11 +171,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
mFreProgressStates.add(MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN);
|
||||
}
|
||||
|
||||
- // An optional sync consent page, the visibility of this page will be decided on the fly
|
||||
- // according to the situation.
|
||||
- mPages.add(new FirstRunPage<>(SyncConsentFirstRunFragment.class, showSyncConsent));
|
||||
- mFreProgressStates.add(MobileFreProgress.SYNC_CONSENT_SHOWN);
|
||||
-
|
||||
if (mPagerAdapter != null) {
|
||||
mPagerAdapter.notifyDataSetChanged();
|
||||
}
|
||||
@@ -245,10 +215,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
|
||||
@Override
|
||||
public void triggerLayoutInflation() {
|
||||
- // Generate trial group as early as possible to guarantee it's available by the time native
|
||||
- // needs to register the synthetic trial group. See https://crbug.com/1295692 for details.
|
||||
- FREMobileIdentityConsistencyFieldTrial.createFirstRunTrial();
|
||||
-
|
||||
initializeStateFromLaunchData();
|
||||
RecordHistogram.recordTimesHistogram("MobileFre.FromLaunch.TriggerLayoutInflation",
|
||||
SystemClock.elapsedRealtime() - mIntentCreationElapsedRealtimeMs);
|
||||
@@ -256,8 +222,12 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
setFinishOnTouchOutside(true);
|
||||
|
||||
setContentView(createContentView());
|
||||
- ViewDrawBlocker.blockViewDrawUntilReady(
|
||||
+ if (mPagerAdapter == null) {
|
||||
+ createFirstPage();
|
||||
+ } else {
|
||||
+ ViewDrawBlocker.blockViewDrawUntilReady(
|
||||
findViewById(android.R.id.content), () -> mPages.size() > 0);
|
||||
+ }
|
||||
|
||||
mFirstRunFlowSequencer = new FirstRunFlowSequencer(this) {
|
||||
@Override
|
||||
@@ -462,12 +432,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
public void completeFirstRunExperience() {
|
||||
RecordHistogram.recordMediumTimesHistogram("MobileFre.FromLaunch.FreCompleted",
|
||||
SystemClock.elapsedRealtime() - mIntentCreationElapsedRealtimeMs);
|
||||
- if (mFreProperties.getBoolean(OPEN_ADVANCED_SYNC_SETTINGS)) {
|
||||
- recordFreProgressHistogram(MobileFreProgress.SYNC_CONSENT_SETTINGS_LINK_CLICK);
|
||||
- }
|
||||
-
|
||||
- FirstRunFlowSequencer.markFlowAsCompleted(mResultSyncConsentAccountName,
|
||||
- mFreProperties.getBoolean(OPEN_ADVANCED_SYNC_SETTINGS));
|
||||
+ FirstRunFlowSequencer.markFlowAsCompleted();
|
||||
|
||||
if (sObserver != null) sObserver.onUpdateCachedEngineName(this);
|
||||
|
||||
@@ -510,16 +475,10 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
|
||||
@Override
|
||||
public void refuseSync() {
|
||||
- mResultSyncConsentAccountName = null;
|
||||
- mFreProperties.putBoolean(OPEN_ADVANCED_SYNC_SETTINGS, false);
|
||||
- recordFreProgressHistogram(MobileFreProgress.SYNC_CONSENT_DISMISSED);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void acceptSync(String accountName, boolean openSettings) {
|
||||
- mResultSyncConsentAccountName = accountName;
|
||||
- mFreProperties.putBoolean(OPEN_ADVANCED_SYNC_SETTINGS, openSettings);
|
||||
- recordFreProgressHistogram(MobileFreProgress.SYNC_CONSENT_ACCEPTED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -536,10 +495,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
|
||||
public void acceptTermsOfService(boolean allowCrashUpload) {
|
||||
assert mNativeSideIsInitializedSupplier.hasValue();
|
||||
|
||||
- // If default is true then it corresponds to opt-out and false corresponds to opt-in.
|
||||
- UmaUtils.recordMetricsReportingDefaultOptIn(!DEFAULT_METRICS_AND_CRASH_REPORTING);
|
||||
- RecordHistogram.recordMediumTimesHistogram("MobileFre.FromLaunch.TosAccepted",
|
||||
- SystemClock.elapsedRealtime() - mIntentCreationElapsedRealtimeMs);
|
||||
FirstRunUtils.acceptTermsOfService(allowCrashUpload);
|
||||
FirstRunStatus.setSkipWelcomePage(true);
|
||||
flushPersistentData();
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java
|
||||
@@ -26,15 +26,8 @@ import org.chromium.chrome.browser.flags.ChromeSwitches;
|
||||
import org.chromium.chrome.browser.locale.LocaleManager;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.search_engines.SearchEnginePromoType;
|
||||
-import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial;
|
||||
-import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
|
||||
-import org.chromium.chrome.browser.signin.services.SigninManager;
|
||||
import org.chromium.chrome.browser.vr.VrModuleProvider;
|
||||
import org.chromium.components.embedder_support.util.UrlConstants;
|
||||
-import org.chromium.components.signin.AccountManagerFacadeProvider;
|
||||
-import org.chromium.components.signin.AccountUtils;
|
||||
-import org.chromium.components.signin.identitymanager.ConsentLevel;
|
||||
-import org.chromium.components.signin.identitymanager.IdentityManager;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -59,27 +52,7 @@ public abstract class FirstRunFlowSequencer {
|
||||
/** Returns true if the sync consent promo page should be shown. */
|
||||
boolean shouldShowSyncConsentPage(
|
||||
Activity activity, List<Account> accounts, boolean isChild) {
|
||||
- if (isChild) {
|
||||
- // Always show the sync consent page for child account.
|
||||
- return true;
|
||||
- }
|
||||
- final IdentityManager identityManager =
|
||||
- IdentityServicesProvider.get().getIdentityManager(
|
||||
- Profile.getLastUsedRegularProfile());
|
||||
- if (identityManager.hasPrimaryAccount(ConsentLevel.SYNC) || !isSyncAllowed()) {
|
||||
- // No need to show the sync consent page if users already consented to sync or
|
||||
- // if sync is not allowed.
|
||||
- return false;
|
||||
- }
|
||||
- if (FREMobileIdentityConsistencyFieldTrial.isEnabled()) {
|
||||
- // Show the sync consent page only to the signed-in users.
|
||||
- return identityManager.hasPrimaryAccount(ConsentLevel.SIGNIN);
|
||||
- } else {
|
||||
- // We show the sync consent page if sync is allowed, and not signed in, and
|
||||
- // - "skip the first use hints" is not set, or
|
||||
- // - "skip the first use hints" is set, but there is at least one account.
|
||||
- return !shouldSkipFirstUseHints(activity) || !accounts.isEmpty();
|
||||
- }
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/** @return true if the Search Engine promo page should be shown. */
|
||||
@@ -94,10 +67,7 @@ public abstract class FirstRunFlowSequencer {
|
||||
/** @return true if Sync is allowed for the current user. */
|
||||
@VisibleForTesting
|
||||
protected boolean isSyncAllowed() {
|
||||
- SigninManager signinManager = IdentityServicesProvider.get().getSigninManager(
|
||||
- Profile.getLastUsedRegularProfile());
|
||||
- return FirstRunUtils.canAllowSync() && !signinManager.isSigninDisabledByPolicy()
|
||||
- && signinManager.isSigninSupported();
|
||||
+ return false;
|
||||
}
|
||||
|
||||
/** @return true if first use hints should be skipped. */
|
||||
@@ -141,19 +111,8 @@ public abstract class FirstRunFlowSequencer {
|
||||
* Once finished, calls onFlowIsKnown().
|
||||
*/
|
||||
void start() {
|
||||
- long childAccountStatusStart = SystemClock.elapsedRealtime();
|
||||
- AccountManagerFacadeProvider.getInstance().getAccounts().then(accounts -> {
|
||||
- AccountUtils.checkChildAccountStatus(
|
||||
- AccountManagerFacadeProvider.getInstance(), accounts, (isChild, account) -> {
|
||||
- RecordHistogram.recordCountHistogram(
|
||||
- "Signin.AndroidDeviceAccountsNumberWhenEnteringFRE",
|
||||
- Math.min(accounts.size(), 2));
|
||||
- RecordHistogram.recordTimesHistogram("MobileFre.ChildAccountStatusDuration",
|
||||
- SystemClock.elapsedRealtime() - childAccountStatusStart);
|
||||
- initializeSharedState(isChild, accounts);
|
||||
- processFreEnvironmentPreNative();
|
||||
- });
|
||||
- });
|
||||
+ mIsChild = false;
|
||||
+ processFreEnvironmentPreNative();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@@ -162,22 +121,15 @@ public abstract class FirstRunFlowSequencer {
|
||||
}
|
||||
|
||||
private boolean shouldShowSyncConsentPage() {
|
||||
- return mDelegate.shouldShowSyncConsentPage(mActivity, mGoogleAccounts, mIsChild);
|
||||
+ return false;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
protected void setFirstRunFlowSignInComplete() {
|
||||
- FirstRunSignInProcessor.setFirstRunFlowSignInComplete(true);
|
||||
- }
|
||||
-
|
||||
- private void initializeSharedState(boolean isChild, List<Account> accounts) {
|
||||
- mIsChild = isChild;
|
||||
- mGoogleAccounts = accounts;
|
||||
}
|
||||
|
||||
private void processFreEnvironmentPreNative() {
|
||||
Bundle freProperties = new Bundle();
|
||||
- freProperties.putBoolean(SyncConsentFirstRunFragment.IS_CHILD_ACCOUNT, mIsChild);
|
||||
|
||||
onFlowIsKnown(freProperties);
|
||||
if (mIsChild) {
|
||||
@@ -191,8 +143,8 @@ public abstract class FirstRunFlowSequencer {
|
||||
* @param freProperties Resulting FRE properties bundle.
|
||||
*/
|
||||
public void updateFirstRunProperties(Bundle freProperties) {
|
||||
- freProperties.putBoolean(
|
||||
- FirstRunActivity.SHOW_SYNC_CONSENT_PAGE, shouldShowSyncConsentPage());
|
||||
+ if (freProperties == null)
|
||||
+ throw new RuntimeException("attempting to update null FRE properties");
|
||||
freProperties.putBoolean(
|
||||
FirstRunActivity.SHOW_SEARCH_ENGINE_PAGE, shouldShowSearchEnginePage());
|
||||
}
|
||||
@@ -202,17 +154,15 @@ public abstract class FirstRunFlowSequencer {
|
||||
* @param syncConsentAccountName The account name for the pending sign-in request. (Or null)
|
||||
* @param showAdvancedSyncSettings Whether the user selected to see the settings once signed in.
|
||||
*/
|
||||
- public static void markFlowAsCompleted(
|
||||
- String syncConsentAccountName, boolean showAdvancedSyncSettings) {
|
||||
+ public static void markFlowAsCompleted() {
|
||||
// When the user accepts ToS in the Setup Wizard, we do not show the ToS page to the user
|
||||
// because the user has already accepted one outside FRE.
|
||||
if (!FirstRunUtils.isFirstRunEulaAccepted()) {
|
||||
FirstRunUtils.setEulaAccepted();
|
||||
}
|
||||
|
||||
- // Mark the FRE flow as complete and set the sign-in flow preferences if necessary.
|
||||
- FirstRunSignInProcessor.finalizeFirstRunFlowState(
|
||||
- syncConsentAccountName, showAdvancedSyncSettings);
|
||||
+ // Mark the FRE flow as complete.
|
||||
+ FirstRunStatus.setFirstRunFlowComplete(true);
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
|
||||
@@ -24,8 +24,6 @@ import androidx.fragment.app.Fragment;
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
|
||||
-import org.chromium.chrome.browser.signin.services.FREMobileIdentityConsistencyFieldTrial;
|
||||
-import org.chromium.chrome.browser.ui.signin.fre.FreUMADialogCoordinator;
|
||||
import org.chromium.components.version_info.VersionInfo;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManagerHolder;
|
||||
import org.chromium.ui.text.NoUnderlineClickableSpan;
|
||||
@@ -41,7 +39,7 @@ import java.util.List;
|
||||
* User Metrics Analysis) as defined in the Chrome Privacy Notice.
|
||||
*/
|
||||
public class ToSAndUMAFirstRunFragment
|
||||
- extends Fragment implements FirstRunFragment, FreUMADialogCoordinator.Listener {
|
||||
+ extends Fragment implements FirstRunFragment {
|
||||
/** Alerts about some methods once ToSAndUMAFirstRunFragment executes them. */
|
||||
public interface Observer {
|
||||
/** See {@link #onNativeInitialized}. */
|
||||
@@ -58,11 +56,8 @@ public class ToSAndUMAFirstRunFragment
|
||||
private boolean mNativeInitialized;
|
||||
private boolean mPolicyServiceInitialized;
|
||||
private boolean mTosButtonClicked;
|
||||
- // TODO(https://crbug.com/1274145): Rename mAllowCrashUpload field.
|
||||
- private boolean mAllowCrashUpload;
|
||||
|
||||
private Button mAcceptButton;
|
||||
- private CheckBox mSendReportCheckBox;
|
||||
private TextView mTosAndPrivacy;
|
||||
private View mTitle;
|
||||
private View mProgressSpinner;
|
||||
@@ -89,13 +84,10 @@ public class ToSAndUMAFirstRunFragment
|
||||
mProgressSpinner = view.findViewById(R.id.progress_spinner);
|
||||
mProgressSpinner.setVisibility(View.GONE);
|
||||
mAcceptButton = (Button) view.findViewById(R.id.terms_accept);
|
||||
- mSendReportCheckBox = (CheckBox) view.findViewById(R.id.send_report_checkbox);
|
||||
mTosAndPrivacy = (TextView) view.findViewById(R.id.tos_and_privacy);
|
||||
|
||||
// Register event listeners.
|
||||
mAcceptButton.setOnClickListener((v) -> onTosButtonClicked());
|
||||
- mSendReportCheckBox.setOnCheckedChangeListener(
|
||||
- ((compoundButton, isChecked) -> mAllowCrashUpload = isChecked));
|
||||
|
||||
// Make TextView links clickable.
|
||||
mTosAndPrivacy.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
@@ -111,7 +103,9 @@ public class ToSAndUMAFirstRunFragment
|
||||
// initialized at which point the activity will skip the page.
|
||||
// We distinguish case 1 from case 2 by the value of |mNativeInitialized|, as that is set
|
||||
// via onAttachFragment() from FirstRunActivity - which is before this onViewCreated().
|
||||
- if (isWaitingForNativeAndPolicyInit() && FirstRunStatus.shouldSkipWelcomePage()) {
|
||||
+ boolean isW = isWaitingForNativeAndPolicyInit();
|
||||
+ boolean ssw = FirstRunStatus.shouldSkipWelcomePage();
|
||||
+ if (isW && ssw) {
|
||||
setSpinnerVisible(true);
|
||||
}
|
||||
}
|
||||
@@ -137,7 +131,6 @@ public class ToSAndUMAFirstRunFragment
|
||||
// On certain versions of Android, the checkbox will appear unchecked upon revisiting
|
||||
// the page. Force it to the end state of the drawable animation as a work around.
|
||||
// crbug.com/666258
|
||||
- mSendReportCheckBox.jumpDrawablesToCurrentState();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,13 +157,6 @@ public class ToSAndUMAFirstRunFragment
|
||||
assert !isWaitingForNativeAndPolicyInit();
|
||||
|
||||
setSpinnerVisible(false);
|
||||
- mSendReportCheckBox.setChecked(mAllowCrashUpload);
|
||||
- }
|
||||
-
|
||||
- /** Implements {@link FreUMADialogCoordinator.Listener} */
|
||||
- @Override
|
||||
- public void onAllowCrashUploadChecked(boolean allowCrashUpload) {
|
||||
- mAllowCrashUpload = allowCrashUpload;
|
||||
}
|
||||
|
||||
private void updateView() {
|
||||
@@ -179,110 +165,24 @@ public class ToSAndUMAFirstRunFragment
|
||||
return;
|
||||
}
|
||||
|
||||
- final boolean umaDialogMayBeShown =
|
||||
- FREMobileIdentityConsistencyFieldTrial.shouldShowOldFreWithUmaDialog();
|
||||
- final boolean hasChildAccount = getPageDelegate().getProperties().getBoolean(
|
||||
- SyncConsentFirstRunFragment.IS_CHILD_ACCOUNT, false);
|
||||
- final boolean isMetricsReportingDisabledByPolicy = !isWaitingForNativeAndPolicyInit()
|
||||
- && !PrivacyPreferencesManagerImpl.getInstance()
|
||||
- .isUsageAndCrashReportingPermittedByPolicy();
|
||||
-
|
||||
- updateTosText(umaDialogMayBeShown, hasChildAccount, isMetricsReportingDisabledByPolicy);
|
||||
+ updateTosText();
|
||||
|
||||
- updateReportCheckbox(umaDialogMayBeShown, isMetricsReportingDisabledByPolicy);
|
||||
- }
|
||||
-
|
||||
- private SpanInfo buildTermsOfServiceLink() {
|
||||
- NoUnderlineClickableSpan clickableGoogleTermsSpan =
|
||||
- new NoUnderlineClickableSpan(getContext(), (view1) -> {
|
||||
- if (!isAdded()) return;
|
||||
- getPageDelegate().showInfoPage(R.string.google_terms_of_service_url);
|
||||
- });
|
||||
- return new SpanInfo("<TOS_LINK>", "</TOS_LINK>", clickableGoogleTermsSpan);
|
||||
+ updateReportCheckbox();
|
||||
}
|
||||
|
||||
- private SpanInfo buildAdditionalTermsOfServiceLink() {
|
||||
- NoUnderlineClickableSpan clickableChromeAdditionalTermsSpan =
|
||||
+ private SpanInfo buildPrivacyPolicyLink(String suffix, int url) {
|
||||
+ NoUnderlineClickableSpan clickableSpan =
|
||||
new NoUnderlineClickableSpan(getContext(), (view1) -> {
|
||||
if (!isAdded()) return;
|
||||
- getPageDelegate().showInfoPage(R.string.chrome_additional_terms_of_service_url);
|
||||
+ getPageDelegate().showInfoPage(url);
|
||||
});
|
||||
- return new SpanInfo("<ATOS_LINK>", "</ATOS_LINK>", clickableChromeAdditionalTermsSpan);
|
||||
- }
|
||||
-
|
||||
- private SpanInfo buildPrivacyPolicyLink() {
|
||||
- NoUnderlineClickableSpan clickableFamilyLinkPrivacySpan =
|
||||
- new NoUnderlineClickableSpan(getContext(), (view1) -> {
|
||||
- if (!isAdded()) return;
|
||||
- getPageDelegate().showInfoPage(R.string.google_privacy_policy_url);
|
||||
- });
|
||||
-
|
||||
- return new SpanInfo("<PRIVACY_LINK>", "</PRIVACY_LINK>", clickableFamilyLinkPrivacySpan);
|
||||
- }
|
||||
-
|
||||
- private SpanInfo buildMetricsAndCrashReportingLink() {
|
||||
- NoUnderlineClickableSpan clickableUMADialogSpan =
|
||||
- new NoUnderlineClickableSpan(getContext(), (view1) -> openUmaDialog());
|
||||
- return new SpanInfo("<UMA_LINK>", "</UMA_LINK>", clickableUMADialogSpan);
|
||||
- }
|
||||
-
|
||||
- private void updateTosText(boolean umaDialogMayBeShown, boolean hasChildAccount,
|
||||
- boolean isMetricsReportingDisabledByPolicy) {
|
||||
- List<SpanInfo> spans = new LinkedList<SpanInfo>();
|
||||
-
|
||||
- // Description always has a Terms of Service link.
|
||||
- spans.add(buildTermsOfServiceLink());
|
||||
-
|
||||
- // Additional terms of service link.
|
||||
- if (!umaDialogMayBeShown) {
|
||||
- spans.add(buildAdditionalTermsOfServiceLink());
|
||||
- }
|
||||
-
|
||||
- // Privacy policy link.
|
||||
- if (hasChildAccount) {
|
||||
- spans.add(buildPrivacyPolicyLink());
|
||||
- }
|
||||
-
|
||||
- // Metrics and crash reporting link.
|
||||
- if (umaDialogMayBeShown && !isMetricsReportingDisabledByPolicy) {
|
||||
- spans.add(buildMetricsAndCrashReportingLink());
|
||||
- }
|
||||
-
|
||||
- String tosString;
|
||||
- if (umaDialogMayBeShown) {
|
||||
- tosString =
|
||||
- getString(hasChildAccount ? R.string.signin_fre_footer_tos_with_supervised_user
|
||||
- : R.string.signin_fre_footer_tos);
|
||||
-
|
||||
- if (!isMetricsReportingDisabledByPolicy) {
|
||||
- tosString += "\n" + getString(R.string.signin_fre_footer_metrics_reporting);
|
||||
- }
|
||||
- } else {
|
||||
- tosString = getString(hasChildAccount ? R.string.fre_tos_and_privacy_child_account
|
||||
- : R.string.fre_tos);
|
||||
- }
|
||||
-
|
||||
- mTosAndPrivacy.setText(SpanApplier.applySpans(tosString, spans.toArray(new SpanInfo[0])));
|
||||
+ return new SpanInfo("<PRIVACY_LINK" + suffix + ">", "</PRIVACY_LINK" + suffix + ">", clickableSpan);
|
||||
}
|
||||
|
||||
- private void updateReportCheckbox(
|
||||
- boolean umaDialogMayBeShown, boolean isMetricsReportingDisabledByPolicy) {
|
||||
- mAllowCrashUpload = getUmaCheckBoxInitialState();
|
||||
- mSendReportCheckBox.setChecked(mAllowCrashUpload);
|
||||
-
|
||||
- if (!canShowUmaCheckBox()) {
|
||||
- if (!umaDialogMayBeShown) {
|
||||
- mAllowCrashUpload = (sShowUmaCheckBoxForTesting || VersionInfo.isOfficialBuild())
|
||||
- && !isMetricsReportingDisabledByPolicy;
|
||||
- }
|
||||
- mSendReportCheckBox.setVisibility(View.GONE);
|
||||
- }
|
||||
+ private void updateTosText() {
|
||||
}
|
||||
|
||||
- private void openUmaDialog() {
|
||||
- new FreUMADialogCoordinator(requireContext(),
|
||||
- ((ModalDialogManagerHolder) getActivity()).getModalDialogManager(), this,
|
||||
- mAllowCrashUpload);
|
||||
+ private void updateReportCheckbox() {
|
||||
}
|
||||
|
||||
private void onPolicyServiceInitialized(boolean onDevicePolicyFound) {
|
||||
@@ -319,7 +219,8 @@ public class ToSAndUMAFirstRunFragment
|
||||
* @param fromButtonClicked Whether called from {@link #onTosButtonClicked()}.
|
||||
*/
|
||||
private void tryMarkTermsAccepted(boolean fromButtonClicked) {
|
||||
- if (!mTosButtonClicked || isWaitingForNativeAndPolicyInit()) {
|
||||
+ boolean isW = isWaitingForNativeAndPolicyInit();
|
||||
+ if (!mTosButtonClicked || isW) {
|
||||
if (fromButtonClicked) setSpinnerVisible(true);
|
||||
return;
|
||||
}
|
||||
@@ -330,7 +231,7 @@ public class ToSAndUMAFirstRunFragment
|
||||
RecordHistogram.recordTimesHistogram("MobileFre.TosFragment.SpinnerVisibleDuration",
|
||||
SystemClock.elapsedRealtime() - mTosAcceptedTime);
|
||||
}
|
||||
- getPageDelegate().acceptTermsOfService(mAllowCrashUpload);
|
||||
+ getPageDelegate().acceptTermsOfService(false);
|
||||
getPageDelegate().advanceToNextPage();
|
||||
}
|
||||
|
||||
@@ -373,10 +274,6 @@ public class ToSAndUMAFirstRunFragment
|
||||
|
||||
mAcceptButton.setVisibility(visibility);
|
||||
mTosAndPrivacy.setVisibility(visibility);
|
||||
- // Avoid updating visibility if the UMA check box can't be shown right now.
|
||||
- if (canShowUmaCheckBox()) {
|
||||
- mSendReportCheckBox.setVisibility(visibility);
|
||||
- }
|
||||
}
|
||||
|
||||
protected View getToSAndPrivacyText() {
|
||||
@@ -389,18 +286,6 @@ public class ToSAndUMAFirstRunFragment
|
||||
}
|
||||
}
|
||||
|
||||
- /**
|
||||
- * @return Whether the check box for Uma metrics can be shown. It should be used in conjunction
|
||||
- * with whether other non-spinner elements can generally be shown.
|
||||
- */
|
||||
- protected boolean canShowUmaCheckBox() {
|
||||
- return !FREMobileIdentityConsistencyFieldTrial.shouldShowOldFreWithUmaDialog()
|
||||
- && (sShowUmaCheckBoxForTesting || VersionInfo.isOfficialBuild())
|
||||
- && (isWaitingForNativeAndPolicyInit()
|
||||
- || PrivacyPreferencesManagerImpl.getInstance()
|
||||
- .isUsageAndCrashReportingPermittedByPolicy());
|
||||
- }
|
||||
-
|
||||
@VisibleForTesting
|
||||
public static void setShowUmaCheckBoxForTesting(boolean showForTesting) {
|
||||
sShowUmaCheckBoxForTesting = showForTesting;
|
||||
diff --git a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
|
||||
--- a/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
|
||||
+++ b/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
|
||||
@@ -44,7 +44,7 @@ public class FirstRunStatus {
|
||||
*/
|
||||
public static boolean getFirstRunFlowComplete() {
|
||||
return SharedPreferencesManager.getInstance().readBoolean(
|
||||
- ChromePreferenceKeys.FIRST_RUN_FLOW_COMPLETE, false);
|
||||
+ ChromePreferenceKeys.FIRST_RUN_FLOW_COMPLETE, true);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,7 +62,7 @@ public class FirstRunStatus {
|
||||
*/
|
||||
public static boolean shouldSkipWelcomePage() {
|
||||
return SharedPreferencesManager.getInstance().readBoolean(
|
||||
- ChromePreferenceKeys.FIRST_RUN_SKIP_WELCOME_PAGE, false);
|
||||
+ ChromePreferenceKeys.FIRST_RUN_SKIP_WELCOME_PAGE, true);
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
2.17.1
|
|
@ -13,7 +13,7 @@ The modified content is to add 'Chrome/xx' and 'Firefox/xx' to the User-Agent.
|
|||
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
||||
--- a/content/common/user_agent.cc
|
||||
+++ b/content/common/user_agent.cc
|
||||
@@ -328,7 +328,7 @@ std::string BuildUserAgentFromOSAndProduct(const std::string& os_info,
|
||||
@@ -325,7 +325,7 @@ std::string BuildUserAgentFromOSAndProduct(const std::string& os_info,
|
||||
std::string user_agent;
|
||||
base::StringAppendF(&user_agent,
|
||||
"Mozilla/5.0 (%s) AppleWebKit/537.36 (KHTML, like Gecko) "
|
||||
|
@ -26,8 +26,9 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
|||
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
|
||||
--- a/components/embedder_support/user_agent_utils.cc
|
||||
+++ b/components/embedder_support/user_agent_utils.cc
|
||||
@@ -267,14 +267,3 @@
|
||||
std::string GetUserAgent() {
|
||||
@@ -349,18 +349,4 @@
|
||||
std::string GetUserAgent(
|
||||
ForceMajorVersionToMinorPosition force_major_to_minor) {
|
||||
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
- if (command_line->HasSwitch(kUserAgent)) {
|
||||
- std::string ua = command_line->GetSwitchValueASCII(kUserAgent);
|
||||
|
@ -36,15 +37,19 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
|||
- LOG(WARNING) << "Ignored invalid value for flag --" << kUserAgent;
|
||||
- }
|
||||
-
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kReduceUserAgent))
|
||||
- return GetReducedUserAgent();
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kFullUserAgent))
|
||||
- return GetFullUserAgent();
|
||||
-
|
||||
return GetFullUserAgent();
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kReduceUserAgent))
|
||||
- return GetReducedUserAgent(force_major_to_minor);
|
||||
-
|
||||
return GetFullUserAgent(force_major_to_minor);
|
||||
}
|
||||
@@ -291,9 +280,4 @@
|
||||
std::string GetFullUserAgent() {
|
||||
std::string product = GetProduct(/*allow_version_override=*/true);
|
||||
-#if defined(OS_ANDROID)
|
||||
@@ -383,10 +369,5 @@
|
||||
std::string GetFullUserAgent(
|
||||
ForceMajorVersionToMinorPosition force_major_to_minor) {
|
||||
std::string product = GetProductAndVersion(force_major_to_minor);
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
- switches::kUseMobileUserAgent))
|
||||
- product += " Mobile";
|
||||
|
|
|
@ -56,15 +56,15 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con
|
|||
diff --git a/content/browser/renderer_host/navigation_controller_impl.cc b/content/browser/renderer_host/navigation_controller_impl.cc
|
||||
--- a/content/browser/renderer_host/navigation_controller_impl.cc
|
||||
+++ b/content/browser/renderer_host/navigation_controller_impl.cc
|
||||
@@ -61,6 +61,7 @@
|
||||
@@ -63,6 +63,7 @@
|
||||
#include "content/browser/renderer_host/debug_urls.h"
|
||||
#include "content/browser/renderer_host/frame_tree.h"
|
||||
#include "content/browser/renderer_host/frame_tree_node.h"
|
||||
+#include "content/browser/renderer_host/navigation_controller_android.h"
|
||||
#include "content/browser/renderer_host/navigation_controller_delegate.h"
|
||||
#include "content/browser/renderer_host/navigation_entry_impl.h"
|
||||
#include "content/browser/renderer_host/navigation_entry_restore_context_impl.h"
|
||||
#include "content/browser/renderer_host/navigation_request.h"
|
||||
@@ -3299,8 +3300,7 @@ base::WeakPtr<NavigationHandle> NavigationControllerImpl::NavigateWithoutEntry(
|
||||
@@ -3322,8 +3323,7 @@ base::WeakPtr<NavigationHandle> NavigationControllerImpl::NavigateWithoutEntry(
|
||||
// passed as a const reference, this is not possible.
|
||||
// TODO(clamy): When we only create a NavigationRequest, move this to
|
||||
// CreateNavigationRequestFromLoadURLParams.
|
||||
|
@ -85,17 +85,17 @@ diff --git a/content/browser/renderer_host/navigator.cc b/content/browser/render
|
|||
#include "content/browser/renderer_host/navigation_controller_impl.h"
|
||||
#include "content/browser/renderer_host/navigation_entry_impl.h"
|
||||
#include "content/browser/renderer_host/navigation_request.h"
|
||||
@@ -929,9 +930,7 @@ void Navigator::OnBeginNavigation(
|
||||
@@ -960,9 +961,8 @@ void Navigator::OnBeginNavigation(
|
||||
NavigationEntryImpl* navigation_entry =
|
||||
GetNavigationEntryForRendererInitiatedNavigation(*common_params,
|
||||
frame_tree_node);
|
||||
- const bool override_user_agent =
|
||||
- delegate_ &&
|
||||
- delegate_->ShouldOverrideUserAgentForRendererInitiatedNavigation();
|
||||
+ const bool override_user_agent = IsDesktopSite();
|
||||
if (navigation_entry)
|
||||
navigation_entry->SetIsOverridingUserAgent(override_user_agent);
|
||||
|
||||
frame_tree_node->CreatedNavigationRequest(
|
||||
diff --git a/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java
|
||||
--- a/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java
|
||||
+++ b/content/public/android/java/src/org/chromium/content/browser/framehost/NavigationControllerImpl.java
|
||||
|
|
|
@ -27,56 +27,56 @@ diff --git a/content/public/common/user_agent.h b/content/public/common/user_age
|
|||
- "Safari/537.36";
|
||||
+ "Safari/537.36 Firefox/97.2.0";
|
||||
const char kUnifiedPlatformAndroid[] = "Linux; Android 10; K";
|
||||
const char kUnifiedPlatformCrOS[] = "X11; CrOS x86_64";
|
||||
const char kUnifiedPlatformCrOS[] = "X11; CrOS x86_64 14541.0.0";
|
||||
const char kUnifiedPlatformLinux[] = "X11; Linux x86_64";
|
||||
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
||||
--- a/content/common/user_agent.cc
|
||||
+++ b/content/common/user_agent.cc
|
||||
@@ -36,7 +36,7 @@ std::string GetUserAgentPlatform() {
|
||||
#elif defined(USE_OZONE)
|
||||
#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
return "X11; "; // strange, but that's what Firefox uses
|
||||
#elif defined(OS_ANDROID)
|
||||
#elif BUILDFLAG(IS_ANDROID)
|
||||
- return "X11; ";
|
||||
+ return "Linux; ";
|
||||
#elif defined(OS_FUCHSIA)
|
||||
// TODO(https://crbug.com/1225812): Determine what to report for Fuchsia,
|
||||
// considering both backwards compatibility and User-Agent Reduction.
|
||||
@@ -49,7 +49,9 @@ std::string GetUserAgentPlatform() {
|
||||
#elif BUILDFLAG(IS_FUCHSIA)
|
||||
return "";
|
||||
#else
|
||||
@@ -47,7 +47,9 @@ std::string GetUserAgentPlatform() {
|
||||
} // namespace
|
||||
|
||||
std::string GetUnifiedPlatform() {
|
||||
-#if defined(OS_CHROMEOS)
|
||||
+#if defined(OS_ANDROID)
|
||||
-#if BUILDFLAG(IS_CHROMEOS)
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ return frozen_user_agent_strings::kUnifiedPlatformAndroid;
|
||||
+#elif defined(OS_CHROMEOS)
|
||||
+#elif BUILDFLAG(IS_CHROMEOS)
|
||||
return frozen_user_agent_strings::kUnifiedPlatformCrOS;
|
||||
#elif defined(OS_MAC)
|
||||
#elif BUILDFLAG(IS_MAC)
|
||||
return frozen_user_agent_strings::kUnifiedPlatformMacOS;
|
||||
@@ -217,7 +219,7 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
@@ -215,7 +217,7 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
const std::string& cpu_type) {
|
||||
std::string os_cpu;
|
||||
|
||||
-#if defined(OS_POSIX) && !defined(OS_MAC)
|
||||
+#if !defined(OS_ANDROID) && defined(OS_POSIX) && !defined(OS_MAC)
|
||||
-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
+#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
// Should work on any Posix system.
|
||||
struct utsname unixinfo;
|
||||
uname(&unixinfo);
|
||||
@@ -239,9 +241,7 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
@@ -238,9 +240,7 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
cpu_type.c_str(), // e.g. i686
|
||||
os_version.c_str()
|
||||
#elif defined(OS_ANDROID)
|
||||
- "%s %s",
|
||||
- unixinfo.sysname, // e.g. Linux
|
||||
- cpu_type.c_str() // e.g. i686
|
||||
#elif BUILDFLAG(IS_ANDROID)
|
||||
- "%s %s",
|
||||
- unixinfo.sysname, // e.g. Linux
|
||||
- cpu_type.c_str() // e.g. i686
|
||||
+ "Android %s", os_version.c_str()
|
||||
#elif defined(OS_FUCHSIA)
|
||||
#elif BUILDFLAG(IS_FUCHSIA)
|
||||
"Fuchsia"
|
||||
#elif defined(OS_POSIX)
|
||||
@@ -257,9 +257,20 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
#elif BUILDFLAG(IS_POSIX)
|
||||
@@ -256,9 +256,20 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
|
||||
std::string GetReducedUserAgent(bool mobile, std::string major_version) {
|
||||
std::string user_agent;
|
||||
+#if defined(OS_ANDROID)
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ std::string device_compat;
|
||||
+ // Note: The extra space after Mobile is meaningful here, to avoid
|
||||
+ // "MobileSafari", but unneeded for non-mobile Android devices.
|
||||
|
@ -110,10 +110,11 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
|||
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
|
||||
--- a/components/embedder_support/user_agent_utils.cc
|
||||
+++ b/components/embedder_support/user_agent_utils.cc
|
||||
@@ -265,6 +265,17 @@ std::string GetProduct() {
|
||||
@@ -347,6 +347,20 @@ std::string GetProduct() {
|
||||
}
|
||||
|
||||
std::string GetUserAgent() {
|
||||
std::string GetUserAgent(
|
||||
ForceMajorVersionToMinorPosition force_major_to_minor) {
|
||||
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
+ if (command_line->HasSwitch(kUserAgent)) {
|
||||
+ std::string ua = command_line->GetSwitchValueASCII(kUserAgent);
|
||||
|
@ -122,17 +123,19 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
|
|||
+ LOG(WARNING) << "Ignored invalid value for flag --" << kUserAgent;
|
||||
+ }
|
||||
+
|
||||
+ if (base::FeatureList::IsEnabled(blink::features::kReduceUserAgent))
|
||||
+ return GetReducedUserAgent();
|
||||
+ if (base::FeatureList::IsEnabled(blink::features::kFullUserAgent))
|
||||
+ return GetFullUserAgent();
|
||||
+
|
||||
return GetFullUserAgent();
|
||||
+ if (base::FeatureList::IsEnabled(blink::features::kReduceUserAgent))
|
||||
+ return GetReducedUserAgent(force_major_to_minor);
|
||||
+
|
||||
return GetFullUserAgent(force_major_to_minor);
|
||||
}
|
||||
|
||||
@@ -280,5 +291,10 @@ std::string GetReducedUserAgent() {
|
||||
|
||||
std::string GetFullUserAgent() {
|
||||
std::string product = GetProduct(/*allow_version_override=*/true);
|
||||
+#if defined(OS_ANDROID)
|
||||
@@ -368,5 +382,10 @@ std::string GetReducedUserAgent(
|
||||
std::string GetFullUserAgent(
|
||||
ForceMajorVersionToMinorPosition force_major_to_minor) {
|
||||
std::string product = GetProductAndVersion(force_major_to_minor);
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
+ switches::kUseMobileUserAgent))
|
||||
+ product += " Mobile";
|
||||
|
|
|
@ -45,7 +45,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/UserAg
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
|
||||
@@ -514,11 +514,11 @@
|
||||
@@ -518,11 +518,11 @@
|
||||
params.setOverrideUserAgent(calculateUserAgentOverrideOption());
|
||||
|
||||
final boolean stickyDesktopModeEnabled = SharedPreferencesManager.getInstance().readBoolean(
|
||||
|
@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.java
|
||||
@@ -89,12 +89,12 @@
|
||||
@@ -96,12 +96,12 @@
|
||||
public static void switchUserAgent(Tab tab, boolean switchToDesktop, boolean forcedByUser) {
|
||||
SharedPreferencesManager.getInstance().writeBoolean(
|
||||
ChromePreferenceKeys.USERAGENT_ALWAYS_DESKTOP_MODE, switchToDesktop);
|
||||
|
@ -79,7 +79,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabUtils.ja
|
|||
diff a/content/browser/renderer_host/navigation_controller_android.cc b/content/browser/renderer_host/navigation_controller_android.cc
|
||||
--- a/content/browser/renderer_host/navigation_controller_android.cc
|
||||
+++ b/content/browser/renderer_host/navigation_controller_android.cc
|
||||
@@ -393,6 +393,9 @@
|
||||
@@ -380,6 +380,9 @@
|
||||
bool NavigationControllerAndroid::GetUseDesktopUserAgent(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
|
@ -93,7 +93,7 @@ diff a/content/browser/renderer_host/navigation_controller_android.cc b/content/
|
|||
diff a/content/public/browser/navigation_controller.h b/content/public/browser/navigation_controller.h
|
||||
--- a/content/public/browser/navigation_controller.h
|
||||
+++ b/content/public/browser/navigation_controller.h
|
||||
@@ -206,6 +206,6 @@
|
||||
@@ -208,6 +208,6 @@
|
||||
// User agent override for this load. See comments in
|
||||
// UserAgentOverrideOption definition.
|
||||
- UserAgentOverrideOption override_user_agent = UA_OVERRIDE_INHERIT;
|
||||
|
@ -104,7 +104,7 @@ diff a/content/public/browser/navigation_controller.h b/content/public/browser/n
|
|||
diff a/content/browser/renderer_host/navigation_entry_impl.cc b/content/browser/renderer_host/navigation_entry_impl.cc
|
||||
--- a/content/browser/renderer_host/navigation_entry_impl.cc
|
||||
+++ b/content/browser/renderer_host/navigation_entry_impl.cc
|
||||
@@ -396,10 +396,10 @@
|
||||
@@ -412,10 +412,10 @@
|
||||
update_virtual_url_with_url_(false),
|
||||
title_(title),
|
||||
transition_type_(transition_type),
|
||||
|
@ -119,7 +119,7 @@ diff a/content/browser/renderer_host/navigation_entry_impl.cc b/content/browser/
|
|||
diff a/weblayer/browser/tab_impl.cc b/weblayer/browser/tab_impl.cc
|
||||
--- a/weblayer/browser/tab_impl.cc
|
||||
+++ b/weblayer/browser/tab_impl.cc
|
||||
@@ -884,14 +884,14 @@
|
||||
@@ -905,14 +905,14 @@
|
||||
jboolean TabImpl::IsDesktopUserAgentEnabled(JNIEnv* env) {
|
||||
auto* entry = web_contents_->GetController().GetLastCommittedEntry();
|
||||
if (!entry)
|
||||
|
|
|
@ -16,10 +16,9 @@ Done for AP9-2571
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
index 62fea240ee53d..6387769c4a3ad 100644
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -44,15 +44,15 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
|
||||
@@ -45,15 +45,15 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
|
||||
}
|
||||
|
||||
-_default_package = "org.bromite.bromite"
|
||||
|
|
|
@ -6,15 +6,14 @@ Subject: [PATCH] Force tablet mode
|
|||
This ensures that the toolbar will have back/forward/reload buttons
|
||||
and generally gives a better experience on panels.
|
||||
---
|
||||
.../browser/accessibility/settings/AccessibilitySettings.java | 2 +-
|
||||
components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java | 2 +-
|
||||
ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
index 492de97ff714f..bffec8caf6260 100644
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
|
||||
@@ -86,7 +86,7 @@ public class AccessibilitySettings
|
||||
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
|
||||
@@ -99,7 +99,7 @@ public class AccessibilitySettings
|
||||
ChromeBaseCheckBoxPreference forceTabletUiPref =
|
||||
(ChromeBaseCheckBoxPreference) findPreference(PREF_FORCE_TABLET_UI);
|
||||
forceTabletUiPref.setChecked(SharedPreferencesManager.getInstance().readBoolean(
|
||||
|
@ -22,9 +21,8 @@ index 492de97ff714f..bffec8caf6260 100644
|
|||
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, true));
|
||||
forceTabletUiPref.setOnPreferenceChangeListener(this);
|
||||
|
||||
ChromeBaseCheckBoxPreference mAccessibilityTabSwitcherPref =
|
||||
ChromeBaseCheckBoxPreference accessibilityTabSwitcherPref =
|
||||
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
index f9b5e4e5992a2..4717f4c61d438 100644
|
||||
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
|
||||
@@ -63,7 +63,7 @@ public class DeviceFormFactor {
|
||||
|
|
|
@ -14,7 +14,7 @@ Hide the Settings from the menu.
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
|
||||
@@ -524,5 +524,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -518,5 +518,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
// Only display the Enter VR button if VR Shell Dev environment is enabled.
|
||||
menu.findItem(R.id.enter_vr_id).setVisible(isCurrentTabNotNull && shouldShowEnterVr());
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ diff --git a/third_party/android_deps/build.gradle b/third_party/android_deps/bu
|
|||
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
|
||||
@@ -1284,6 +1284,10 @@ by a child template that "extends" this file.
|
||||
@@ -1300,6 +1300,10 @@ by a child template that "extends" this file.
|
||||
android:readPermission="android.permission.GLOBAL_SEARCH" />
|
||||
</provider>
|
||||
|
||||
|
@ -64,15 +64,15 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
|
|||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -180,6 +180,7 @@ android_resources("chrome_base_module_resources") {
|
||||
@@ -193,6 +193,7 @@ android_resources("chrome_base_module_resources") {
|
||||
"java/res_chromium_base/mipmap-xxxhdpi/app_icon.png",
|
||||
"java/res_chromium_base/mipmap-xxxhdpi/layered_app_icon.png",
|
||||
"java/res_chromium_base/mipmap-xxxhdpi/layered_app_icon_background.png",
|
||||
"java/res_chromium_base/values/channel_constants.xml",
|
||||
]
|
||||
+ resource_overlay = true
|
||||
}
|
||||
|
||||
android_resources("chrome_app_java_resources") {
|
||||
@@ -2518,6 +2519,7 @@ android_library("base_module_java") {
|
||||
@@ -2574,6 +2575,7 @@ android_library("base_module_java") {
|
||||
"java/src/org/chromium/chrome/browser/tracing/TracingNotificationService.java",
|
||||
]
|
||||
deps = [
|
||||
|
@ -93,8 +93,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/base/SplitMonoc
|
|||
+import com.prometheanworld.telemetry.TelemetryInitializer;
|
||||
|
||||
import org.chromium.android_webview.nonembedded.WebViewApkApplication;
|
||||
import org.chromium.base.library_loader.LibraryProcessType;
|
||||
@@ -39,6 +43,14 @@ public class SplitMonochromeApplication extends SplitChromeApplication {
|
||||
import org.chromium.base.annotations.IdentifierNameString;
|
||||
@@ -42,6 +46,14 @@ public class SplitMonochromeApplication extends SplitChromeApplication {
|
||||
initializeMonochromeProcessCommon(getPackageName());
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/base/SplitMonoc
|
|||
@Override
|
||||
protected Impl createNonBrowserApplication() {
|
||||
return new NonBrowserMonochromeApplication();
|
||||
@@ -62,4 +74,20 @@ public class SplitMonochromeApplication extends SplitChromeApplication {
|
||||
@@ -65,4 +77,20 @@ public class SplitMonochromeApplication extends SplitChromeApplication {
|
||||
public boolean isWebViewProcess() {
|
||||
return WebViewApkApplication.isWebViewProcess();
|
||||
}
|
||||
|
@ -133,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/base/SplitMonoc
|
|||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java
|
||||
@@ -20,6 +20,8 @@
|
||||
@@ -22,6 +22,8 @@
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.util.ObjectsCompat;
|
||||
|
||||
|
@ -142,14 +142,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Full
|
|||
import org.chromium.base.ActivityState;
|
||||
import org.chromium.base.ApplicationStatus;
|
||||
import org.chromium.base.ApplicationStatus.ActivityStateListener;
|
||||
@@ -47,5 +49,6 @@
|
||||
@@ -49,5 +51,6 @@
|
||||
import org.chromium.content_public.browser.SelectionPopupController;
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.ui.widget.Toast;
|
||||
+import org.json.JSONObject;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
@@ -500,4 +503,10 @@
|
||||
|
||||
@@ -508,4 +511,10 @@
|
||||
mWebContentsInFullscreen = webContents;
|
||||
mContentViewInFullscreen = contentView;
|
||||
mTabInFullscreen = tab;
|
||||
|
@ -188,11 +188,10 @@ diff --git a/third_party/android_deps/buildSrc/src/main/groovy/BuildConfigGenera
|
|||
diff --git a/third_party/r8/desugar_jdk_libs.json b/third_party/r8/desugar_jdk_libs.json
|
||||
--- a/third_party/r8/desugar_jdk_libs.json
|
||||
+++ b/third_party/r8/desugar_jdk_libs.json
|
||||
@@ -10,62 +10,11 @@
|
||||
@@ -10,61 +10,11 @@
|
||||
{
|
||||
"api_level_below_or_equal": 25,
|
||||
"wrapper_conversion": [
|
||||
- "java.time.Clock"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -251,32 +250,15 @@ diff --git a/third_party/r8/desugar_jdk_libs.json b/third_party/r8/desugar_jdk_l
|
|||
]
|
||||
}
|
||||
],
|
||||
@@ -73,81 +22,25 @@
|
||||
@@ -72,64 +22,23 @@
|
||||
{
|
||||
"api_level_below_or_equal": 25,
|
||||
"rewrite_prefix": {
|
||||
- "j$.time.": "java.time.",
|
||||
- "java.time.": "j$.time.",
|
||||
- "java.util.Desugar": "j$.util.Desugar"
|
||||
},
|
||||
"backport": {
|
||||
- "java.lang.Double8": "java.lang.Double",
|
||||
- "java.lang.Integer8": "java.lang.Integer",
|
||||
- "java.lang.Long8": "java.lang.Long",
|
||||
- "java.lang.Math8": "java.lang.Math"
|
||||
},
|
||||
"retarget_lib_member": {
|
||||
- "java.util.Date#toInstant": "java.util.DesugarDate",
|
||||
- "java.util.GregorianCalendar#toZonedDateTime": "java.util.DesugarGregorianCalendar",
|
||||
- "java.util.TimeZone#toZoneId": "java.util.DesugarTimeZone"
|
||||
},
|
||||
"custom_conversion": {
|
||||
- "java.time.ZonedDateTime": "java.time.TimeConversions",
|
||||
- "java.time.LocalDate": "java.time.TimeConversions",
|
||||
- "java.time.Duration": "java.time.TimeConversions",
|
||||
- "java.time.ZoneId": "java.time.TimeConversions",
|
||||
- "java.time.MonthDay": "java.time.TimeConversions",
|
||||
- "java.time.Instant": "java.time.TimeConversions"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -333,28 +315,15 @@ diff --git a/third_party/r8/desugar_jdk_libs.json b/third_party/r8/desugar_jdk_l
|
|||
}
|
||||
}
|
||||
],
|
||||
@@ -155,80 +48,23 @@
|
||||
@@ -137,67 +46,23 @@
|
||||
{
|
||||
"api_level_below_or_equal": 25,
|
||||
"rewrite_prefix": {
|
||||
- "java.time.": "j$.time.",
|
||||
- "java.util.Desugar": "j$.util.Desugar"
|
||||
},
|
||||
"retarget_lib_member": {
|
||||
- "java.util.Calendar#toInstant": "java.util.DesugarCalendar",
|
||||
- "java.util.Date#from": "java.util.DesugarDate",
|
||||
- "java.util.Date#toInstant": "java.util.DesugarDate",
|
||||
- "java.util.GregorianCalendar#from": "java.util.DesugarGregorianCalendar",
|
||||
- "java.util.GregorianCalendar#toZonedDateTime": "java.util.DesugarGregorianCalendar",
|
||||
- "java.util.TimeZone#toZoneId": "java.util.DesugarTimeZone"
|
||||
},
|
||||
"custom_conversion": {
|
||||
- "java.time.ZonedDateTime": "java.time.TimeConversions",
|
||||
- "java.time.LocalDate": "java.time.TimeConversions",
|
||||
- "java.time.Duration": "java.time.TimeConversions",
|
||||
- "java.time.ZoneId": "java.time.TimeConversions",
|
||||
- "java.time.MonthDay": "java.time.TimeConversions",
|
||||
- "java.time.Instant": "java.time.TimeConversions"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -19,7 +19,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
|||
index 6fff875f9c525..0a32f68f25a82 100644
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -339,7 +339,7 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -340,7 +340,7 @@ void ContentSettingsRegistry::Init() {
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
|
||||
Register(ContentSettingsType::ADS, "subresource-filter",
|
||||
|
|
|
@ -6,7 +6,8 @@ Update the version to 1.0.3
|
|||
|
||||
---
|
||||
third_party/android_deps/build.gradle | 2 +-
|
||||
1 files changed, 1 insertion(+), 1 deletion(-)
|
||||
third_party/android_deps/buildSrc/src/main/groovy/ChromiumDepGraph.groovy | 1 -
|
||||
2 files changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/third_party/android_deps/build.gradle b/third_party/android_deps/build.gradle
|
||||
--- a/third_party/android_deps/build.gradle
|
||||
|
@ -20,4 +21,17 @@ diff --git a/third_party/android_deps/build.gradle b/third_party/android_deps/bu
|
|||
|
||||
// Upstream guava introduced versions with -android suffix starting with version
|
||||
// 22 to remove incompatible code with android. Thus we keep two jars, one for
|
||||
diff --git a/third_party/android_deps/buildSrc/src/main/groovy/ChromiumDepGraph.groovy b/third_party/android_deps/buildSrc/src/main/groovy/ChromiumDepGraph.groovy
|
||||
--- a/third_party/android_deps/buildSrc/src/main/groovy/ChromiumDepGraph.groovy
|
||||
+++ b/third_party/android_deps/buildSrc/src/main/groovy/ChromiumDepGraph.groovy
|
||||
@@ -598,7 +598,6 @@ class ChromiumDepGraph {
|
||||
}
|
||||
|
||||
if (skipLicenses) {
|
||||
- dep.licenses.clear()
|
||||
if (dep.id?.endsWith('license')) {
|
||||
dep.exclude = true
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
|
@ -8,54 +8,53 @@ Subject: [PATCH] change Android userAgent to deskmode userAgent
|
|||
1 file changed, 11 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
||||
index 6d76b0ef5de5e..e6d3dfa27d831 100644
|
||||
--- a/content/common/user_agent.cc
|
||||
+++ b/content/common/user_agent.cc
|
||||
@@ -36,7 +36,7 @@ std::string GetUserAgentPlatform() {
|
||||
#elif defined(USE_OZONE)
|
||||
#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
return "X11; "; // strange, but that's what Firefox uses
|
||||
#elif defined(OS_ANDROID)
|
||||
#elif BUILDFLAG(IS_ANDROID)
|
||||
- return "Linux; ";
|
||||
+ return "X11; ";
|
||||
#elif defined(OS_FUCHSIA)
|
||||
// TODO(https://crbug.com/1225812): Determine what to report for Fuchsia,
|
||||
// considering both backwards compatibility and User-Agent Reduction.
|
||||
@@ -49,9 +49,7 @@ std::string GetUserAgentPlatform() {
|
||||
#elif BUILDFLAG(IS_FUCHSIA)
|
||||
return "";
|
||||
#else
|
||||
@@ -47,9 +47,7 @@ std::string GetUserAgentPlatform() {
|
||||
} // namespace
|
||||
|
||||
|
||||
std::string GetUnifiedPlatform() {
|
||||
-#if defined(OS_ANDROID)
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- return frozen_user_agent_strings::kUnifiedPlatformAndroid;
|
||||
-#elif defined(OS_CHROMEOS)
|
||||
+#if defined(OS_CHROMEOS)
|
||||
-#elif BUILDFLAG(IS_CHROMEOS)
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
return frozen_user_agent_strings::kUnifiedPlatformCrOS;
|
||||
#elif defined(OS_MAC)
|
||||
#elif BUILDFLAG(IS_MAC)
|
||||
return frozen_user_agent_strings::kUnifiedPlatformMacOS;
|
||||
@@ -218,7 +216,7 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
@@ -217,7 +215,7 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
const std::string& cpu_type) {
|
||||
std::string os_cpu;
|
||||
|
||||
-#if !defined(OS_ANDROID) && defined(OS_POSIX) && !defined(OS_MAC)
|
||||
+#if defined(OS_POSIX) && !defined(OS_MAC)
|
||||
|
||||
-#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
// Should work on any Posix system.
|
||||
struct utsname unixinfo;
|
||||
uname(&unixinfo);
|
||||
@@ -241,7 +239,9 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
@@ -240,7 +238,9 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
cpu_type.c_str(), // e.g. i686
|
||||
os_version.c_str()
|
||||
#elif defined(OS_ANDROID)
|
||||
#elif BUILDFLAG(IS_ANDROID)
|
||||
- "Android %s", os_version.c_str()
|
||||
+ "%s %s",
|
||||
+ unixinfo.sysname, // e.g. Linux
|
||||
+ cpu_type.c_str() // e.g. i686
|
||||
#elif defined(OS_FUCHSIA)
|
||||
+ "%s %s",
|
||||
+ unixinfo.sysname, // e.g. Linux
|
||||
+ cpu_type.c_str() // e.g. i686
|
||||
#elif BUILDFLAG(IS_FUCHSIA)
|
||||
"Fuchsia"
|
||||
#elif defined(OS_POSIX)
|
||||
@@ -257,20 +257,9 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
|
||||
#elif BUILDFLAG(IS_POSIX)
|
||||
@@ -256,20 +256,9 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(const std::string& os_version,
|
||||
|
||||
std::string GetReducedUserAgent(bool mobile, std::string major_version) {
|
||||
std::string user_agent;
|
||||
-#if defined(OS_ANDROID)
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- std::string device_compat;
|
||||
- // Note: The extra space after Mobile is meaningful here, to avoid
|
||||
- // "MobileSafari", but unneeded for non-mobile Android devices.
|
||||
|
@ -71,8 +70,8 @@ index 6d76b0ef5de5e..e6d3dfa27d831 100644
|
|||
-
|
||||
return user_agent;
|
||||
}
|
||||
|
||||
@@ -300,10 +289,10 @@ std::string BuildUserAgentFromProductAndExtraOSInfo(
|
||||
|
||||
@@ -292,10 +281,10 @@ std::string BuildUserAgentFromProductAndExtraOSInfo(
|
||||
const std::string& extra_os_info,
|
||||
IncludeAndroidBuildNumber include_android_build_number) {
|
||||
std::string os_info;
|
||||
|
@ -86,8 +85,8 @@ index 6d76b0ef5de5e..e6d3dfa27d831 100644
|
|||
+ .c_str());
|
||||
return BuildUserAgentFromOSAndProduct(os_info, product);
|
||||
}
|
||||
|
||||
@@ -345,7 +334,7 @@ std::string BuildUserAgentFromOSAndProduct(const std::string& os_info,
|
||||
|
||||
@@ -337,7 +326,7 @@ std::string BuildUserAgentFromOSAndProduct(const std::string& os_info,
|
||||
base::StringAppendF(&user_agent,
|
||||
"Mozilla/5.0 (%s) AppleWebKit/537.36 (KHTML, like Gecko) "
|
||||
"%s Safari/537.36",
|
||||
|
@ -95,7 +94,7 @@ index 6d76b0ef5de5e..e6d3dfa27d831 100644
|
|||
+ os_info.c_str(), "");
|
||||
return user_agent;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue