Patches for v138 (need checks)
This commit is contained in:
@@ -31,8 +31,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
gpu/config/gpu_util.cc | 8 ++++++++
|
||||
gpu/config/gpu_workaround_list.txt | 1 +
|
||||
gpu/ipc/service/gpu_init.cc | 8 ++++++++
|
||||
gpu/ipc/service/stream_texture_android.cc | 10 +++++++++-
|
||||
12 files changed, 87 insertions(+), 1 deletion(-)
|
||||
media/gpu/android/video_frame_factory_impl.cc | 12 +++++++++++-
|
||||
12 files changed, 89 insertions(+), 1 deletion(-)
|
||||
create mode 100644 cromite_flags/media/base/media_switches_cc/AImageReader-CFI-crash-mitigations.inc
|
||||
create mode 100644 cromite_flags/media/base/media_switches_h/AImageReader-CFI-crash-mitigations.inc
|
||||
|
||||
@@ -90,7 +90,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
|
||||
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
|
||||
--- a/chrome/browser/flag-metadata.json
|
||||
+++ b/chrome/browser/flag-metadata.json
|
||||
@@ -3479,6 +3479,10 @@
|
||||
@@ -3509,6 +3509,10 @@
|
||||
"chrome-signin-team@google.com"
|
||||
],
|
||||
"expiry_milestone": 138
|
||||
@@ -119,7 +119,7 @@ new file mode 100644
|
||||
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
|
||||
--- a/gpu/config/gpu_driver_bug_list.json
|
||||
+++ b/gpu/config/gpu_driver_bug_list.json
|
||||
@@ -2597,6 +2597,22 @@
|
||||
@@ -2613,6 +2613,22 @@
|
||||
"no_downscaled_overlay_promotion"
|
||||
]
|
||||
},
|
||||
@@ -215,7 +215,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_VULKAN)
|
||||
@@ -684,6 +685,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
@@ -687,6 +688,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
|
||||
}
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
@@ -229,24 +229,29 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
if (gpu_feature_info_.status_values[GPU_FEATURE_TYPE_VULKAN] !=
|
||||
kGpuFeatureStatusEnabled ||
|
||||
!InitializeVulkan()) {
|
||||
diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_texture_android.cc
|
||||
--- a/gpu/ipc/service/stream_texture_android.cc
|
||||
+++ b/gpu/ipc/service/stream_texture_android.cc
|
||||
@@ -50,7 +50,15 @@ std::unique_ptr<ui::ScopedMakeCurrent> MakeCurrent(
|
||||
}
|
||||
diff --git a/media/gpu/android/video_frame_factory_impl.cc b/media/gpu/android/video_frame_factory_impl.cc
|
||||
--- a/media/gpu/android/video_frame_factory_impl.cc
|
||||
+++ b/media/gpu/android/video_frame_factory_impl.cc
|
||||
@@ -35,10 +35,20 @@ namespace {
|
||||
|
||||
TextureOwner::Mode GetTextureOwnerMode() {
|
||||
- return base::android::EnableAndroidImageReader()
|
||||
+ const bool a_image_reader_supported =
|
||||
+ base::android::AndroidImageReader::GetInstance().IsSupported();
|
||||
gpu::TextureOwner::Mode GetTextureOwnerMode(
|
||||
VideoFrameFactory::OverlayMode overlay_mode) {
|
||||
+ CHECK: https://source.chromium.org/chromium/chromium/src/+/0abf370caaac29344f1d3fe4c416b75a17392b65
|
||||
+
|
||||
+ // TODO(vikassoni) : Currently we have 2 different flags to enable/disable
|
||||
+ // AImageReader - one for MCVD and other for MediaPlayer here. Merge those 2
|
||||
+ // flags into a single flag. Keeping the 2 flags separate for now since finch
|
||||
+ // experiment using this flag is in progress.
|
||||
+ return a_image_reader_supported && base::android::EnableAndroidImageReader() &&
|
||||
+ const bool a_image_reader_supported =
|
||||
+ base::android::AndroidImageReader::GetInstance().IsSupported();
|
||||
+ const bool enabled = a_image_reader_supported && base::android::EnableAndroidImageReader() &&
|
||||
+ base::FeatureList::IsEnabled(features::kAImageReaderMediaPlayer)
|
||||
? TextureOwner::Mode::kAImageReaderInsecure
|
||||
: TextureOwner::Mode::kSurfaceTextureInsecure;
|
||||
}
|
||||
switch (overlay_mode) {
|
||||
case VideoFrameFactory::OverlayMode::kDontRequestPromotionHints:
|
||||
case VideoFrameFactory::OverlayMode::kRequestPromotionHints:
|
||||
- return base::android::EnableAndroidImageReader()
|
||||
+ return enabled
|
||||
? gpu::TextureOwner::Mode::kAImageReaderInsecure
|
||||
: gpu::TextureOwner::Mode::kSurfaceTextureInsecure;
|
||||
case VideoFrameFactory::OverlayMode::kSurfaceControlSecure:
|
||||
--
|
||||
|
||||
@@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -219,6 +219,8 @@ static_library("browser") {
|
||||
@@ -222,6 +222,8 @@ static_library("browser") {
|
||||
"bluetooth/chrome_bluetooth_delegate_impl_client.h",
|
||||
"bookmarks/bookmark_model_factory.cc",
|
||||
"bookmarks/bookmark_model_factory.h",
|
||||
@@ -270,7 +270,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
configs += [
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
"//build/config:precompiled_headers",
|
||||
@@ -3583,8 +3592,6 @@ static_library("browser") {
|
||||
@@ -3639,8 +3648,6 @@ static_library("browser") {
|
||||
"bookmarks/bookmark_expanded_state_tracker.h",
|
||||
"bookmarks/bookmark_expanded_state_tracker_factory.cc",
|
||||
"bookmarks/bookmark_expanded_state_tracker_factory.h",
|
||||
@@ -282,7 +282,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
@@ -66,6 +66,28 @@
|
||||
@@ -68,6 +68,28 @@
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "url/gurl.h"
|
||||
|
||||
@@ -311,7 +311,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
// Must come after all headers that specialize FromJniType() / ToJniType().
|
||||
#include "chrome/browser/bookmarks/android/jni_headers/BookmarkBridge_jni.h"
|
||||
|
||||
@@ -84,6 +106,57 @@ using bookmarks::android::JavaBookmarkIdGetType;
|
||||
@@ -86,6 +108,57 @@ using bookmarks::android::JavaBookmarkIdGetType;
|
||||
using content::BrowserThread;
|
||||
using power_bookmarks::PowerBookmarkMeta;
|
||||
|
||||
@@ -369,7 +369,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
namespace {
|
||||
// The key used to connect the instance of the bookmark bridge to the bookmark
|
||||
// model.
|
||||
@@ -231,6 +304,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
@@ -296,6 +369,10 @@ BookmarkBridge::~BookmarkBridge() {
|
||||
partner_bookmarks_shim_observation_.Reset();
|
||||
bookmark_model_observation_.Reset();
|
||||
profile_observation_.Reset();
|
||||
@@ -380,7 +380,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
}
|
||||
|
||||
void BookmarkBridge::Destroy(JNIEnv* env) {
|
||||
@@ -782,6 +859,196 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
@@ -847,6 +924,196 @@ jint BookmarkBridge::GetTotalBookmarkCount(
|
||||
return count;
|
||||
}
|
||||
|
||||
@@ -655,9 +655,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
|
||||
// Information about the Partner bookmarks (must check for IsLoaded()).
|
||||
// This is owned by profile.
|
||||
@@ -435,6 +459,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
|
||||
bool suppress_observer_notifications_ = false;
|
||||
@@ -437,6 +461,10 @@ class BookmarkBridge : public ProfileObserver,
|
||||
base::TimeTicks load_start_time_;
|
||||
bool loading_notification_sent_ = false;
|
||||
|
||||
+ const std::string FileSelectedImpl(const base::FilePath& path);
|
||||
+ void FileSelectedImplOnUIThread(const base::FilePath& path,
|
||||
@@ -679,7 +679,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/**
|
||||
* Provides the communication channel for Android to fetch and manipulate the bookmark model stored
|
||||
* in native.
|
||||
@@ -52,6 +55,9 @@ class BookmarkBridge {
|
||||
@@ -53,6 +56,9 @@ class BookmarkBridge {
|
||||
private boolean mIsNativeBookmarkModelLoaded;
|
||||
private boolean mInitializedPartnerBookmarks;
|
||||
|
||||
@@ -689,7 +689,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
// Lazily set pseudo-constants. These should never change at runtime. Used to avoid crossing
|
||||
// JNI to fetch information.
|
||||
private @Nullable BookmarkId mRootFolderId;
|
||||
@@ -499,6 +505,35 @@ class BookmarkBridge {
|
||||
@@ -500,6 +506,35 @@ class BookmarkBridge {
|
||||
.getTotalBookmarkCount(mNativeBookmarkBridge, id.getId(), id.getType());
|
||||
}
|
||||
|
||||
@@ -725,7 +725,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/**
|
||||
* Synchronously gets a list of bookmarks that match the specified search query.
|
||||
*
|
||||
@@ -1121,6 +1156,10 @@ class BookmarkBridge {
|
||||
@@ -1124,6 +1159,10 @@ class BookmarkBridge {
|
||||
void getChildIds(
|
||||
long nativeBookmarkBridge, long id, int type, List<BookmarkId> bookmarksList);
|
||||
|
||||
@@ -739,7 +739,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
|
||||
@@ -65,6 +65,16 @@ public interface BookmarkDelegate {
|
||||
@@ -67,6 +67,16 @@ public interface BookmarkDelegate {
|
||||
/** Shows the search UI. */
|
||||
void openSearchUi();
|
||||
|
||||
@@ -1139,7 +1139,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
|
||||
@@ -98,6 +98,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -103,6 +103,17 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
setOnMenuItemClickListener(dragEnabled ? null : this);
|
||||
}
|
||||
|
||||
@@ -1157,7 +1157,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
void setEditButtonVisible(boolean visible) {
|
||||
mEditButtonVisible = visible;
|
||||
getMenu().findItem(R.id.edit_menu_id).setVisible(visible);
|
||||
@@ -174,6 +185,12 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -179,6 +190,12 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
|
||||
void setCurrentFolder(BookmarkId folder) {
|
||||
mCurrentFolder = mBookmarkModel.getBookmarkById(folder);
|
||||
@@ -1170,7 +1170,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
}
|
||||
|
||||
void setNavigateBackRunnable(Runnable navigateBackRunnable) {
|
||||
@@ -197,6 +214,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -203,6 +220,13 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||
hideOverflowMenu();
|
||||
@@ -1181,10 +1181,10 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
+ mExportBookmarkRunnable.run();
|
||||
+ return true;
|
||||
+ }
|
||||
return mMenuIdClickedFunction.apply(menuItem.getItemId());
|
||||
return assumeNonNull(mMenuIdClickedFunction).apply(menuItem.getItemId());
|
||||
}
|
||||
|
||||
@@ -217,6 +241,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
@@ -223,6 +247,9 @@ public class BookmarkToolbar extends SelectableListToolbar<BookmarkId>
|
||||
protected void showNormalView() {
|
||||
super.showNormalView();
|
||||
|
||||
@@ -1197,7 +1197,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarMediator.java
|
||||
@@ -135,6 +135,10 @@ class BookmarkToolbarMediator
|
||||
@@ -140,6 +140,10 @@ class BookmarkToolbarMediator
|
||||
mBookmarkDelegate = bookmarkDelegate;
|
||||
mModel.set(
|
||||
BookmarkToolbarProperties.NAVIGATE_BACK_RUNNABLE, this::onNavigateBack);
|
||||
@@ -1211,7 +1211,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarProperties.java
|
||||
@@ -84,6 +84,10 @@ class BookmarkToolbarProperties {
|
||||
@@ -86,6 +86,10 @@ class BookmarkToolbarProperties {
|
||||
|
||||
static final WritableObjectPropertyKey<View> NEXT_FOCUSABLE_VIEW =
|
||||
new WritableObjectPropertyKey<>();
|
||||
@@ -1222,7 +1222,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
|
||||
static final PropertyKey[] ALL_KEYS = {
|
||||
SELECTION_DELEGATE,
|
||||
@@ -112,6 +116,8 @@ class BookmarkToolbarProperties {
|
||||
@@ -114,6 +118,8 @@ class BookmarkToolbarProperties {
|
||||
SELECTION_MODE_SHOW_MOVE,
|
||||
SELECTION_MODE_SHOW_MARK_READ,
|
||||
SELECTION_MODE_SHOW_MARK_UNREAD,
|
||||
@@ -1235,7 +1235,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarViewBinder.java
|
||||
@@ -54,6 +54,12 @@ class BookmarkToolbarViewBinder {
|
||||
@@ -56,6 +56,12 @@ class BookmarkToolbarViewBinder {
|
||||
model.get(BookmarkToolbarProperties.CHECKED_VIEW_MENU_ID));
|
||||
} else if (key == BookmarkToolbarProperties.CURRENT_FOLDER) {
|
||||
bookmarkToolbar.setCurrentFolder(model.get(BookmarkToolbarProperties.CURRENT_FOLDER));
|
||||
@@ -1328,18 +1328,18 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -218,6 +218,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kBackgroundThreadPool,
|
||||
@@ -223,6 +223,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kBatchTabRestore,
|
||||
&kBlockIntentsWhileLocked,
|
||||
&kBookmarkPaneAndroid,
|
||||
+ &kBookmarksExportUseSaf,
|
||||
&kBottomBrowserControlsRefactor,
|
||||
&kTabClosureMethodRefactor,
|
||||
&kBrowserControlsEarlyResize,
|
||||
&kBrowserControlsDebugging,
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -604,6 +604,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -624,6 +624,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
|
||||
"UseLibunwindstackNativeUnwinderAndroid";
|
||||
public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService";
|
||||
@@ -1378,9 +1378,9 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
|
||||
#include "components/favicon_base/favicon_usage_data.h"
|
||||
#include "components/history/core/browser/history_types.h"
|
||||
#include "components/search_engines/template_url_service.h"
|
||||
@@ -71,6 +72,11 @@ class ProfileWriter : public base::RefCountedThreadSafe<ProfileWriter> {
|
||||
virtual void AddBookmarks(const std::vector<ImportedBookmarkEntry>& bookmarks,
|
||||
const std::u16string& top_level_folder_name);
|
||||
@@ -75,6 +76,11 @@ class ProfileWriter : public base::RefCountedThreadSafe<ProfileWriter> {
|
||||
const std::vector<user_data_importer::ImportedBookmarkEntry>& bookmarks,
|
||||
const std::u16string& top_level_folder_name);
|
||||
|
||||
+ virtual void AddBookmarksWithModel(
|
||||
+ bookmarks::BookmarkModel* model,
|
||||
@@ -1393,7 +1393,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
|
||||
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
|
||||
@@ -144,6 +144,8 @@ public final class ChromePreferenceKeys {
|
||||
@@ -140,6 +140,8 @@ public final class ChromePreferenceKeys {
|
||||
"enhanced_bookmark_last_used_parent_folder";
|
||||
public static final String BOOKMARKS_SORT_ORDER = "Chrome.Bookmarks.BookmarkRowSortOrder";
|
||||
public static final String BOOKMARKS_VISUALS_PREF = "Chrome.Bookmarks.BookmarkRowDisplay";
|
||||
@@ -1402,7 +1402,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
|
||||
/** Whether Chrome is set as the default browser. Default value is false. */
|
||||
public static final String CHROME_DEFAULT_BROWSER = "applink.chrome_default_browser";
|
||||
@@ -995,6 +997,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -999,6 +1001,7 @@ public final class ChromePreferenceKeys {
|
||||
AUXILIARY_SEARCH_SCHEMA_VERSION,
|
||||
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
|
||||
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
|
||||
@@ -1441,7 +1441,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
|
||||
--- a/chrome/common/BUILD.gn
|
||||
+++ b/chrome/common/BUILD.gn
|
||||
@@ -351,6 +351,9 @@ static_library("common_lib") {
|
||||
@@ -352,6 +352,9 @@ static_library("common_lib") {
|
||||
sources += [
|
||||
"media/chrome_media_drm_bridge_client.cc",
|
||||
"media/chrome_media_drm_bridge_client.h",
|
||||
@@ -1463,7 +1463,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
"importer/bookmarks_file_importer.cc",
|
||||
"importer/bookmarks_file_importer.h",
|
||||
"importer/external_process_importer_bridge.cc",
|
||||
@@ -221,6 +219,11 @@ static_library("utility") {
|
||||
@@ -222,6 +220,11 @@ static_library("utility") {
|
||||
deps += [ "//chrome/services/pdf:lib" ]
|
||||
}
|
||||
|
||||
@@ -1478,16 +1478,16 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
|
||||
diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/importer/bookmark_html_reader.cc
|
||||
--- a/chrome/utility/importer/bookmark_html_reader.cc
|
||||
+++ b/chrome/utility/importer/bookmark_html_reader.cc
|
||||
@@ -17,7 +17,9 @@
|
||||
@@ -16,7 +16,9 @@
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "base/time/time.h"
|
||||
#include "chrome/common/importer/imported_bookmark_entry.h"
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/utility/importer/favicon_reencode.h"
|
||||
+#endif
|
||||
#include "components/search_engines/search_terms_data.h"
|
||||
#include "components/search_engines/template_url.h"
|
||||
#include "net/base/data_url.h"
|
||||
#include "components/user_data_importer/common/imported_bookmark_entry.h"
|
||||
@@ -55,6 +57,7 @@ bool GetAttribute(const std::string& attribute_list,
|
||||
return true;
|
||||
}
|
||||
@@ -1513,8 +1513,8 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
|
||||
+ const base::RepeatingCallback<bool(void)> cancellation_callback,
|
||||
+ const base::RepeatingCallback<bool(const GURL&)> valid_url_callback,
|
||||
const base::FilePath& file_path,
|
||||
std::vector<ImportedBookmarkEntry>* bookmarks,
|
||||
std::vector<importer::SearchEngineInfo>* search_engines,
|
||||
std::vector<user_data_importer::ImportedBookmarkEntry>* bookmarks,
|
||||
std::vector<user_data_importer::SearchEngineInfo>* search_engines,
|
||||
favicon_base::FaviconUsageDataList* favicons) {
|
||||
std::string content;
|
||||
- base::ReadFileToString(file_path, &content);
|
||||
@@ -1561,8 +1561,8 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/im
|
||||
diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/importer/bookmark_html_reader.h
|
||||
--- a/chrome/utility/importer/bookmark_html_reader.h
|
||||
+++ b/chrome/utility/importer/bookmark_html_reader.h
|
||||
@@ -50,6 +50,14 @@ void ImportBookmarksFile(
|
||||
std::vector<importer::SearchEngineInfo>* search_engines,
|
||||
@@ -53,6 +53,14 @@ void ImportBookmarksFile(
|
||||
std::vector<user_data_importer::SearchEngineInfo>* search_engines,
|
||||
favicon_base::FaviconUsageDataList* favicons);
|
||||
|
||||
+void ImportBookmarksFile(
|
||||
|
||||
@@ -49,7 +49,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
|
||||
@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator;
|
||||
@@ -35,6 +35,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator;
|
||||
import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl;
|
||||
import org.chromium.chrome.browser.flags.ActivityType;
|
||||
import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
@@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
|
||||
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
|
||||
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
|
||||
import org.chromium.chrome.browser.init.ChromeActivityNativeDelegate;
|
||||
@@ -127,6 +128,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory {
|
||||
@@ -126,6 +127,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory {
|
||||
|
||||
@Override
|
||||
public boolean shouldDisableAllExternalIntents() {
|
||||
@@ -141,17 +141,17 @@ new file mode 100644
|
||||
diff --git a/components/external_intents/android/external_intents_features.cc b/components/external_intents/android/external_intents_features.cc
|
||||
--- a/components/external_intents/android/external_intents_features.cc
|
||||
+++ b/components/external_intents/android/external_intents_features.cc
|
||||
@@ -27,7 +27,6 @@ namespace {
|
||||
const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kExternalNavigationDebugLogs, &kBlockFrameRenavigations,
|
||||
&kBlockIntentsToSelf};
|
||||
@@ -28,7 +28,6 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kExternalNavigationDebugLogs, &kBlockIntentsToSelf,
|
||||
&kNavigationCaptureRefactorAndroid, &kAuxiliaryNavigationStaysInBrowser,
|
||||
&kReparentTopLevelNavigationFromPWA, &kReparentAuxiliaryNavigationFromPWA};
|
||||
-
|
||||
} // namespace
|
||||
|
||||
// Alphabetical:
|
||||
@@ -44,7 +43,13 @@ BASE_FEATURE(kBlockIntentsToSelf,
|
||||
"BlockIntentsToSelf",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -57,7 +56,13 @@ BASE_FEATURE(kReparentAuxiliaryNavigationFromPWA,
|
||||
"ReparentAuxiliaryNavigationFromPWA",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+CROMITE_FEATURE(kIntentBlockExternalFormRedirectsNoGesture,
|
||||
+ "IntentBlockExternalFormRedirectsNoGesture",
|
||||
@@ -177,10 +177,10 @@ diff --git a/components/external_intents/android/external_intents_features.h b/c
|
||||
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
||||
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
||||
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalIntentsFeatures.java
|
||||
@@ -20,6 +20,12 @@ import org.chromium.build.annotations.NullMarked;
|
||||
@@ -19,6 +19,12 @@ import org.chromium.build.annotations.NullMarked;
|
||||
@JNINamespace("external_intents")
|
||||
@NullMarked
|
||||
public class ExternalIntentsFeatures extends Features {
|
||||
public class ExternalIntentsFeatures {
|
||||
+ public static final String INTENT_BLOCK_EXTERNAL_FORM_REDIRECT_NO_GESTURE_NAME =
|
||||
+ "IntentBlockExternalFormRedirectsNoGesture";
|
||||
+
|
||||
@@ -188,12 +188,12 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component
|
||||
+ new ExternalIntentsFeatures(-1, INTENT_BLOCK_EXTERNAL_FORM_REDIRECT_NO_GESTURE_NAME);
|
||||
+
|
||||
public static final String EXTERNAL_NAVIGATION_DEBUG_LOGS_NAME = "ExternalNavigationDebugLogs";
|
||||
public static final String BLOCK_FRAME_RENAVIGATIONS_NAME = "BlockFrameRenavigations3";
|
||||
public static final String BLOCK_INTENTS_TO_SELF_NAME = "BlockIntentsToSelf";
|
||||
public static final String NAVIGATION_CAPTURE_REFACTOR_ANDROID_NAME =
|
||||
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
|
||||
@@ -1537,6 +1537,12 @@ public class ExternalNavigationHandler {
|
||||
@@ -1560,6 +1560,12 @@ public class ExternalNavigationHandler {
|
||||
|| ignoreBackForwardNav(params);
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component
|
||||
private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal(
|
||||
ExternalNavigationParams params,
|
||||
Intent targetIntent,
|
||||
@@ -1593,6 +1599,21 @@ public class ExternalNavigationHandler {
|
||||
@@ -1617,6 +1623,21 @@ public class ExternalNavigationHandler {
|
||||
return OverrideUrlLoadingResult.forNoOverride();
|
||||
}
|
||||
|
||||
|
||||
@@ -83,14 +83,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../geolocation_permission_context_android.cc | 34 ++++++--
|
||||
.../geolocation_permission_context_android.h | 13 ++-
|
||||
.../embedded_permission_prompt_flow_model.cc | 2 +-
|
||||
.../permissions/permission_context_base.cc | 52 ++++++++++--
|
||||
.../permissions/permission_context_base.h | 23 +++++-
|
||||
.../permissions/permission_context_base.cc | 51 ++++++++++--
|
||||
.../permissions/permission_context_base.h | 20 ++++-
|
||||
components/permissions/permission_prompt.h | 3 +-
|
||||
components/permissions/permission_request.cc | 30 ++++++-
|
||||
components/permissions/permission_request.h | 16 +++-
|
||||
.../permissions/permission_request_manager.cc | 45 ++++++----
|
||||
.../permissions/permission_request_manager.h | 11 ++-
|
||||
38 files changed, 493 insertions(+), 71 deletions(-)
|
||||
38 files changed, 489 insertions(+), 71 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
|
||||
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
|
||||
@@ -256,7 +256,7 @@ diff --git a/chrome/browser/ui/views/permissions/exclusive_access_permission_pro
|
||||
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
|
||||
@@ -281,7 +281,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
|
||||
@@ -297,7 +297,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
|
||||
delegate_->Accept();
|
||||
return;
|
||||
case PermissionDialogButton::kAcceptOnce:
|
||||
@@ -264,18 +264,18 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_v
|
||||
+ delegate_->AcceptThisTime(content_settings::mojom::LifetimeMode::ONLY_THIS_TIME);
|
||||
return;
|
||||
case PermissionDialogButton::kDeny:
|
||||
delegate_->Deny();
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/PermissionInfo.java
|
||||
@@ -10,6 +10,7 @@ import org.chromium.components.content_settings.ContentSettingValues;
|
||||
import org.chromium.components.content_settings.ContentSettingsType;
|
||||
import org.chromium.components.content_settings.SessionModel;
|
||||
@@ -12,6 +12,7 @@ import org.chromium.components.content_settings.SessionModel;
|
||||
import org.chromium.components.permissions.PermissionsAndroidFeatureList;
|
||||
import org.chromium.components.permissions.PermissionsAndroidFeatureMap;
|
||||
import org.chromium.content_public.browser.BrowserContextHandle;
|
||||
+import org.chromium.components.content_settings.SessionModel;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import java.util.Objects;
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
|
||||
@@ -291,7 +291,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
private void setUpClearDataPreference() {
|
||||
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
|
||||
long usage = mSite.getTotalUsage();
|
||||
@@ -1286,6 +1291,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1290,6 +1295,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
|
||||
.getDefaultColor());
|
||||
}
|
||||
@@ -317,7 +317,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -643,6 +643,11 @@
|
||||
@@ -637,6 +637,11 @@
|
||||
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
|
||||
URL truncated
|
||||
</message>
|
||||
@@ -398,7 +398,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.h
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.h
|
||||
@@ -74,6 +74,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
|
||||
@@ -73,6 +73,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
|
||||
// Returns whether the given type supports tracking last_visit timestamps.
|
||||
bool CanTrackLastVisit(ContentSettingsType type);
|
||||
|
||||
@@ -532,7 +532,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
|
||||
--- a/components/page_info/page_info.cc
|
||||
+++ b/components/page_info/page_info.cc
|
||||
@@ -1220,6 +1220,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1234,6 +1234,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
permission_info.is_one_time =
|
||||
(info.metadata.session_model() ==
|
||||
content_settings::mojom::SessionModel::ONE_TIME);
|
||||
@@ -544,7 +544,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
|
||||
--- a/components/page_info/page_info.h
|
||||
+++ b/components/page_info/page_info.h
|
||||
@@ -149,6 +149,7 @@ class PageInfo : private content_settings::CookieControlsObserver,
|
||||
@@ -150,6 +150,7 @@ class PageInfo : private content_settings::CookieControlsObserver,
|
||||
content_settings::SettingSource::kNone;
|
||||
// Whether the permission is a one-time grant.
|
||||
bool is_one_time = false;
|
||||
@@ -555,15 +555,15 @@ diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
|
||||
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogDelegate.java
|
||||
@@ -15,6 +15,7 @@ import org.jni_zero.NativeMethods;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
@@ -16,6 +16,7 @@ import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.components.content_settings.ContentSettingsType;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
+import org.chromium.components.content_settings.LifetimeMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -66,6 +67,9 @@ public class PermissionDialogDelegate {
|
||||
import java.util.Arrays;
|
||||
@@ -72,6 +73,9 @@ public class PermissionDialogDelegate {
|
||||
// Prompt(screen) variant we want to display on the dialog.
|
||||
private @EmbeddedPromptVariant int mEmbeddedPromptVariant;
|
||||
|
||||
@@ -573,7 +573,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
/**
|
||||
* Defines a (potentially empty) list of ranges represented as pairs of <startIndex, endIndex>,
|
||||
* which shall be used by the UI to format the specified ranges as bold text.
|
||||
@@ -135,6 +139,15 @@ public class PermissionDialogDelegate {
|
||||
@@ -145,6 +149,15 @@ public class PermissionDialogDelegate {
|
||||
.acceptThisTime(mNativeDelegatePtr, PermissionDialogDelegate.this);
|
||||
}
|
||||
|
||||
@@ -691,7 +691,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
|
||||
diff --git a/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc b/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
--- a/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
+++ b/components/permissions/android/permission_prompt/embedded_permission_prompt_android.cc
|
||||
@@ -117,7 +117,8 @@ void EmbeddedPermissionPromptAndroid::Acknowledge() {
|
||||
@@ -119,7 +119,8 @@ void EmbeddedPermissionPromptAndroid::Acknowledge() {
|
||||
delegate()->FinalizeCurrentRequests();
|
||||
}
|
||||
|
||||
@@ -716,7 +716,7 @@ diff --git a/components/permissions/android/permission_prompt/embedded_permissio
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
|
||||
@@ -137,6 +137,11 @@ void PermissionDialogJavaDelegate::UpdateDialog() {
|
||||
@@ -139,6 +139,11 @@ void PermissionDialogJavaDelegate::UpdateDialog() {
|
||||
static_cast<int>(permission_prompt_->GetEmbeddedPromptVariant()));
|
||||
}
|
||||
|
||||
@@ -728,7 +728,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
// static
|
||||
std::unique_ptr<PermissionDialogDelegate> PermissionDialogDelegate::Create(
|
||||
content::WebContents* web_contents,
|
||||
@@ -166,6 +171,13 @@ PermissionDialogDelegate::CreateForTesting(
|
||||
@@ -168,6 +173,13 @@ PermissionDialogDelegate::CreateForTesting(
|
||||
void PermissionDialogDelegate::Accept(JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
CHECK(permission_prompt_);
|
||||
@@ -742,7 +742,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
permission_prompt_->Accept();
|
||||
}
|
||||
|
||||
@@ -173,7 +185,10 @@ void PermissionDialogDelegate::AcceptThisTime(
|
||||
@@ -175,7 +187,10 @@ void PermissionDialogDelegate::AcceptThisTime(
|
||||
JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
CHECK(permission_prompt_);
|
||||
@@ -754,7 +754,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
}
|
||||
|
||||
void PermissionDialogDelegate::Acknowledge(JNIEnv* env,
|
||||
@@ -185,6 +200,13 @@ void PermissionDialogDelegate::Acknowledge(JNIEnv* env,
|
||||
@@ -187,6 +202,13 @@ void PermissionDialogDelegate::Acknowledge(JNIEnv* env,
|
||||
void PermissionDialogDelegate::Deny(JNIEnv* env,
|
||||
const JavaParamRef<jobject>& obj) {
|
||||
CHECK(permission_prompt_);
|
||||
@@ -782,7 +782,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
--- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
|
||||
@@ -76,8 +76,12 @@ void PermissionPromptAndroid::Accept() {
|
||||
@@ -83,8 +83,12 @@ void PermissionPromptAndroid::Accept() {
|
||||
delegate_->Accept();
|
||||
}
|
||||
|
||||
@@ -800,7 +800,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_
|
||||
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
--- a/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.h
|
||||
@@ -54,9 +54,10 @@ class PermissionPromptAndroid : public PermissionPrompt {
|
||||
@@ -55,9 +55,10 @@ class PermissionPromptAndroid : public PermissionPrompt {
|
||||
const;
|
||||
virtual void Closing();
|
||||
virtual void Accept();
|
||||
@@ -842,7 +842,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
|
||||
diff --git a/components/permissions/contexts/geolocation_permission_context_android.cc b/components/permissions/contexts/geolocation_permission_context_android.cc
|
||||
--- a/components/permissions/contexts/geolocation_permission_context_android.cc
|
||||
+++ b/components/permissions/contexts/geolocation_permission_context_android.cc
|
||||
@@ -168,7 +168,20 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
@@ -193,7 +193,20 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
bool is_one_time,
|
||||
bool is_final_decision) {
|
||||
DCHECK(is_final_decision);
|
||||
@@ -860,12 +860,12 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
+ ContentSetting content_setting,
|
||||
+ bool is_one_time, bool is_final_decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
|
||||
bool is_default_search =
|
||||
IsRequestingOriginDSE(request_data.requesting_origin);
|
||||
if (content_setting == CONTENT_SETTING_ALLOW &&
|
||||
!location_settings_->IsSystemLocationSettingEnabled()) {
|
||||
@@ -181,7 +194,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
if (IsInLocationSettingsBackOff(is_default_search)) {
|
||||
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
|
||||
@@ -208,7 +221,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin,
|
||||
std::move(callback), false /* persist */,
|
||||
- CONTENT_SETTING_BLOCK, is_one_time);
|
||||
+ CONTENT_SETTING_BLOCK,
|
||||
@@ -873,9 +873,9 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -199,7 +213,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
!location_settings_dialog_callback_.is_null()) {
|
||||
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
|
||||
@@ -228,7 +242,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin,
|
||||
std::move(callback), false /* persist */,
|
||||
- CONTENT_SETTING_BLOCK, is_one_time);
|
||||
+ CONTENT_SETTING_BLOCK,
|
||||
@@ -883,23 +883,23 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -211,13 +226,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
base::BindOnce(
|
||||
@@ -241,13 +256,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
|
||||
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
|
||||
weak_factory_.GetWeakPtr(), requesting_origin, embedding_origin,
|
||||
- persist, content_setting, is_one_time));
|
||||
+ persist, content_setting, is_one_time, lifetime_option));
|
||||
weak_factory_.GetWeakPtr(), request_data.requesting_origin,
|
||||
request_data.embedding_origin, persist, content_setting,
|
||||
- is_one_time));
|
||||
+ is_one_time, lifetime_option));
|
||||
return;
|
||||
}
|
||||
|
||||
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
|
||||
std::move(callback), persist, content_setting,
|
||||
- is_one_time);
|
||||
+ is_one_time, lifetime_option);
|
||||
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
|
||||
request_data.embedding_origin, std::move(callback),
|
||||
- persist, content_setting, is_one_time);
|
||||
+ persist, content_setting, is_one_time, lifetime_option);
|
||||
}
|
||||
|
||||
content::PermissionResult
|
||||
@@ -390,7 +405,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
@@ -425,7 +440,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
const GURL& embedding_origin,
|
||||
bool persist,
|
||||
ContentSetting content_setting,
|
||||
@@ -908,7 +908,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
LocationSettingsDialogOutcome prompt_outcome) {
|
||||
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
|
||||
if (prompt_outcome == GRANTED) {
|
||||
@@ -409,7 +424,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
@@ -444,7 +459,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
|
||||
FinishNotifyPermissionSet(location_settings_dialog_request_id_,
|
||||
requesting_origin, embedding_origin,
|
||||
std::move(location_settings_dialog_callback_),
|
||||
@@ -918,7 +918,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
|
||||
location_settings_dialog_request_id_ =
|
||||
PermissionRequestID(content::GlobalRenderFrameHostId(0, 0),
|
||||
@@ -423,10 +439,10 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
@@ -458,8 +474,8 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
ContentSetting content_setting,
|
||||
@@ -926,16 +926,22 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
- GeolocationPermissionContext::NotifyPermissionSet(
|
||||
+ bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
+ GeolocationPermissionContext::NotifyPermissionSetWithLifetime(
|
||||
id, requesting_origin, embedding_origin, std::move(callback), persist,
|
||||
- content_setting, is_one_time, /*is_final_decision=*/true);
|
||||
+ content_setting, is_one_time, /*is_final_decision=*/true, lifetime_option);
|
||||
PermissionRequestData(this, id,
|
||||
content::PermissionRequestDescription(
|
||||
content::PermissionDescriptorUtil::
|
||||
@@ -467,7 +483,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
|
||||
blink::PermissionType::GEOLOCATION)),
|
||||
requesting_origin),
|
||||
std::move(callback), persist, content_setting, is_one_time,
|
||||
- /*is_final_decision=*/true);
|
||||
+ /*is_final_decision=*/true, lifetime_option);
|
||||
}
|
||||
|
||||
void GeolocationPermissionContextAndroid::SetLocationSettingsForTesting(
|
||||
diff --git a/components/permissions/contexts/geolocation_permission_context_android.h b/components/permissions/contexts/geolocation_permission_context_android.h
|
||||
--- a/components/permissions/contexts/geolocation_permission_context_android.h
|
||||
+++ b/components/permissions/contexts/geolocation_permission_context_android.h
|
||||
@@ -89,6 +89,15 @@ class GeolocationPermissionContextAndroid
|
||||
@@ -93,6 +93,15 @@ class GeolocationPermissionContextAndroid
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
bool is_final_decision) override;
|
||||
@@ -951,7 +957,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
content::PermissionResult UpdatePermissionStatusWithDeviceStatus(
|
||||
content::WebContents* web_contents,
|
||||
content::PermissionResult result,
|
||||
@@ -134,6 +143,7 @@ class GeolocationPermissionContextAndroid
|
||||
@@ -138,6 +147,7 @@ class GeolocationPermissionContextAndroid
|
||||
bool persist,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
@@ -959,7 +965,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
|
||||
LocationSettingsDialogOutcome prompt_outcome);
|
||||
|
||||
void FinishNotifyPermissionSet(const PermissionRequestID& id,
|
||||
@@ -142,7 +152,8 @@ class GeolocationPermissionContextAndroid
|
||||
@@ -146,7 +156,8 @@ class GeolocationPermissionContextAndroid
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
ContentSetting content_setting,
|
||||
@@ -984,7 +990,7 @@ diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/c
|
||||
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
|
||||
--- a/components/permissions/permission_context_base.cc
|
||||
+++ b/components/permissions/permission_context_base.cc
|
||||
@@ -271,6 +271,17 @@ GURL PermissionContextBase::GetEffectiveEmbedderOrigin(
|
||||
@@ -273,6 +273,17 @@ GURL PermissionContextBase::GetEffectiveEmbedderOrigin(
|
||||
return PermissionUtil::GetLastCommittedOriginAsURL(rfh->GetMainFrame());
|
||||
}
|
||||
|
||||
@@ -1000,49 +1006,48 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
+}
|
||||
+
|
||||
content::PermissionResult PermissionContextBase::GetPermissionStatus(
|
||||
const PermissionResolver& resolver,
|
||||
content::RenderFrameHost* render_frame_host,
|
||||
const GURL& requesting_origin,
|
||||
@@ -530,7 +541,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
- bool is_final_decision) {
|
||||
+ bool is_final_decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
@@ -540,7 +551,8 @@ void PermissionContextBase::PermissionDecided(
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
bool is_final_decision,
|
||||
- const PermissionRequestData& request_data) {
|
||||
+ const PermissionRequestData& request_data,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
|
||||
content_setting == CONTENT_SETTING_BLOCK ||
|
||||
content_setting == CONTENT_SETTING_DEFAULT);
|
||||
@@ -545,13 +557,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
|
||||
@@ -556,12 +568,13 @@ void PermissionContextBase::PermissionDecided(
|
||||
// missing if a permission prompt was preignored and we already notified an
|
||||
// origin about it.
|
||||
if (request->second.second) {
|
||||
- NotifyPermissionSet(id, requesting_origin, embedding_origin,
|
||||
+ NotifyPermissionSetWithLifetime(id, requesting_origin, embedding_origin,
|
||||
std::move(request->second.second), persist,
|
||||
- content_setting, is_one_time, is_final_decision);
|
||||
+ content_setting, is_one_time, is_final_decision,
|
||||
- NotifyPermissionSet(request_data, std::move(request->second.second),
|
||||
+ NotifyPermissionSetWithLifetime(request_data, std::move(request->second.second),
|
||||
persist, content_setting, is_one_time,
|
||||
- is_final_decision);
|
||||
+ is_final_decision,
|
||||
+ lifetime_option);
|
||||
} else {
|
||||
- NotifyPermissionSet(id, requesting_origin, embedding_origin,
|
||||
+ NotifyPermissionSetWithLifetime(id, requesting_origin, embedding_origin,
|
||||
base::DoNothing(), persist, content_setting,
|
||||
- is_one_time, is_final_decision);
|
||||
+ is_one_time, is_final_decision, lifetime_option);
|
||||
- NotifyPermissionSet(request_data, base::DoNothing(), persist,
|
||||
- content_setting, is_one_time, is_final_decision);
|
||||
+ NotifyPermissionSetWithLifetime(request_data, base::DoNothing(), persist,
|
||||
+ content_setting, is_one_time, is_final_decision, lifetime_option);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -632,11 +645,27 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
@@ -652,10 +665,26 @@ void PermissionContextBase::NotifyPermissionSet(
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
bool is_final_decision) {
|
||||
+ DCHECK(is_one_time == false);
|
||||
+ NotifyPermissionSetWithLifetime(id, requesting_origin, embedding_origin, std::move(callback),
|
||||
+ NotifyPermissionSetWithLifetime(request_data, requesting_origin, embedding_origin, std::move(callback),
|
||||
+ persist, content_setting, is_one_time, is_final_decision,
|
||||
+ content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
+}
|
||||
+
|
||||
+void PermissionContextBase::NotifyPermissionSetWithLifetime(
|
||||
+ const PermissionRequestID& id,
|
||||
+ const PermissionRequestData& request_data,
|
||||
+ const GURL& requesting_origin,
|
||||
+ const GURL& embedding_origin,
|
||||
+ BrowserPermissionCallback callback,
|
||||
@@ -1054,29 +1059,27 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
|
||||
if (persist) {
|
||||
UpdateContentSetting(requesting_origin, embedding_origin, content_setting,
|
||||
- is_one_time);
|
||||
+ is_one_time, lifetime_option);
|
||||
- UpdateContentSetting(request_data, content_setting, is_one_time);
|
||||
+ UpdateContentSetting(request_data, content_setting, is_one_time, lifetime_option);
|
||||
}
|
||||
|
||||
if (is_final_decision) {
|
||||
@@ -677,6 +706,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time) {
|
||||
+ UpdateContentSetting(requesting_origin, embedding_origin, content_setting,
|
||||
@@ -696,6 +725,14 @@ void PermissionContextBase::UpdateContentSetting(
|
||||
const PermissionRequestData& request_data,
|
||||
ContentSetting content_setting,
|
||||
bool is_one_time) {
|
||||
+ UpdateContentSetting(request_data, content_setting,
|
||||
+ is_one_time, content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
+}
|
||||
+
|
||||
+void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
+ const GURL& embedding_origin,
|
||||
+void PermissionContextBase::UpdateContentSetting(const PermissionRequestData& request_data,
|
||||
+ ContentSetting content_setting,
|
||||
+ bool is_one_time,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
|
||||
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
|
||||
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
|
||||
@@ -686,6 +724,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
|
||||
DCHECK_EQ(request_data.requesting_origin,
|
||||
request_data.requesting_origin.DeprecatedGetOriginAsURL());
|
||||
DCHECK_EQ(request_data.embedding_origin,
|
||||
@@ -707,6 +744,8 @@ void PermissionContextBase::UpdateContentSetting(
|
||||
constraints.set_session_model(
|
||||
is_one_time ? content_settings::mojom::SessionModel::ONE_TIME
|
||||
: content_settings::mojom::SessionModel::DURABLE);
|
||||
@@ -1088,37 +1091,34 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
|
||||
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
|
||||
--- a/components/permissions/permission_context_base.h
|
||||
+++ b/components/permissions/permission_context_base.h
|
||||
@@ -169,6 +169,15 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
@@ -188,6 +188,13 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
|
||||
// Updates stored content setting if persist is set, updates tab indicators
|
||||
// and runs the callback to finish the request.
|
||||
+ virtual void NotifyPermissionSetWithLifetime(const PermissionRequestID& id,
|
||||
+ const GURL& requesting_origin,
|
||||
+ const GURL& embedding_origin,
|
||||
+ BrowserPermissionCallback callback,
|
||||
+ bool persist,
|
||||
+ ContentSetting content_setting,
|
||||
+ bool is_one_time,
|
||||
+ bool is_final_decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
virtual void NotifyPermissionSet(const PermissionRequestID& id,
|
||||
const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
@@ -190,6 +199,11 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
+ virtual void NotifyPermissionSetWithLifetime(const PermissionRequestData& request_data,
|
||||
+ BrowserPermissionCallback callback,
|
||||
+ bool persist,
|
||||
+ ContentSetting content_setting,
|
||||
+ bool is_one_time,
|
||||
+ bool is_final_decision,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
virtual void NotifyPermissionSet(const PermissionRequestData& request_data,
|
||||
BrowserPermissionCallback callback,
|
||||
bool persist,
|
||||
@@ -207,6 +214,10 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
// Store the decided permission as a content setting.
|
||||
// virtual since the permission might be stored with different restrictions
|
||||
// (for example for desktop notifications).
|
||||
+ void UpdateContentSetting(const GURL& requesting_origin,
|
||||
+ const GURL& embedding_origin,
|
||||
+ ContentSetting content_setting,
|
||||
+ bool is_one_time,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
virtual void UpdateContentSetting(const GURL& requesting_origin,
|
||||
const GURL& embedding_origin,
|
||||
+ void UpdateContentSetting(const PermissionRequestData& request_data,
|
||||
+ ContentSetting content_setting,
|
||||
+ bool is_one_time,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
virtual void UpdateContentSetting(const PermissionRequestData& request_data,
|
||||
ContentSetting content_setting,
|
||||
@@ -220,6 +234,12 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
bool is_one_time);
|
||||
@@ -236,6 +247,12 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
|
||||
base::OnceClosure delete_callback) const;
|
||||
base::OnceClosure request_finished_callback) const;
|
||||
|
||||
+ virtual std::unique_ptr<PermissionRequest> CreatePermissionRequest(
|
||||
+ content::WebContents* web_contents,
|
||||
@@ -1129,12 +1129,12 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
|
||||
// Implementors can override this method to avoid using automatic embargo.
|
||||
virtual bool UsesAutomaticEmbargo() const;
|
||||
|
||||
@@ -256,7 +276,8 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
const GURL& embedding_origin,
|
||||
ContentSetting content_setting,
|
||||
@@ -270,7 +287,8 @@ class PermissionContextBase : public content_settings::Observer {
|
||||
void PermissionDecided(ContentSetting content_setting,
|
||||
bool is_one_time,
|
||||
- bool is_final_decision);
|
||||
+ bool is_final_decision,
|
||||
bool is_final_decision,
|
||||
- const PermissionRequestData& request_data);
|
||||
+ const PermissionRequestData& request_data,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option);
|
||||
|
||||
void NotifyObservers(const ContentSettingsPattern& primary_pattern,
|
||||
@@ -1156,8 +1156,8 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
|
||||
diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc
|
||||
--- a/components/permissions/permission_request.cc
|
||||
+++ b/components/permissions/permission_request.cc
|
||||
@@ -43,6 +43,14 @@ PermissionRequest::PermissionRequest(
|
||||
delete_callback_(std::move(delete_callback)),
|
||||
@@ -32,6 +32,14 @@ PermissionRequest::PermissionRequest(
|
||||
request_finished_callback_(std::move(request_finished_callback)),
|
||||
uses_automatic_embargo_(uses_automatic_embargo) {}
|
||||
|
||||
+PermissionRequest::PermissionRequest(
|
||||
@@ -1169,9 +1169,9 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
+ delete_callback_(std::move(delete_callback)) {}
|
||||
+
|
||||
PermissionRequest::~PermissionRequest() {
|
||||
DCHECK(delete_callback_.is_null());
|
||||
std::move(request_finished_callback_).Run();
|
||||
}
|
||||
@@ -423,19 +431,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
@@ -412,19 +420,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
|
||||
return request_type() == RequestType::kStorageAccess;
|
||||
}
|
||||
|
||||
@@ -1185,7 +1185,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
+ }
|
||||
std::move(permission_decided_callback_)
|
||||
.Run(CONTENT_SETTING_ALLOW, is_one_time,
|
||||
/*is_final_decision=*/true);
|
||||
/*is_final_decision=*/true, /*request_data=*/*data_);
|
||||
}
|
||||
|
||||
-void PermissionRequest::PermissionDenied() {
|
||||
@@ -1198,7 +1198,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
+ }
|
||||
std::move(permission_decided_callback_)
|
||||
.Run(CONTENT_SETTING_BLOCK, /*is_one_time=*/false,
|
||||
/*is_final_decision=*/true);
|
||||
/*is_final_decision=*/true, /*request_data=*/*data_);
|
||||
}
|
||||
|
||||
void PermissionRequest::Cancelled(bool is_final_decision) {
|
||||
@@ -1210,13 +1210,13 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
|
||||
+ }
|
||||
if (permission_decided_callback_) {
|
||||
permission_decided_callback_.Run(CONTENT_SETTING_DEFAULT,
|
||||
/*is_one_time=*/false, is_final_decision);
|
||||
/*is_one_time=*/false, is_final_decision,
|
||||
diff --git a/components/permissions/permission_request.h b/components/permissions/permission_request.h
|
||||
--- a/components/permissions/permission_request.h
|
||||
+++ b/components/permissions/permission_request.h
|
||||
@@ -44,6 +44,11 @@ class PermissionRequest {
|
||||
bool /*is_one_time*/,
|
||||
bool /*is_final_decision*/)>;
|
||||
@@ -47,6 +47,11 @@ class PermissionRequest {
|
||||
bool /*is_final_decision*/,
|
||||
const PermissionRequestData& /*request_data*/)>;
|
||||
|
||||
+ using PermissionDecidedCallbackWithLifetime =
|
||||
+ base::OnceCallback<void(ContentSetting /*result*/, bool /*is_one_time*/,
|
||||
@@ -1225,10 +1225,10 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
+
|
||||
// `permission_decided_callback` is called when the permission request is
|
||||
// resolved by the user (see comment on PermissionDecidedCallback above).
|
||||
// `delete_callback` is called when the permission request is no longer needed
|
||||
@@ -64,6 +69,10 @@ class PermissionRequest {
|
||||
base::OnceClosure delete_callback,
|
||||
bool uses_automatic_embargo);
|
||||
// `request_finished_callback` is called when the permission request is being
|
||||
@@ -61,6 +66,10 @@ class PermissionRequest {
|
||||
base::OnceClosure request_finished_callback = base::DoNothing(),
|
||||
bool uses_automatic_embargo = true);
|
||||
|
||||
+ PermissionRequest(PermissionRequestData request_data,
|
||||
+ PermissionDecidedCallbackWithLifetime permission_decided_callback,
|
||||
@@ -1237,7 +1237,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
PermissionRequest(const PermissionRequest&) = delete;
|
||||
PermissionRequest& operator=(const PermissionRequest&) = delete;
|
||||
|
||||
@@ -170,10 +179,10 @@ class PermissionRequest {
|
||||
@@ -167,10 +176,10 @@ class PermissionRequest {
|
||||
// If |is_one_time| is true the permission will last until all tabs of
|
||||
// |origin| are closed or navigated away from, and then the permission will
|
||||
// automatically expire after 1 day.
|
||||
@@ -1250,67 +1250,67 @@ diff --git a/components/permissions/permission_request.h b/components/permission
|
||||
|
||||
// Called when the user has cancelled the permission request. This
|
||||
// corresponds to a denial, but is segregated in case the context needs to
|
||||
@@ -235,6 +244,9 @@ class PermissionRequest {
|
||||
@@ -224,6 +233,9 @@ class PermissionRequest {
|
||||
// Called once a decision is made about the permission.
|
||||
PermissionDecidedCallback permission_decided_callback_;
|
||||
|
||||
+ // Called once a decision is made about the permission (with lifetime option).
|
||||
+ PermissionDecidedCallbackWithLifetime permission_decided_callback_withlifetime_;
|
||||
+
|
||||
// Called when the request is no longer in use so it can be deleted by the
|
||||
// caller.
|
||||
base::OnceClosure delete_callback_;
|
||||
// Called when the request is finished to perform bookkeeping tasks.
|
||||
base::OnceClosure request_finished_callback_;
|
||||
|
||||
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
|
||||
--- a/components/permissions/permission_request_manager.cc
|
||||
+++ b/components/permissions/permission_request_manager.cc
|
||||
@@ -173,7 +173,7 @@ void PermissionRequestManager::AddRequest(
|
||||
@@ -189,7 +189,7 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kDenyPermissionPrompts)) {
|
||||
- request->PermissionDenied();
|
||||
+ request->PermissionDenied(/*is_one_time*/false, content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
request->RequestFinished();
|
||||
return;
|
||||
}
|
||||
@@ -248,7 +248,7 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
@@ -258,7 +258,7 @@ void PermissionRequestManager::AddRequest(
|
||||
|
||||
if (should_auto_approve_request) {
|
||||
if (should_auto_approve_request == PermissionAction::GRANTED) {
|
||||
- request->PermissionGranted(/*is_one_time=*/true);
|
||||
+ request->PermissionGranted(/*is_one_time=*/true, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED);
|
||||
}
|
||||
request->RequestFinished();
|
||||
return;
|
||||
@@ -611,7 +611,8 @@ void PermissionRequestManager::Accept() {
|
||||
}
|
||||
@@ -623,7 +623,8 @@ void PermissionRequestManager::Accept() {
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::GRANTED);
|
||||
PermissionGrantedIncludingDuplicates(*requests_iter,
|
||||
PermissionGrantedIncludingDuplicates(requests_iter->get(),
|
||||
- /*is_one_time=*/false);
|
||||
+ /*is_one_time=*/false,
|
||||
+ content_settings::mojom::LifetimeMode::ALWAYS);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
std::optional<ContentSettingsType> content_settings_type =
|
||||
@@ -629,7 +630,7 @@ void PermissionRequestManager::Accept() {
|
||||
@@ -641,7 +642,7 @@ void PermissionRequestManager::Accept() {
|
||||
CurrentRequestsDecided(PermissionAction::GRANTED);
|
||||
}
|
||||
|
||||
-void PermissionRequestManager::AcceptThisTime() {
|
||||
+void PermissionRequestManager::AcceptThisTime(content_settings::mojom::LifetimeMode mode) {
|
||||
if (ignore_callbacks_from_prompt_)
|
||||
if (ignore_callbacks_from_prompt_) {
|
||||
return;
|
||||
DCHECK(view_);
|
||||
@@ -642,7 +643,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
}
|
||||
@@ -655,7 +656,8 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::GRANTED_ONCE);
|
||||
PermissionGrantedIncludingDuplicates(*requests_iter,
|
||||
PermissionGrantedIncludingDuplicates(requests_iter->get(),
|
||||
- /*is_one_time=*/true);
|
||||
+ /*is_one_time=*/true,
|
||||
+ mode);
|
||||
}
|
||||
|
||||
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
|
||||
@@ -650,6 +652,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
@@ -663,6 +665,15 @@ void PermissionRequestManager::AcceptThisTime() {
|
||||
}
|
||||
|
||||
void PermissionRequestManager::Deny() {
|
||||
@@ -1323,26 +1323,26 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
+
|
||||
+void PermissionRequestManager::Deny_(bool is_one_time,
|
||||
+ content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
if (ignore_callbacks_from_prompt_)
|
||||
if (ignore_callbacks_from_prompt_) {
|
||||
return;
|
||||
DCHECK(view_);
|
||||
@@ -672,7 +683,7 @@ void PermissionRequestManager::Deny() {
|
||||
}
|
||||
@@ -685,7 +696,7 @@ void PermissionRequestManager::Deny() {
|
||||
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
|
||||
(*requests_iter)->request_type(),
|
||||
PermissionAction::DENIED);
|
||||
- PermissionDeniedIncludingDuplicates(*requests_iter);
|
||||
+ PermissionDeniedIncludingDuplicates(*requests_iter, is_one_time, lifetime_option);
|
||||
- PermissionDeniedIncludingDuplicates(requests_iter->get());
|
||||
+ PermissionDeniedIncludingDuplicates(requests_iter->get(), is_one_time, lifetime_option);
|
||||
}
|
||||
|
||||
NotifyRequestDecided(PermissionAction::DENIED);
|
||||
@@ -1271,32 +1282,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
@@ -1300,32 +1311,32 @@ PermissionRequestManager::VisitDuplicateRequests(
|
||||
|
||||
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
|
||||
PermissionRequest* request,
|
||||
- bool is_one_time) {
|
||||
+ bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
DCHECK_EQ(1ul, std::ranges::count(requests_, request) +
|
||||
pending_permission_requests_.Count(request))
|
||||
CHECK(RequestExistsExactlyOnce(request, pending_permission_requests_,
|
||||
requests_))
|
||||
<< "Only requests in [pending_permission_]requests_ can have duplicates";
|
||||
- request->PermissionGranted(is_one_time);
|
||||
+ request->PermissionGranted(is_one_time, lifetime_option);
|
||||
@@ -1350,9 +1350,9 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
base::BindRepeating(
|
||||
- [](bool is_one_time,
|
||||
+ [](bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option,
|
||||
const base::WeakPtr<PermissionRequest>& weak_request) {
|
||||
- weak_request->PermissionGranted(is_one_time);
|
||||
+ weak_request->PermissionGranted(is_one_time, lifetime_option);
|
||||
const std::unique_ptr<PermissionRequest>& request) {
|
||||
- request->PermissionGranted(is_one_time);
|
||||
+ request->PermissionGranted(is_one_time, lifetime_option);
|
||||
},
|
||||
- is_one_time),
|
||||
+ is_one_time, lifetime_option),
|
||||
@@ -1362,23 +1362,23 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
|
||||
void PermissionRequestManager::PermissionDeniedIncludingDuplicates(
|
||||
- PermissionRequest* request) {
|
||||
+ PermissionRequest* request, bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option) {
|
||||
DCHECK_EQ(1ul, std::ranges::count(requests_, request) +
|
||||
pending_permission_requests_.Count(request))
|
||||
CHECK(RequestExistsExactlyOnce(request, pending_permission_requests_,
|
||||
requests_))
|
||||
<< "Only requests in [pending_permission_]requests_ can have duplicates";
|
||||
- request->PermissionDenied();
|
||||
+ request->PermissionDenied(is_one_time, lifetime_option);
|
||||
VisitDuplicateRequests(
|
||||
base::BindRepeating(
|
||||
- [](const base::WeakPtr<PermissionRequest>& weak_request) {
|
||||
- weak_request->PermissionDenied();
|
||||
- [](const std::unique_ptr<PermissionRequest>& request) {
|
||||
- request->PermissionDenied();
|
||||
- }),
|
||||
+ [](bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option, const base::WeakPtr<PermissionRequest>& weak_request) {
|
||||
+ weak_request->PermissionDenied(is_one_time, lifetime_option);
|
||||
+ [](bool is_one_time, content_settings::mojom::LifetimeMode lifetime_option, const std::unique_ptr<PermissionRequest>& request) {
|
||||
+ request->PermissionDenied(is_one_time, lifetime_option);
|
||||
+ }, is_one_time, lifetime_option),
|
||||
request);
|
||||
}
|
||||
|
||||
@@ -1566,7 +1577,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
@@ -1596,7 +1607,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
|
||||
}
|
||||
switch (auto_response_for_test_) {
|
||||
case ACCEPT_ONCE:
|
||||
@@ -1402,7 +1402,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
|
||||
void Dismiss() override;
|
||||
void Ignore() override;
|
||||
void FinalizeCurrentRequests() override;
|
||||
@@ -383,9 +385,12 @@ class PermissionRequestManager
|
||||
@@ -394,9 +396,12 @@ class PermissionRequestManager
|
||||
|
||||
// Calls PermissionGranted on a request and all its duplicates.
|
||||
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
|
||||
|
||||
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -102,6 +102,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane;
|
||||
@@ -103,6 +103,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
||||
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
@@ -67,17 +67,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.chrome.browser.compositor.layouts.Layout;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
|
||||
@@ -273,6 +274,9 @@ import org.chromium.chrome.browser.ui.RootUiCoordinator;
|
||||
import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
|
||||
@@ -275,6 +276,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
|
||||
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
|
||||
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
|
||||
import org.chromium.chrome.browser.ui.extensions.ExtensionKeybindingRegistry;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
|
||||
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient;
|
||||
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin;
|
||||
import org.chromium.chrome.browser.ui.signin.BottomSheetSigninAndHistorySyncConfig;
|
||||
@@ -282,6 +286,8 @@ import org.chromium.chrome.browser.undo_tab_close_snackbar.UndoBarController;
|
||||
@@ -284,6 +288,8 @@ import org.chromium.chrome.browser.undo_tab_close_snackbar.UndoBarController;
|
||||
import org.chromium.chrome.browser.usage_stats.UsageStatsService;
|
||||
import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
|
||||
import org.chromium.chrome.browser.xr.XrLayoutStateObserver;
|
||||
@@ -86,16 +86,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
|
||||
import org.chromium.components.browser_ui.edge_to_edge.SystemBarColorHelper;
|
||||
import org.chromium.components.browser_ui.edge_to_edge.TabbedSystemBarColorHelper;
|
||||
@@ -3316,6 +3322,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
@@ -3394,6 +3400,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
getTabModelSelectorSupplier().get(),
|
||||
closeAllTabsRunnable);
|
||||
RecordUserAction.record("MobileMenuCloseAllTabs");
|
||||
+ } else if (id == R.id.bookmark_all_tabs_menu_id) {
|
||||
+ bookmarkAllTabs();
|
||||
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
|
||||
// Close only incognito tabs
|
||||
Runnable closeAllTabsRunnable =
|
||||
@@ -3418,6 +3426,41 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
boolean allowUndo = TabClosureParamsUtils.shouldAllowUndo(triggeringMotion);
|
||||
|
||||
@@ -3502,6 +3510,41 @@ public class ChromeTabbedActivity extends ChromeActivity {
|
||||
getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus);
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
|
||||
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
|
||||
@@ -326,6 +326,33 @@ jboolean BookmarkBridge::AreAccountBookmarkFoldersActive(JNIEnv* env) {
|
||||
@@ -391,6 +391,33 @@ jboolean BookmarkBridge::AreAccountBookmarkFoldersActive(JNIEnv* env) {
|
||||
return bookmark_model_->account_mobile_node() != nullptr;
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
base::android::ScopedJavaLocalRef<jobject>
|
||||
BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env,
|
||||
const GURL& url) {
|
||||
@@ -438,6 +465,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
@@ -503,6 +530,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
|
||||
// Vector to temporarily contain all child bookmarks at same level for sorting
|
||||
std::vector<const BookmarkNode*> bookmarks = {
|
||||
bookmark_model_->mobile_node(),
|
||||
@@ -182,7 +182,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
bookmark_model_->bookmark_bar_node(),
|
||||
bookmark_model_->other_node(),
|
||||
};
|
||||
@@ -546,6 +574,9 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||
@@ -611,6 +639,9 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
|
||||
top_level_folders.push_back(other_node);
|
||||
}
|
||||
|
||||
@@ -192,7 +192,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
|
||||
const BookmarkNode* reading_list_node =
|
||||
local_or_syncable_reading_list_manager_->GetRoot();
|
||||
if (IsPermanentFolderVisible(
|
||||
@@ -1273,6 +1304,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
@@ -1338,6 +1369,17 @@ void BookmarkBridge::GetBookmarksOfType(
|
||||
AddBookmarkNodesToBookmarkIdList(env, j_list, results);
|
||||
}
|
||||
|
||||
@@ -238,7 +238,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
|
||||
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
|
||||
@@ -18,6 +18,7 @@ import org.jni_zero.JniType;
|
||||
@@ -16,6 +16,7 @@ import org.jni_zero.JniType;
|
||||
import org.jni_zero.NativeMethods;
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
@@ -254,15 +254,15 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
import org.chromium.components.bookmarks.BookmarkId;
|
||||
import org.chromium.components.bookmarks.BookmarkItem;
|
||||
import org.chromium.components.bookmarks.BookmarkType;
|
||||
@@ -46,6 +48,7 @@ import java.util.function.BiConsumer;
|
||||
@@ -47,6 +49,7 @@ import java.util.function.BiConsumer;
|
||||
class BookmarkBridge {
|
||||
private static OneshotSupplierImpl<BookmarkModel.PartnerBookmarkIteratorProvider>
|
||||
private static final OneshotSupplierImpl<BookmarkModel.PartnerBookmarkIteratorProvider>
|
||||
sPartnerBookmarkIteratorSupplier = new OneshotSupplierImpl<>();
|
||||
+ private static final String TAG = "BookmarkBridge";
|
||||
|
||||
private final ObserverList<BookmarkModelObserver> mObservers = new ObserverList<>();
|
||||
private final Profile mProfile;
|
||||
@@ -384,6 +387,16 @@ class BookmarkBridge {
|
||||
@@ -385,6 +388,16 @@ class BookmarkBridge {
|
||||
return mMobileFolderId;
|
||||
}
|
||||
|
||||
@@ -277,9 +277,9 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
+ }
|
||||
+
|
||||
/** Returns Id representing the special "other" folder from bookmark model. */
|
||||
public BookmarkId getOtherFolderId() {
|
||||
public @Nullable BookmarkId getOtherFolderId() {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
@@ -895,6 +908,29 @@ class BookmarkBridge {
|
||||
@@ -898,6 +911,29 @@ class BookmarkBridge {
|
||||
.addToReadingList(mNativeBookmarkBridge, parentId, title, url);
|
||||
}
|
||||
|
||||
@@ -309,7 +309,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
/**
|
||||
* Helper method to mark an item as read.
|
||||
*
|
||||
@@ -1112,6 +1148,9 @@ class BookmarkBridge {
|
||||
@@ -1115,6 +1151,9 @@ class BookmarkBridge {
|
||||
BookmarkId getMostRecentlyAddedUserBookmarkIdForUrl(
|
||||
long nativeBookmarkBridge, @JniType("GURL") GURL url);
|
||||
|
||||
@@ -319,7 +319,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
BookmarkItem getBookmarkById(long nativeBookmarkBridge, long id, int type);
|
||||
|
||||
void getTopLevelFolderIds(
|
||||
@@ -1133,6 +1172,8 @@ class BookmarkBridge {
|
||||
@@ -1136,6 +1175,8 @@ class BookmarkBridge {
|
||||
|
||||
BookmarkId getRootFolderId(long nativeBookmarkBridge);
|
||||
|
||||
@@ -331,7 +331,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
|
||||
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
|
||||
@@ -173,14 +173,15 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
@@ -169,14 +169,15 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
BookmarkCodec codec;
|
||||
local_bookmarks_ =
|
||||
codec.Encode(model->bookmark_bar_node(), model->other_node(),
|
||||
@@ -349,7 +349,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
} else {
|
||||
CHECK(!model->account_other_node());
|
||||
CHECK(!model->account_mobile_node());
|
||||
@@ -214,6 +215,9 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
@@ -210,6 +211,9 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
base::Value::Dict* mobile_folder_value = local_permanent_folders->FindDict(
|
||||
BookmarkCodec::kMobileBookmarkFolderNameKey);
|
||||
CHECK(mobile_folder_value);
|
||||
@@ -359,7 +359,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
|
||||
base::Value::Dict* account_permanent_folders =
|
||||
account_bookmarks_.FindDict(BookmarkCodec::kRootsKey);
|
||||
@@ -289,6 +293,10 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
@@ -285,6 +289,10 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
return bookmark_html_writer::Result::kCouldNotWriteNodes;
|
||||
}
|
||||
|
||||
@@ -370,7 +370,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
DecrementIndent();
|
||||
|
||||
if (!Write(kFolderChildrenEnd) || !Write(kNewline)) {
|
||||
@@ -435,6 +443,7 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
@@ -431,6 +439,7 @@ class Writer : public base::RefCountedThreadSafe<Writer> {
|
||||
case BookmarkNode::URL:
|
||||
case BookmarkNode::OTHER_NODE:
|
||||
case BookmarkNode::MOBILE:
|
||||
@@ -378,7 +378,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
|
||||
NOTREACHED();
|
||||
}
|
||||
|
||||
@@ -563,6 +572,7 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
||||
@@ -559,6 +568,7 @@ void BookmarkFaviconFetcher::ExportBookmarks() {
|
||||
ExtractUrls(model->bookmark_bar_node());
|
||||
ExtractUrls(model->other_node());
|
||||
ExtractUrls(model->mobile_node());
|
||||
@@ -440,7 +440,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4525,6 +4525,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -4541,6 +4541,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
|
||||
Select tabs
|
||||
</message>
|
||||
@@ -646,16 +646,16 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
|
||||
|
||||
void UpdateUserFolderStatsRecursively(const BookmarkNode& node,
|
||||
bool top_level,
|
||||
@@ -60,6 +60,8 @@ BookmarkLoadDetails::BookmarkLoadDetails()
|
||||
root_node_->Add(BookmarkPermanentNode::CreateOtherBookmarks(/*id=*/0)));
|
||||
@@ -63,6 +63,8 @@ BookmarkLoadDetails::BookmarkLoadDetails()
|
||||
mobile_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(/*id=*/0)));
|
||||
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(
|
||||
/*id=*/0, /*is_account_node=*/false)));
|
||||
+ tabs_collection_folder_node_ = static_cast<BookmarkPermanentNode*>(
|
||||
+ root_node_->Add(BookmarkPermanentNode::CreateTabsCollectionBookmarks(/*id=*/0)));
|
||||
|
||||
CHECK_EQ(kNumDefaultTopLevelPermanentFolders, root_node_->children().size());
|
||||
}
|
||||
@@ -106,6 +108,10 @@ void BookmarkLoadDetails::PopulateNodeIdsForLocalOrSyncablePermanentNodes() {
|
||||
// Set the nodes' `date_added` to the same time so that there is no inherent
|
||||
// hierarchy in terms of their added time between them. This is relevant for
|
||||
@@ -119,6 +121,10 @@ void BookmarkLoadDetails::PopulateNodeIdsForLocalOrSyncablePermanentNodes() {
|
||||
if (mobile_folder_node_->id() == 0) {
|
||||
mobile_folder_node_->set_id(max_id_++);
|
||||
}
|
||||
@@ -666,7 +666,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
|
||||
}
|
||||
|
||||
void BookmarkLoadDetails::AddManagedNode(
|
||||
@@ -118,6 +124,7 @@ void BookmarkLoadDetails::AddManagedNode(
|
||||
@@ -131,6 +137,7 @@ void BookmarkLoadDetails::AddManagedNode(
|
||||
CHECK_NE(bb_node_->id(), 0);
|
||||
CHECK_NE(other_folder_node_->id(), 0);
|
||||
CHECK_NE(mobile_folder_node_->id(), 0);
|
||||
@@ -674,7 +674,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
|
||||
|
||||
has_managed_node_ = true;
|
||||
root_node_->Add(std::move(managed_node));
|
||||
@@ -125,8 +132,8 @@ void BookmarkLoadDetails::AddManagedNode(
|
||||
@@ -138,8 +145,8 @@ void BookmarkLoadDetails::AddManagedNode(
|
||||
|
||||
void BookmarkLoadDetails::CreateIndices() {
|
||||
local_or_syncable_uuid_index_.insert(root_node_.get());
|
||||
@@ -685,7 +685,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
|
||||
for (const auto& child : root_node_->children()) {
|
||||
if (child.get() == account_bb_node_ ||
|
||||
child.get() == account_other_folder_node_ ||
|
||||
@@ -145,6 +152,7 @@ void BookmarkLoadDetails::ResetPermanentNodePointers() {
|
||||
@@ -158,6 +165,7 @@ void BookmarkLoadDetails::ResetPermanentNodePointers() {
|
||||
bb_node_ = nullptr;
|
||||
other_folder_node_ = nullptr;
|
||||
mobile_folder_node_ = nullptr;
|
||||
@@ -715,16 +715,16 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
|
||||
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
|
||||
--- a/components/bookmarks/browser/bookmark_model.cc
|
||||
+++ b/components/bookmarks/browser/bookmark_model.cc
|
||||
@@ -890,7 +890,7 @@ bool BookmarkModel::HasBookmarks() const {
|
||||
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return bookmark_bar_node_->children().empty() &&
|
||||
- other_node_->children().empty() && mobile_node_->children().empty();
|
||||
+ other_node_->children().empty() && mobile_node_->children().empty() && tabs_collection_node_->children().empty();
|
||||
@@ -908,7 +908,7 @@ bool BookmarkModel::HasUserCreatedBookmarksOrFolders() const {
|
||||
(account_bookmark_bar_node_ &&
|
||||
!account_bookmark_bar_node_->children().empty()) ||
|
||||
(account_other_node_ && !account_other_node_->children().empty()) ||
|
||||
- (account_mobile_node_ && !account_mobile_node_->children().empty());
|
||||
+ (account_mobile_node_ && !account_mobile_node_->children().empty() && tabs_collection_node_->children().empty());
|
||||
}
|
||||
|
||||
bool BookmarkModel::IsBookmarked(const GURL& url) const {
|
||||
@@ -1222,6 +1222,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
@@ -1240,6 +1240,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
|
||||
bookmark_bar_node_ = details->bb_node();
|
||||
other_node_ = details->other_folder_node();
|
||||
mobile_node_ = details->mobile_folder_node();
|
||||
@@ -748,7 +748,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
|
||||
bool is_root_node(const BookmarkNode* node) const {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
return node == root_;
|
||||
@@ -611,6 +617,7 @@ class BookmarkModel : public BookmarkUndoProvider,
|
||||
@@ -628,6 +634,7 @@ class BookmarkModel : public BookmarkUndoProvider,
|
||||
raw_ptr<BookmarkPermanentNode> account_bookmark_bar_node_ = nullptr;
|
||||
raw_ptr<BookmarkPermanentNode> account_other_node_ = nullptr;
|
||||
raw_ptr<BookmarkPermanentNode> account_mobile_node_ = nullptr;
|
||||
@@ -768,8 +768,8 @@ diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmark
|
||||
case BookmarkNode::URL:
|
||||
NOTREACHED();
|
||||
case BookmarkNode::FOLDER:
|
||||
@@ -211,6 +213,15 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id) {
|
||||
l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_MOBILE_FOLDER_NAME)));
|
||||
@@ -213,6 +215,15 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
|
||||
is_account_node));
|
||||
}
|
||||
|
||||
+// static
|
||||
@@ -795,10 +795,10 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
|
||||
MOBILE
|
||||
};
|
||||
|
||||
@@ -247,6 +248,8 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||
int64_t id);
|
||||
@@ -249,6 +250,8 @@ class BookmarkPermanentNode : public BookmarkNode {
|
||||
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
|
||||
int64_t id);
|
||||
int64_t id,
|
||||
bool is_account_node);
|
||||
+ static std::unique_ptr<BookmarkPermanentNode> CreateTabsCollectionBookmarks(
|
||||
+ int64_t id);
|
||||
|
||||
@@ -850,16 +850,16 @@ diff --git a/components/bookmarks/browser/bookmark_uuids.h b/components/bookmark
|
||||
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
|
||||
--- a/components/bookmarks/browser/model_loader.cc
|
||||
+++ b/components/bookmarks/browser/model_loader.cc
|
||||
@@ -71,6 +71,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
BookmarkPermanentNode::CreateOtherBookmarks(0);
|
||||
@@ -74,6 +74,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
std::unique_ptr<BookmarkPermanentNode> account_mobile_folder_node =
|
||||
BookmarkPermanentNode::CreateMobileBookmarks(0);
|
||||
BookmarkPermanentNode::CreateMobileBookmarks(
|
||||
0, /*is_account_node=*/true);
|
||||
+ std::unique_ptr<BookmarkPermanentNode> tabs_collection_folder_node =
|
||||
+ BookmarkPermanentNode::CreateTabsCollectionBookmarks(0);
|
||||
|
||||
std::optional<base::Value::Dict> root_dict =
|
||||
LoadFileToDict(account_file_path);
|
||||
@@ -78,7 +80,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
@@ -81,7 +83,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
if (root_dict.has_value() &&
|
||||
codec.Decode(*root_dict, /*already_assigned_ids=*/{},
|
||||
account_bb_node.get(), account_other_folder_node.get(),
|
||||
@@ -869,7 +869,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
|
||||
&sync_metadata_str)) {
|
||||
ids_assigned_to_account_nodes = codec.release_assigned_ids();
|
||||
|
||||
@@ -120,7 +123,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
@@ -123,7 +126,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
|
||||
if (root_dict.has_value() &&
|
||||
codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes),
|
||||
details->bb_node(), details->other_folder_node(),
|
||||
|
||||
@@ -141,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j
|
||||
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
|
||||
@@ -62,6 +62,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
@@ -65,6 +65,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
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
|
||||
@@ -783,7 +783,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
@@ -787,7 +787,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
||||
// Inflate the correct toolbar layout for the device.
|
||||
int toolbarLayoutId = getToolbarLayoutId();
|
||||
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
|
||||
@@ -184,15 +184,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
|
||||
@@ -117,6 +117,7 @@ import org.chromium.components.tab_group_sync.SavedTabGroup;
|
||||
import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
||||
@@ -120,6 +120,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
|
||||
import org.chromium.components.tab_group_sync.TriggerSource;
|
||||
import org.chromium.components.tab_groups.TabGroupColorId;
|
||||
import org.chromium.ui.accessibility.AccessibilityState;
|
||||
+import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.LocalizationUtils;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
@@ -4264,8 +4265,13 @@ public class StripLayoutHelper
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
@@ -4472,8 +4473,13 @@ public class StripLayoutHelper
|
||||
mCloseButtonMenu.setAnchorView(tabView);
|
||||
// 3. Set the vertical offset to align the close button menu with bottom of the tab strip
|
||||
int tabHeight = mManagerHost.getHeight();
|
||||
@@ -211,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
|
||||
@@ -97,6 +97,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
||||
@@ -98,6 +98,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
import org.chromium.components.browser_ui.widget.scrim.ScrimProperties;
|
||||
import org.chromium.content_public.browser.LoadUrlParams;
|
||||
@@ -219,10 +219,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
import org.chromium.ui.base.LocalizationUtils;
|
||||
import org.chromium.ui.base.PageTransition;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
@@ -468,7 +469,10 @@ public class StripLayoutHelperManager
|
||||
|
||||
@@ -467,7 +468,10 @@ public class StripLayoutHelperManager
|
||||
mIsLayoutOptimizationsEnabled =
|
||||
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true);
|
||||
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(
|
||||
/* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext));
|
||||
- mScrollableStripHeight = res.getDimension(R.dimen.tab_strip_height) / mDensity;
|
||||
+ mScrollableStripHeight =
|
||||
+ (DeviceFormFactor.isForceTabletUI()
|
||||
@@ -271,7 +271,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -697,7 +697,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -725,7 +725,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
|
||||
@Override
|
||||
public int getControlContainerHeightResource() {
|
||||
@@ -294,7 +294,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
|
||||
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
|
||||
@@ -1625,7 +1627,9 @@ public class RootUiCoordinator
|
||||
@@ -1645,7 +1647,9 @@ public class RootUiCoordinator
|
||||
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
|
||||
|
||||
int stubId = R.id.find_toolbar_stub;
|
||||
@@ -319,7 +319,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU
|
||||
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
|
||||
@@ -314,6 +314,7 @@ public final class ChromePreferenceKeys {
|
||||
@@ -313,6 +313,7 @@ public final class ChromePreferenceKeys {
|
||||
/** Whether the app-specific history info text was already seen by users. */
|
||||
public static final String HISTORY_APP_SPECIFIC_INFO_SEEN =
|
||||
"Chrome.History.AppSpecificInfoSeen";
|
||||
@@ -359,7 +359,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
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
|
||||
@@ -57,6 +57,7 @@ public class LegacyChromePreferenceKeys {
|
||||
@@ -56,6 +56,7 @@ public class LegacyChromePreferenceKeys {
|
||||
ChromePreferenceKeys.FIRST_RUN_FLOW_COMPLETE,
|
||||
ChromePreferenceKeys.FIRST_RUN_FLOW_SIGNIN_SETUP,
|
||||
ChromePreferenceKeys.FIRST_RUN_LIGHTWEIGHT_FLOW_COMPLETE,
|
||||
@@ -378,10 +378,10 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c
|
||||
import org.chromium.ui.InsetObserver;
|
||||
import org.chromium.ui.InsetObserver.WindowInsetsConsumer;
|
||||
import org.chromium.ui.InsetsRectProvider;
|
||||
@@ -260,6 +261,7 @@ public class AppHeaderCoordinator
|
||||
private static @DesktopWindowHeuristicResult int checkIsInDesktopWindow(
|
||||
@@ -267,6 +268,7 @@ public class AppHeaderCoordinator
|
||||
InsetsRectProvider insetsRectProvider,
|
||||
@DesktopWindowHeuristicResult int currentResult) {
|
||||
@DesktopWindowHeuristicResult int currentResult,
|
||||
boolean isOnExternalDisplay) {
|
||||
+ if (DeviceFormFactor.isForceTabletUI()) return DesktopWindowHeuristicResult.IN_DESKTOP_WINDOW;
|
||||
@DesktopWindowHeuristicResult int newResult;
|
||||
|
||||
@@ -389,7 +389,7 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
@@ -847,7 +847,7 @@ public class LocationBarCoordinator
|
||||
@@ -857,7 +857,7 @@ public class LocationBarCoordinator
|
||||
}
|
||||
|
||||
private boolean isTabletWindow() {
|
||||
@@ -401,7 +401,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1660,6 +1660,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1654,6 +1654,13 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
Privacy guide explanation closed
|
||||
</message>
|
||||
|
||||
@@ -498,7 +498,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml b/chro
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
|
||||
@@ -26,7 +26,7 @@ public interface ControlContainer {
|
||||
@@ -27,7 +27,7 @@ public interface ControlContainer {
|
||||
*
|
||||
* @param toolbarLayoutId The ID of the toolbar layout to use.
|
||||
*/
|
||||
@@ -518,7 +518,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
@@ -154,8 +155,25 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@@ -157,8 +158,25 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
|
||||
@Override
|
||||
@Initializer
|
||||
@@ -542,13 +542,13 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
+ if (view != null)
|
||||
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
|
||||
+ }
|
||||
mToolbarContainer =
|
||||
(ToolbarViewResourceFrameLayout) findViewById(R.id.toolbar_container);
|
||||
mToolbarContainer = findViewById(R.id.toolbar_container);
|
||||
ViewStub toolbarStub = findViewById(R.id.toolbar_stub);
|
||||
toolbarStub.setLayoutResource(toolbarLayoutId);
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
|
||||
@@ -65,6 +65,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
|
||||
@@ -68,6 +68,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
|
||||
import org.chromium.components.feature_engagement.Tracker;
|
||||
import org.chromium.ui.base.ViewUtils;
|
||||
import org.chromium.ui.util.MotionEventUtils;
|
||||
@@ -556,7 +556,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
import org.chromium.ui.util.TokenHolder;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
@@ -571,7 +572,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||
@@ -586,7 +587,9 @@ public abstract class ToolbarLayout extends FrameLayout
|
||||
* not have a tab strip.
|
||||
*/
|
||||
protected int getTabStripHeightFromResource() {
|
||||
@@ -627,7 +627,7 @@ 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
|
||||
@@ -30,6 +30,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
|
||||
@@ -29,6 +29,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
|
||||
import org.chromium.content_public.browser.ContentFeatureMap;
|
||||
|
||||
import org.chromium.chrome.browser.settings.ChromeBaseSettingsFragment;
|
||||
@@ -635,7 +635,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
|
||||
/** Fragment to keep track of all the accessibility related preferences. */
|
||||
@NullMarked
|
||||
@@ -45,6 +46,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -44,6 +45,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
public static final String PREF_ZOOM_INFO = "zoom_info";
|
||||
public static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
|
||||
|
||||
@@ -645,7 +645,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
||||
@@ -112,6 +116,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -108,6 +112,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
mDelegate.getReaderAccessibilityDelegate().getValue());
|
||||
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
|
||||
|
||||
@@ -658,7 +658,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
Preference captions = findPreference(PREF_CAPTIONS);
|
||||
captions.setOnPreferenceClickListener(
|
||||
preference -> {
|
||||
@@ -171,6 +181,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -167,6 +177,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
|
||||
mDelegate.getForceEnableZoomAccessibilityDelegate().setValue((Boolean) newValue);
|
||||
@@ -683,7 +683,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
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
|
||||
@@ -69,6 +69,14 @@ public class DeviceFormFactor {
|
||||
@@ -83,6 +83,14 @@ public class DeviceFormFactor {
|
||||
return BuildConfig.IS_DESKTOP_ANDROID;
|
||||
}
|
||||
|
||||
@@ -698,7 +698,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
/**
|
||||
* 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". Use {@link
|
||||
@@ -77,6 +85,7 @@ public class DeviceFormFactor {
|
||||
@@ -91,6 +99,7 @@ public class DeviceFormFactor {
|
||||
@CalledByNative
|
||||
@Deprecated
|
||||
public static boolean isTablet() {
|
||||
@@ -706,7 +706,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
if (sIsTabletForTesting != null) {
|
||||
return sIsTabletForTesting;
|
||||
}
|
||||
@@ -107,6 +116,7 @@ public class DeviceFormFactor {
|
||||
@@ -121,6 +130,7 @@ public class DeviceFormFactor {
|
||||
* E.g. http://developer.samsung.com/samsung-dex/testing
|
||||
*/
|
||||
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
|
||||
@@ -714,7 +714,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
|
||||
}
|
||||
|
||||
@@ -142,6 +152,7 @@ public class DeviceFormFactor {
|
||||
@@ -156,6 +166,7 @@ public class DeviceFormFactor {
|
||||
* @return The screen width bucket the device is in (see constants at the top of this class).
|
||||
*/
|
||||
private static int detectScreenWidthBucket(Context context) {
|
||||
@@ -722,7 +722,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
||||
}
|
||||
|
||||
@@ -149,6 +160,7 @@ public class DeviceFormFactor {
|
||||
@@ -163,6 +174,7 @@ public class DeviceFormFactor {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
Context context = windowAndroid.getContext().get();
|
||||
if (context == null) return 0;
|
||||
@@ -730,7 +730,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return context.getResources().getInteger(R.integer.min_screen_width_bucket);
|
||||
}
|
||||
|
||||
@@ -158,6 +170,7 @@ public class DeviceFormFactor {
|
||||
@@ -172,6 +184,7 @@ public class DeviceFormFactor {
|
||||
*/
|
||||
@UiThread
|
||||
public static int getNonMultiDisplayMinimumTabletWidthPx(Context context) {
|
||||
@@ -738,7 +738,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
|
||||
return getMinimumTabletWidthPx(DisplayAndroid.getNonMultiDisplay(context));
|
||||
}
|
||||
|
||||
@@ -166,6 +179,7 @@ public class DeviceFormFactor {
|
||||
@@ -180,6 +193,7 @@ public class DeviceFormFactor {
|
||||
* layout.
|
||||
*/
|
||||
public static int getMinimumTabletWidthPx(DisplayAndroid display) {
|
||||
|
||||
@@ -9,7 +9,6 @@ Add DuckDuckGo Lite
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../search_engine_choice/default_favicon.png | Bin 0 -> 903 bytes
|
||||
...search_engine_choice_scaled_resources.grdp | 1 +
|
||||
components/search_engines/BUILD.gn | 3 ++
|
||||
components/search_engines/cromite/BUILD.gn | 12 ++++++
|
||||
.../cromite/cromite_prepopulated_engines.json | 37 ++++++++++++++++++
|
||||
@@ -21,7 +20,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
tools/json_to_struct/json_to_struct.py | 26 ++++++++----
|
||||
tools/json_to_struct/struct_generator.py | 10 +++--
|
||||
tools/variations/fieldtrial_to_struct.py | 4 +-
|
||||
13 files changed, 114 insertions(+), 28 deletions(-)
|
||||
12 files changed, 113 insertions(+), 28 deletions(-)
|
||||
create mode 100644 components/resources/default_100_percent/search_engine_choice/default_favicon.png
|
||||
create mode 100644 components/search_engines/cromite/BUILD.gn
|
||||
create mode 100644 components/search_engines/cromite/cromite_prepopulated_engines.json
|
||||
@@ -53,17 +52,6 @@ d#;<tA>kFnu^?NN9uE_uZ002ovPDHLkV1m60sc!%P
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/components/resources/search_engine_choice_scaled_resources.grdp b/components/resources/search_engine_choice_scaled_resources.grdp
|
||||
--- a/components/resources/search_engine_choice_scaled_resources.grdp
|
||||
+++ b/components/resources/search_engine_choice_scaled_resources.grdp
|
||||
@@ -5,6 +5,7 @@
|
||||
<if expr="_google_chrome">
|
||||
<structure type="chrome_scaled_image" name="IDR_GOOGLE_COM_PNG" file="google_chrome/google_search_logo.png" />
|
||||
</if>
|
||||
+ <structure type="chrome_scaled_image" name="IDR_GOOGLEEN_PNG" file="search_engine_choice/default_favicon.png" />
|
||||
<structure type="chrome_scaled_image" name="IDR_AR_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
|
||||
<structure type="chrome_scaled_image" name="IDR_AT_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
|
||||
<structure type="chrome_scaled_image" name="IDR_AU_YAHOO_COM_PNG" file="search_engine_choice/yahoo_com.png" />
|
||||
diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUILD.gn
|
||||
--- a/components/search_engines/BUILD.gn
|
||||
+++ b/components/search_engines/BUILD.gn
|
||||
@@ -75,7 +63,7 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUIL
|
||||
]
|
||||
|
||||
deps = [
|
||||
@@ -158,6 +159,7 @@ source_set("search_engine_utils") {
|
||||
@@ -163,6 +164,7 @@ source_set("search_engine_utils") {
|
||||
":search_engine_type",
|
||||
"//components/google/core/common",
|
||||
"//third_party/search_engines_data:prepopulated_engines",
|
||||
@@ -83,7 +71,7 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUIL
|
||||
]
|
||||
|
||||
deps = [ "//url" ]
|
||||
@@ -246,6 +248,7 @@ source_set("unit_tests") {
|
||||
@@ -252,6 +254,7 @@ source_set("unit_tests") {
|
||||
"//testing/gmock",
|
||||
"//testing/gtest",
|
||||
"//third_party/search_engines_data:prepopulated_engines",
|
||||
@@ -153,7 +141,7 @@ new file mode 100644
|
||||
diff --git a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
||||
--- a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
||||
+++ b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
|
||||
@@ -187,10 +187,7 @@ void RecordChoiceScreenDefaultSearchProviderType(
|
||||
@@ -182,10 +182,7 @@ void RecordChoiceScreenDefaultSearchProviderType(
|
||||
}
|
||||
|
||||
void RecordChoiceScreenSelectedIndex(int selected_engine_index) {
|
||||
@@ -296,7 +284,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
||||
"""Generates the .h file containing the definition of the structure specified
|
||||
by the schema.
|
||||
|
||||
@@ -139,11 +139,15 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
|
||||
@@ -147,11 +147,15 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
|
||||
f.write(u'#include "%s"\n' % header)
|
||||
f.write(u'\n')
|
||||
|
||||
@@ -313,7 +301,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
||||
schema['type_name'], schema['schema']))
|
||||
f.write(u'\n')
|
||||
|
||||
@@ -170,7 +174,7 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
|
||||
@@ -176,7 +180,7 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
|
||||
f.write(u'#endif // %s\n' % header_guard)
|
||||
|
||||
|
||||
@@ -322,7 +310,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
||||
"""Generates the .cc file containing the static initializers for the
|
||||
of the elements specified in the description.
|
||||
|
||||
@@ -205,7 +209,7 @@ def _GenerateCC(basepath, fileroot, head, namespace, schema, description):
|
||||
@@ -211,7 +215,7 @@ def _GenerateCC(basepath, fileroot, head, namespace, schema, description):
|
||||
f.write(element_generator.GenerateElements(schema['type_name'],
|
||||
schema['schema'], description))
|
||||
|
||||
@@ -331,7 +319,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
||||
f.write('\n} // anonymous namespace \n\n')
|
||||
|
||||
aggregated = GenerateCCAggregation(schema['type_name'], aggregation)
|
||||
@@ -292,7 +296,7 @@ def GenerateClass(basepath,
|
||||
@@ -298,7 +302,7 @@ def GenerateClass(basepath,
|
||||
|
||||
|
||||
def GenerateStruct(basepath, output_root, namespace, schema, description,
|
||||
@@ -340,7 +328,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
||||
"""Generates a C++ struct from a JSON description.
|
||||
|
||||
Args:
|
||||
@@ -311,8 +315,8 @@ def GenerateStruct(basepath, output_root, namespace, schema, description,
|
||||
@@ -317,8 +321,8 @@ def GenerateStruct(basepath, output_root, namespace, schema, description,
|
||||
"""
|
||||
year = int(year) if year else datetime.now().year
|
||||
head = HEAD % (year, schema_filename, description_filename)
|
||||
@@ -351,7 +339,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = optparse.OptionParser(
|
||||
@@ -327,11 +331,17 @@ if __name__ == '__main__':
|
||||
@@ -333,11 +337,17 @@ if __name__ == '__main__':
|
||||
parser.add_option('-s', '--schema', help='path to the schema file, '
|
||||
'mandatory.')
|
||||
parser.add_option('-o', '--output', help='output filename, ')
|
||||
@@ -369,7 +357,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
|
||||
description_filename = os.path.normpath(args[0])
|
||||
root, ext = os.path.splitext(description_filename)
|
||||
shortroot = opts.output if opts.output else os.path.split(root)[1]
|
||||
@@ -348,4 +358,4 @@ if __name__ == '__main__':
|
||||
@@ -354,4 +364,4 @@ if __name__ == '__main__':
|
||||
schema = _Load(opts.schema)
|
||||
description = _Load(description_filename)
|
||||
GenerateStruct(basepath, output_root, opts.namespace, schema, description,
|
||||
|
||||
@@ -70,7 +70,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
|
||||
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
|
||||
@@ -162,6 +162,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
@@ -165,6 +165,24 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
mSnackbarManagerSupplier.get().showSnackbar(mSnackbar);
|
||||
}
|
||||
|
||||
@@ -98,28 +98,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
|
||||
@@ -127,8 +127,9 @@ class ChromeContextMenuItem {
|
||||
int RELOAD = 40;
|
||||
@@ -123,8 +123,9 @@ class ChromeContextMenuItem {
|
||||
int PRINT_PAGE = 38;
|
||||
// Developer Group
|
||||
int INSPECT_ELEMENT = 41;
|
||||
+ int FOLLOW_LINK = 42;
|
||||
int INSPECT_ELEMENT = 39;
|
||||
+ int FOLLOW_LINK = 40;
|
||||
// ALWAYS UPDATE!
|
||||
- int NUM_ENTRIES = 42;
|
||||
+ int NUM_ENTRIES = 43;
|
||||
- int NUM_ENTRIES = 40;
|
||||
+ int NUM_ENTRIES = 41;
|
||||
}
|
||||
|
||||
/** Mapping from {@link Item} to the ID found in the ids.xml. */
|
||||
@@ -175,6 +176,7 @@ class ChromeContextMenuItem {
|
||||
R.id.contextmenu_forward, // Item.FORWARD
|
||||
R.id.contextmenu_reload, // Item.RELOAD
|
||||
@@ -169,6 +170,7 @@ class ChromeContextMenuItem {
|
||||
R.id.contextmenu_share_page, // Item.SHARE_PAGE
|
||||
R.id.contextmenu_print_page, // Item.PRINT_PAGE
|
||||
R.id.contextmenu_inspect_element, // Item.INSPECT_ELEMENT
|
||||
+ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
|
||||
};
|
||||
|
||||
/** Mapping from {@link Item} to the ID of the string that describes the action of the item. */
|
||||
@@ -221,6 +223,7 @@ class ChromeContextMenuItem {
|
||||
R.string.contextmenu_forward, // Item.FORWARD
|
||||
R.string.contextmenu_reload, // Item.RELOAD
|
||||
@@ -213,6 +215,7 @@ class ChromeContextMenuItem {
|
||||
R.string.contextmenu_share_page, // Item.SHARE_PAGE
|
||||
R.string.contextmenu_print_page, // Item.PRINT_PAGE
|
||||
R.string.contextmenu_inspect_element, // Item.INSPECT_ELEMENT
|
||||
+ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
|
||||
};
|
||||
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
|
||||
@@ -380,6 +380,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -369,6 +369,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
}
|
||||
if (mParams.isAnchor()) {
|
||||
ModelList linkGroup = new ModelList();
|
||||
@@ -138,7 +138,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
|
||||
if (FirstRunStatus.getFirstRunFlowComplete()
|
||||
&& !isEmptyUrl(mParams.getUrl())
|
||||
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
|
||||
@@ -817,6 +820,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
@@ -834,6 +837,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
||||
getProfile(),
|
||||
false);
|
||||
});
|
||||
@@ -168,27 +168,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -367,6 +367,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kTabGroupEntryPointsAndroid,
|
||||
@@ -381,6 +381,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kTabGroupParityBottomSheetAndroid,
|
||||
&kTabletTabStripAnimation,
|
||||
&kToolbarPhoneCleanup,
|
||||
+ &blink::features::kShowAlwaysContextMenuOnLinks,
|
||||
&kTabStateFlatBuffer,
|
||||
&kTabStripContextMenuAndroid,
|
||||
&kTabStripGroupDragDropAndroid,
|
||||
&kTabStripDensityChangeAndroid,
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -438,6 +438,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -454,6 +454,8 @@ public abstract class ChromeFeatureList {
|
||||
"DisableToolbarSwipeUp";
|
||||
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
||||
"MoveTopToolbarToBottom";
|
||||
+ public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS =
|
||||
+ "ShowAlwaysContextMenuOnLinks";
|
||||
public static final String NEW_TAB_SEARCH_ENGINE_URL_ANDROID = "NewTabSearchEngineUrlAndroid";
|
||||
public static final String NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON =
|
||||
"NewTabPageCustomizationToolbarButton";
|
||||
public static final String NOTIFICATION_ONE_TAP_UNSUBSCRIBE = "NotificationOneTapUnsubscribe";
|
||||
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
|
||||
@@ -809,6 +811,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -867,6 +869,8 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false);
|
||||
public static final CachedFlag sMoveTopToolbarToBottom =
|
||||
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
|
||||
@@ -197,18 +197,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false);
|
||||
public static final CachedFlag sPostGetMyMemoryStateToBackground =
|
||||
newCachedFlag(POST_GET_MEMORY_PRESSURE_TO_BACKGROUND, true);
|
||||
@@ -978,6 +982,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -1071,6 +1075,7 @@ public abstract class ChromeFeatureList {
|
||||
sTabWindowManagerReportIndicesMismatch,
|
||||
sTopControlsRefactor,
|
||||
sTraceBinderIpc,
|
||||
sUseChimeAndroidSdk,
|
||||
+ sShowAlwaysContextMenuOnLinks,
|
||||
sUseChimeAndroidSdk,
|
||||
sUseActivityManagerForTabActivation,
|
||||
sUseLibunwindstackNativeUnwinderAndroid,
|
||||
sWebApkMinShellApkVersion);
|
||||
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1725,6 +1725,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1719,6 +1719,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_DISABLE_TOOLBAR_SWIPE_UP" desc="Summary of the preference that allows the user to disable toolbar swipeup.">
|
||||
Disable toolbar swipe up
|
||||
</message>
|
||||
@@ -221,7 +221,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
|
||||
<!-- Safety check -->
|
||||
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
|
||||
@@ -3326,6 +3332,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -3330,6 +3336,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
|
||||
Open in new Chrome tab
|
||||
</message>
|
||||
@@ -249,7 +249,7 @@ 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
|
||||
@@ -54,6 +54,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -53,6 +53,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
|
||||
private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate;
|
||||
|
||||
@@ -259,7 +259,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
||||
@@ -143,6 +146,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -139,6 +142,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.getValue());
|
||||
mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this);
|
||||
|
||||
@@ -272,7 +272,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
Preference captions = findPreference(PREF_CAPTIONS);
|
||||
captions.setOnPreferenceClickListener(
|
||||
preference -> {
|
||||
@@ -224,6 +233,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -220,6 +229,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
} else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) {
|
||||
mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue);
|
||||
mDelegate.requestRestart(getActivity());
|
||||
@@ -467,7 +467,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
|
||||
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
|
||||
#include "third_party/blink/renderer/core/probe/core_probes.h"
|
||||
#include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h"
|
||||
@@ -794,6 +796,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
||||
@@ -815,6 +817,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -504,7 +504,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p
|
||||
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
|
||||
@@ -198,14 +198,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
|
||||
@@ -200,14 +200,16 @@ void ContextMenuController::DocumentDetached(Document* document) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -524,7 +524,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
||||
mouse_event->SetDefaultHandled();
|
||||
}
|
||||
|
||||
@@ -430,7 +432,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
|
||||
@@ -432,7 +434,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
|
||||
bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
const PhysicalOffset& point,
|
||||
WebMenuSourceType source_type,
|
||||
@@ -534,7 +534,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
||||
// Displaying the context menu in this function is a big hack as we don't
|
||||
// have context, i.e. whether this is being invoked via a script or in
|
||||
// response to user input (Mouse event WM_RBUTTONDOWN,
|
||||
@@ -453,6 +456,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
@@ -455,6 +458,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
if (!result.InnerNodeOrImageMapImage())
|
||||
return false;
|
||||
|
||||
@@ -551,7 +551,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
|
||||
// Clear any previously set cached results if we are resetting the hit test
|
||||
// result.
|
||||
image_selection_cached_result_ = nullptr;
|
||||
@@ -816,11 +829,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
@@ -830,11 +843,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
|
||||
|
||||
SetAutofillData(result.InnerNode(), data);
|
||||
|
||||
|
||||
@@ -36,12 +36,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../safety_hub/SafetyHubFetchService.java | 5 -
|
||||
.../strings/android_chrome_strings.grd | 23 +-
|
||||
.../ui/lens/lens_overlay_query_controller.cc | 1 +
|
||||
.../endpoint_fetcher/endpoint_fetcher.cc | 133 ++++++--
|
||||
.../endpoint_fetcher/endpoint_fetcher.cc | 132 ++++++--
|
||||
.../endpoint_fetcher/endpoint_fetcher.h | 24 ++
|
||||
components/manta/base_provider.cc | 1 +
|
||||
.../Bromite-auto-updater.inc | 3 +
|
||||
.../Bromite-auto-updater.inc | 1 +
|
||||
33 files changed, 1240 insertions(+), 95 deletions(-)
|
||||
33 files changed, 1239 insertions(+), 95 deletions(-)
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/CromiteUpdateStatusProvider.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
|
||||
create mode 100644 chrome/browser/endpoint_fetcher/BUILD.gn
|
||||
@@ -70,7 +70,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
|
||||
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
|
||||
--- a/build/config/android/rules.gni
|
||||
+++ b/build/config/android/rules.gni
|
||||
@@ -1938,6 +1938,9 @@ if (!is_robolectric && enable_java_templates) {
|
||||
@@ -1936,6 +1936,9 @@ if (!is_robolectric && enable_java_templates) {
|
||||
sources = [ "//build/android/java/templates/BuildConfig.template" ]
|
||||
defines = []
|
||||
|
||||
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/res/xml/about_chrome_preferences.xml b/chrome/a
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutChromeSettings.java
|
||||
@@ -25,12 +25,18 @@ import org.chromium.ui.widget.Toast;
|
||||
@@ -29,13 +29,19 @@ import org.chromium.ui.widget.Toast;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
@@ -119,6 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/
|
||||
+import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
|
||||
+
|
||||
/** Settings fragment that displays information about Chrome. */
|
||||
@NullMarked
|
||||
public class AboutChromeSettings extends PreferenceFragmentCompat
|
||||
- implements EmbeddableSettingsPage, Preference.OnPreferenceClickListener {
|
||||
+ implements EmbeddableSettingsPage, Preference.OnPreferenceClickListener,
|
||||
@@ -130,8 +131,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/
|
||||
private static final String PREF_OS_VERSION = "os_version";
|
||||
private static final String PREF_LEGAL_INFORMATION = "legal_information";
|
||||
|
||||
@@ -64,6 +70,13 @@ public class AboutChromeSettings extends PreferenceFragmentCompat
|
||||
p = findPreference(PREF_LEGAL_INFORMATION);
|
||||
@@ -72,6 +78,13 @@ public class AboutChromeSettings extends PreferenceFragmentCompat
|
||||
assumeNonNull(p);
|
||||
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
|
||||
p.setSummary(getString(R.string.legal_information_summary, currentYear));
|
||||
+
|
||||
@@ -144,7 +145,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -134,6 +147,19 @@ public class AboutChromeSettings extends PreferenceFragmentCompat
|
||||
@@ -142,6 +155,19 @@ public class AboutChromeSettings extends PreferenceFragmentCompat
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -676,7 +677,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -2580,6 +2580,12 @@ static_library("browser") {
|
||||
@@ -2620,6 +2620,12 @@ static_library("browser") {
|
||||
}
|
||||
|
||||
if (is_android) {
|
||||
@@ -1089,25 +1090,25 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -324,6 +324,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -335,6 +335,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kProtectedTabsAndroid,
|
||||
&kPwaRestoreUi,
|
||||
&kPwaRestoreUiAtStartup,
|
||||
+ &kInlineUpdateFlow,
|
||||
&kOmahaMinSdkVersionAndroid,
|
||||
&kShortCircuitUnfocusAnimation,
|
||||
&kShowNewTabAnimations,
|
||||
&kShowHomeButtonPolicyAndroid,
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -401,6 +401,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final String HISTORY_PANE_ANDROID = "HistoryPaneAndroid";
|
||||
@@ -416,6 +416,7 @@ public abstract class ChromeFeatureList {
|
||||
"HomepageIsNewTabPagePolicyAndroid";
|
||||
public static final String HTTPS_FIRST_BALANCED_MODE = "HttpsFirstBalancedMode";
|
||||
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
|
||||
+ public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow";
|
||||
public static final String INSTANCE_SWITCHER_V2 = "InstanceSwitcherV2";
|
||||
public static final String IP_PROTECTION_UX = "IpProtectionUx";
|
||||
public static final String KEYBOARD_ESC_BACK_NAVIGAION = "KeyboardEscBackNavigation";
|
||||
public static final String LEGACY_TAB_STATE_DEPRECATION = "LegacyTabStateDeprecation";
|
||||
public static final String KEYBOARD_ESC_BACK_NAVIGATION = "KeyboardEscBackNavigation";
|
||||
diff --git a/chrome/browser/omaha/android/BUILD.gn b/chrome/browser/omaha/android/BUILD.gn
|
||||
--- a/chrome/browser/omaha/android/BUILD.gn
|
||||
+++ b/chrome/browser/omaha/android/BUILD.gn
|
||||
@@ -1656,7 +1657,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
|
||||
--- a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
|
||||
+++ b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
|
||||
@@ -82,9 +82,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver,
|
||||
@@ -84,9 +84,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver,
|
||||
mLocalPasswordsFetchService =
|
||||
new SafetyHubPasswordsFetchService(passwordManagerHelper, prefService, null);
|
||||
|
||||
@@ -1666,7 +1667,7 @@ diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/brow
|
||||
recordMetricForUnusedSitePermissionsSettingState();
|
||||
}
|
||||
|
||||
@@ -113,8 +110,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver,
|
||||
@@ -115,8 +112,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver,
|
||||
if (mSigninManager != null) {
|
||||
mSigninManager.removeSignInStateObserver(this);
|
||||
}
|
||||
@@ -1678,7 +1679,7 @@ diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -2410,6 +2410,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -2420,6 +2420,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
|
||||
Chrome updates are no longer supported for this version of Android
|
||||
</message>
|
||||
@@ -1691,7 +1692,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
|
||||
<!-- Account management UI strings. -->
|
||||
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
|
||||
@@ -4361,7 +4367,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -4383,7 +4389,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
|
||||
<!-- Main menu items -->
|
||||
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
|
||||
@@ -1703,7 +1704,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
|
||||
Newer version is available
|
||||
@@ -4372,6 +4381,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
@@ -4394,6 +4403,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
|
||||
<message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]">
|
||||
Android version is unsupported
|
||||
</message>
|
||||
@@ -1725,8 +1726,8 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/lens/lens_overlay_query_controller.cc b/chrome/browser/ui/lens/lens_overlay_query_controller.cc
|
||||
--- a/chrome/browser/ui/lens/lens_overlay_query_controller.cc
|
||||
+++ b/chrome/browser/ui/lens/lens_overlay_query_controller.cc
|
||||
@@ -924,6 +924,7 @@ LensOverlayQueryController::CreateEndpointFetcher(
|
||||
/*post_data=*/request_string,
|
||||
@@ -923,6 +923,7 @@ LensOverlayQueryController::CreateEndpointFetcher(
|
||||
/*post_data=*/std::move(request_string),
|
||||
/*headers=*/request_headers,
|
||||
/*cors_exempt_headers=*/cors_exempt_headers, chrome::GetChannel(),
|
||||
+ kTrafficAnnotationTag,
|
||||
@@ -1745,10 +1746,10 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
+#include "net/http/http_status_code.h"
|
||||
+#include "services/network/public/cpp/resource_request.h"
|
||||
+
|
||||
namespace endpoint_fetcher {
|
||||
|
||||
namespace {
|
||||
const char kContentTypeKey[] = "Content-Type";
|
||||
const char kDeveloperKey[] = "X-Developer-Key";
|
||||
@@ -35,6 +40,8 @@ std::string GetHttpMethodString(const HttpMethod& http_method) {
|
||||
@@ -37,6 +42,8 @@ std::string GetHttpMethodString(const HttpMethod& http_method) {
|
||||
return "POST";
|
||||
case HttpMethod::kDelete:
|
||||
return "DELETE";
|
||||
@@ -1757,7 +1758,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
default:
|
||||
DCHECK(0) << base::StringPrintf("Unknown HttpMethod %d\n",
|
||||
static_cast<int>(http_method));
|
||||
@@ -49,6 +56,8 @@ HttpMethod GetHttpMethod(const std::string& http_method_string) {
|
||||
@@ -51,6 +58,8 @@ HttpMethod GetHttpMethod(const std::string& http_method_string) {
|
||||
return HttpMethod::kPost;
|
||||
} else if (http_method_string == "DELETE") {
|
||||
return HttpMethod::kDelete;
|
||||
@@ -1766,7 +1767,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
}
|
||||
return HttpMethod::kUndefined;
|
||||
}
|
||||
@@ -115,9 +124,11 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -117,9 +126,11 @@ EndpointFetcher::EndpointFetcher(
|
||||
const std::vector<std::string>& headers,
|
||||
const std::vector<std::string>& cors_exempt_headers,
|
||||
version_info::Channel channel,
|
||||
@@ -1778,7 +1779,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
consent_level_(std::nullopt),
|
||||
sanitize_response_(true),
|
||||
channel_(channel),
|
||||
@@ -137,6 +148,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -139,6 +150,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
const net::NetworkTrafficAnnotationTag& annotation_tag)
|
||||
: url_loader_factory_(url_loader_factory),
|
||||
identity_manager_(nullptr),
|
||||
@@ -1786,7 +1787,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
consent_level_(std::nullopt),
|
||||
sanitize_response_(false),
|
||||
request_params_(EndpointFetcher::RequestParams::Builder(HttpMethod::kGet,
|
||||
@@ -161,6 +173,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -163,6 +175,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
: oauth_consumer_name_(oauth_consumer_name),
|
||||
url_loader_factory_(url_loader_factory),
|
||||
identity_manager_(identity_manager),
|
||||
@@ -1794,15 +1795,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
consent_level_(consent_level),
|
||||
sanitize_response_(true),
|
||||
request_params_(
|
||||
@@ -190,6 +203,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
bool is_oauth_fetch)
|
||||
: url_loader_factory_(url_loader_factory),
|
||||
identity_manager_(nullptr),
|
||||
+ intercept_redirect_(false),
|
||||
consent_level_(std::nullopt),
|
||||
sanitize_response_(true),
|
||||
request_params_(
|
||||
@@ -207,6 +221,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -182,6 +195,7 @@ EndpointFetcher::EndpointFetcher(
|
||||
EndpointFetcher::EndpointFetcher(
|
||||
const net::NetworkTrafficAnnotationTag& annotation_tag)
|
||||
: identity_manager_(nullptr),
|
||||
@@ -1810,7 +1803,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
consent_level_(std::nullopt),
|
||||
sanitize_response_(true),
|
||||
request_params_(
|
||||
@@ -215,6 +230,27 @@ EndpointFetcher::EndpointFetcher(
|
||||
@@ -190,6 +204,27 @@ EndpointFetcher::EndpointFetcher(
|
||||
.SetTimeout(kDefaultTimeOut)
|
||||
.Build()) {}
|
||||
|
||||
@@ -1838,7 +1831,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
EndpointFetcher::~EndpointFetcher() = default;
|
||||
|
||||
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
|
||||
@@ -272,12 +308,9 @@ void EndpointFetcher::PerformRequest(
|
||||
@@ -247,12 +282,9 @@ void EndpointFetcher::PerformRequest(
|
||||
auto resource_request = std::make_unique<network::ResourceRequest>();
|
||||
resource_request->method = GetHttpMethodString(request_params_.http_method());
|
||||
resource_request->url = request_params_.url();
|
||||
@@ -1854,7 +1847,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
if (request_params_.http_method() == HttpMethod::kPost) {
|
||||
resource_request->headers.SetHeader(kContentTypeKey,
|
||||
request_params_.content_type());
|
||||
@@ -305,10 +338,26 @@ void EndpointFetcher::PerformRequest(
|
||||
@@ -280,10 +312,26 @@ void EndpointFetcher::PerformRequest(
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1881,7 +1874,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
|
||||
if (request_params_.http_method() == HttpMethod::kPost) {
|
||||
simple_url_loader_->AttachStringForUpload(
|
||||
@@ -320,15 +369,25 @@ void EndpointFetcher::PerformRequest(
|
||||
@@ -295,15 +343,25 @@ void EndpointFetcher::PerformRequest(
|
||||
}
|
||||
simple_url_loader_->SetRetryOptions(GetMaxRetries(),
|
||||
network::SimpleURLLoader::RETRY_ON_5XX);
|
||||
@@ -1913,7 +1906,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
}
|
||||
|
||||
void EndpointFetcher::OnResponseFetched(
|
||||
@@ -406,21 +465,6 @@ void EndpointFetcher::OnSanitizationResult(
|
||||
@@ -381,21 +439,6 @@ void EndpointFetcher::OnSanitizationResult(
|
||||
std::move(endpoint_fetcher_callback).Run(std::move(response));
|
||||
}
|
||||
|
||||
@@ -1935,11 +1928,10 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
int EndpointFetcher::GetMaxRetries() const {
|
||||
if (!request_params_.max_retries.has_value()) {
|
||||
return kNumRetries;
|
||||
@@ -445,3 +489,38 @@ UploadProgressCallback EndpointFetcher::GetUploadProgressCallback() const {
|
||||
std::string EndpointFetcher::GetUrlForTesting() {
|
||||
@@ -421,4 +464,39 @@ std::string EndpointFetcher::GetUrlForTesting() {
|
||||
return request_params_.url().spec();
|
||||
}
|
||||
+
|
||||
|
||||
+void EndpointFetcher::OnSimpleLoaderRedirect(
|
||||
+ const GURL& url_before_redirect,
|
||||
+ const net::RedirectInfo& redirect_info,
|
||||
@@ -1974,10 +1966,12 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
|
||||
+ response_->response = net_error;
|
||||
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
|
||||
+}
|
||||
+
|
||||
} // namespace endpoint_fetcher
|
||||
diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoint_fetcher/endpoint_fetcher.h
|
||||
--- a/components/endpoint_fetcher/endpoint_fetcher.h
|
||||
+++ b/components/endpoint_fetcher/endpoint_fetcher.h
|
||||
@@ -32,6 +32,8 @@ class EndpointFetcherTest;
|
||||
@@ -21,6 +21,8 @@
|
||||
namespace base {
|
||||
class TimeDelta;
|
||||
} // namespace base
|
||||
@@ -1986,7 +1980,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
|
||||
namespace network {
|
||||
struct ResourceRequest;
|
||||
@@ -61,6 +63,7 @@ enum class HttpMethod {
|
||||
@@ -59,6 +61,7 @@ enum class HttpMethod {
|
||||
kGet = 0,
|
||||
kPost = 1,
|
||||
kDelete = 2,
|
||||
@@ -1994,7 +1988,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
};
|
||||
|
||||
enum AuthType {
|
||||
@@ -76,6 +79,8 @@ enum AuthType {
|
||||
@@ -74,6 +77,8 @@ enum AuthType {
|
||||
|
||||
struct EndpointResponse {
|
||||
std::string response;
|
||||
@@ -2003,7 +1997,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
int http_status_code{-1};
|
||||
std::optional<FetchErrorType> error_type;
|
||||
};
|
||||
@@ -296,6 +301,7 @@ class EndpointFetcher {
|
||||
@@ -294,6 +299,7 @@ class EndpointFetcher {
|
||||
const std::vector<std::string>& headers,
|
||||
const std::vector<std::string>& cors_exempt_headers,
|
||||
version_info::Channel channel,
|
||||
@@ -2011,7 +2005,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
const RequestParams request_params);
|
||||
|
||||
// Constructor if no authentication is needed.
|
||||
@@ -304,6 +310,14 @@ class EndpointFetcher {
|
||||
@@ -302,6 +308,14 @@ class EndpointFetcher {
|
||||
const GURL& url,
|
||||
const net::NetworkTrafficAnnotationTag& annotation_tag);
|
||||
|
||||
@@ -2026,7 +2020,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
// Used for tests. Can be used if caller constructs their own
|
||||
// url_loader_factory and identity_manager.
|
||||
EndpointFetcher(
|
||||
@@ -360,6 +374,11 @@ class EndpointFetcher {
|
||||
@@ -344,6 +358,11 @@ class EndpointFetcher {
|
||||
void OnSanitizationResult(std::unique_ptr<EndpointResponse> response,
|
||||
EndpointFetcherCallback endpoint_fetcher_callback,
|
||||
data_decoder::JsonSanitizer::Result result);
|
||||
@@ -2038,7 +2032,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
|
||||
network::mojom::CredentialsMode GetCredentialsMode() const;
|
||||
int GetMaxRetries() const;
|
||||
@@ -370,12 +389,14 @@ class EndpointFetcher {
|
||||
@@ -354,12 +373,14 @@ class EndpointFetcher {
|
||||
// network::SimpleURLLoader.
|
||||
const std::string oauth_consumer_name_;
|
||||
signin::ScopeSet oauth_scopes_;
|
||||
@@ -2053,7 +2047,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
// `consent_level_` is used together with `identity_manager_`, so it can be
|
||||
// null if `identity_manager_` is null.
|
||||
const std::optional<signin::ConsentLevel> consent_level_;
|
||||
@@ -388,6 +409,9 @@ class EndpointFetcher {
|
||||
@@ -372,6 +393,9 @@ class EndpointFetcher {
|
||||
access_token_fetcher_;
|
||||
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
|
||||
|
||||
@@ -2066,7 +2060,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
|
||||
diff --git a/components/manta/base_provider.cc b/components/manta/base_provider.cc
|
||||
--- a/components/manta/base_provider.cc
|
||||
+++ b/components/manta/base_provider.cc
|
||||
@@ -160,6 +160,7 @@ std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcherForDemoMode(
|
||||
@@ -163,6 +163,7 @@ std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcherForDemoMode(
|
||||
/*cors_exempt_headers=*/std::vector<std::string>(),
|
||||
// ChromeOS always uses the stable channel API key
|
||||
version_info::Channel::STABLE,
|
||||
|
||||
@@ -44,7 +44,7 @@ Require: bromite-build-utils.patch
|
||||
.../BromiteCustomContentSettingImpl.java | 412 ++++++++++++++++++
|
||||
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
|
||||
.../ContentSettingsResources.java | 37 +-
|
||||
.../site_settings/SingleCategorySettings.java | 54 ++-
|
||||
.../site_settings/SingleCategorySettings.java | 60 ++-
|
||||
.../site_settings/SingleWebsiteSettings.java | 58 ++-
|
||||
.../site_settings/SiteSettings.java | 33 +-
|
||||
.../site_settings/SiteSettingsCategory.java | 18 +-
|
||||
@@ -72,7 +72,7 @@ Require: bromite-build-utils.patch
|
||||
.../core/common/content_settings.mojom | 6 +
|
||||
.../common/content_settings_mojom_traits.cc | 12 +-
|
||||
.../common/content_settings_mojom_traits.h | 24 +
|
||||
.../core/common/content_settings_types.mojom | 2 +
|
||||
.../core/common/content_settings_types.mojom | 1 +
|
||||
.../renderer/content_settings_agent_impl.cc | 74 ++++
|
||||
.../renderer/content_settings_agent_impl.h | 9 +
|
||||
.../PageInfoPermissionsController.java | 9 +
|
||||
@@ -84,7 +84,7 @@ Require: bromite-build-utils.patch
|
||||
.../platform/web_content_settings_client.h | 13 +
|
||||
.../execution_context/execution_context.cc | 16 +
|
||||
.../execution_context/execution_context.h | 5 +
|
||||
73 files changed, 1963 insertions(+), 102 deletions(-)
|
||||
73 files changed, 1963 insertions(+), 107 deletions(-)
|
||||
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -389,6 +393,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
@@ -370,6 +374,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
|
||||
return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin);
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1595,4 +1595,5 @@
|
||||
@@ -1345,4 +1345,5 @@
|
||||
</settings-subpage>
|
||||
</template>
|
||||
</template>
|
||||
@@ -160,7 +160,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
|
||||
@@ -52,6 +52,7 @@ import {SiteSettingsPrefsBrowserProxyImpl} from '../site_settings/site_settings_
|
||||
@@ -54,6 +54,7 @@ import {SiteSettingsPrefsBrowserProxyImpl} from '../site_settings/site_settings_
|
||||
|
||||
import {PrivacyGuideAvailabilityMixin} from './privacy_guide/privacy_guide_availability_mixin.js';
|
||||
import {getTemplate} from './privacy_page.html.js';
|
||||
@@ -168,7 +168,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
|
||||
|
||||
interface BlockAutoplayStatus {
|
||||
enabled: boolean;
|
||||
@@ -75,8 +76,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
@@ -77,8 +78,82 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
|
||||
return 'settings-privacy-page';
|
||||
}
|
||||
|
||||
@@ -263,7 +263,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
|
||||
|
||||
/**
|
||||
* Add all of the child routes that originate from the privacy route,
|
||||
@@ -172,6 +173,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
@@ -164,6 +165,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_LOCAL_NETWORK_ACCESS =
|
||||
r.SITE_SETTINGS.createChild('localNetworkAccess');
|
||||
}
|
||||
@@ -710,7 +710,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -1817,6 +1817,7 @@ static_library("ui") {
|
||||
@@ -1757,6 +1757,7 @@ static_library("ui") {
|
||||
"//components/commerce/core/mojom:mojo_bindings",
|
||||
"//components/commerce/core/webui",
|
||||
"//components/endpoint_fetcher:endpoint_fetcher",
|
||||
@@ -718,10 +718,10 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
"//components/enterprise/common:files_scan_data",
|
||||
"//components/feedback/proto",
|
||||
"//components/headless/policy",
|
||||
@@ -5055,6 +5056,7 @@ static_library("ui") {
|
||||
@@ -5013,6 +5014,7 @@ static_library("ui") {
|
||||
"//components/power_bookmarks/core:core",
|
||||
"//components/power_bookmarks/storage",
|
||||
"//components/prefs",
|
||||
"//components/reading_list/features:flags",
|
||||
+ "//components/strings:components_strings_grit",
|
||||
"//components/services/app_service",
|
||||
"//components/soda",
|
||||
@@ -746,15 +746,15 @@ diff --git a/chrome/browser/ui/views/controls/rich_controls_container_view.h b/c
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
@@ -56,6 +56,7 @@
|
||||
#include "ui/views/controls/separator.h"
|
||||
@@ -59,6 +59,7 @@
|
||||
#include "ui/views/layout/box_layout.h"
|
||||
#include "ui/views/layout/flex_layout.h"
|
||||
#include "ui/views/vector_icons.h"
|
||||
+#include "ui/views/layout/table_layout.h"
|
||||
#include "ui/views/view_class_properties.h"
|
||||
|
||||
#if BUILDFLAG(FULL_SAFE_BROWSING)
|
||||
@@ -258,8 +259,20 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -284,8 +285,20 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
scroll_view->SetDrawOverflowIndicator(false);
|
||||
auto* content_view =
|
||||
scroll_view->SetContents(std::make_unique<views::View>());
|
||||
@@ -777,7 +777,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
content_view->SetID(PageInfoViewFactory::VIEW_ID_PAGE_INFO_PERMISSION_VIEW);
|
||||
content_view->SetProperty(views::kElementIdentifierKey,
|
||||
kPermissionsElementId);
|
||||
@@ -274,11 +287,16 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -300,11 +313,16 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -794,7 +794,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
toggle_row->SetProperty(views::kCrossAxisAlignmentKey,
|
||||
views::LayoutAlignment::kStretch);
|
||||
syncable_permission_rows_.emplace(permission.type, toggle_row);
|
||||
@@ -286,6 +304,8 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -312,6 +330,8 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
}
|
||||
|
||||
for (auto& object : chosen_object_info_list) {
|
||||
@@ -803,7 +803,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
// The view takes ownership of the object info.
|
||||
auto object_view = std::make_unique<ChosenObjectView>(
|
||||
std::move(object),
|
||||
@@ -296,6 +316,10 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
@@ -322,6 +342,10 @@ void PageInfoMainView::SetPermissionInfo(
|
||||
content_view->AddChildView(std::move(object_view)));
|
||||
}
|
||||
|
||||
@@ -817,16 +817,16 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -27,6 +27,8 @@
|
||||
#include "chrome/browser/ui/views/page_info/page_info_permission_content_view.h"
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "chrome/browser/ui/views/page_info/page_info_security_content_view.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
#include "components/content_settings/core/common/cookie_controls_state.h"
|
||||
+#include "components/content_settings/core/browser/website_settings_info.h"
|
||||
+#include "components/content_settings/core/browser/website_settings_registry.h"
|
||||
#include "components/page_info/core/features.h"
|
||||
#include "components/page_info/core/proto/about_this_site_metadata.pb.h"
|
||||
#include "components/page_info/page_info.h"
|
||||
@@ -279,7 +281,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
@@ -292,7 +294,14 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
ContentSetting setting = info.setting == CONTENT_SETTING_DEFAULT
|
||||
? info.default_setting
|
||||
: info.setting;
|
||||
@@ -841,7 +841,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
// For guard content settings and Automatic Picture-in-Picture, ASK is treated
|
||||
// as an "on" state.
|
||||
const bool show_blocked_badge =
|
||||
@@ -580,6 +589,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
@@ -593,6 +602,17 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
icon = &vector_icons::kPrinterIcon;
|
||||
break;
|
||||
default:
|
||||
@@ -862,7 +862,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrom
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.h b/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.h
|
||||
@@ -97,6 +97,11 @@ class PageInfoViewFactory {
|
||||
@@ -100,6 +100,11 @@ class PageInfoViewFactory {
|
||||
const PageInfo::PermissionInfo& info,
|
||||
bool blocked_on_system_level = false);
|
||||
|
||||
@@ -1187,7 +1187,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
#include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
|
||||
#include "components/password_manager/core/browser/manage_passwords_referrer.h"
|
||||
#include "components/password_manager/core/common/password_manager_features.h"
|
||||
@@ -3841,6 +3845,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
@@ -3811,6 +3815,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
policy_indicator::AddLocalizedStrings(html_source);
|
||||
AddSecurityKeysStrings(html_source);
|
||||
|
||||
@@ -1256,8 +1256,8 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
#include "components/content_settings/core/common/content_settings.h"
|
||||
#include "components/content_settings/core/common/content_settings_pattern.h"
|
||||
#include "components/content_settings/core/common/content_settings_types.h"
|
||||
@@ -258,13 +260,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array<
|
||||
{ContentSettingsType::REVOKED_DISRUPTIVE_NOTIFICATION_PERMISSIONS, nullptr},
|
||||
@@ -261,13 +263,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array<
|
||||
{ContentSettingsType::SUSPICIOUS_NOTIFICATION_IDS, nullptr},
|
||||
});
|
||||
|
||||
-static_assert(
|
||||
@@ -1277,7 +1277,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
|
||||
struct SiteSettingSourceStringMapping {
|
||||
SiteSettingSource source;
|
||||
@@ -526,6 +528,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
|
||||
@@ -529,6 +531,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1291,7 +1291,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -539,11 +548,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) {
|
||||
@@ -542,11 +551,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) {
|
||||
return entry.type;
|
||||
}
|
||||
}
|
||||
@@ -1317,7 +1317,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
for (const auto& entry : kContentSettingsTypeGroupNames) {
|
||||
if (type == entry.type) {
|
||||
// Content setting types that aren't represented in the settings UI
|
||||
@@ -558,7 +580,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) {
|
||||
@@ -561,7 +583,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) {
|
||||
return entry.name ? entry.name : std::string_view();
|
||||
}
|
||||
}
|
||||
@@ -1325,7 +1325,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
NOTREACHED() << static_cast<int32_t>(type)
|
||||
<< " is not a recognized content settings type.";
|
||||
}
|
||||
@@ -670,6 +691,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
|
||||
@@ -673,6 +694,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
|
||||
base_types->push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
|
||||
}
|
||||
|
||||
@@ -1450,7 +1450,7 @@ new file mode 100644
|
||||
diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java
|
||||
--- a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java
|
||||
+++ b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java
|
||||
@@ -29,6 +29,7 @@ public class SpinnerPreference extends Preference {
|
||||
@@ -29,6 +29,7 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
|
||||
private @Nullable ArrayAdapter<Object> mAdapter;
|
||||
private int mSelectedIndex;
|
||||
private final boolean mSingleLine;
|
||||
@@ -1458,8 +1458,8 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
|
||||
|
||||
/** Constructor for inflating from XML. */
|
||||
public SpinnerPreference(Context context, AttributeSet attrs) {
|
||||
@@ -43,6 +44,19 @@ public class SpinnerPreference extends Preference {
|
||||
}
|
||||
@@ -44,6 +45,19 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
|
||||
setOnPreferenceClickListener(this);
|
||||
}
|
||||
|
||||
+ public SpinnerPreference(Context context, boolean singleLine) {
|
||||
@@ -1478,7 +1478,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
|
||||
/**
|
||||
* Provides a list of arbitrary objects to be shown in the spinner. Visually, each option will
|
||||
* be presented as its toString() text. Alternative to {@link #setAdapter(ArrayAdapter, int)}.
|
||||
@@ -62,6 +76,12 @@ public class SpinnerPreference extends Preference {
|
||||
@@ -63,6 +77,12 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
|
||||
mSelectedIndex = selectedIndex;
|
||||
}
|
||||
|
||||
@@ -1491,7 +1491,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
|
||||
/** Returns the Spinner instance for introspection during tests. */
|
||||
public @Nullable Spinner getSpinnerForTesting() {
|
||||
return mSpinner;
|
||||
@@ -94,6 +114,10 @@ public class SpinnerPreference extends Preference {
|
||||
@@ -95,6 +115,10 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
|
||||
public void onBindViewHolder(PreferenceViewHolder holder) {
|
||||
super.onBindViewHolder(holder);
|
||||
|
||||
@@ -2222,7 +2222,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
int icon,
|
||||
int title,
|
||||
@ContentSettingValues @Nullable Integer defaultEnabledValue,
|
||||
@@ -629,6 +650,8 @@ public class ContentSettingsResources {
|
||||
@@ -624,6 +645,8 @@ public class ContentSettingsResources {
|
||||
R.string.website_settings_vr_ask,
|
||||
R.string.website_settings_vr_block);
|
||||
}
|
||||
@@ -2231,7 +2231,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
assert false; // NOTREACHED
|
||||
return assumeNonNull(null);
|
||||
}
|
||||
@@ -787,6 +810,14 @@ public class ContentSettingsResources {
|
||||
@@ -782,6 +805,14 @@ public class ContentSettingsResources {
|
||||
return getResourceItem(contentType).getDefaultDisabledValue();
|
||||
}
|
||||
|
||||
@@ -2246,7 +2246,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
/**
|
||||
* Returns the string resource id for a given ContentSetting to show with a permission category.
|
||||
*
|
||||
@@ -961,6 +992,8 @@ public class ContentSettingsResources {
|
||||
@@ -956,6 +987,8 @@ public class ContentSettingsResources {
|
||||
*/
|
||||
public static int @Nullable [] getTriStateSettingDescriptionIDs(
|
||||
int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) {
|
||||
@@ -2308,7 +2308,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) {
|
||||
getSiteSettingsDelegate()
|
||||
.launchProtectedContentHelpAndFeedbackActivity(getActivity());
|
||||
@@ -659,6 +673,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -664,6 +678,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
BrowserContextHandle browserContextHandle =
|
||||
getSiteSettingsDelegate().getBrowserContextHandle();
|
||||
PrefService prefService = UserPrefs.get(browserContextHandle);
|
||||
@@ -2320,7 +2320,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (BINARY_RADIO_BUTTON_KEY.equals(preference.getKey())
|
||||
|| BINARY_TOGGLE_KEY.equals(preference.getKey())) {
|
||||
assert !mCategory.isManaged();
|
||||
@@ -837,7 +856,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -842,7 +861,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
? R.string.website_settings_add_site_description_javascript_optimizer_block
|
||||
: R.string.website_settings_add_site_description_javascript_optimizer_allow;
|
||||
}
|
||||
@@ -2329,7 +2329,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
// OnPreferenceClickListener:
|
||||
@@ -957,10 +976,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -962,21 +981,18 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -2339,12 +2339,24 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
+ Boolean allow = BromiteCustomContentSettingImpl.allowSpecifyingExceptions(mCategory);
|
||||
+ if (allow != null) allowSpecifyingExceptions = (boolean)allow;
|
||||
if (allowSpecifyingExceptions) {
|
||||
- boolean enableAddExceptionButton =
|
||||
- (!mCategory.isManaged()
|
||||
- || mCategory.getType()
|
||||
- == SiteSettingsCategory.Type.THIRD_PARTY_COOKIES);
|
||||
+ int exceptionDialogMessageResourceId = getAddExceptionDialogMessageResourceId();
|
||||
+ assert exceptionDialogMessageResourceId != 0;
|
||||
getPreferenceScreen()
|
||||
.addPreference(
|
||||
new AddExceptionPreference(
|
||||
@@ -1145,8 +1165,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
getStyledContext(),
|
||||
ADD_EXCEPTION_KEY,
|
||||
getString(exceptionDialogMessageResourceId),
|
||||
- enableAddExceptionButton,
|
||||
+ true,
|
||||
mCategory,
|
||||
this));
|
||||
}
|
||||
@@ -1155,8 +1171,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
private boolean isBlocked() {
|
||||
switch (mGlobalToggleLayout) {
|
||||
case GlobalToggleLayout.TRI_STATE_TOGGLE:
|
||||
@@ -2361,7 +2373,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
|
||||
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
|
||||
TriStateCookieSettingsPreference triStateCookieToggle =
|
||||
@@ -1293,7 +1321,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1303,7 +1327,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else if (res_id != -1) {
|
||||
infoText.setSummary(res_id);
|
||||
} else {
|
||||
@@ -2374,7 +2386,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
|
||||
// Hide the anti-abuse text preferences, as needed.
|
||||
@@ -1332,6 +1364,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1342,6 +1370,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
} else {
|
||||
screen.removePreference(mLocationTriStatePref);
|
||||
}
|
||||
@@ -2382,7 +2394,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
maybeShowReasonToggleDisabled(screen);
|
||||
|
||||
@@ -1544,6 +1577,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1554,6 +1583,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType);
|
||||
}
|
||||
triStateToggle.initialize(
|
||||
@@ -2390,7 +2402,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
setting,
|
||||
descriptionIds,
|
||||
iconIds,
|
||||
@@ -1703,6 +1737,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@@ -1713,6 +1743,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues
|
||||
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
|
||||
|
||||
@@ -2449,7 +2461,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
preference.setKey(getPreferenceKey(type));
|
||||
|
||||
if (type == ContentSettingsType.ADS) {
|
||||
@@ -1274,20 +1288,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1278,20 +1292,32 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@ContentSettingValues @Nullable Integer value,
|
||||
boolean isEmbargoed,
|
||||
boolean isOneTime) {
|
||||
@@ -2490,7 +2502,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
|
||||
.getDefaultColor());
|
||||
}
|
||||
@@ -1512,14 +1538,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
@@ -1516,14 +1542,20 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
|
||||
if (newValue instanceof Boolean) {
|
||||
permission = (Boolean) newValue ? getEnabledValue(type) : ContentSettingValues.BLOCK;
|
||||
} else {
|
||||
@@ -2653,7 +2665,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
|
||||
@@ -213,6 +213,8 @@ public interface SiteSettingsDelegate {
|
||||
@@ -198,6 +198,8 @@ public interface SiteSettingsDelegate {
|
||||
*/
|
||||
String getRelatedWebsiteSetOwner(String memberOrigin);
|
||||
|
||||
@@ -2712,7 +2724,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
@@ -336,7 +336,11 @@ public final class Website implements WebsiteEntry {
|
||||
@@ -337,7 +337,11 @@ public final class Website implements WebsiteEntry {
|
||||
RecordUserAction.record("SoundContentSetting.UnmuteBy.SiteSettings");
|
||||
}
|
||||
}
|
||||
@@ -2836,7 +2848,7 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s
|
||||
diff --git a/components/content_settings/core/browser/BUILD.gn b/components/content_settings/core/browser/BUILD.gn
|
||||
--- a/components/content_settings/core/browser/BUILD.gn
|
||||
+++ b/components/content_settings/core/browser/BUILD.gn
|
||||
@@ -86,6 +86,13 @@ static_library("browser") {
|
||||
@@ -77,6 +77,13 @@ static_library("browser") {
|
||||
}
|
||||
|
||||
configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
||||
@@ -2867,7 +2879,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
|
||||
namespace content_settings {
|
||||
|
||||
@@ -873,6 +874,7 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -864,6 +865,7 @@ void ContentSettingsRegistry::Init() {
|
||||
WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
@@ -2878,7 +2890,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_uma_util.cc
|
||||
@@ -218,11 +218,7 @@ void RecordContentSettingsHistogram(const std::string& name,
|
||||
@@ -222,11 +222,7 @@ void RecordContentSettingsHistogram(const std::string& name,
|
||||
}
|
||||
|
||||
int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) {
|
||||
@@ -3005,7 +3017,7 @@ diff --git a/components/content_settings/core/browser/website_settings_registry.
|
||||
diff --git a/components/content_settings/core/common/BUILD.gn b/components/content_settings/core/common/BUILD.gn
|
||||
--- a/components/content_settings/core/common/BUILD.gn
|
||||
+++ b/components/content_settings/core/common/BUILD.gn
|
||||
@@ -56,6 +56,13 @@ static_library("common") {
|
||||
@@ -57,6 +57,13 @@ static_library("common") {
|
||||
"//net",
|
||||
"//url",
|
||||
]
|
||||
@@ -3019,7 +3031,7 @@ diff --git a/components/content_settings/core/common/BUILD.gn b/components/conte
|
||||
}
|
||||
|
||||
source_set("unit_tests") {
|
||||
@@ -90,6 +97,7 @@ mojom("content_settings_types") {
|
||||
@@ -91,6 +98,7 @@ mojom("content_settings_types") {
|
||||
sources = [ "content_settings_types.mojom" ]
|
||||
|
||||
public_deps = [ "//mojo/public/mojom/base" ]
|
||||
@@ -3213,11 +3225,10 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom
|
||||
--- a/components/content_settings/core/common/content_settings_types.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings_types.mojom
|
||||
@@ -483,5 +483,7 @@ enum ContentSettingsType {
|
||||
// Content setting for whether the site is allowed to make local network
|
||||
// requests.
|
||||
LOCAL_NETWORK_ACCESS,
|
||||
+
|
||||
@@ -491,5 +491,6 @@ enum ContentSettingsType {
|
||||
// site. Used for recovering notification contents from the database if the
|
||||
// user decides they would like to see all of these notifications.
|
||||
SUSPICIOUS_NOTIFICATION_IDS,
|
||||
+#include "components/content_settings/core/common/bromite_content_settings.inc"
|
||||
};
|
||||
// LINT.ThenChange(//components/content_settings/core/browser/content_settings_uma_util.cc:kHistogramValue)
|
||||
@@ -3308,7 +3319,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
--- a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
+++ b/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
@@ -77,6 +77,13 @@ class ContentSettingsAgentImpl
|
||||
@@ -76,6 +76,13 @@ class ContentSettingsAgentImpl
|
||||
static mojom::ContentSettingsManager::StorageType ConvertToMojoStorageType(
|
||||
StorageType storage_type);
|
||||
|
||||
@@ -3322,7 +3333,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
// blink::WebContentSettingsClient:
|
||||
void AllowStorageAccess(StorageType storage_type,
|
||||
base::OnceCallback<void(bool)> callback) override;
|
||||
@@ -129,6 +136,8 @@ class ContentSettingsAgentImpl
|
||||
@@ -128,6 +135,8 @@ class ContentSettingsAgentImpl
|
||||
// Resets the `content_blocked_` array.
|
||||
void ClearBlockedContentSettings();
|
||||
|
||||
@@ -3421,7 +3432,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
|
||||
#include "components/content_settings/core/browser/content_settings_registry.h"
|
||||
#include "components/content_settings/core/browser/content_settings_uma_util.h"
|
||||
@@ -1281,6 +1282,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
@@ -1295,6 +1296,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
|
||||
// applies to permissions listed in |kPermissionType|.
|
||||
bool PageInfo::ShouldShowPermission(
|
||||
const PageInfo::PermissionInfo& info) const {
|
||||
@@ -3436,7 +3447,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
|
||||
// Note |ContentSettingsType::ADS| will show up regardless of its default
|
||||
// value when it has been activated on the current origin.
|
||||
if (info.type == ContentSettingsType::ADS) {
|
||||
@@ -1397,7 +1406,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
@@ -1411,7 +1420,19 @@ void PageInfo::PresentSitePermissions() {
|
||||
|
||||
HostContentSettingsMap* content_settings = GetContentSettings();
|
||||
DCHECK(web_contents_);
|
||||
@@ -3563,7 +3574,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
|
||||
@@ -69,6 +69,22 @@
|
||||
@@ -70,6 +70,22 @@
|
||||
|
||||
namespace blink {
|
||||
|
||||
|
||||
@@ -5,32 +5,28 @@ Subject: Disable Android Tab Declutter
|
||||
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
|
||||
---
|
||||
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 4 ++--
|
||||
.../chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc | 1 +
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
.../org/chromium/chrome/browser/tab/TabArchiveSettings.java | 3 ++-
|
||||
.../chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc | 1 +
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc
|
||||
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -1017,7 +1017,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final MutableFlagWithSafeDefault sAndroidNativePagesInNewTab =
|
||||
newMutableFlagWithSafeDefault(ANDROID_NATIVE_PAGES_IN_NEW_TAB, false);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutter =
|
||||
- newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER, true);
|
||||
+ newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER, false);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveAllButActiveTab =
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_ARCHIVE_ALL_BUT_ACTIVE, false);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveDuplicateTabs =
|
||||
@@ -1504,7 +1504,7 @@ public abstract class ChromeFeatureList {
|
||||
sAndroidNativePagesInNewTab.newBooleanParam(
|
||||
"android_native_pages_in_new_tab_downloads_enabled", true);
|
||||
public static final MutableBooleanParamWithSafeDefault sAndroidTabDeclutterArchiveEnabled =
|
||||
- sAndroidTabDeclutter.newBooleanParam("android_tab_declutter_archive_enabled", true);
|
||||
+ sAndroidTabDeclutter.newBooleanParam("android_tab_declutter_archive_enabled", false);
|
||||
public static final MutableIntParamWithSafeDefault sAndroidTabDeclutterArchiveTimeDeltaHours =
|
||||
sAndroidTabDeclutter.newIntParam(
|
||||
"android_tab_declutter_archive_time_delta_hours", 21 * 24);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabArchiveSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabArchiveSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabArchiveSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabArchiveSettings.java
|
||||
@@ -104,11 +104,12 @@ public class TabArchiveSettings {
|
||||
// are created, and tabs disappearing from tests is very unexpected. For archive tests,
|
||||
// this will need to be turned on manually.
|
||||
return mPrefsManager.readBoolean(
|
||||
- ChromePreferenceKeys.TAB_DECLUTTER_ARCHIVE_ENABLED, !BuildConfig.IS_FOR_TEST);
|
||||
+ ChromePreferenceKeys.TAB_DECLUTTER_ARCHIVE_ENABLED, false);
|
||||
}
|
||||
|
||||
/** Sets whether archive is enabled in settings. */
|
||||
public void setArchiveEnabled(boolean enabled) {
|
||||
+ enabled = false;
|
||||
mPrefsManager.writeBoolean(ChromePreferenceKeys.TAB_DECLUTTER_ARCHIVE_ENABLED, enabled);
|
||||
}
|
||||
|
||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Tab-Declutter.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -4,16 +4,27 @@ Subject: Disable GSA by default
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
.../src/org/chromium/base/PackageUtils.java | 1 +
|
||||
.../chrome/browser/IntentHandler.java | 6 ----
|
||||
.../provider/PageContentProviderImpl.java | 6 ----
|
||||
.../chrome/browser/share/LensUtils.java | 14 ++-------
|
||||
.../chromium/chrome/browser/gsa/GSAUtils.java | 29 ++++---------------
|
||||
.../GoogleBottomBarActionsHandler.java | 19 ++----------
|
||||
.../chrome/browser/pdf/PdfCoordinator.java | 4 +--
|
||||
.../chrome/browser/pdf/PdfCoordinator.java | 2 +-
|
||||
.../Disable-GSA-by-default.inc | 1 +
|
||||
7 files changed, 11 insertions(+), 68 deletions(-)
|
||||
7 files changed, 12 insertions(+), 60 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
|
||||
|
||||
diff --git a/base/android/java/src/org/chromium/base/PackageUtils.java b/base/android/java/src/org/chromium/base/PackageUtils.java
|
||||
--- a/base/android/java/src/org/chromium/base/PackageUtils.java
|
||||
+++ b/base/android/java/src/org/chromium/base/PackageUtils.java
|
||||
@@ -165,6 +165,7 @@ public class PackageUtils {
|
||||
* @return Package name of assistant app, or null if unable to get.
|
||||
*/
|
||||
public static @Nullable String getDefaultAssistantPackageName(Context context) {
|
||||
+ if ((true)) return null;
|
||||
@Nullable String defaultAssistantSetting =
|
||||
Settings.Secure.getString(context.getContentResolver(), DEFAULT_ASSISTANT_SETTING);
|
||||
if (defaultAssistantSetting == null || defaultAssistantSetting.isBlank()) {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
|
||||
@@ -25,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
|
||||
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.profiles.ProfileManager;
|
||||
@@ -276,9 +275,6 @@ public class IntentHandler {
|
||||
@@ -279,9 +278,6 @@ public class IntentHandler {
|
||||
|
||||
public static final String EXTRA_CCT_EARLY_NAV = "org.chromium.chrome.browser.cct_early_nav";
|
||||
|
||||
@@ -35,7 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
|
||||
private static Pair<Integer, String> sPendingReferrer;
|
||||
private static int sReferrerId;
|
||||
private static String sPendingIncognitoUrl;
|
||||
@@ -554,8 +550,6 @@ public class IntentHandler {
|
||||
@@ -557,8 +553,6 @@ public class IntentHandler {
|
||||
return ExternalAppId.LINE;
|
||||
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
|
||||
return ExternalAppId.WHATSAPP;
|
||||
@@ -44,29 +55,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
|
||||
} else if (packageName.equals(ContextUtils.getApplicationContext().getPackageName())) {
|
||||
return ExternalAppId.CHROME;
|
||||
} else if (packageName.startsWith(WEBAPK_PACKAGE_PREFIX)) {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/provider/PageContentProviderImpl.java
|
||||
@@ -57,8 +57,6 @@ public class PageContentProviderImpl extends SplitCompatContentProvider.Impl {
|
||||
|
||||
private static final int INVALIDATE_URI_DELAY_MS = 60_000;
|
||||
private static final int PAGE_EXTRACTION_TIMEOUT_MS = 30_000;
|
||||
- private static final String[] AUTHORIZED_PACKAGE_NAMES =
|
||||
- new String[] {GSAUtils.GSA_PACKAGE_NAME};
|
||||
|
||||
static final class PageContentInvocationState {
|
||||
|
||||
@@ -354,10 +352,6 @@ public class PageContentProviderImpl extends SplitCompatContentProvider.Impl {
|
||||
}
|
||||
|
||||
private static void grantAccessToUri(Uri uri) {
|
||||
- for (String packageName : AUTHORIZED_PACKAGE_NAMES) {
|
||||
- ContextUtils.getApplicationContext()
|
||||
- .grantUriPermission(packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||
- }
|
||||
}
|
||||
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
|
||||
@@ -232,7 +220,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
|
||||
diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
||||
--- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
|
||||
@@ -253,7 +253,7 @@ public class PdfCoordinator {
|
||||
@@ -265,7 +265,7 @@ public class PdfCoordinator {
|
||||
}
|
||||
|
||||
@Nullable String requestAssistContent(String filename, boolean isWorkProfile) {
|
||||
@@ -241,15 +229,6 @@ diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/
|
||||
return null;
|
||||
}
|
||||
String structuredData;
|
||||
@@ -271,8 +271,6 @@ public class PdfCoordinator {
|
||||
} catch (JSONException e) {
|
||||
return null;
|
||||
}
|
||||
- mActivity.grantUriPermission(
|
||||
- GSAUtils.GSA_PACKAGE_NAME, mUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
||||
PdfUtils.recordIsWorkProfile(isWorkProfile);
|
||||
return structuredData;
|
||||
}
|
||||
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -66,7 +66,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -763,8 +763,6 @@ static_library("browser") {
|
||||
@@ -775,8 +775,6 @@ static_library("browser") {
|
||||
"navigation_predictor/navigation_predictor_keyed_service_factory.h",
|
||||
"navigation_predictor/navigation_predictor_metrics_document_data.cc",
|
||||
"navigation_predictor/navigation_predictor_metrics_document_data.h",
|
||||
@@ -75,7 +75,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"navigation_predictor/preloading_model_keyed_service.cc",
|
||||
"navigation_predictor/preloading_model_keyed_service.h",
|
||||
"navigation_predictor/preloading_model_keyed_service_factory.cc",
|
||||
@@ -2312,7 +2310,7 @@ static_library("browser") {
|
||||
@@ -2343,7 +2341,7 @@ static_library("browser") {
|
||||
"//components/resources",
|
||||
"//components/safe_browsing/content/browser",
|
||||
"//components/safe_browsing/content/browser:safe_browsing_service",
|
||||
@@ -187,7 +187,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
|
||||
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
@@ -519,7 +519,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
|
||||
@@ -516,7 +516,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
|
||||
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
|
||||
const std::vector<optimization_guide::proto::OptimizationType>&
|
||||
optimization_types) {
|
||||
@@ -272,7 +272,7 @@ diff --git a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_sett
|
||||
diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc b/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc
|
||||
--- a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc
|
||||
+++ b/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_url_loader_interceptor.cc
|
||||
@@ -84,6 +84,7 @@ SearchPrefetchURLLoader::RequestHandler
|
||||
@@ -85,6 +85,7 @@ SearchPrefetchURLLoader::RequestHandler
|
||||
SearchPrefetchURLLoaderInterceptor::MaybeCreateLoaderForRequest(
|
||||
const network::ResourceRequest& tentative_resource_request,
|
||||
content::FrameTreeNodeId frame_tree_node_id) {
|
||||
@@ -283,7 +283,7 @@ diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_
|
||||
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
|
||||
@@ -1155,7 +1155,6 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
@@ -1177,7 +1177,6 @@ void ChromeBrowserMainExtraPartsProfiles::
|
||||
base::FeatureList::IsEnabled(
|
||||
permissions::features::kPermissionOnDeviceGeolocationPredictions) ||
|
||||
base::FeatureList::IsEnabled(permissions::features::kPermissionsAIv1)) {
|
||||
@@ -334,7 +334,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific
|
||||
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
--- a/chrome/browser/ui/tab_helpers.cc
|
||||
+++ b/chrome/browser/ui/tab_helpers.cc
|
||||
@@ -442,7 +442,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -444,7 +444,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
}
|
||||
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
|
||||
NavigationMetricsRecorder::CreateForWebContents(web_contents);
|
||||
@@ -371,7 +371,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -155,10 +159,13 @@ void ReadAloudAppModel::PreprocessTextForSpeech(
|
||||
@@ -153,10 +157,13 @@ void ReadAloudAppModel::PreprocessTextForSpeech(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -385,7 +385,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
|
||||
void ReadAloudAppModel::CalculatePhrases(
|
||||
a11y::ReadAloudCurrentGranularity& granularity) {
|
||||
if (!features::IsReadAnythingReadAloudPhraseHighlightingEnabled()) {
|
||||
@@ -215,19 +222,23 @@ void ReadAloudAppModel::CalculatePhrases(
|
||||
@@ -213,19 +220,23 @@ void ReadAloudAppModel::CalculatePhrases(
|
||||
base::BindOnce(&ReadAloudAppModel::UpdatePhraseBoundaries,
|
||||
weak_ptr_factory_.GetWeakPtr(), phrase_tokens));
|
||||
}
|
||||
@@ -411,7 +411,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
|
||||
// Reset the phrase calculation flag, so that the next phrase calculation can
|
||||
// be scheduled, if needed.
|
||||
is_calculating_phrases = false;
|
||||
@@ -289,6 +300,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector<std::string> tokens,
|
||||
@@ -287,6 +298,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector<std::string> tokens,
|
||||
current_phrase_calculation_index_ = -1;
|
||||
LOG(WARNING) << "All phrases calculated!";
|
||||
}
|
||||
@@ -433,7 +433,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
|
||||
#include "chrome/renderer/accessibility/read_anything/read_aloud_traversal_utils.h"
|
||||
#include "ui/accessibility/ax_node_position.h"
|
||||
|
||||
@@ -113,8 +116,10 @@ class ReadAloudAppModel {
|
||||
@@ -116,8 +119,10 @@ class ReadAloudAppModel {
|
||||
bool is_docs,
|
||||
const std::set<ui::AXNodeID>* current_nodes);
|
||||
|
||||
@@ -444,7 +444,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
|
||||
|
||||
// Increments the processed_granularity_index_, updating ReadAloud's state of
|
||||
// the current granularity to refer to the next granularity. The current
|
||||
@@ -271,9 +276,11 @@ class ReadAloudAppModel {
|
||||
@@ -274,9 +279,11 @@ class ReadAloudAppModel {
|
||||
// still needs to be read.
|
||||
bool NoValidTextRemainingInCurrentNode(bool is_pdf, bool is_docs) const;
|
||||
|
||||
@@ -456,7 +456,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
|
||||
|
||||
// Once the phrase segmentation has completed for a given sentence, update the
|
||||
// granularity with the phrase boundaries, and calculate phrases for the next
|
||||
@@ -335,7 +342,7 @@ class ReadAloudAppModel {
|
||||
@@ -344,7 +351,7 @@ class ReadAloudAppModel {
|
||||
|
||||
// Whether a phrase calculation for a sentence is currently underway. (We
|
||||
// do not initiate a second calculation before the first has completed.)
|
||||
@@ -478,7 +478,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
|
||||
#include "chrome/renderer/accessibility/read_anything/read_aloud_traversal_utils.h"
|
||||
#include "chrome/renderer/accessibility/read_anything/read_anything_app_model.h"
|
||||
#include "chrome/renderer/accessibility/read_anything/read_anything_node_utils.h"
|
||||
@@ -1562,6 +1564,7 @@ void ReadAnythingAppController::OnConnected() {
|
||||
@@ -1589,6 +1591,7 @@ void ReadAnythingAppController::OnConnected() {
|
||||
render_frame()->GetBrowserInterfaceBroker().GetInterface(
|
||||
std::move(page_handler_factory_receiver));
|
||||
|
||||
@@ -486,7 +486,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
|
||||
// Get the dependency parser model used by phrase-based highlighting.
|
||||
if (read_aloud_model_.GetDependencyParserModel().IsAvailable()) {
|
||||
return;
|
||||
@@ -1570,6 +1573,7 @@ void ReadAnythingAppController::OnConnected() {
|
||||
@@ -1597,6 +1600,7 @@ void ReadAnythingAppController::OnConnected() {
|
||||
page_handler_->GetDependencyParserModel(
|
||||
base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel,
|
||||
weak_ptr_factory_.GetWeakPtr()));
|
||||
@@ -494,7 +494,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
|
||||
}
|
||||
|
||||
void ReadAnythingAppController::OnCopy() const {
|
||||
@@ -1787,8 +1791,10 @@ std::vector<ui::AXNodeID> ReadAnythingAppController::GetCurrentText() {
|
||||
@@ -1828,8 +1832,10 @@ std::vector<ui::AXNodeID> ReadAnythingAppController::GetCurrentText() {
|
||||
}
|
||||
|
||||
void ReadAnythingAppController::PreprocessTextForSpeech() {
|
||||
@@ -505,7 +505,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
|
||||
}
|
||||
|
||||
void ReadAnythingAppController::MovePositionToNextGranularity() {
|
||||
@@ -1998,14 +2004,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
|
||||
@@ -2044,14 +2050,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
|
||||
|
||||
void ReadAnythingAppController::UpdateDependencyParserModel(
|
||||
base::File model_file) {
|
||||
@@ -537,7 +537,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
|
||||
class ReadAnythingAppControllerTest;
|
||||
class ReadAnythingAppControllerScreen2xDataCollectionModeTest;
|
||||
|
||||
@@ -284,7 +286,9 @@ class ReadAnythingAppController
|
||||
@@ -285,7 +287,9 @@ class ReadAnythingAppController
|
||||
// available.
|
||||
void UpdateDependencyParserModel(base::File model_file);
|
||||
|
||||
@@ -587,7 +587,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc
|
||||
diff --git a/components/BUILD.gn b/components/BUILD.gn
|
||||
--- a/components/BUILD.gn
|
||||
+++ b/components/BUILD.gn
|
||||
@@ -597,7 +597,7 @@ test("components_unittests") {
|
||||
@@ -600,7 +600,7 @@ test("components_unittests") {
|
||||
"//components/media_router/common/providers/cast/channel:unit_tests",
|
||||
"//components/page_info:unit_tests",
|
||||
"//components/permissions:unit_tests",
|
||||
@@ -628,7 +628,7 @@ diff --git a/components/autofill/core/browser/integrators/optimization_guide/aut
|
||||
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
|
||||
--- a/components/omnibox/browser/autocomplete_controller.cc
|
||||
+++ b/components/omnibox/browser/autocomplete_controller.cc
|
||||
@@ -50,7 +50,9 @@
|
||||
@@ -51,7 +51,9 @@
|
||||
#include "components/omnibox/browser/autocomplete_match.h"
|
||||
#include "components/omnibox/browser/autocomplete_match_type.h"
|
||||
#include "components/omnibox/browser/autocomplete_provider.h"
|
||||
@@ -638,7 +638,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
|
||||
#include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h"
|
||||
#include "components/omnibox/browser/bookmark_provider.h"
|
||||
#include "components/omnibox/browser/bookmark_scoring_signals_annotator.h"
|
||||
@@ -123,6 +125,7 @@ using ProviderType = AutocompleteProvider::Type;
|
||||
@@ -125,6 +127,7 @@ using ProviderType = AutocompleteProvider::Type;
|
||||
|
||||
constexpr bool is_android = !!BUILDFLAG(IS_ANDROID);
|
||||
|
||||
@@ -646,7 +646,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
|
||||
void RecordMlScoreCoverage(size_t matches_with_non_null_scores,
|
||||
size_t total_scored_matches) {
|
||||
int percent_score_coverage =
|
||||
@@ -231,6 +234,7 @@ void RecordTotalMatchesScored(size_t num_scored) {
|
||||
@@ -233,6 +236,7 @@ void RecordTotalMatchesScored(size_t num_scored) {
|
||||
base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches",
|
||||
num_scored);
|
||||
}
|
||||
@@ -701,10 +701,10 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
|
||||
std::optional<proto::RequestContextMetadata> request_context_metadata) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
+ if ((true)) return; // no consent on bromite
|
||||
|
||||
InsertionOrderedSet<GURL> urls_to_fetch;
|
||||
InsertionOrderedSet<std::string> hosts_to_fetch;
|
||||
@@ -1409,6 +1411,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
|
||||
if (!on_demand_hints_for_testing_.empty()) {
|
||||
for (const GURL& url : urls) {
|
||||
const auto& all_hints = on_demand_hints_for_testing_[url];
|
||||
@@ -1425,6 +1427,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
|
||||
bool skip_cache,
|
||||
OptimizationMetadata* optimization_metadata) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
@@ -729,7 +729,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -453,8 +449,7 @@ size_t MaxURLKeyedHintCacheSize() {
|
||||
@@ -460,8 +456,7 @@ size_t MaxURLKeyedHintCacheSize() {
|
||||
}
|
||||
|
||||
bool ShouldPersistHintsToDisk() {
|
||||
@@ -739,7 +739,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
|
||||
}
|
||||
|
||||
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
|
||||
@@ -903,5 +898,13 @@ bool IsPrivacyGuideAiSettingsEnabled() {
|
||||
@@ -904,5 +899,13 @@ bool IsPrivacyGuideAiSettingsEnabled() {
|
||||
return base::FeatureList::IsEnabled(kPrivacyGuideAiSettings);
|
||||
}
|
||||
|
||||
@@ -840,7 +840,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_m
|
||||
diff --git a/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn b/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
|
||||
--- a/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
|
||||
+++ b/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
|
||||
@@ -26,6 +26,13 @@ source_set("notification_content_detection") {
|
||||
@@ -27,6 +27,13 @@ source_set("notification_content_detection") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -868,7 +868,7 @@ diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_
|
||||
diff --git a/content/browser/service_worker/service_worker_main_resource_loader.cc b/content/browser/service_worker/service_worker_main_resource_loader.cc
|
||||
--- a/content/browser/service_worker/service_worker_main_resource_loader.cc
|
||||
+++ b/content/browser/service_worker/service_worker_main_resource_loader.cc
|
||||
@@ -518,6 +518,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload(
|
||||
@@ -516,6 +516,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload(
|
||||
bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
|
||||
scoped_refptr<ServiceWorkerContextWrapper> context,
|
||||
scoped_refptr<ServiceWorkerVersion> version) {
|
||||
@@ -925,19 +925,19 @@ new file mode 100644
|
||||
diff --git a/services/webnn/features.gni b/services/webnn/features.gni
|
||||
--- a/services/webnn/features.gni
|
||||
+++ b/services/webnn/features.gni
|
||||
@@ -7,7 +7,7 @@ import("//services/on_device_model/on_device_model.gni")
|
||||
@@ -9,7 +9,7 @@ assert(use_blink)
|
||||
|
||||
declare_args() {
|
||||
# TFLite is used as a fallback option on macOS and Windows.
|
||||
- webnn_use_tflite = is_android || is_chromeos || is_linux || is_mac || is_win
|
||||
+ webnn_use_tflite = false #is_android || is_chromeos || is_linux || is_mac || is_win
|
||||
# TFLite is used as a fallback option on Apple and Windows.
|
||||
- webnn_use_tflite = is_android || is_chromeos || is_linux || is_apple || is_win
|
||||
+ webnn_use_tflite = false #is_android || is_chromeos || is_linux || is_apple || is_win
|
||||
|
||||
# Enable the GPU delegate provided by the Optimization Guide library.
|
||||
webnn_use_chrome_ml_api = enable_ml_internal
|
||||
diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser.cc b/third_party/blink/renderer/core/html/parser/html_document_parser.cc
|
||||
--- a/third_party/blink/renderer/core/html/parser/html_document_parser.cc
|
||||
+++ b/third_party/blink/renderer/core/html/parser/html_document_parser.cc
|
||||
@@ -1757,6 +1757,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
|
||||
@@ -1798,6 +1798,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
|
||||
}
|
||||
|
||||
bool HTMLDocumentParser::ShouldSkipPreloadScan() {
|
||||
@@ -948,7 +948,7 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser.cc
|
||||
diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
|
||||
--- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
|
||||
+++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
|
||||
@@ -644,6 +644,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
|
||||
@@ -642,6 +642,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -959,7 +959,7 @@ diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculat
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -3564,7 +3564,7 @@
|
||||
@@ -3734,7 +3734,7 @@
|
||||
//
|
||||
// It also has some feature params defined throughout the codebase.
|
||||
name: "Prerender2",
|
||||
|
||||
@@ -9,11 +9,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../ShareSheetBottomSheetContent.java | 4 +-
|
||||
.../EphemeralTabSheetContent.java | 4 +-
|
||||
.../chrome_location_bar_model_delegate.cc | 2 +-
|
||||
.../ui/views/page_info/page_info_main_view.cc | 68 ++++++++++---------
|
||||
.../ui/views/page_info/page_info_main_view.cc | 69 ++++++++++---------
|
||||
.../components/bookmarks/BookmarkItem.java | 1 +
|
||||
.../omnibox/browser/titled_url_match_utils.cc | 2 +-
|
||||
.../page_info/PageInfoController.java | 3 +-
|
||||
7 files changed, 42 insertions(+), 42 deletions(-)
|
||||
7 files changed, 42 insertions(+), 43 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java
|
||||
--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java
|
||||
@@ -56,7 +56,7 @@ diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/c
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_main_view.cc
|
||||
@@ -603,38 +603,42 @@ void PageInfoMainView::ChildPreferredSizeChanged(views::View* child) {
|
||||
@@ -629,39 +629,42 @@ void PageInfoMainView::ChildPreferredSizeChanged(views::View* child) {
|
||||
}
|
||||
|
||||
std::unique_ptr<views::View> PageInfoMainView::CreateBubbleHeaderView() {
|
||||
@@ -82,6 +82,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
|
||||
- views::BubbleFrameView::CreateCloseButton(
|
||||
- base::BindRepeating(&PageInfoNavigationHandler::CloseBubble,
|
||||
- base::Unretained(navigation_handler_))))
|
||||
- .SetID(PageInfoViewFactory::VIEW_ID_PAGE_INFO_CLOSE_BUTTON)
|
||||
- .SetVisible(true)
|
||||
- .SetProperty(views::kCrossAxisAlignmentKey,
|
||||
- views::LayoutAlignment::kStart)
|
||||
|
||||
@@ -33,18 +33,18 @@ diff --git a/chrome/version.gni b/chrome/version.gni
|
||||
diff --git a/components/viz/common/features.cc b/components/viz/common/features.cc
|
||||
--- a/components/viz/common/features.cc
|
||||
+++ b/components/viz/common/features.cc
|
||||
@@ -323,9 +323,11 @@ const base::FeatureParam<base::TimeDelta> kADPFBoostTimeout{
|
||||
|
||||
// If enabled, Chrome includes the Renderer Main thread(s) into the
|
||||
// ADPF(Android Dynamic Performance Framework) hint session.
|
||||
@@ -329,9 +329,11 @@ BASE_FEATURE(kEnableInteractiveOnlyADPFRenderer,
|
||||
// If enabled, Chrome includes the Compositor GPU Thread into the
|
||||
// ADPF(Android Dynamic Performance Framework) hint session, instead
|
||||
// of the GPU Main Thread.
|
||||
+// see https://source.chromium.org/chromium/chromium/src/+/e7507d15614ac7f499fb89086b3a09772fa8deb4
|
||||
BASE_FEATURE(kEnableADPFRendererMain,
|
||||
"EnableADPFRendererMain",
|
||||
BASE_FEATURE(kEnableADPFGpuCompositorThread,
|
||||
"EnableADPFGpuCompositorThread",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+SET_CROMITE_FEATURE_ENABLED(kEnableADPFRendererMain);
|
||||
|
||||
// If enabled, Chrome's ADPF(Android Dynamic Performance Framework) hint
|
||||
// session includes Renderer threads only if:
|
||||
// If enabled, Chrome puts Renderer Main threads into a separate
|
||||
// ADPF(Android Dynamic Performance Framework) hint session, and does not
|
||||
diff --git a/components/viz/service/performance_hint/hint_session.cc b/components/viz/service/performance_hint/hint_session.cc
|
||||
--- a/components/viz/service/performance_hint/hint_session.cc
|
||||
+++ b/components/viz/service/performance_hint/hint_session.cc
|
||||
|
||||
@@ -8,17 +8,16 @@ https://issuetracker.google.com/issues/372873695
|
||||
|
||||
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
---
|
||||
crypto/features.cc | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
crypto/features.cc | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/crypto/features.cc b/crypto/features.cc
|
||||
--- a/crypto/features.cc
|
||||
+++ b/crypto/features.cc
|
||||
@@ -11,5 +11,7 @@ namespace crypto::features {
|
||||
BASE_FEATURE(kProcessBoundStringEncryption,
|
||||
"ProcessBoundStringEncryption",
|
||||
@@ -16,4 +16,7 @@ BASE_FEATURE(kIsHardwareBackedFixEnabled,
|
||||
"IsHardwareBackedFixEnabled",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
-
|
||||
|
||||
+#if BUILDFLAG(IS_WIN)
|
||||
+SET_CROMITE_FEATURE_ENABLED(kProcessBoundStringEncryption);
|
||||
+#endif
|
||||
|
||||
@@ -54,7 +54,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
|
||||
@@ -28,7 +28,9 @@ import androidx.preference.PreferenceCategory;
|
||||
@@ -27,7 +27,9 @@ import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceGroup;
|
||||
|
||||
import org.chromium.base.BuildInfo;
|
||||
@@ -63,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
+import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||
import org.chromium.chrome.R;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
@@ -60,6 +62,11 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.Locale;
|
||||
@@ -115,7 +115,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
if (shouldShowAutoSigninOption()) {
|
||||
createAutoSignInCheckbox();
|
||||
}
|
||||
@@ -583,6 +599,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
@@ -588,6 +604,71 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
|
||||
getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE));
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -474,8 +474,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -459,8 +459,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
|
||||
private void updateAutofillPreferences() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
|
||||
@@ -203,7 +203,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
|
||||
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
|
||||
@@ -103,6 +103,13 @@ import java.lang.annotation.RetentionPolicy;
|
||||
@@ -105,6 +105,13 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -217,7 +217,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
/**
|
||||
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
|
||||
* class is not intended to be extended.
|
||||
@@ -1081,6 +1088,11 @@ class TabImpl implements Tab {
|
||||
@@ -1084,6 +1091,11 @@ class TabImpl implements Tab {
|
||||
for (TabObserver observer : mObservers) observer.onDestroyed(this);
|
||||
mObservers.clear();
|
||||
|
||||
@@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
mUserDataHost.destroy();
|
||||
mTabViewManager.destroy();
|
||||
hideNativePage(false, null);
|
||||
@@ -1385,6 +1397,7 @@ class TabImpl implements Tab {
|
||||
@@ -1389,6 +1401,7 @@ class TabImpl implements Tab {
|
||||
* @return iff the AutofillProvider should provide a ViewStructure when prompted.
|
||||
*/
|
||||
boolean providesAutofillStructure() {
|
||||
@@ -237,7 +237,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
if (!ChromeFeatureList.isEnabled(
|
||||
AutofillFeatures.AUTOFILL_VIRTUAL_VIEW_STRUCTURE_ANDROID)) {
|
||||
return false;
|
||||
@@ -2169,16 +2182,21 @@ class TabImpl implements Tab {
|
||||
@@ -2173,16 +2186,21 @@ class TabImpl implements Tab {
|
||||
* @return true if the the provider is available for the given WebContents.
|
||||
*/
|
||||
private boolean prepareAutofillProvider(WebContents newWebContents) {
|
||||
@@ -265,7 +265,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
mAutofillProvider =
|
||||
new AutofillProvider(
|
||||
getContext(),
|
||||
@@ -2187,7 +2205,16 @@ class TabImpl implements Tab {
|
||||
@@ -2191,7 +2209,16 @@ class TabImpl implements Tab {
|
||||
getContext().getString(R.string.app_name));
|
||||
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
|
||||
}
|
||||
@@ -286,7 +286,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3789,28 +3789,6 @@ const FeatureEntry::FeatureVariation kLinkPreviewTriggerTypeVariations[] = {
|
||||
@@ -3895,28 +3895,6 @@ const FeatureEntry::FeatureVariation kLinkPreviewTriggerTypeVariations[] = {
|
||||
std::size(kLinkPreviewTriggerTypeLongPress), nullptr}};
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -312,10 +312,10 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
-
|
||||
-#endif // BUILDFLAG(IS_ANDROID)
|
||||
-
|
||||
const FeatureEntry::FeatureParam
|
||||
kPrerender2WarmUpCompositorTriggerPointDidCommitLoad[] = {
|
||||
{"trigger_point", "did_commit_load"}};
|
||||
@@ -6345,15 +6323,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
const FeatureEntry::FeatureParam kGroupSuggestionEnableRecentlyOpenedOnly[] = {
|
||||
{"group_suggestion_enable_recently_opened", "true"},
|
||||
{"group_suggestion_enable_switch_between", "false"},
|
||||
@@ -6419,15 +6397,6 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -347,7 +347,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
|
||||
diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/android/BUILD.gn
|
||||
--- a/chrome/browser/autofill/android/BUILD.gn
|
||||
+++ b/chrome/browser/autofill/android/BUILD.gn
|
||||
@@ -149,7 +149,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
@@ -152,7 +152,7 @@ android_library("bottom_sheet_utils_java") {
|
||||
generate_jni("jni_headers") {
|
||||
sources = [
|
||||
"java/src/org/chromium/chrome/browser/autofill/AddressNormalizerFactory.java",
|
||||
@@ -359,7 +359,7 @@ diff --git a/chrome/browser/autofill/android/BUILD.gn b/chrome/browser/autofill/
|
||||
diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
|
||||
--- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
|
||||
+++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillClientProviderUtils.java
|
||||
@@ -79,8 +79,8 @@ public class AutofillClientProviderUtils {
|
||||
@@ -83,8 +83,8 @@ public class AutofillClientProviderUtils {
|
||||
* @return {@link AndroidAutofillAvailabilityStatus.AVAILABLE} if Android Autofill can be used
|
||||
* or a reason why it can't.
|
||||
*/
|
||||
@@ -372,7 +372,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -869,12 +869,6 @@ const char kAutofillVcnEnrollStrikeExpiryTimeDescription[] =
|
||||
@@ -921,12 +921,6 @@ const char kAutofillVcnEnrollStrikeExpiryTimeDescription[] =
|
||||
"When enabled, changes the amount of time required for VCN enrollment "
|
||||
"prompt strikes to expire.";
|
||||
|
||||
@@ -388,7 +388,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -510,9 +510,6 @@ extern const char kAutofillVcnEnrollRequestTimeoutDescription[];
|
||||
@@ -546,9 +546,6 @@ extern const char kAutofillVcnEnrollRequestTimeoutDescription[];
|
||||
extern const char kAutofillVcnEnrollStrikeExpiryTimeName[];
|
||||
extern const char kAutofillVcnEnrollStrikeExpiryTimeDescription[];
|
||||
|
||||
@@ -417,15 +417,16 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/browser/ui/autofill/autofill_client_provider.cc
|
||||
--- a/chrome/browser/ui/autofill/autofill_client_provider.cc
|
||||
+++ b/chrome/browser/ui/autofill/autofill_client_provider.cc
|
||||
@@ -13,84 +13,18 @@
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -15,8 +15,6 @@
|
||||
#include "base/android/jni_android.h"
|
||||
#include "base/android/jni_string.h"
|
||||
#include "base/task/thread_pool.h"
|
||||
-#include "chrome/browser/autofill/android/android_autofill_availability_status.h"
|
||||
-#include "chrome/browser/autofill/android/jni_headers/AutofillClientProviderUtils_jni.h"
|
||||
#include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
|
||||
#include "components/android_autofill/browser/android_autofill_client.h"
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -24,67 +22,6 @@
|
||||
namespace autofill {
|
||||
namespace {
|
||||
|
||||
@@ -490,12 +491,18 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
-#endif // BUILDFLAG(IS_ANDROID)
|
||||
-}
|
||||
-
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
std::string GetTrialGroupForPackage() {
|
||||
JNIEnv* env = base::android::AttachCurrentThread();
|
||||
@@ -95,14 +32,11 @@ std::string GetTrialGroupForPackage() {
|
||||
|
||||
} // namespace
|
||||
|
||||
-AutofillClientProvider::AutofillClientProvider(PrefService* prefs)
|
||||
- : uses_platform_autofill_(UsesVirtualViewStructureForAutofill(*prefs)) {
|
||||
+AutofillClientProvider::AutofillClientProvider(PrefService* prefs) {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
DelayRegisteringFieldTrialForA11yDeprecation();
|
||||
- RecordWhetherAndroidPrefResets(*prefs, uses_platform_autofill_);
|
||||
- // Ensure the pref is reset if platform autofill is restricted.
|
||||
prefs->SetBoolean(prefs::kAutofillUsingVirtualViewStructure,
|
||||
@@ -504,7 +511,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
if (base::FeatureList::IsEnabled(
|
||||
autofill::features::kAutofillVirtualViewStructureAndroid) &&
|
||||
base::FeatureList::IsEnabled(
|
||||
@@ -114,15 +48,7 @@ AutofillClientProvider::~AutofillClientProvider() = default;
|
||||
@@ -126,15 +60,7 @@ AutofillClientProvider::~AutofillClientProvider() = default;
|
||||
|
||||
void AutofillClientProvider::CreateClientForWebContents(
|
||||
content::WebContents* web_contents) {
|
||||
@@ -519,11 +526,11 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.cc b/chrome/bro
|
||||
- }
|
||||
}
|
||||
|
||||
} // namespace autofill
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/browser/ui/autofill/autofill_client_provider.h
|
||||
--- a/chrome/browser/ui/autofill/autofill_client_provider.h
|
||||
+++ b/chrome/browser/ui/autofill/autofill_client_provider.h
|
||||
@@ -33,13 +33,7 @@ class AutofillClientProvider : public KeyedService {
|
||||
@@ -37,11 +37,6 @@ class AutofillClientProvider : public KeyedService {
|
||||
// given `web_contents`.
|
||||
void CreateClientForWebContents(content::WebContents* web_contents);
|
||||
|
||||
@@ -533,14 +540,20 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/brow
|
||||
- bool uses_platform_autofill() const { return uses_platform_autofill_; }
|
||||
-
|
||||
private:
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Posts a low-priority task to register the client in a synthetic field trial
|
||||
@@ -51,7 +46,6 @@ class AutofillClientProvider : public KeyedService {
|
||||
void RegisterSyntheticFieldTrialForPackage(const std::string& package);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
- const bool uses_platform_autofill_;
|
||||
base::WeakPtrFactory<AutofillClientProvider> weak_ptr_factory_{this};
|
||||
};
|
||||
|
||||
} // namespace autofill
|
||||
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
|
||||
--- a/chrome/browser/ui/tab_helpers.cc
|
||||
+++ b/chrome/browser/ui/tab_helpers.cc
|
||||
@@ -384,9 +384,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
@@ -386,9 +386,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
web_contents);
|
||||
ChainedBackNavigationTracker::CreateForWebContents(web_contents);
|
||||
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
|
||||
@@ -597,15 +610,15 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
if (event == EVENT_INPUT_SHOWN) manager.notifyInputUiChange();
|
||||
}
|
||||
}
|
||||
@@ -102,6 +103,7 @@ public class AutofillManagerWrapper {
|
||||
// Uses Exception to catch various cases. (refer to crbug.com/1186406)
|
||||
Log.e(TAG, "getAutofillServiceComponentName", e);
|
||||
}
|
||||
@@ -124,6 +125,7 @@ public class AutofillManagerWrapper {
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
ComponentName componentName = getAutofillServiceComponentName(autofillManager);
|
||||
+ if (isLoggable()) log("componentName=" + componentName);
|
||||
if (componentName != null) {
|
||||
mPackageName = componentName.getPackageName();
|
||||
mIsAwGCurrentAutofillService =
|
||||
@@ -274,7 +276,7 @@ public class AutofillManagerWrapper {
|
||||
@@ -345,7 +347,7 @@ public class AutofillManagerWrapper {
|
||||
/** Always check isLoggable() before call this method. */
|
||||
public static void log(String log) {
|
||||
// Log.i() instead of Log.d() is used here because log.d() is stripped out in release build.
|
||||
@@ -614,18 +627,17 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
}
|
||||
|
||||
public static boolean isLoggable() {
|
||||
@@ -287,6 +289,7 @@ public class AutofillManagerWrapper {
|
||||
@@ -358,5 +360,6 @@ public class AutofillManagerWrapper {
|
||||
// NOTE: See the comment on TAG above for why this is still AwAutofillManager.
|
||||
// Check the system setting directly.
|
||||
sIsLoggable = android.util.Log.isLoggable(TAG, Log.DEBUG);
|
||||
+ // sIsLoggable = true; // to force enable the log
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
|
||||
--- a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
|
||||
+++ b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillProvider.java
|
||||
@@ -197,13 +197,19 @@ public class AutofillProvider {
|
||||
@@ -220,6 +220,10 @@ public class AutofillProvider {
|
||||
|
||||
/** @return whether query autofill suggestion. */
|
||||
public boolean shouldQueryAutofillSuggestion() {
|
||||
@@ -635,17 +647,24 @@ diff --git a/components/android_autofill/browser/java/src/org/chromium/component
|
||||
+ " !mAutofillManager.isAutofillInputUIShowing()=" + (!mAutofillManager.isAutofillInputUiShowing()));
|
||||
return mRequest != null
|
||||
&& mRequest.getFocusField() != null
|
||||
&& !mAutofillManager.isAutofillInputUiShowing();
|
||||
&& !getAutofillManagerWrapper().isAutofillInputUiShowing();
|
||||
@@ -228,6 +232,7 @@ public class AutofillProvider {
|
||||
public boolean shouldOfferPasskeyEntry() {
|
||||
if (!AndroidAutofillFeatures.ANDROID_AUTOFILL_VIRTUAL_VIEW_STRUCTURE_PASSKEY_LONG_PRESS
|
||||
.isEnabled()) {
|
||||
+ AutofillManagerWrapper.log("calling requestAutofill");
|
||||
return false;
|
||||
}
|
||||
return AutofillProviderJni.get().hasPasskeyRequest(mNativeAutofillProvider);
|
||||
@@ -240,6 +245,7 @@ public class AutofillProvider {
|
||||
}
|
||||
|
||||
public void queryAutofillSuggestion() {
|
||||
+ AutofillManagerWrapper.log("queryAutofillSuggestion start");
|
||||
if (shouldQueryAutofillSuggestion()) {
|
||||
+ AutofillManagerWrapper.log("calling requestAutofill");
|
||||
FocusField focusField = mRequest.getFocusField();
|
||||
mAutofillManager.requestAutofill(
|
||||
mContainerView,
|
||||
@@ -263,6 +269,7 @@ public class AutofillProvider {
|
||||
getAutofillManagerWrapper()
|
||||
@@ -302,6 +308,7 @@ public class AutofillProvider {
|
||||
float width,
|
||||
float height,
|
||||
boolean hasServerPrediction) {
|
||||
@@ -729,7 +748,7 @@ new file mode 100644
|
||||
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
|
||||
--- a/components/autofill/content/browser/content_autofill_driver.cc
|
||||
+++ b/components/autofill/content/browser/content_autofill_driver.cc
|
||||
@@ -252,6 +252,13 @@ void RouteToManager(ContentAutofillDriver& source,
|
||||
@@ -270,6 +270,13 @@ void RouteToManager(ContentAutofillDriver& source,
|
||||
AutofillManager& manager = target.GetAutofillManager();
|
||||
(manager.*
|
||||
manager_fun)(WithNewVersion(std::forward<ManagerArgs>(args))...);
|
||||
@@ -743,7 +762,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
|
||||
},
|
||||
source, Lift(source, std::forward<ActualArgs>(args))...);
|
||||
}
|
||||
@@ -638,6 +645,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
@@ -656,6 +663,10 @@ ContentAutofillDriver::GetAutofillAgent() {
|
||||
return autofill_agent_;
|
||||
}
|
||||
|
||||
@@ -770,7 +789,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com
|
||||
content::RenderFrameHost* render_frame_host() { return &*render_frame_host_; }
|
||||
const content::RenderFrameHost* render_frame_host() const {
|
||||
return &*render_frame_host_;
|
||||
@@ -305,6 +311,10 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
@@ -306,6 +312,10 @@ class ContentAutofillDriver : public AutofillDriver,
|
||||
// The factory that created this driver. Outlives `this`.
|
||||
const raw_ref<ContentAutofillDriverFactory> owner_;
|
||||
|
||||
@@ -813,7 +832,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
|
||||
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
|
||||
--- a/components/autofill/content/renderer/autofill_agent.cc
|
||||
+++ b/components/autofill/content/renderer/autofill_agent.cc
|
||||
@@ -1529,14 +1529,19 @@ void AutofillAgent::ShowSuggestions(
|
||||
@@ -1543,14 +1543,19 @@ void AutofillAgent::ShowSuggestions(
|
||||
password_generation_agent_->ShowPasswordGenerationSuggestions(
|
||||
input_element, form_cache)) {
|
||||
is_popup_possibly_visible_ = true;
|
||||
@@ -836,7 +855,7 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
|
||||
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
--- a/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
|
||||
@@ -853,7 +853,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
|
||||
@@ -860,7 +860,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
|
||||
|
||||
void PasswordAutofillAgent::TrackAutofilledElement(
|
||||
const WebFormControlElement& element) {
|
||||
@@ -877,7 +896,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_driver_factor
|
||||
diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
--- a/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/foundations/autofill_manager.h
|
||||
@@ -222,6 +222,8 @@ class AutofillManager
|
||||
@@ -223,6 +223,8 @@ class AutofillManager
|
||||
LifecycleState new_state,
|
||||
base::PassKey<AutofillDriverFactory> pass_key);
|
||||
|
||||
@@ -889,7 +908,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c
|
||||
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.cc b/components/autofill/core/browser/foundations/browser_autofill_manager.cc
|
||||
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.cc
|
||||
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.cc
|
||||
@@ -712,6 +712,8 @@ base::WeakPtr<AutofillManager> BrowserAutofillManager::GetWeakPtr() {
|
||||
@@ -724,6 +724,8 @@ base::WeakPtr<AutofillManager> BrowserAutofillManager::GetWeakPtr() {
|
||||
return weak_ptr_factory_.GetWeakPtr();
|
||||
}
|
||||
|
||||
@@ -901,7 +920,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
|
||||
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.h b/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.h
|
||||
@@ -119,6 +119,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
@@ -120,6 +120,8 @@ class BrowserAutofillManager : public AutofillManager {
|
||||
|
||||
~BrowserAutofillManager() override;
|
||||
|
||||
@@ -913,7 +932,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
|
||||
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
|
||||
--- a/components/autofill/core/common/autofill_features.cc
|
||||
+++ b/components/autofill/core/common/autofill_features.cc
|
||||
@@ -850,7 +850,7 @@ BASE_FEATURE(kAutofillThirdPartyModeContentProvider,
|
||||
@@ -811,7 +811,7 @@ BASE_FEATURE(kAutofillThirdPartyModeContentProvider,
|
||||
BASE_FEATURE(kAutofillVirtualViewStructureAndroid,
|
||||
"AutofillVirtualViewStructureAndroid",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -925,7 +944,7 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a
|
||||
diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h
|
||||
--- a/components/autofill/core/common/autofill_features.h
|
||||
+++ b/components/autofill/core/common/autofill_features.h
|
||||
@@ -308,28 +308,6 @@ COMPONENT_EXPORT(AUTOFILL)
|
||||
@@ -300,28 +300,6 @@ COMPONENT_EXPORT(AUTOFILL)
|
||||
BASE_DECLARE_FEATURE(kAutofillThirdPartyModeContentProvider);
|
||||
COMPONENT_EXPORT(AUTOFILL)
|
||||
BASE_DECLARE_FEATURE(kAutofillVirtualViewStructureAndroid);
|
||||
@@ -966,7 +985,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
registry->RegisterIntegerPref(kAutocompleteLastVersionRetentionPolicy, 0);
|
||||
registry->RegisterStringPref(kAutofillUploadEncodingSeed, "");
|
||||
registry->RegisterDictionaryPref(kAutofillVoteUploadEvents);
|
||||
@@ -87,7 +89,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
@@ -89,7 +91,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
|
||||
false);
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -978,7 +997,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
|
||||
diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h
|
||||
--- a/components/autofill/core/common/autofill_prefs.h
|
||||
+++ b/components/autofill/core/common/autofill_prefs.h
|
||||
@@ -104,6 +104,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] =
|
||||
@@ -110,6 +110,11 @@ inline constexpr char kAutofillUploadEventsLastResetTimestamp[] =
|
||||
// retention policy was run.
|
||||
inline constexpr char kAutocompleteLastVersionRetentionPolicy[] =
|
||||
"autocomplete.retention_policy_last_version";
|
||||
|
||||
@@ -53,7 +53,7 @@ new file mode 100644
|
||||
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
--- a/net/http/http_cache.cc
|
||||
+++ b/net/http/http_cache.cc
|
||||
@@ -655,7 +655,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo* request) {
|
||||
@@ -652,7 +652,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo* request) {
|
||||
|
||||
// static
|
||||
// Generate a key that can be used inside the cache.
|
||||
@@ -62,7 +62,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
const GURL& url,
|
||||
int load_flags,
|
||||
const NetworkIsolationKey& network_isolation_key,
|
||||
@@ -692,8 +692,8 @@ std::string HttpCache::GenerateCacheKey(
|
||||
@@ -690,8 +690,8 @@ std::string HttpCache::GenerateCacheKey(
|
||||
const bool is_initiator_cross_site =
|
||||
!net::SchemefulSite::IsSameSite(*initiator, url::Origin::Create(url));
|
||||
if (is_initiator_cross_site) {
|
||||
@@ -73,7 +73,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
}
|
||||
}
|
||||
isolation_key = base::StrCat(
|
||||
@@ -708,9 +708,11 @@ std::string HttpCache::GenerateCacheKey(
|
||||
@@ -706,9 +706,11 @@ std::string HttpCache::GenerateCacheKey(
|
||||
// Strip out the reference, username, and password sections of the URL and
|
||||
// concatenate with the credential_key, the post_key, and the network
|
||||
// isolation key if we are splitting the cache.
|
||||
@@ -86,7 +86,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -733,10 +735,12 @@ HttpCache::GenerateCacheKeyForRequestWithAlternateURL(
|
||||
@@ -731,11 +733,13 @@ HttpCache::GenerateCacheKeyForRequestWithAlternateURL(
|
||||
const int64_t upload_data_identifier =
|
||||
request->upload_data_stream ? request->upload_data_stream->identifier()
|
||||
: int64_t(0);
|
||||
@@ -94,7 +94,8 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
|
||||
+ auto key = GenerateCacheKey2(
|
||||
url, request->load_flags, request->network_isolation_key,
|
||||
upload_data_identifier, request->is_subframe_document_resource,
|
||||
request->is_main_frame_navigation, request->initiator);
|
||||
request->is_main_frame_navigation, request->is_shared_resource,
|
||||
request->initiator);
|
||||
+ if (key.empty()) return std::nullopt;
|
||||
+ return key;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../chrome_browser_interface_binders.cc | 3 +
|
||||
.../chrome_browser_interface_binders_webui.cc | 21 ++
|
||||
chrome/browser/extensions/extension_util.h | 2 +-
|
||||
chrome/browser/resources/BUILD.gn | 6 +
|
||||
chrome/browser/resources/BUILD.gn | 7 +
|
||||
chrome/browser/resources/settings/BUILD.gn | 2 +-
|
||||
.../resources/settings/page_visibility.ts | 36 ++-
|
||||
.../search_engine_edit_dialog.html | 6 +
|
||||
@@ -31,7 +31,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
.../browser/search_engines/android/BUILD.gn | 1 +
|
||||
.../java/res/layout/search_engine_layout.xml | 25 ++
|
||||
.../settings/SearchEngineSettings.java | 21 ++
|
||||
chrome/browser/ui/BUILD.gn | 25 ++
|
||||
chrome/browser/ui/BUILD.gn | 25 +-
|
||||
.../edit_search_engine_controller.cc | 8 +-
|
||||
.../edit_search_engine_controller.h | 6 +-
|
||||
.../keyword_editor_controller.cc | 13 +-
|
||||
@@ -78,7 +78,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
ui/webui/resources/images/BUILD.gn | 2 +-
|
||||
ui/webui/resources/js/BUILD.gn | 2 +-
|
||||
ui/webui/resources/js/load_time_data.ts | 17 +-
|
||||
71 files changed, 1161 insertions(+), 70 deletions(-)
|
||||
71 files changed, 1161 insertions(+), 71 deletions(-)
|
||||
create mode 100644 chrome/app/settings_strings_android.grdp
|
||||
create mode 100644 chrome/browser/search_engines/android/java/res/layout/search_engine_layout.xml
|
||||
create mode 100644 chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc
|
||||
@@ -141,7 +141,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -2397,6 +2397,9 @@
|
||||
@@ -2143,6 +2143,9 @@
|
||||
<message name="IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION" desc="Label for explaining the format of the URL that should be entered by the user in the add/edit search engine dialog.">
|
||||
URL with <ph name="SPECIAL_SYMBOL">%s</ph> in place of query
|
||||
</message>
|
||||
@@ -419,7 +419,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3575,6 +3575,9 @@ static_library("browser") {
|
||||
@@ -3631,6 +3631,9 @@ static_library("browser") {
|
||||
"//components/user_scripts/android",
|
||||
]
|
||||
}
|
||||
@@ -432,7 +432,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc
|
||||
--- a/chrome/browser/chrome_browser_interface_binders.cc
|
||||
+++ b/chrome/browser/chrome_browser_interface_binders.cc
|
||||
@@ -88,6 +88,9 @@
|
||||
@@ -87,6 +87,9 @@
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -458,7 +458,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/ui/webui/feed_internals/feed_internals.mojom.h"
|
||||
#include "chrome/browser/ui/webui/feed_internals/feed_internals_ui.h"
|
||||
@@ -477,6 +483,15 @@ void PopulateChromeWebUIFrameBinders(
|
||||
@@ -485,6 +491,15 @@ void PopulateChromeWebUIFrameBinders(
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -474,7 +474,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
RegisterWebUIControllerInterfaceBinder<
|
||||
search_engine_choice::mojom::PageHandlerFactory, SearchEngineChoiceUI>(
|
||||
@@ -611,6 +626,9 @@ void PopulateChromeWebUIFrameBinders(
|
||||
@@ -627,6 +642,9 @@ void PopulateChromeWebUIFrameBinders(
|
||||
RegisterWebUIControllerInterfaceBinder<suggest_internals::mojom::PageHandler,
|
||||
SuggestInternalsUI>(map);
|
||||
|
||||
@@ -484,7 +484,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
|
||||
RegisterWebUIControllerInterfaceBinder<
|
||||
customize_color_scheme_mode::mojom::
|
||||
CustomizeColorSchemeModeHandlerFactory,
|
||||
@@ -631,6 +649,9 @@ void PopulateChromeWebUIFrameBinders(
|
||||
@@ -647,6 +665,9 @@ void PopulateChromeWebUIFrameBinders(
|
||||
CertificateManagerUI>(map);
|
||||
#endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
|
||||
|
||||
@@ -497,21 +497,21 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
|
||||
diff --git a/chrome/browser/extensions/extension_util.h b/chrome/browser/extensions/extension_util.h
|
||||
--- a/chrome/browser/extensions/extension_util.h
|
||||
+++ b/chrome/browser/extensions/extension_util.h
|
||||
@@ -13,7 +13,7 @@
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "extensions/buildflags/buildflags.h"
|
||||
#include "extensions/common/constants.h"
|
||||
|
||||
-static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
|
||||
+// static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
|
||||
|
||||
namespace content {
|
||||
class BrowserContext;
|
||||
namespace base {
|
||||
class CommandLine;
|
||||
diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn
|
||||
--- a/chrome/browser/resources/BUILD.gn
|
||||
+++ b/chrome/browser/resources/BUILD.gn
|
||||
@@ -21,6 +21,12 @@ group("resources") {
|
||||
"segmentation_internals:resources",
|
||||
]
|
||||
@@ -25,6 +25,13 @@ group("resources") {
|
||||
public_deps += [ ":component_extension_resources" ]
|
||||
}
|
||||
|
||||
+ if (is_android) {
|
||||
+ public_deps += [
|
||||
@@ -519,6 +519,7 @@ diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.
|
||||
+ "settings_shared:resources",
|
||||
+ ]
|
||||
+ }
|
||||
+
|
||||
if (!is_android) {
|
||||
public_deps += [
|
||||
":app_icon_resources",
|
||||
@@ -912,22 +913,22 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -702,6 +702,12 @@ static_library("ui") {
|
||||
@@ -679,7 +679,11 @@ static_library("ui") {
|
||||
"//ui/webui",
|
||||
"//v8:v8_version",
|
||||
]
|
||||
|
||||
-
|
||||
+ if (is_android) {
|
||||
+ deps += [
|
||||
+ "//ui/webui/resources/cr_components/help_bubble:mojo_bindings",
|
||||
+ ]
|
||||
+ }
|
||||
+
|
||||
# TODO(crbug.com/413572035): Move into build files of the actual
|
||||
# modules depending on this. eg: autofill, user_education.
|
||||
if (is_chrome_branded) {
|
||||
deps += [ "//components/plus_addresses/resources:vector_icons" ]
|
||||
}
|
||||
@@ -1001,6 +1007,25 @@ static_library("ui") {
|
||||
"android/toolbar/extension_actions_bridge_factory.h",
|
||||
]
|
||||
@@ -959,6 +963,25 @@ static_library("ui") {
|
||||
|
||||
deps += [ "//extensions/browser:extension_action_enums" ]
|
||||
}
|
||||
+ sources += [
|
||||
+ "webui/settings/settings_ui_android.cc",
|
||||
@@ -985,7 +986,7 @@ diff --git a/chrome/browser/ui/search_engines/edit_search_engine_controller.cc b
|
||||
diff --git a/chrome/browser/ui/search_engines/edit_search_engine_controller.h b/chrome/browser/ui/search_engines/edit_search_engine_controller.h
|
||||
--- a/chrome/browser/ui/search_engines/edit_search_engine_controller.h
|
||||
+++ b/chrome/browser/ui/search_engines/edit_search_engine_controller.h
|
||||
@@ -23,7 +23,8 @@ class EditSearchEngineControllerDelegate {
|
||||
@@ -22,7 +22,8 @@ class EditSearchEngineControllerDelegate {
|
||||
virtual void OnEditedKeyword(TemplateURL* template_url,
|
||||
const std::u16string& title,
|
||||
const std::u16string& keyword,
|
||||
@@ -995,7 +996,7 @@ diff --git a/chrome/browser/ui/search_engines/edit_search_engine_controller.h b/
|
||||
|
||||
protected:
|
||||
virtual ~EditSearchEngineControllerDelegate() = default;
|
||||
@@ -62,7 +63,8 @@ class EditSearchEngineController {
|
||||
@@ -61,7 +62,8 @@ class EditSearchEngineController {
|
||||
// Completes the add or edit of a search engine.
|
||||
void AcceptAddOrEdit(const std::u16string& title_input,
|
||||
const std::u16string& keyword_input,
|
||||
@@ -1075,7 +1076,7 @@ diff --git a/chrome/browser/ui/search_engines/keyword_editor_controller.h b/chro
|
||||
diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chrome/browser/ui/search_engines/template_url_table_model.cc
|
||||
--- a/chrome/browser/ui/search_engines/template_url_table_model.cc
|
||||
+++ b/chrome/browser/ui/search_engines/template_url_table_model.cc
|
||||
@@ -207,7 +207,8 @@ void TemplateURLTableModel::Remove(size_t index) {
|
||||
@@ -201,7 +201,8 @@ void TemplateURLTableModel::Remove(size_t index) {
|
||||
void TemplateURLTableModel::Add(size_t index,
|
||||
const std::u16string& short_name,
|
||||
const std::u16string& keyword,
|
||||
@@ -1085,7 +1086,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro
|
||||
DCHECK(index <= RowCount());
|
||||
DCHECK(!url.empty());
|
||||
TemplateURLData data;
|
||||
@@ -215,13 +216,15 @@ void TemplateURLTableModel::Add(size_t index,
|
||||
@@ -209,13 +210,15 @@ void TemplateURLTableModel::Add(size_t index,
|
||||
data.SetKeyword(keyword);
|
||||
data.SetURL(url);
|
||||
data.is_active = TemplateURLData::ActiveStatus::kTrue;
|
||||
@@ -1102,7 +1103,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro
|
||||
DCHECK(index <= RowCount());
|
||||
DCHECK(!url.empty());
|
||||
TemplateURL* template_url = GetTemplateURL(index);
|
||||
@@ -230,7 +233,7 @@ void TemplateURLTableModel::ModifyTemplateURL(size_t index,
|
||||
@@ -224,7 +227,7 @@ void TemplateURLTableModel::ModifyTemplateURL(size_t index,
|
||||
DCHECK(template_url_service_->GetDefaultSearchProvider() != template_url ||
|
||||
template_url->SupportsReplacement(
|
||||
template_url_service_->search_terms_data()));
|
||||
@@ -1114,7 +1115,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.cc b/chro
|
||||
diff --git a/chrome/browser/ui/search_engines/template_url_table_model.h b/chrome/browser/ui/search_engines/template_url_table_model.h
|
||||
--- a/chrome/browser/ui/search_engines/template_url_table_model.h
|
||||
+++ b/chrome/browser/ui/search_engines/template_url_table_model.h
|
||||
@@ -61,13 +61,15 @@ class TemplateURLTableModel : public ui::TableModel,
|
||||
@@ -58,13 +58,15 @@ class TemplateURLTableModel : public ui::TableModel,
|
||||
void Add(size_t index,
|
||||
const std::u16string& short_name,
|
||||
const std::u16string& keyword,
|
||||
@@ -1135,7 +1136,7 @@ diff --git a/chrome/browser/ui/search_engines/template_url_table_model.h b/chrom
|
||||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
|
||||
@@ -61,6 +61,11 @@
|
||||
@@ -63,6 +63,11 @@
|
||||
#include "components/user_scripts/browser/ui/user_scripts_ui.h"
|
||||
#endif
|
||||
|
||||
@@ -1147,7 +1148,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
#include "chrome/browser/ui/webui/nacl_ui.h"
|
||||
#endif
|
||||
@@ -420,4 +425,7 @@ void RegisterChromeWebUIConfigs() {
|
||||
@@ -436,4 +441,7 @@ void RegisterChromeWebUIConfigs() {
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
map.AddWebUIConfig(std::make_unique<user_scripts::UserScriptsUIConfig>());
|
||||
#endif
|
||||
@@ -1217,7 +1218,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.cc b/chrome/browser/ui/webui
|
||||
diff --git a/chrome/browser/ui/webui/favicon_source.h b/chrome/browser/ui/webui/favicon_source.h
|
||||
--- a/chrome/browser/ui/webui/favicon_source.h
|
||||
+++ b/chrome/browser/ui/webui/favicon_source.h
|
||||
@@ -65,9 +65,11 @@ class FaviconSource : public content::URLDataSource {
|
||||
@@ -64,9 +64,11 @@ class FaviconSource : public content::URLDataSource {
|
||||
int render_process_id) override;
|
||||
|
||||
protected:
|
||||
@@ -1232,7 +1233,7 @@ diff --git a/chrome/browser/ui/webui/favicon_source.h b/chrome/browser/ui/webui/
|
||||
diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome/browser/ui/webui/settings/search_engines_handler.cc
|
||||
--- a/chrome/browser/ui/webui/settings/search_engines_handler.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/search_engines_handler.cc
|
||||
@@ -35,10 +35,12 @@
|
||||
@@ -34,10 +34,12 @@
|
||||
#include "components/search_engines/template_url.h"
|
||||
#include "components/search_engines/template_url_service.h"
|
||||
#include "content/public/browser/web_ui.h"
|
||||
@@ -1245,7 +1246,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
#include "ash/public/cpp/new_window_delegate.h"
|
||||
@@ -50,6 +52,7 @@ namespace {
|
||||
@@ -49,6 +51,7 @@ namespace {
|
||||
const char kSearchEngineField[] = "searchEngine";
|
||||
const char kKeywordField[] = "keyword";
|
||||
const char kQueryUrlField[] = "queryUrl";
|
||||
@@ -1254,9 +1255,9 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
// Dummy number used for indicating that a new search engine is added.
|
||||
const int kNewSearchEngineIndex = -1;
|
||||
@@ -252,9 +255,10 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
table_model->GetText(index,
|
||||
IDS_SEARCH_ENGINES_EDITOR_DESCRIPTION_COLUMN));
|
||||
dict.Set("keyword", table_model->GetKeywordToDisplay(index));
|
||||
dict.Set("keyword", table_model->GetText(
|
||||
index, IDS_SEARCH_ENGINES_EDITOR_KEYWORD_COLUMN));
|
||||
- Profile* profile = Profile::FromWebUI(web_ui());
|
||||
dict.Set("url",
|
||||
template_url->url_ref().DisplayURL(UIThreadSearchTermsData()));
|
||||
@@ -1265,8 +1266,8 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
dict.Set("urlLocked", ((template_url->prepopulate_id() > 0) ||
|
||||
(template_url->starter_pack_id() > 0)));
|
||||
GURL icon_url = template_url->favicon_url();
|
||||
@@ -262,6 +266,8 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
dict.Set("iconURL", icon_url.spec());
|
||||
@@ -268,6 +272,8 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
#endif
|
||||
}
|
||||
|
||||
+#if !BUILDFLAG(IS_ANDROID)
|
||||
@@ -1274,15 +1275,15 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
// The icons that are used for search engines in the EEA region are bundled
|
||||
// with Chrome. We use the favicon service for countries outside the EEA
|
||||
// region to guarantee having icons for all search engines.
|
||||
@@ -280,6 +286,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
dict.Set("iconPath", base::StrCat({icon_path, "@2x"}));
|
||||
}
|
||||
@@ -284,6 +290,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
base::StrCat({"chrome://theme/",
|
||||
template_url->GetBuiltinImageResourceId(), "@2x"}));
|
||||
}
|
||||
+#endif
|
||||
|
||||
dict.Set("modelIndex", base::checked_cast<int>(index));
|
||||
|
||||
@@ -296,6 +303,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
@@ -300,6 +307,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
dict.Set("isOmniboxExtension", type == TemplateURL::OMNIBOX_API_EXTENSION);
|
||||
dict.Set("isPrepopulated", template_url->prepopulate_id() > 0);
|
||||
dict.Set("isStarterPack", template_url->starter_pack_id() > 0);
|
||||
@@ -1290,7 +1291,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
if (type == TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION ||
|
||||
type == TemplateURL::OMNIBOX_API_EXTENSION) {
|
||||
const extensions::Extension* extension =
|
||||
@@ -312,6 +320,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
@@ -316,6 +324,7 @@ base::Value::Dict SearchEnginesHandler::CreateDictionaryForEngine(
|
||||
dict.Set("extension", std::move(ext_info));
|
||||
}
|
||||
}
|
||||
@@ -1298,7 +1299,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
return dict;
|
||||
}
|
||||
|
||||
@@ -414,12 +423,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted(
|
||||
@@ -418,12 +427,13 @@ void SearchEnginesHandler::HandleSearchEngineEditStarted(
|
||||
void SearchEnginesHandler::OnEditedKeyword(TemplateURL* template_url,
|
||||
const std::u16string& title,
|
||||
const std::u16string& keyword,
|
||||
@@ -1315,7 +1316,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
}
|
||||
|
||||
edit_controller_.reset();
|
||||
@@ -449,6 +459,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name,
|
||||
@@ -453,6 +463,8 @@ bool SearchEnginesHandler::CheckFieldValidity(const std::string& field_name,
|
||||
is_valid = edit_controller_->IsKeywordValid(base::UTF8ToUTF16(field_value));
|
||||
} else if (field_name.compare(kQueryUrlField) == 0) {
|
||||
is_valid = edit_controller_->IsURLValid(field_value);
|
||||
@@ -1324,7 +1325,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.cc b/chrome
|
||||
} else {
|
||||
NOTREACHED();
|
||||
}
|
||||
@@ -471,18 +483,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted(
|
||||
@@ -475,18 +487,20 @@ void SearchEnginesHandler::HandleSearchEngineEditCompleted(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1364,17 +1365,8 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2484,6 +2484,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
|
||||
{"searchEnginesQueryURLExplanation",
|
||||
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
|
||||
+ {"searchEnginesSuggestionURLExplanation",
|
||||
+ IDS_SETTINGS_SEARCH_ENGINES_SUGGESTION_URL_EXPLANATION},
|
||||
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
|
||||
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
|
||||
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
|
||||
@@ -3838,6 +3840,12 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
|
||||
AddSystemStrings(html_source);
|
||||
@@ -143,6 +143,12 @@
|
||||
#include "chrome/browser/ui/webui/settings/system_handler.h"
|
||||
#endif
|
||||
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -1383,9 +1375,18 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
|
||||
+ html_source->AddString("chromeAndroid", "");
|
||||
+#endif
|
||||
+
|
||||
#if BUILDFLAG(USE_NSS_CERTS)
|
||||
certificate_manager::AddLocalizedStrings(html_source);
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
#include "ui/display/screen.h"
|
||||
#endif
|
||||
@@ -2458,6 +2464,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
|
||||
{"searchEnginesQueryURLExplanation",
|
||||
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
|
||||
+ {"searchEnginesSuggestionURLExplanation",
|
||||
+ IDS_SETTINGS_SEARCH_ENGINES_SUGGESTION_URL_EXPLANATION},
|
||||
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
|
||||
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
|
||||
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider_android.cc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@@ -1866,8 +1867,8 @@ new file mode 100644
|
||||
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
|
||||
--- a/chrome/chrome_paks.gni
|
||||
+++ b/chrome/chrome_paks.gni
|
||||
@@ -169,6 +169,17 @@ template("chrome_extra_paks") {
|
||||
sources += invoker.additional_paks
|
||||
@@ -184,6 +184,17 @@ template("chrome_extra_paks") {
|
||||
deps += [ "//chrome/browser/resources:component_extension_resources" ]
|
||||
}
|
||||
|
||||
+ if (is_android) {
|
||||
@@ -1910,7 +1911,7 @@ new file mode 100644
|
||||
diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc
|
||||
--- a/components/search_engines/android/template_url_service_android.cc
|
||||
+++ b/components/search_engines/android/template_url_service_android.cc
|
||||
@@ -423,7 +423,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||
@@ -422,7 +422,7 @@ jboolean TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
|
||||
if (regulatory_api_turl->safe_for_autoreplace()) {
|
||||
template_url_service_->ResetTemplateURL(
|
||||
regulatory_api_turl, regulatory_api_turl->short_name(),
|
||||
@@ -1933,7 +1934,7 @@ diff --git a/components/search_engines/search_engines_switches.cc b/components/s
|
||||
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
|
||||
--- a/components/search_engines/template_url.cc
|
||||
+++ b/components/search_engines/template_url.cc
|
||||
@@ -2051,6 +2051,10 @@ void TemplateURL::SetURL(const std::string& url) {
|
||||
@@ -2098,6 +2098,10 @@ void TemplateURL::SetURL(const std::string& url) {
|
||||
url_ref().InvalidateCachedValues();
|
||||
}
|
||||
|
||||
@@ -1947,7 +1948,7 @@ diff --git a/components/search_engines/template_url.cc b/components/search_engin
|
||||
diff --git a/components/search_engines/template_url.h b/components/search_engines/template_url.h
|
||||
--- a/components/search_engines/template_url.h
|
||||
+++ b/components/search_engines/template_url.h
|
||||
@@ -971,6 +971,7 @@ class TemplateURL {
|
||||
@@ -975,6 +975,7 @@ class TemplateURL {
|
||||
bool CreatedByRegulatoryProgram() const;
|
||||
|
||||
void SetURL(const std::string& url);
|
||||
@@ -1958,7 +1959,7 @@ diff --git a/components/search_engines/template_url.h b/components/search_engine
|
||||
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
|
||||
--- a/components/search_engines/template_url_service.cc
|
||||
+++ b/components/search_engines/template_url_service.cc
|
||||
@@ -778,13 +778,15 @@ TemplateURL* TemplateURLService::AddWithOverrides(
|
||||
@@ -770,13 +770,15 @@ TemplateURL* TemplateURLService::AddWithOverrides(
|
||||
std::unique_ptr<TemplateURL> template_url,
|
||||
const std::u16string& short_name,
|
||||
const std::u16string& keyword,
|
||||
@@ -1975,7 +1976,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
|
||||
return Add(std::move(template_url));
|
||||
}
|
||||
|
||||
@@ -999,7 +1001,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) {
|
||||
@@ -991,7 +993,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) {
|
||||
void TemplateURLService::ResetTemplateURL(TemplateURL* url,
|
||||
const std::u16string& title,
|
||||
const std::u16string& keyword,
|
||||
@@ -1985,7 +1986,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
|
||||
DCHECK(!IsCreatedByExtension(url));
|
||||
DCHECK(!keyword.empty());
|
||||
DCHECK(!search_url.empty());
|
||||
@@ -1011,6 +1014,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url,
|
||||
@@ -1003,6 +1006,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url,
|
||||
// The urls have changed, reset the favicon url.
|
||||
data.favicon_url = GURL();
|
||||
}
|
||||
@@ -1996,7 +1997,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
|
||||
diff --git a/components/search_engines/template_url_service.h b/components/search_engines/template_url_service.h
|
||||
--- a/components/search_engines/template_url_service.h
|
||||
+++ b/components/search_engines/template_url_service.h
|
||||
@@ -260,7 +260,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
@@ -255,7 +255,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
TemplateURL* AddWithOverrides(std::unique_ptr<TemplateURL> template_url,
|
||||
const std::u16string& short_name,
|
||||
const std::u16string& keyword,
|
||||
@@ -2006,7 +2007,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc
|
||||
|
||||
// Removes the keyword from the model. This deletes the supplied TemplateURL.
|
||||
// This fails if the supplied template_url is the default search provider.
|
||||
@@ -346,7 +347,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
@@ -341,7 +342,8 @@ class TemplateURLService final : public WebDataServiceConsumer,
|
||||
void ResetTemplateURL(TemplateURL* url,
|
||||
const std::u16string& title,
|
||||
const std::u16string& keyword,
|
||||
@@ -2309,7 +2310,7 @@ diff --git a/ui/webui/resources/cr_elements/BUILD.gn b/ui/webui/resources/cr_ele
|
||||
ts_files += [
|
||||
"cr_container_shadow_mixin.ts",
|
||||
"cr_radio_button/cr_radio_button_mixin.ts",
|
||||
@@ -237,7 +237,7 @@ build_webui("build") {
|
||||
@@ -238,7 +238,7 @@ build_webui("build") {
|
||||
"../js:build_ts",
|
||||
"//third_party/lit/v3_0:build_ts",
|
||||
]
|
||||
@@ -2359,8 +2360,8 @@ diff --git a/ui/webui/resources/css/BUILD.gn b/ui/webui/resources/css/BUILD.gn
|
||||
diff --git a/ui/webui/resources/images/BUILD.gn b/ui/webui/resources/images/BUILD.gn
|
||||
--- a/ui/webui/resources/images/BUILD.gn
|
||||
+++ b/ui/webui/resources/images/BUILD.gn
|
||||
@@ -51,7 +51,7 @@ generate_grd("build_grdp") {
|
||||
input_files += [ "chrome_logo_dark.svg" ]
|
||||
@@ -55,7 +55,7 @@ generate_grd("build_grdp") {
|
||||
]
|
||||
}
|
||||
|
||||
- if (!is_android && !is_ios) {
|
||||
|
||||
@@ -158,7 +158,7 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont
|
||||
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
||||
--- a/cc/trees/layer_tree_host_impl.cc
|
||||
+++ b/cc/trees/layer_tree_host_impl.cc
|
||||
@@ -5034,6 +5034,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
|
||||
@@ -5044,6 +5044,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
|
||||
if (scroll_delta.IsZero())
|
||||
return false;
|
||||
|
||||
@@ -171,7 +171,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
|
||||
@@ -54,6 +54,7 @@ import org.chromium.components.sensitive_content.SensitiveContentFeatures;
|
||||
@@ -53,6 +53,7 @@ import org.chromium.components.sensitive_content.SensitiveContentFeatures;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
|
||||
@@ -179,7 +179,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -193,7 +194,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
|
||||
@@ -183,7 +184,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
|
||||
@Override
|
||||
public void initializeWithNative(
|
||||
BottomControlsCoordinator.BottomControlsVisibilityController visibilityController,
|
||||
@@ -189,7 +189,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
ObservableSupplierImpl<Object> tabStripTokenSupplier = new ObservableSupplierImpl<>();
|
||||
|
||||
var currentTabGroupModelFilterSupplier =
|
||||
@@ -285,7 +287,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
|
||||
@@ -274,7 +276,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
|
||||
sharedImageTilesConfigBuilder,
|
||||
mThemeColorProvider,
|
||||
onSnapshotTokenChange,
|
||||
@@ -317,15 +317,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiProperties.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiProperties.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiProperties.java
|
||||
@@ -12,6 +12,7 @@ import org.chromium.ui.modelutil.PropertyKey;
|
||||
@@ -13,6 +13,7 @@ import org.chromium.ui.modelutil.PropertyKey;
|
||||
import org.chromium.ui.modelutil.PropertyModel.WritableBooleanPropertyKey;
|
||||
import org.chromium.ui.modelutil.PropertyModel.WritableIntPropertyKey;
|
||||
import org.chromium.ui.modelutil.PropertyModel.WritableObjectPropertyKey;
|
||||
+import android.content.res.ColorStateList;
|
||||
|
||||
/** {@link PropertyKey} list for the TabGroupUi. */
|
||||
class TabGroupUiProperties {
|
||||
@@ -39,6 +40,9 @@ class TabGroupUiProperties {
|
||||
@NullMarked
|
||||
@@ -41,6 +42,9 @@ class TabGroupUiProperties {
|
||||
public static final WritableObjectPropertyKey<Callback<Integer>> WIDTH_PX_CALLBACK =
|
||||
new WritableObjectPropertyKey<>();
|
||||
|
||||
@@ -335,7 +335,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
public static final PropertyKey[] ALL_KEYS =
|
||||
new PropertyKey[] {
|
||||
SHOW_GROUP_DIALOG_ON_CLICK_LISTENER,
|
||||
@@ -50,5 +54,6 @@ class TabGroupUiProperties {
|
||||
@@ -52,5 +56,6 @@ class TabGroupUiProperties {
|
||||
TINT,
|
||||
INITIAL_SCROLL_INDEX,
|
||||
WIDTH_PX_CALLBACK,
|
||||
@@ -345,7 +345,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java
|
||||
@@ -19,6 +19,10 @@ import org.chromium.base.Callback;
|
||||
@@ -20,6 +20,10 @@ import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.chrome.tab_ui.R;
|
||||
import org.chromium.ui.widget.ChromeImageView;
|
||||
|
||||
@@ -354,9 +354,9 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+
|
||||
/** Toolbar for the bottom tab strip see {@link TabGroupUiCoordinator}. */
|
||||
@NullMarked
|
||||
public class TabGroupUiToolbarView extends FrameLayout {
|
||||
private ChromeImageView mNewTabButton;
|
||||
@@ -93,6 +97,19 @@ public class TabGroupUiToolbarView extends FrameLayout {
|
||||
@@ -95,6 +99,19 @@ public class TabGroupUiToolbarView extends FrameLayout {
|
||||
mFadingEdgeEnd.setColorFilter(color, PorterDuff.Mode.SRC_IN);
|
||||
}
|
||||
|
||||
@@ -379,7 +379,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiViewBinder.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiViewBinder.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiViewBinder.java
|
||||
@@ -13,6 +13,7 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiPropert
|
||||
@@ -14,6 +14,7 @@ import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiPropert
|
||||
import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.SHOW_GROUP_DIALOG_ON_CLICK_LISTENER;
|
||||
import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.TINT;
|
||||
import static org.chromium.chrome.browser.tasks.tab_management.TabGroupUiProperties.WIDTH_PX_CALLBACK;
|
||||
@@ -387,7 +387,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
|
||||
import android.view.View;
|
||||
|
||||
@@ -51,6 +52,8 @@ class TabGroupUiViewBinder {
|
||||
@@ -54,6 +55,8 @@ class TabGroupUiViewBinder {
|
||||
} else if (NEW_TAB_BUTTON_ON_CLICK_LISTENER == propertyKey) {
|
||||
viewHolder.toolbarView.setNewTabButtonOnClickListener(
|
||||
model.get(NEW_TAB_BUTTON_ON_CLICK_LISTENER));
|
||||
@@ -429,7 +429,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.List;
|
||||
@@ -132,6 +140,124 @@ public class TabListCoordinator
|
||||
@@ -131,6 +139,124 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO
|
||||
private int mAwaitingTabId = Tab.INVALID_TAB_ID;
|
||||
private @TabActionState int mTabActionState;
|
||||
|
||||
@@ -554,7 +554,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
/**
|
||||
* Construct a coordinator for UI that shows a list of tabs.
|
||||
*
|
||||
@@ -367,6 +493,12 @@ public class TabListCoordinator
|
||||
@@ -363,6 +489,12 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO
|
||||
checkAwaitingLayout();
|
||||
}
|
||||
};
|
||||
@@ -567,7 +567,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
mRecyclerView.setLayoutManager(gridLayoutManager);
|
||||
mMediator.registerOrientationListener(gridLayoutManager);
|
||||
mMediator.updateSpanCount(
|
||||
@@ -376,7 +508,7 @@ public class TabListCoordinator
|
||||
@@ -372,7 +504,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO
|
||||
Rect frame = new Rect();
|
||||
mActivity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
|
||||
updateGridCardLayout(frame.width());
|
||||
@@ -576,7 +576,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
LinearLayoutManager layoutManager =
|
||||
new LinearLayoutManager(
|
||||
activity,
|
||||
@@ -391,6 +523,25 @@ public class TabListCoordinator
|
||||
@@ -387,6 +519,25 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO
|
||||
}
|
||||
};
|
||||
mRecyclerView.setLayoutManager(layoutManager);
|
||||
@@ -602,7 +602,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
}
|
||||
mMediator.setRecyclerViewItemAnimationToggle(mRecyclerView::setDisableItemAnimations);
|
||||
}
|
||||
@@ -411,7 +562,7 @@ public class TabListCoordinator
|
||||
@@ -407,7 +558,7 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO
|
||||
if (hasEmptyView) {
|
||||
mTabListEmptyCoordinator =
|
||||
new TabListEmptyCoordinator(
|
||||
@@ -611,7 +611,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
}
|
||||
|
||||
configureRecyclerViewTouchHelpers();
|
||||
@@ -700,6 +851,9 @@ public class TabListCoordinator
|
||||
@@ -697,6 +848,9 @@ public class TabListCoordinator implements PriceWelcomeMessageProvider, DestroyO
|
||||
void prepareTabSwitcherPaneView() {
|
||||
registerLayoutChangeListener();
|
||||
mRecyclerView.setupCustomItemAnimator();
|
||||
@@ -624,7 +624,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEmptyCoordinator.java
|
||||
@@ -9,7 +9,9 @@ import android.view.View;
|
||||
@@ -11,7 +11,9 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
@@ -632,9 +632,9 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
|
||||
+import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
@@ -19,6 +21,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
|
||||
@@ -24,6 +26,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.tab_ui.R;
|
||||
import org.chromium.ui.modelutil.ListObservable;
|
||||
import org.chromium.ui.modelutil.ListObservable.ListObserver;
|
||||
@@ -642,7 +642,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
|
||||
/**
|
||||
* Empty coordinator that is responsible for showing an empty state view in tab switcher when we are
|
||||
@@ -39,15 +42,18 @@ class TabListEmptyCoordinator {
|
||||
@@ -47,15 +50,18 @@ class TabListEmptyCoordinator {
|
||||
private boolean mIsTabSwitcherShowing;
|
||||
private boolean mIsListObserverAttached;
|
||||
private @Nullable TabListEmptyIllustrationAnimationManager mIllustrationAnimationManager;
|
||||
@@ -660,9 +660,9 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
mModel = model;
|
||||
+ mBrowserControlsStateProvider = browserControlsStateProvider;
|
||||
mListObserver =
|
||||
new ListObserver<Void>() {
|
||||
new ListObserver<>() {
|
||||
@Override
|
||||
@@ -169,6 +175,15 @@ class TabListEmptyCoordinator {
|
||||
@@ -178,6 +184,15 @@ class TabListEmptyCoordinator {
|
||||
public void attachEmptyView() {
|
||||
if (mEmptyView != null && mEmptyView.getParent() == null) {
|
||||
mRootView.addView(mEmptyView);
|
||||
@@ -675,8 +675,8 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
+ emptyViewParams.topMargin = toolbarHeightPx;
|
||||
+ }
|
||||
+ mEmptyView.setLayoutParams(emptyViewParams);
|
||||
setEmptyViewVisibility(View.GONE);
|
||||
}
|
||||
setEmptyViewVisibility(View.GONE);
|
||||
}
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
|
||||
@@ -714,15 +714,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
|
||||
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
|
||||
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
|
||||
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
|
||||
@@ -13,6 +13,7 @@ import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
@@ -15,6 +15,7 @@ import android.os.Looper;
|
||||
import android.os.SystemClock;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
+import android.view.Gravity;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@@ -579,6 +580,9 @@ public class FeedSurfaceCoordinator
|
||||
@@ -621,6 +622,9 @@ public class FeedSurfaceCoordinator
|
||||
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
layoutParams.setMarginStart(margin);
|
||||
layoutParams.setMarginEnd(margin);
|
||||
@@ -735,7 +735,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
|
||||
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
|
||||
@@ -18,6 +18,14 @@ import org.chromium.chrome.browser.flags.CromiteNativeUtils;
|
||||
@@ -20,6 +20,14 @@ import org.chromium.chrome.browser.flags.CromiteNativeUtils;
|
||||
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
|
||||
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
|
||||
|
||||
@@ -748,9 +748,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
+import org.chromium.chrome.browser.lifetime.ApplicationLifetime;
|
||||
+
|
||||
/** The Chrome implementation of AccessibilitySettingsDelegate. */
|
||||
@NullMarked
|
||||
public class ChromeAccessibilitySettingsDelegate implements AccessibilitySettingsDelegate {
|
||||
private static class TextSizeContrastAccessibilityDelegate
|
||||
@@ -81,6 +89,12 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
@@ -84,6 +92,12 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
return new ForceTabletUIDelegate();
|
||||
}
|
||||
|
||||
@@ -763,7 +763,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
private final Profile mProfile;
|
||||
|
||||
/**
|
||||
@@ -92,6 +106,62 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
@@ -95,6 +109,62 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
|
||||
mProfile = profile;
|
||||
}
|
||||
|
||||
@@ -829,7 +829,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/HeadlessBrowserControlsStateProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/HeadlessBrowserControlsStateProvider.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/HeadlessBrowserControlsStateProvider.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/HeadlessBrowserControlsStateProvider.java
|
||||
@@ -18,6 +18,11 @@ public class HeadlessBrowserControlsStateProvider implements BrowserControlsStat
|
||||
@@ -25,6 +25,11 @@ public class HeadlessBrowserControlsStateProvider implements BrowserControlsStat
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -844,7 +844,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/He
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
|
||||
@@ -258,6 +258,10 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@@ -259,6 +259,10 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@Override
|
||||
public void setCurrentTouchEventOffsets(float top) {
|
||||
EventForwarder forwarder = getEventForwarder();
|
||||
@@ -855,7 +855,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
|
||||
if (forwarder != null) forwarder.setCurrentTouchOffsetY(top);
|
||||
}
|
||||
|
||||
@@ -900,6 +904,9 @@ public class CompositorViewHolder extends FrameLayout
|
||||
@@ -901,6 +905,9 @@ public class CompositorViewHolder extends FrameLayout
|
||||
mApplicationBottomInsetSupplier != null
|
||||
? mApplicationBottomInsetSupplier.get().webContentsHeightInset
|
||||
: 0;
|
||||
@@ -913,16 +913,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java
|
||||
@@ -39,6 +39,7 @@ import org.chromium.ui.base.WindowAndroid;
|
||||
@@ -38,6 +38,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.ui.dragdrop.DragAndDropDelegate;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
|
||||
+import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
|
||||
|
||||
/** LayoutManagerChromeTablet is the specialization of LayoutManagerChrome for the tablet. */
|
||||
public class LayoutManagerChromeTablet extends LayoutManagerChrome {
|
||||
@@ -138,7 +139,8 @@ public class LayoutManagerChromeTablet extends LayoutManagerChrome {
|
||||
modalDialogManager,
|
||||
@@ -134,7 +135,8 @@ public class LayoutManagerChromeTablet extends LayoutManagerChrome {
|
||||
actionConfirmationManager,
|
||||
dataSharingTabManager,
|
||||
bottomSheetController,
|
||||
- shareDelegateSupplier);
|
||||
@@ -992,7 +992,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
import org.chromium.base.supplier.ObservableSupplier;
|
||||
import org.chromium.base.supplier.ObservableSupplierImpl;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
@@ -108,6 +109,8 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
@@ -109,6 +110,8 @@ import org.chromium.ui.interpolators.Interpolators;
|
||||
import org.chromium.ui.resources.ResourceManager;
|
||||
import org.chromium.ui.util.ColorUtils;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -1033,7 +1033,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
+ y -= mStripFilterArea.top;
|
||||
long time = time();
|
||||
if (mModelSelectorButton != null && mModelSelectorButton.click(x, y, buttons)) {
|
||||
mModelSelectorButton.handleClick(time);
|
||||
mModelSelectorButton.handleClick(time, buttons);
|
||||
@@ -313,6 +322,7 @@ public class StripLayoutHelperManager
|
||||
if (DragDropGlobalState.hasValue()) {
|
||||
return;
|
||||
@@ -1050,8 +1050,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
getActiveStripLayoutHelper().onLongPress(x, y);
|
||||
}
|
||||
|
||||
@@ -449,7 +460,8 @@ public class StripLayoutHelperManager
|
||||
ModalDialogManager modalDialogManager,
|
||||
@@ -447,7 +458,8 @@ public class StripLayoutHelperManager
|
||||
ActionConfirmationManager actionConfirmationManager,
|
||||
DataSharingTabManager dataSharingTabManager,
|
||||
@NonNull BottomSheetController bottomSheetController,
|
||||
- @NonNull Supplier<ShareDelegate> shareDelegateSupplier) {
|
||||
@@ -1060,7 +1060,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
mContext = context;
|
||||
Resources res = context.getResources();
|
||||
mManagerHost = managerHost;
|
||||
@@ -556,6 +568,8 @@ public class StripLayoutHelperManager
|
||||
@@ -557,6 +569,8 @@ public class StripLayoutHelperManager
|
||||
multiInstanceManager,
|
||||
shareDelegateSupplier,
|
||||
TabGroupListBottomSheetCoordinator::new);
|
||||
@@ -1069,10 +1069,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
|
||||
tabHoverCardViewStub.setOnInflateListener(
|
||||
(viewStub, view) -> {
|
||||
@@ -809,6 +823,10 @@ public class StripLayoutHelperManager
|
||||
// layer should be a negative value.
|
||||
yOffset -= getHeight();
|
||||
@@ -815,6 +829,10 @@ public class StripLayoutHelperManager
|
||||
yOffset = 0;
|
||||
}
|
||||
|
||||
+ int topControlsHeight = 0;
|
||||
+ if (mBrowserControlsManagerSupplier.get() != null) {
|
||||
+ topControlsHeight = mBrowserControlsManagerSupplier.get().getTopControlsHeight();
|
||||
@@ -1080,7 +1080,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
mTabStripTreeProvider.pushAndUpdateStrip(
|
||||
this,
|
||||
mLayerTitleCacheSupplier.get(),
|
||||
@@ -822,7 +840,9 @@ public class StripLayoutHelperManager
|
||||
@@ -828,7 +846,9 @@ public class StripLayoutHelperManager
|
||||
mStripTransitionScrimOpacity,
|
||||
mLeftPadding,
|
||||
mRightPadding,
|
||||
@@ -1091,7 +1091,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
|
||||
return mTabStripTreeProvider;
|
||||
}
|
||||
|
||||
@@ -888,11 +908,21 @@ public class StripLayoutHelperManager
|
||||
@@ -894,11 +914,21 @@ public class StripLayoutHelperManager
|
||||
mRightPadding,
|
||||
mTopPadding);
|
||||
|
||||
@@ -1242,8 +1242,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
|
||||
/** A class that manages browser control visibility and positioning. */
|
||||
public class BrowserControlsManager implements ActivityStateListener, BrowserControlsSizer {
|
||||
// The amount of time to delay the control show request after returning to a once visible
|
||||
@@ -559,6 +561,14 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
|
||||
return mTopControlsHeight;
|
||||
@@ -568,6 +570,14 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
|
||||
}
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -1257,7 +1257,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
|
||||
@Override
|
||||
public int getTopControlsMinHeight() {
|
||||
return mTopControlsMinHeight;
|
||||
@@ -660,6 +670,8 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
|
||||
@@ -669,6 +679,8 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon
|
||||
|
||||
@Override
|
||||
public float getTopVisibleContentOffset() {
|
||||
@@ -1320,7 +1320,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/modaldialog/Chr
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
|
||||
@@ -115,6 +115,7 @@ import org.chromium.content_public.browser.NavigationController;
|
||||
@@ -116,6 +116,7 @@ import org.chromium.content_public.browser.NavigationController;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
import org.chromium.ui.base.WindowAndroid;
|
||||
import org.chromium.url.GURL;
|
||||
@@ -1328,7 +1328,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkManagerOpener;
|
||||
@@ -775,11 +776,16 @@ public class NewTabPage
|
||||
@@ -777,11 +778,16 @@ public class NewTabPage
|
||||
final int topControlsDistanceToRest =
|
||||
mBrowserControlsStateProvider.getContentOffset()
|
||||
- mBrowserControlsStateProvider.getTopControlsHeight();
|
||||
@@ -1347,7 +1347,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
|
||||
|
||||
if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) {
|
||||
layoutParams.topMargin = topMargin;
|
||||
@@ -795,9 +801,7 @@ public class NewTabPage
|
||||
@@ -797,9 +803,7 @@ public class NewTabPage
|
||||
* strip.
|
||||
*/
|
||||
private int getToolbarExtraYOffset() {
|
||||
@@ -1370,10 +1370,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
|
||||
+import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -170,7 +173,12 @@ public class NewTabPageLayout extends LinearLayout {
|
||||
mMiddleSpacer = findViewById(R.id.ntp_middle_spacer);
|
||||
import android.widget.ImageView;
|
||||
@@ -177,7 +180,12 @@ public class NewTabPageLayout extends LinearLayout
|
||||
mFakeSearchBoxLayout = findViewById(R.id.search_box);
|
||||
mFakeSearchBoxEditText = findViewById(R.id.search_box_text);
|
||||
insertSiteSectionView();
|
||||
-
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
@@ -1555,7 +1555,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicato
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
|
||||
@@ -204,6 +204,9 @@ import org.chromium.url.GURL;
|
||||
@@ -211,6 +211,9 @@ import org.chromium.url.GURL;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1565,7 +1565,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
/**
|
||||
* Contains logic for managing the toolbar visual component. This class manages the interactions
|
||||
* with the rest of the application to ensure the toolbar is always visually up to date.
|
||||
@@ -811,6 +814,17 @@ public class ToolbarManager
|
||||
@@ -832,6 +835,17 @@ public class ToolbarManager
|
||||
}, AlwaysIncognitoLinkInterceptor.isAlwaysIncognito());
|
||||
mControlContainer = controlContainer;
|
||||
mToolbarHairline = mControlContainer.findViewById(R.id.toolbar_hairline);
|
||||
@@ -1583,7 +1583,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
|
||||
mBookmarkModelSupplier = bookmarkModelSupplier;
|
||||
mBookmarkModelSupplier.addObserver(mBookmarkModelSupplierObserver);
|
||||
@@ -1427,6 +1441,7 @@ public class ToolbarManager
|
||||
@@ -1457,6 +1471,7 @@ public class ToolbarManager
|
||||
// the height won't be measured by the background image.
|
||||
if (mControlContainer.getBackground() == null) {
|
||||
setControlContainerTopMargin(getToolbarExtraYOffset());
|
||||
@@ -1591,7 +1591,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
} else if (mLayoutChangeListener == null) {
|
||||
mLayoutChangeListener =
|
||||
(view,
|
||||
@@ -1440,6 +1455,7 @@ public class ToolbarManager
|
||||
@@ -1470,6 +1485,7 @@ public class ToolbarManager
|
||||
oldBottom) -> {
|
||||
if (mControlContainer.getBackground() == null) {
|
||||
setControlContainerTopMargin(getToolbarExtraYOffset());
|
||||
@@ -1599,7 +1599,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
mControlContainer.removeOnLayoutChangeListener(
|
||||
mLayoutChangeListener);
|
||||
mLayoutChangeListener = null;
|
||||
@@ -1894,9 +1910,21 @@ public class ToolbarManager
|
||||
@@ -1994,9 +2010,21 @@ public class ToolbarManager
|
||||
return ((LocationBarCoordinator) mLocationBar).getUrlBarViewRectProvider();
|
||||
}
|
||||
|
||||
@@ -1622,7 +1622,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
assert mTabGroupUiOneshotSupplier == null;
|
||||
assert mUndoBarThrottle != null;
|
||||
ThemeColorProvider bottomUiThemeColorProvider =
|
||||
@@ -1911,7 +1939,7 @@ public class ToolbarManager
|
||||
@@ -2011,7 +2039,7 @@ public class ToolbarManager
|
||||
mActivityTabProvider,
|
||||
mTabModelSelector,
|
||||
mActivity,
|
||||
@@ -1631,7 +1631,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
mBrowserControlsSizer,
|
||||
mScrimManager,
|
||||
mOmniboxFocusStateSupplier,
|
||||
@@ -1938,7 +1966,7 @@ public class ToolbarManager
|
||||
@@ -2038,7 +2066,7 @@ public class ToolbarManager
|
||||
mControlsVisibilityDelegate,
|
||||
mFullscreenManager,
|
||||
mEdgeToEdgeControllerSupplier,
|
||||
@@ -1640,7 +1640,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
bottomControlsContentDelegateSupplier,
|
||||
mTabObscuringHandler,
|
||||
mOverlayPanelVisibilitySupplier,
|
||||
@@ -1946,7 +1974,8 @@ public class ToolbarManager
|
||||
@@ -2046,7 +2074,8 @@ public class ToolbarManager
|
||||
/* readAloudRestoringSupplier= */ () -> {
|
||||
final var readAloud = mReadAloudControllerSupplier.get();
|
||||
return readAloud != null && readAloud.isRestoringPlayer();
|
||||
@@ -1733,7 +1733,7 @@ diff --git a/chrome/browser/android/compositor/layer/toolbar_layer.cc b/chrome/b
|
||||
#include "cc/resources/scoped_ui_resource.h"
|
||||
#include "cc/slim/layer.h"
|
||||
#include "cc/slim/nine_patch_layer.h"
|
||||
@@ -115,8 +116,13 @@ void ToolbarLayer::PushResource(int toolbar_resource_id,
|
||||
@@ -116,8 +117,13 @@ void ToolbarLayer::PushResource(int toolbar_resource_id,
|
||||
debug_layer_->RemoveFromParent();
|
||||
|
||||
// Position the toolbar at the bottom of the space available for top controls.
|
||||
@@ -1833,9 +1833,9 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom
|
||||
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java
|
||||
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java
|
||||
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java
|
||||
@@ -119,6 +119,12 @@ public interface BrowserControlsStateProvider {
|
||||
@@ -124,6 +124,12 @@ public interface BrowserControlsStateProvider {
|
||||
*/
|
||||
int getTopControlsHeight();
|
||||
int getTopControlsHairlineHeight();
|
||||
|
||||
+ /**
|
||||
+ * @return The height of the top controls in pixels.
|
||||
@@ -1849,15 +1849,15 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom
|
||||
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedListContentManager.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedListContentManager.java
|
||||
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedListContentManager.java
|
||||
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedListContentManager.java
|
||||
@@ -14,6 +14,7 @@ import android.widget.FrameLayout;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.Px;
|
||||
@@ -15,6 +15,7 @@ import androidx.annotation.Px;
|
||||
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.xsurface.ListContentManager;
|
||||
import org.chromium.chrome.browser.xsurface.ListContentManagerObserver;
|
||||
import org.chromium.chrome.browser.xsurface.LoggingParameters;
|
||||
@@ -142,7 +143,10 @@ public class FeedListContentManager implements ListContentManager {
|
||||
@@ -144,7 +145,10 @@ public class FeedListContentManager implements ListContentManager {
|
||||
FrameLayout enclosingLayout = new FrameLayout(parent.getContext());
|
||||
FrameLayout.LayoutParams layoutParams =
|
||||
new FrameLayout.LayoutParams(
|
||||
@@ -1880,9 +1880,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
#include "chrome/browser/android/webapk/webapk_features.h"
|
||||
#include "chrome/browser/browser_features.h"
|
||||
#include "chrome/browser/contextmenu/context_menu_features.h"
|
||||
@@ -315,6 +316,8 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kNavigationCaptureRefactorAndroid,
|
||||
&kNewTabSearchEngineUrlAndroid,
|
||||
@@ -326,6 +327,8 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kNavBarColorAnimation,
|
||||
&kNavBarColorMatchesTabBackground,
|
||||
&kNewTabPageAndroidTriggerForPrerender2,
|
||||
+ &features::kMoveTopToolbarToBottom,
|
||||
+ &features::kDisableToolbarSwipeUp,
|
||||
@@ -1892,7 +1892,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
|
||||
@@ -434,6 +434,10 @@ public abstract class ChromeFeatureList {
|
||||
@@ -450,6 +450,10 @@ public abstract class ChromeFeatureList {
|
||||
public static final String NEW_TAB_PAGE_ANDROID_TRIGGER_FOR_PRERENDER2 =
|
||||
"NewTabPageAndroidTriggerForPrerender2";
|
||||
public static final String NEW_TAB_PAGE_CUSTOMIZATION = "NewTabPageCustomization";
|
||||
@@ -1900,10 +1900,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
+ "DisableToolbarSwipeUp";
|
||||
+ public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
|
||||
+ "MoveTopToolbarToBottom";
|
||||
public static final String NEW_TAB_SEARCH_ENGINE_URL_ANDROID = "NewTabSearchEngineUrlAndroid";
|
||||
public static final String NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON =
|
||||
"NewTabPageCustomizationToolbarButton";
|
||||
public static final String NOTIFICATION_ONE_TAP_UNSUBSCRIBE = "NotificationOneTapUnsubscribe";
|
||||
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
|
||||
@@ -801,6 +805,10 @@ public abstract class ChromeFeatureList {
|
||||
@@ -859,6 +863,10 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(NOTIFICATION_TRAMPOLINE, false);
|
||||
public static final CachedFlag sOptimizationGuidePushNotifications =
|
||||
newCachedFlag(OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, true);
|
||||
@@ -1914,8 +1914,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false);
|
||||
public static final CachedFlag sPostGetMyMemoryStateToBackground =
|
||||
newCachedFlag(POST_GET_MEMORY_PRESSURE_TO_BACKGROUND, true);
|
||||
@@ -947,6 +955,8 @@ public abstract class ChromeFeatureList {
|
||||
sNewTabPageCustomization,
|
||||
@@ -1036,6 +1044,8 @@ public abstract class ChromeFeatureList {
|
||||
sNewTabPageCustomizationToolbarButton,
|
||||
sNotificationTrampoline,
|
||||
sOptimizationGuidePushNotifications,
|
||||
+ sMoveTopToolbarToBottom,
|
||||
@@ -2120,7 +2120,7 @@ diff --git a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.x
|
||||
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
||||
--- a/chrome/browser/prefs/browser_prefs.cc
|
||||
+++ b/chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -2282,7 +2282,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -2321,7 +2321,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(prefs::kVirtualKeyboardResizesLayoutByDefault,
|
||||
@@ -2128,7 +2128,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
|
||||
+ true);
|
||||
#endif
|
||||
|
||||
registry->RegisterBooleanPref(
|
||||
#if BUILDFLAG(ENTERPRISE_DATA_CONTROLS)
|
||||
diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
|
||||
--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
|
||||
+++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
|
||||
@@ -2139,19 +2139,19 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
+import android.os.Build;
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
import android.view.Gravity;
|
||||
@@ -52,6 +53,7 @@ import org.chromium.build.annotations.NullMarked;
|
||||
import android.util.SparseArray;
|
||||
@@ -53,6 +54,7 @@ import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.build.annotations.Nullable;
|
||||
import org.chromium.build.annotations.RequiresNonNull;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider.ControlsPosition;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.ui.appmenu.internal.R;
|
||||
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
|
||||
import org.chromium.components.browser_ui.widget.chips.ChipView;
|
||||
@@ -284,6 +286,12 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
import org.chromium.components.browser_ui.util.motion.MotionEventInfo;
|
||||
@@ -295,6 +297,12 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
}
|
||||
|
||||
mListView = (ListView) contentView.findViewById(R.id.app_menu_list);
|
||||
mListView = contentView.findViewById(R.id.app_menu_list);
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ // always scroll to the bottom to show new items
|
||||
+ mListView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
|
||||
@@ -2161,7 +2161,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
|
||||
int footerHeight = inflateFooter(footerResourceId, contentView, menuWidth);
|
||||
int headerHeight = inflateHeader(headerResourceId, contentView, menuWidth);
|
||||
@@ -322,7 +330,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
@@ -333,7 +341,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
Math.min(
|
||||
Math.abs(mTempLocation[1] - visibleDisplayFrame.top),
|
||||
Math.abs(mTempLocation[1] - visibleDisplayFrame.bottom));
|
||||
@@ -2170,7 +2170,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
menuItemIds,
|
||||
heightList,
|
||||
visibleDisplayFrame,
|
||||
@@ -342,8 +350,14 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
@@ -353,8 +361,14 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
sizingPadding,
|
||||
anchorView,
|
||||
popupWidth,
|
||||
@@ -2186,7 +2186,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
|
||||
try {
|
||||
mPopup.showAtLocation(
|
||||
@@ -405,11 +419,20 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
@@ -416,11 +430,20 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
Rect padding,
|
||||
View anchorView,
|
||||
int popupWidth,
|
||||
@@ -2208,7 +2208,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
int[] offsets = new int[2];
|
||||
// If we have a hardware menu button, locate the app menu closer to the estimated
|
||||
// hardware menu button location.
|
||||
@@ -585,7 +608,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
@@ -596,7 +619,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
}
|
||||
|
||||
@RequiresNonNull("mPopup")
|
||||
@@ -2217,7 +2217,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
List<Integer> menuItemIds,
|
||||
List<Integer> heightList,
|
||||
Rect appDimensions,
|
||||
@@ -604,7 +627,13 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
@@ -615,7 +638,13 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
- footerHeight
|
||||
- headerHeight
|
||||
- anchorViewImpactHeight;
|
||||
@@ -2232,7 +2232,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
if (mIsByPermanentButton) availableScreenSpace -= padding.top;
|
||||
if (availableScreenSpace <= 0 && sExceptionReporter != null) {
|
||||
String logMessage =
|
||||
@@ -634,6 +663,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
@@ -645,6 +674,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
|
||||
menuItemIds, heightList, groupDividerResourceId, availableScreenSpace);
|
||||
menuHeight += footerHeight + headerHeight + padding.top + padding.bottom;
|
||||
mPopup.setHeight(menuHeight);
|
||||
@@ -2243,7 +2243,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
|
||||
--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
|
||||
+++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
|
||||
@@ -23,6 +23,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
@@ -25,6 +25,7 @@ import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import org.chromium.base.Callback;
|
||||
import org.chromium.base.metrics.RecordUserAction;
|
||||
@@ -2251,10 +2251,10 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
import org.chromium.build.annotations.MonotonicNonNull;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
@@ -248,7 +249,16 @@ class AppMenuHandlerImpl
|
||||
id, customViewBinders, customViewTypeOffsetMap);
|
||||
},
|
||||
this);
|
||||
@@ -241,7 +242,16 @@ class AppMenuHandlerImpl
|
||||
assert !(isByPermanentButton && startDragging);
|
||||
|
||||
mModelList = mDelegate.getMenuItems(this);
|
||||
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
|
||||
+ // reverses the order of items in the menu
|
||||
+ ModelList modelListReversed = new ModelList();
|
||||
@@ -2271,7 +2271,7 @@ diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/ch
|
||||
diff --git a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerFactory.java b/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerFactory.java
|
||||
--- a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerFactory.java
|
||||
+++ b/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerFactory.java
|
||||
@@ -147,6 +147,7 @@ public class EdgeToEdgeControllerFactory {
|
||||
@@ -149,6 +149,7 @@ public class EdgeToEdgeControllerFactory {
|
||||
* to the window.
|
||||
*/
|
||||
public static boolean isSupportedConfiguration(Activity activity) {
|
||||
@@ -2282,7 +2282,7 @@ diff --git a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromi
|
||||
diff --git a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerImpl.java b/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerImpl.java
|
||||
--- a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerImpl.java
|
||||
+++ b/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeControllerImpl.java
|
||||
@@ -562,6 +562,7 @@ public class EdgeToEdgeControllerImpl
|
||||
@@ -580,6 +580,7 @@ public class EdgeToEdgeControllerImpl
|
||||
* the system insets due to the keyboard or the bottom controls being visible.
|
||||
*/
|
||||
private boolean shouldPadAdjusters() {
|
||||
@@ -2293,14 +2293,14 @@ diff --git a/chrome/browser/ui/android/edge_to_edge/internal/java/src/org/chromi
|
||||
diff --git a/chrome/browser/ui/android/edge_to_edge/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeUtils.java b/chrome/browser/ui/android/edge_to_edge/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeUtils.java
|
||||
--- a/chrome/browser/ui/android/edge_to_edge/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeUtils.java
|
||||
+++ b/chrome/browser/ui/android/edge_to_edge/java/src/org/chromium/chrome/browser/ui/edge_to_edge/EdgeToEdgeUtils.java
|
||||
@@ -327,6 +327,7 @@ public class EdgeToEdgeUtils {
|
||||
@@ -335,6 +335,7 @@ public class EdgeToEdgeUtils {
|
||||
* @return whether the given window's insets indicate a tappable navigation bar.
|
||||
*/
|
||||
static boolean hasTappableNavigationBar(Window window) {
|
||||
+ if ((true)) return true;
|
||||
var rootInsets = window.getDecorView().getRootWindowInsets();
|
||||
assert rootInsets != null;
|
||||
Insets navigationBarInsets =
|
||||
if (sObservedTappableNavigationBar
|
||||
&& ChromeFeatureList.sEdgeToEdgeMonitorConfigurations.isEnabled()) {
|
||||
return true;
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/DeferredIMEWindowInsetApplicationCallback.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/DeferredIMEWindowInsetApplicationCallback.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/DeferredIMEWindowInsetApplicationCallback.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/DeferredIMEWindowInsetApplicationCallback.java
|
||||
@@ -2312,7 +2312,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
private boolean mAnimationInProgress;
|
||||
private @Nullable WindowInsetsAnimationCompat mCurrentAnimation;
|
||||
private @Nullable InsetObserver mInsetObserver;
|
||||
@@ -88,6 +89,10 @@ public class DeferredIMEWindowInsetApplicationCallback
|
||||
@@ -89,6 +90,10 @@ public class DeferredIMEWindowInsetApplicationCallback
|
||||
return mKeyboardHeight;
|
||||
}
|
||||
|
||||
@@ -2323,7 +2323,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
@Override
|
||||
public void onPrepare(WindowInsetsAnimationCompat animation) {
|
||||
if ((animation.getTypeMask() & WindowInsetsCompat.Type.ime()) == 0) return;
|
||||
@@ -120,11 +125,13 @@ public class DeferredIMEWindowInsetApplicationCallback
|
||||
@@ -121,11 +126,13 @@ public class DeferredIMEWindowInsetApplicationCallback
|
||||
public WindowInsetsCompat onApplyWindowInsets(
|
||||
View view, WindowInsetsCompat windowInsetsCompat) {
|
||||
int newKeyboardHeight = 0;
|
||||
@@ -2334,9 +2334,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
windowInsetsCompat.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
newKeyboardHeight = imeInsets.bottom - systemBarInsets.bottom;
|
||||
+ mSystemBarInsetsBottom = systemBarInsets.bottom;
|
||||
}
|
||||
// Keyboard going away or the change is not animated; apply immediately.
|
||||
if (newKeyboardHeight < mKeyboardHeight || !mAnimationInProgress) {
|
||||
|
||||
// Since the ime insets are greater than 0, the keyboard is showing, but its height is
|
||||
// being suppressed in that this class deliberately wants to avoid application resizing.
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
|
||||
@@ -2454,7 +2454,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
|
||||
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
|
||||
@@ -10,6 +10,7 @@ import android.view.KeyEvent;
|
||||
@@ -12,6 +12,7 @@ import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
@@ -2462,7 +2462,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.core.view.ViewCompat;
|
||||
@@ -49,6 +50,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
@@ -51,6 +52,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
import org.chromium.ui.modelutil.LazyConstructionPropertyMcp;
|
||||
import org.chromium.ui.modelutil.MVCListAdapter.ModelList;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
@@ -2470,15 +2470,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -68,6 +70,7 @@ public class AutocompleteCoordinator
|
||||
@@ -70,6 +72,7 @@ public class AutocompleteCoordinator
|
||||
private @Nullable OmniboxSuggestionsDropdown mDropdown;
|
||||
private ObserverList<OmniboxSuggestionsDropdownScrollListener> mScrollListenerList =
|
||||
private final ObserverList<OmniboxSuggestionsDropdownScrollListener> mScrollListenerList =
|
||||
new ObserverList<>();
|
||||
+ private final @NonNull OmniboxSuggestionsDropdownEmbedder mDropdownEmbedder;
|
||||
|
||||
/** An observer watching for changes to the visual state of the omnibox suggestions. */
|
||||
public interface OmniboxSuggestionsVisualStateObserver {
|
||||
@@ -102,6 +105,7 @@ public class AutocompleteCoordinator
|
||||
@@ -104,6 +107,7 @@ public class AutocompleteCoordinator
|
||||
Context context = parent.getContext();
|
||||
|
||||
ModelList listItems = new ModelList();
|
||||
@@ -2486,7 +2486,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
PropertyModel listModel =
|
||||
new PropertyModel.Builder(SuggestionListProperties.ALL_KEYS)
|
||||
.with(SuggestionListProperties.EMBEDDER, dropdownEmbedder)
|
||||
@@ -224,6 +228,16 @@ public class AutocompleteCoordinator
|
||||
@@ -226,6 +230,16 @@ public class AutocompleteCoordinator
|
||||
|
||||
dropdown.forcePhoneStyleOmnibox(forcePhoneStyleOmnibox);
|
||||
dropdown.setAdapter(mAdapter);
|
||||
@@ -2550,15 +2550,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
/** A widget for showing a list of omnibox suggestions. */
|
||||
@NullMarked
|
||||
public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
@@ -269,7 +272,6 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
@@ -270,7 +273,6 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
addItemDecoration(new SuggestionHorizontalDivider(context));
|
||||
|
||||
mLayoutScrollListener = new SuggestionLayoutScrollListener(context);
|
||||
- setLayoutManager(mLayoutScrollListener);
|
||||
mSelectionController = new RecyclerViewSelectionController(mLayoutScrollListener);
|
||||
addOnChildAttachStateChangeListener(mSelectionController);
|
||||
|
||||
@@ -278,6 +280,13 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
mSelectionController =
|
||||
new RecyclerViewSelectionController(
|
||||
mLayoutScrollListener, SelectionController.Mode.SATURATING_WITH_SENTINEL);
|
||||
@@ -281,6 +283,13 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
|
||||
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_bottom);
|
||||
int paddingTop =
|
||||
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_top);
|
||||
@@ -2627,7 +2627,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1692,6 +1692,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1686,6 +1686,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_FORCE_TABLET_UI_TITLE" desc="Title of the preference that allows the user to update force tablet UI settings.">
|
||||
Force Tablet Mode
|
||||
</message>
|
||||
@@ -2643,7 +2643,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn
|
||||
--- a/chrome/browser/ui/android/toolbar/BUILD.gn
|
||||
+++ b/chrome/browser/ui/android/toolbar/BUILD.gn
|
||||
@@ -190,6 +190,7 @@ android_library("java") {
|
||||
@@ -206,6 +206,7 @@ android_library("java") {
|
||||
"//content/public/android:content_java",
|
||||
"//third_party/android_deps:material_design_java",
|
||||
"//third_party/androidx:androidx_annotation_annotation_experimental_java",
|
||||
@@ -2892,7 +2892,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
|
||||
@@ -70,6 +70,10 @@ import java.lang.annotation.Retention;
|
||||
@@ -72,6 +72,10 @@ import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.util.function.BooleanSupplier;
|
||||
|
||||
@@ -2903,7 +2903,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
/** Layout for the browser controls (omnibox, menu, tab strip, etc..). */
|
||||
@NullMarked
|
||||
public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@@ -174,6 +178,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
@@ -177,6 +181,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
|
||||
if (view != null)
|
||||
((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
|
||||
}
|
||||
@@ -2912,9 +2912,9 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
+ CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)getLayoutParams();
|
||||
+ layoutParams.gravity = Gravity.START | Gravity.BOTTOM;
|
||||
+ }
|
||||
mToolbarContainer =
|
||||
(ToolbarViewResourceFrameLayout) findViewById(R.id.toolbar_container);
|
||||
mToolbarContainer = findViewById(R.id.toolbar_container);
|
||||
ViewStub toolbarStub = findViewById(R.id.toolbar_stub);
|
||||
toolbarStub.setLayoutResource(toolbarLayoutId);
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarOverlayCoordinator.java
|
||||
@@ -2980,7 +2980,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
|
||||
@@ -18,6 +18,7 @@ import org.chromium.components.browser_ui.widget.ClipDrawableProgressBar.Drawing
|
||||
@@ -17,6 +17,7 @@ import org.chromium.components.browser_ui.widget.ClipDrawableProgressBar.Drawing
|
||||
import org.chromium.ui.modelutil.PropertyKey;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
import org.chromium.ui.resources.ResourceManager;
|
||||
@@ -2988,7 +2988,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
|
||||
/** A SceneLayer to render the top toolbar. This is the "view" piece of the top toolbar overlay. */
|
||||
@JNINamespace("android")
|
||||
@@ -44,6 +45,13 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
@@ -43,6 +44,13 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
/** Push all information about the texture to native at once. */
|
||||
private void pushProperties(PropertyModel model) {
|
||||
if (mResourceManagerSupplier.get() == null) return;
|
||||
@@ -3002,7 +3002,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
TopToolbarSceneLayerJni.get()
|
||||
.updateToolbarLayer(
|
||||
mNativePtr,
|
||||
@@ -54,7 +62,7 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
@@ -53,7 +61,7 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
|
||||
model.get(TopToolbarOverlayProperties.URL_BAR_RESOURCE_ID),
|
||||
model.get(TopToolbarOverlayProperties.URL_BAR_COLOR),
|
||||
model.get(TopToolbarOverlayProperties.X_OFFSET),
|
||||
@@ -3030,7 +3030,7 @@ 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
|
||||
@@ -49,6 +49,11 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -48,6 +48,11 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
private BooleanPreferenceDelegate mForceTabletUIDelegate;
|
||||
static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
|
||||
|
||||
@@ -3042,7 +3042,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
private PageZoomPreference mPageZoomDefaultZoomPref;
|
||||
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
|
||||
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
|
||||
@@ -63,6 +68,10 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -62,6 +67,10 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
mDelegate = delegate;
|
||||
}
|
||||
|
||||
@@ -3053,7 +3053,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
@@ -122,6 +131,18 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -118,6 +127,18 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
forceTabletUiPref.setChecked(mForceTabletUIDelegate.getValue());
|
||||
forceTabletUiPref.setOnPreferenceChangeListener(this);
|
||||
|
||||
@@ -3072,7 +3072,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
Preference captions = findPreference(PREF_CAPTIONS);
|
||||
captions.setOnPreferenceClickListener(
|
||||
preference -> {
|
||||
@@ -197,6 +218,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
@@ -193,6 +214,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
|
||||
mDelegate.getBrowserContextHandle(), (Integer) newValue);
|
||||
} else if (PREF_PAGE_ZOOM_ALWAYS_SHOW.equals(preference.getKey())) {
|
||||
PageZoomUtils.setShouldAlwaysShowZoomMenuItem((Boolean) newValue);
|
||||
@@ -3115,7 +3115,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
|
||||
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
|
||||
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
|
||||
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
|
||||
@@ -28,6 +28,7 @@
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "base/task/single_thread_task_runner.h"
|
||||
#include "base/task/thread_pool.h"
|
||||
#include "base/threading/scoped_blocking_call.h"
|
||||
@@ -3123,7 +3123,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/
|
||||
#include "cc/base/math_util.h"
|
||||
#include "cc/slim/layer.h"
|
||||
#include "components/input/events_helper.h"
|
||||
@@ -900,6 +901,8 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
|
||||
@@ -917,6 +918,8 @@ void RenderWidgetHostViewAndroid::OnRenderFrameMetadataChangedBeforeActivation(
|
||||
// factor. Thus, |top_content_offset| in CSS pixels is also in DIPs.
|
||||
float top_content_offset =
|
||||
metadata.top_controls_height * metadata.top_controls_shown_ratio;
|
||||
|
||||
@@ -37,7 +37,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -76,6 +76,13 @@ import org.chromium.ui.text.SpanApplier;
|
||||
@@ -77,6 +77,13 @@ import org.chromium.ui.text.SpanApplier;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@@ -51,7 +51,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
/** Fragment to keep track of the all the privacy related preferences. */
|
||||
public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
implements Preference.OnPreferenceChangeListener {
|
||||
@@ -96,6 +103,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
@@ -97,6 +104,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
private static final String PREF_INCOGNITO_TRACKING_PROTECTIONS =
|
||||
"incognito_tracking_protections";
|
||||
@VisibleForTesting static final String PREF_DO_NOT_TRACK = "do_not_track";
|
||||
@@ -68,9 +68,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
@VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies";
|
||||
@VisibleForTesting static final String PREF_TRACKING_PROTECTION = "tracking_protection";
|
||||
private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info";
|
||||
@@ -211,6 +228,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
passwordLeakTogglePref.setVisible(false);
|
||||
}
|
||||
@@ -208,6 +225,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
|
||||
passwordLeakTogglePref.setOnPreferenceChangeListener(this);
|
||||
|
||||
+ mSearchSuggestions = (ChromeSwitchPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
|
||||
+ mSearchSuggestions.setOnPreferenceChangeListener(this);
|
||||
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
ChromeSwitchPreference canMakePaymentPref =
|
||||
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
|
||||
canMakePaymentPref.setOnPreferenceChangeListener(this);
|
||||
@@ -359,6 +386,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
@@ -356,6 +383,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
} else if (PREF_PASSWORD_LEAK_DETECTION.equals(key)) {
|
||||
UserPrefs.get(getProfile())
|
||||
.setBoolean(Pref.PASSWORD_LEAK_DETECTION_ENABLED, (boolean) newValue);
|
||||
@@ -95,7 +95,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -371,6 +401,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
@@ -368,6 +398,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
|
||||
|
||||
/** Updates the preferences. */
|
||||
public void updatePreferences() {
|
||||
@@ -104,7 +104,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
+
|
||||
ChromeSwitchPreference passwordLeakTogglePref =
|
||||
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
|
||||
if (passwordLeakTogglePref != null && passwordLeakTogglePref.isVisible()) {
|
||||
if (passwordLeakTogglePref != null) {
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
|
||||
@@ -7,7 +7,7 @@ Voice button and legacy share/voice functionality is not restored.
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../ReaderModeToolbarButtonController.java | 6 +++---
|
||||
.../ReaderModeToolbarButtonController.java | 5 +++--
|
||||
.../ContextualPageActionController.java | 4 ++++
|
||||
.../chrome/browser/settings/MainSettings.java | 9 +--------
|
||||
.../segmentation_platform_config.cc | 1 +
|
||||
@@ -19,13 +19,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../adaptive/AdaptiveToolbarStats.java | 2 ++
|
||||
...oButtonGroupAdaptiveToolbarPreference.java | 19 ++++++++++++-------
|
||||
...ve-button-in-top-toolbar-customization.inc | 1 +
|
||||
12 files changed, 41 insertions(+), 22 deletions(-)
|
||||
12 files changed, 41 insertions(+), 21 deletions(-)
|
||||
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Restore-adaptive-button-in-top-toolbar-customization.inc
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeToolbarButtonController.java
|
||||
@@ -39,12 +39,12 @@ public class ReaderModeToolbarButtonController extends BaseButtonDataProvider {
|
||||
@@ -39,11 +39,12 @@ public class ReaderModeToolbarButtonController extends BaseButtonDataProvider {
|
||||
modalDialogManager,
|
||||
buttonDrawable,
|
||||
context.getString(R.string.reader_view_text_alt),
|
||||
@@ -34,8 +34,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/R
|
||||
/* supportsTinting= */ true,
|
||||
/* iphCommandBuilder= */ null,
|
||||
AdaptiveToolbarButtonVariant.READER_MODE,
|
||||
- /* tooltipTextResId= */ Resources.ID_NULL,
|
||||
- /* showBackgroundHighlight= */ false);
|
||||
- /* tooltipTextResId= */ Resources.ID_NULL);
|
||||
+ /* tooltipTextResId= */ R.string.reader_mode_action_chip_label_simplify_page,
|
||||
+ /* showBackgroundHighlight= */ true);
|
||||
}
|
||||
@@ -44,7 +43,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/R
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java b/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/segmentation_platform/ContextualPageActionController.java
|
||||
@@ -202,6 +202,10 @@ public class ContextualPageActionController {
|
||||
@@ -212,6 +212,10 @@ public class ContextualPageActionController {
|
||||
&& mTabSupplier.get().getId() == tab.getId();
|
||||
if (!isSameTab) return;
|
||||
|
||||
@@ -58,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/segmentation_pl
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
|
||||
@@ -305,14 +305,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
@@ -299,14 +299,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
|
||||
getContext(),
|
||||
getProfile(),
|
||||
/* androidPermissionDelegate= */ null,
|
||||
@@ -107,7 +106,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/radio_button_grou
|
||||
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarButtonController.java
|
||||
@@ -320,7 +320,7 @@ public class AdaptiveToolbarButtonController
|
||||
@@ -335,7 +335,7 @@ public class AdaptiveToolbarButtonController
|
||||
}
|
||||
|
||||
private boolean isScreenWideEnoughForButton() {
|
||||
|
||||
Reference in New Issue
Block a user