diff --git a/DEPS b/DEPS index e22992e..aa401b6 100644 --- a/DEPS +++ b/DEPS
@@ -303,7 +303,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': 'bd1bb3912cd03d128e90d06ab55ae48cee2fe4ca', + 'skia_revision': '876b5016b1352674a8fc0ec3c9191d4b74f6d320', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. @@ -395,7 +395,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling devtools-frontend # and whatever else without interference from each other. - 'devtools_frontend_revision': '0a620946f97149f534eae5004b1e69f31e9f2fed', + 'devtools_frontend_revision': '1afd135b7077cc0e199c9c5db139fe85e008aded', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libprotobuf-mutator # and whatever else without interference from each other. @@ -419,7 +419,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'dawn_revision': '0e9c89bfcb3bb3d907b90600f262ae3064f7bede', + 'dawn_revision': '1a81a31c86f24b217d6396bc0a4c796590fffc43', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -523,7 +523,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling llvm-libc # and whatever else without interference from each other. - 'llvm_libc_revision': 'ce2146789ec6ea882edee56c3d7b40dff851eb6b', + 'llvm_libc_revision': '912274164f0877ca917c06e8484ad3be1784833a', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling llvm-libc # and whatever else without interference from each other. @@ -1484,7 +1484,7 @@ 'packages': [ { 'package': 'chromium/chrome/test/data/variations/cipd', - 'version': 'UBzn9dhvGHhJmxC660VbYtn1c5udUDPc8f0BOuIGZP4C', + 'version': 'G7Hh0kIm2rG5uqr0sF6YGENqA3Ro9rwMIYWmMQ6yyTMC', }, ], 'dep_type': 'cipd', @@ -1495,7 +1495,7 @@ 'src/clank': { 'url': Var('chrome_git') + '/clank/internal/apps.git' + '@' + - '9c641111228c88dca7b9eef87db3e5f87d00edba', + '9aaa5367d466646ac2d28828342d3a1165f5f306', 'condition': 'checkout_android and checkout_src_internal', }, @@ -1654,7 +1654,7 @@ 'packages': [ { 'package': 'chromium/third_party/androidx', - 'version': 'YS1zmmh-UpjI0v48YeooSsPPi0aR4YUOs_qD9qcT4DcC', + 'version': 'cxEyTzVT7uuNifSPlUiuKlb4tSo35_YQjBbMVmgZeCwC', }, ], 'condition': 'checkout_android and non_git_source', @@ -2903,7 +2903,7 @@ Var('chromium_git') + '/webpagereplay.git' + '@' + Var('webpagereplay_revision'), 'src/third_party/webrtc': - Var('webrtc_git') + '/src.git' + '@' + '03c763386cb23eaf6631985480b3b5febca7904f', + Var('webrtc_git') + '/src.git' + '@' + '7a56cbb05d89dee09ff67d00595bf9fb1ed78650', # Wuffs' canonical repository is at github.com/google/wuffs, but we use # Skia's mirror of Wuffs, the same as in upstream Skia's DEPS file. @@ -3036,7 +3036,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/help_app/app', - 'version': 'jIhDeZ5C-AEEP9RyiTa7GCLUpeZknNDBnXoaXeGmISsC', + 'version': 'lv2a_VZTak9tECuGxQUyuNM8i1ALfaUy1JxW7jcfEDMC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -3047,7 +3047,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/media_app/app', - 'version': 'QVUYL3DUAiza4OPGOpxUE8Ioox6x87uMxeHa-F-maLkC', + 'version': 'eBiAZ2uvvqTcV1fUnuMYJtCBjXcMPeJ18Lj0UIVAFhMC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -3080,7 +3080,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/projector_app/app', - 'version': '24Fkiuq5crB5YcDnRRDWDZ0KC9xVMU1L1iqZ2SyTiiwC', + 'version': '-rvm94WxMnM68SquVNcXlOduHvzBni2VWApKdx5XlQYC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -4689,7 +4689,7 @@ 'src/ios_internal': { 'url': Var('chrome_git') + '/chrome/ios_internal.git' + '@' + - '5c49dcd4d55cd8dfb57025a7213bd9663de9163b', + 'c5e56941476cea4381eff1c195f7d16edf3996d0', 'condition': 'checkout_ios and checkout_src_internal', },
diff --git a/chrome/VERSION b/chrome/VERSION index 0e5beb3b..31dca3a5 100644 --- a/chrome/VERSION +++ b/chrome/VERSION
@@ -1,4 +1,4 @@ MAJOR=137 MINOR=0 -BUILD=7147 +BUILD=7149 PATCH=0
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/app/edge_to_edge/EdgeToEdgeInstrumentationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/app/edge_to_edge/EdgeToEdgeInstrumentationTest.java index d837b027..d0028077 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/app/edge_to_edge/EdgeToEdgeInstrumentationTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/app/edge_to_edge/EdgeToEdgeInstrumentationTest.java
@@ -33,6 +33,7 @@ import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.util.DoNotBatch; import org.chromium.base.test.util.Feature; +import org.chromium.base.test.util.Features.DisableFeatures; import org.chromium.base.test.util.Features.EnableFeatures; import org.chromium.base.test.util.HistogramWatcher; import org.chromium.base.test.util.MinAndroidSdkLevel; @@ -254,6 +255,7 @@ @Test @MediumTest + @DisableFeatures(ChromeFeatureList.FLOATING_SNACKBAR) public void testSnackbar() throws InterruptedException { activateFeatureToEdge(); optOutOfToEdge();
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarContainerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarContainerTest.java index 432eb5f8..3bb1f408 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarContainerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarContainerTest.java
@@ -4,6 +4,7 @@ package org.chromium.chrome.browser.infobar; + import android.graphics.Rect; import android.graphics.Region; import android.view.ViewGroup; @@ -32,7 +33,9 @@ import org.chromium.base.test.util.CriteriaHelper; import org.chromium.base.test.util.DisableIf; import org.chromium.base.test.util.Feature; +import org.chromium.base.test.util.Features.DisableFeatures; import org.chromium.base.test.util.RequiresRestart; +import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeSwitches; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; @@ -336,6 +339,7 @@ @MediumTest @Feature({"Browser"}) @RequiresRestart("crbug.com/1242720") + @DisableFeatures(ChromeFeatureList.FLOATING_SNACKBAR) public void testAddAndDismissSurfaceFlingerOverlays() throws Exception { final ViewGroup decorView = (ViewGroup) sActivityTestRule.getActivity().getWindow().getDecorView();
diff --git a/chrome/browser/data_sharing/BUILD.gn b/chrome/browser/data_sharing/BUILD.gn index 2c5fd44ef..c7a994e 100644 --- a/chrome/browser/data_sharing/BUILD.gn +++ b/chrome/browser/data_sharing/BUILD.gn
@@ -57,6 +57,7 @@ "android/java/res/layout/shared_image_tiles_icon.xml", "android/java/res/values/colors.xml", "android/java/res/values/dimens.xml", + "android/java/res/values/ids.xml", "android/java/res/values/styles.xml", ] deps = [ "//components/browser_ui/styles/android:java_resources" ] @@ -128,6 +129,8 @@ "//base:supplier_java", "//chrome/browser/ui/android/strings:ui_strings_grd", "//components/browser_ui/bottomsheet/android:java", + "//components/browser_ui/bottomsheet/android:java_resources", + "//components/browser_ui/widget/android:java", "//components/browser_ui/widget/android:java_resources", "//components/collaboration/public:messaging_java", "//components/data_sharing/public:public_java",
diff --git a/chrome/browser/data_sharing/android/java/res/layout/recent_activity_bottom_sheet.xml b/chrome/browser/data_sharing/android/java/res/layout/recent_activity_bottom_sheet.xml index 09911cd..bab9c42f 100644 --- a/chrome/browser/data_sharing/android/java/res/layout/recent_activity_bottom_sheet.xml +++ b/chrome/browser/data_sharing/android/java/res/layout/recent_activity_bottom_sheet.xml
@@ -14,14 +14,33 @@ <include layout="@layout/bottom_sheet_handlebar"/> - <TextView - android:id="@+id/title" - android:textAppearance="@style/TextAppearance.Headline2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/recent_activity_title_top_margin" - android:layout_marginStart="@dimen/list_item_default_margin" - android:text="@string/data_sharing_recent_activity_bottom_sheet_title"/> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:gravity="center_vertical" + android:layout_marginTop="@dimen/recent_activity_title_top_margin" + android:paddingStart="@dimen/list_item_default_margin" + android:paddingEnd="@dimen/list_item_default_margin"> + + <TextView + android:id="@+id/title" + android:textAppearance="@style/TextAppearance.Headline2" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="@string/data_sharing_recent_activity_bottom_sheet_title"/> + + <org.chromium.ui.listmenu.ListMenuButton + android:id="@+id/recent_activity_menu_button" + android:layout_width="@dimen/min_touch_target_size" + android:layout_height="@dimen/min_touch_target_size" + android:background="@null" + android:src="@drawable/ic_more_vert_24dp" + android:contentDescription="@string/collaboration_recent_activity_menu_option" + app:tint="@color/default_icon_color_tint_list" /> + + </LinearLayout> <FrameLayout android:layout_width="match_parent"
diff --git a/chrome/browser/data_sharing/android/java/res/values/dimens.xml b/chrome/browser/data_sharing/android/java/res/values/dimens.xml index 790d2be..78adafc 100644 --- a/chrome/browser/data_sharing/android/java/res/values/dimens.xml +++ b/chrome/browser/data_sharing/android/java/res/values/dimens.xml
@@ -23,7 +23,7 @@ <dimen name="recent_activity_avatar_size">40dp</dimen> <dimen name="recent_activity_avatar_radius">20dp</dimen> <dimen name="recent_activity_avatar_margin_end">16dp</dimen> - <dimen name="recent_activity_title_top_margin">14dp</dimen> + <dimen name="recent_activity_title_top_margin">2dp</dimen> <dimen name="recent_activity_recycler_view_top_margin">7dp</dimen> <dimen name="recent_activity_empty_view_top_margin">80dp</dimen> <dimen name="recent_activity_content_area_min_height">200dp</dimen>
diff --git a/chrome/browser/data_sharing/android/java/res/values/ids.xml b/chrome/browser/data_sharing/android/java/res/values/ids.xml new file mode 100644 index 0000000..108c0845 --- /dev/null +++ b/chrome/browser/data_sharing/android/java/res/values/ids.xml
@@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +Copyright 2025 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +--> + +<resources> + <!-- Menu IDs --> + <item type="id" name="see_full_activity" /> +</resources>
diff --git a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingTabManager.java b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingTabManager.java index 73b799b..d4ec3e8 100644 --- a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingTabManager.java +++ b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingTabManager.java
@@ -886,6 +886,12 @@ collaborationId, assumeNonNull(existingGroup.syncId), manageSharingCallback); + + Runnable showFullActivityRunnable = + () -> { + mDataSharingTabGroupsDelegate.openUrlInChromeCustomTab( + activity, new GURL(ACTIVITY_LOGS_URL)); + }; RecentActivityListCoordinator recentActivityListCoordinator = new RecentActivityListCoordinator( collaborationId, @@ -895,7 +901,8 @@ tabGroupSyncService, new DataSharingFaviconProvider(activity, mProfile, mBulkFaviconUtil), avatarProvider, - recentActivityActionHandler); + recentActivityActionHandler, + showFullActivityRunnable); recentActivityListCoordinator.requestShowUI(); }
diff --git a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityContainerProperties.java b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityContainerProperties.java index 77bd90f2..3e40569 100644 --- a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityContainerProperties.java +++ b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityContainerProperties.java
@@ -4,9 +4,12 @@ package org.chromium.chrome.browser.data_sharing.ui.recent_activity; +import android.view.View.OnClickListener; + import org.chromium.build.annotations.NullMarked; import org.chromium.ui.modelutil.PropertyKey; import org.chromium.ui.modelutil.PropertyModel.WritableBooleanPropertyKey; +import org.chromium.ui.modelutil.PropertyModel.WritableObjectPropertyKey; /** Properties for the recent activity list container view. */ @NullMarked @@ -14,5 +17,8 @@ public static final WritableBooleanPropertyKey EMPTY_STATE_VISIBLE = new WritableBooleanPropertyKey(); - public static final PropertyKey[] ALL_KEYS = {EMPTY_STATE_VISIBLE}; + public static final WritableObjectPropertyKey<OnClickListener> MENU_CLICK_LISTENER = + new WritableObjectPropertyKey<>(); + + public static final PropertyKey[] ALL_KEYS = {EMPTY_STATE_VISIBLE, MENU_CLICK_LISTENER}; }
diff --git a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityContainerViewBinder.java b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityContainerViewBinder.java index 2e40d09..84c3b665 100644 --- a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityContainerViewBinder.java +++ b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityContainerViewBinder.java
@@ -7,6 +7,7 @@ import android.view.View; import org.chromium.build.annotations.NullMarked; +import org.chromium.ui.listmenu.ListMenuButton; import org.chromium.ui.modelutil.PropertyKey; import org.chromium.ui.modelutil.PropertyModel; @@ -21,6 +22,10 @@ View recyclerView = view.findViewById(R.id.recent_activity_recycler_view); emptyView.setVisibility(isEmptyState ? View.VISIBLE : View.GONE); recyclerView.setVisibility(isEmptyState ? View.GONE : View.VISIBLE); + } else if (propertyKey == RecentActivityContainerProperties.MENU_CLICK_LISTENER) { + ListMenuButton menuButton = view.findViewById(R.id.recent_activity_menu_button); + menuButton.setOnClickListener( + model.get(RecentActivityContainerProperties.MENU_CLICK_LISTENER)); } } }
diff --git a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityListCoordinator.java b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityListCoordinator.java index 7988a82..910b2be 100644 --- a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityListCoordinator.java +++ b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityListCoordinator.java
@@ -10,6 +10,7 @@ import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; +import android.view.View.OnClickListener; import androidx.recyclerview.widget.RecyclerView; @@ -18,14 +19,22 @@ import org.chromium.build.annotations.Nullable; import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.EmptyBottomSheetObserver; +import org.chromium.components.browser_ui.widget.BrowserUiListMenuUtils; import org.chromium.components.collaboration.messaging.MessagingBackendService; import org.chromium.components.data_sharing.GroupMember; import org.chromium.components.tab_group_sync.TabGroupSyncService; +import org.chromium.ui.listmenu.BasicListMenu; +import org.chromium.ui.listmenu.ListMenu; +import org.chromium.ui.listmenu.ListMenuButton; +import org.chromium.ui.listmenu.ListMenuDelegate; +import org.chromium.ui.listmenu.ListMenuItemProperties; import org.chromium.ui.modelutil.LayoutViewBuilder; import org.chromium.ui.modelutil.MVCListAdapter.ModelList; import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.modelutil.PropertyModelChangeProcessor; import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter; +import org.chromium.ui.widget.RectProvider; +import org.chromium.ui.widget.ViewRectProvider; import org.chromium.url.GURL; /** @@ -64,12 +73,14 @@ @Nullable GroupMember member, Callback<Drawable> avatarDrawableCallback); } + private final Context mContext; private final BottomSheetController mBottomSheetController; private final ModelList mModelList; private final View mContentContainer; private final RecyclerView mContentRecyclerView; private final RecentActivityListMediator mMediator; private @Nullable RecentActivityBottomSheetContent mBottomSheetContent; + private final Runnable mShowFullActivityRunnable; /** * Constructor. @@ -81,6 +92,7 @@ * @param faviconProvider The backend for providing favicon for URLs. * @param avatarProvider The backend for providing avatars for users. * @param recentActivityActionHandler Click event handler for activity rows. + * @param showFullActivityRunnable Runnable to show the full activity log. */ public RecentActivityListCoordinator( String collaborationId, @@ -90,13 +102,20 @@ TabGroupSyncService tabGroupSyncService, FaviconProvider faviconProvider, AvatarProvider avatarProvider, - RecentActivityActionHandler recentActivityActionHandler) { + RecentActivityActionHandler recentActivityActionHandler, + Runnable showFullActivityRunnable) { + mContext = context; mBottomSheetController = bottomSheetController; + mShowFullActivityRunnable = showFullActivityRunnable; mContentContainer = LayoutInflater.from(context) .inflate(R.layout.recent_activity_bottom_sheet, /* root= */ null); PropertyModel propertyModel = - new PropertyModel.Builder(RecentActivityContainerProperties.ALL_KEYS).build(); + new PropertyModel.Builder(RecentActivityContainerProperties.ALL_KEYS) + .with( + RecentActivityContainerProperties.MENU_CLICK_LISTENER, + createRecentActivityMenuButtonClickListener()) + .build(); PropertyModelChangeProcessor.create( propertyModel, mContentContainer, RecentActivityContainerViewBinder::bind); @@ -134,6 +153,53 @@ this::closeBottomSheet); } + private OnClickListener createRecentActivityMenuButtonClickListener() { + return view -> { + ListMenuButton menuView = view.findViewById(R.id.recent_activity_menu_button); + ModelList modelList = new ModelList(); + modelList.add( + BrowserUiListMenuUtils.buildMenuListItem( + R.string.data_sharing_recent_activity_show_all, + R.id.see_full_activity, + 0, + /* enabled= */ true)); + ListMenu.Delegate delegate = + (model) -> { + int textId = model.get(ListMenuItemProperties.TITLE_ID); + if (textId == R.string.data_sharing_recent_activity_show_all) { + mShowFullActivityRunnable.run(); + } + }; + + BasicListMenu listMenu = + BrowserUiListMenuUtils.getBasicListMenu(mContext, modelList, delegate); + + ListMenuDelegate listMenuDelegate = + new ListMenuDelegate() { + @Override + public ListMenu getListMenu() { + return listMenu; + } + + @Override + public RectProvider getRectProvider(View listMenuButton) { + ViewRectProvider rectProvider = new ViewRectProvider(listMenuButton); + rectProvider.setIncludePadding(true); + + int handleBarHeight = + mContentContainer.findViewById(R.id.handlebar).getHeight(); + int buttonHeight = listMenuButton.getHeight(); + rectProvider.setInsetPx(0, handleBarHeight + buttonHeight, 0, 0); + return rectProvider; + } + }; + + menuView.setDelegate(listMenuDelegate); + menuView.tryToFitLargestItem(true); + menuView.showMenu(); + }; + } + /** * Called to create the UI creation. Builds the list UI and after the list is created pulls up * the bottom sheet UI.
diff --git a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityListCoordinatorUnitTest.java b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityListCoordinatorUnitTest.java index 768127c..5000e30 100644 --- a/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityListCoordinatorUnitTest.java +++ b/chrome/browser/data_sharing/android/java/src/org/chromium/chrome/browser/data_sharing/ui/recent_activity/RecentActivityListCoordinatorUnitTest.java
@@ -27,6 +27,7 @@ import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; +import org.chromium.base.CallbackUtils; import org.chromium.base.test.BaseRobolectricTestRunner; import org.chromium.chrome.browser.data_sharing.ui.recent_activity.RecentActivityListCoordinator.AvatarProvider; import org.chromium.chrome.browser.data_sharing.ui.recent_activity.RecentActivityListCoordinator.FaviconProvider; @@ -92,7 +93,8 @@ mTabGroupSyncService, mFaviconProvider, mAvatarProvider, - mRecentActivityActionHandler); + mRecentActivityActionHandler, + CallbackUtils.emptyRunnable()); verify(mBottomSheetController).addObserver(any()); }
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc index fd0dc48..efef92d 100644 --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -895,7 +895,7 @@ BASE_FEATURE(kFloatingSnackbar, "FloatingSnackbar", - base::FEATURE_DISABLED_BY_DEFAULT); + base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kForceBrowserControlsUponExitingFullscreen, "ForceBrowserControlsUponExitingFullscreen",
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 index 901f53b..e8cafbd 100644 --- 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
@@ -735,7 +735,7 @@ newCachedFlag(ENABLE_DISCOUNT_INFO_API, false, true); public static final CachedFlag sEnableXAxisActivityTransition = newCachedFlag(ENABLE_X_AXIS_ACTIVITY_TRANSITION, false); - public static final CachedFlag sFloatingSnackbar = newCachedFlag(FLOATING_SNACKBAR, false); + public static final CachedFlag sFloatingSnackbar = newCachedFlag(FLOATING_SNACKBAR, true); public static final CachedFlag sForceListTabSwitcher = newCachedFlag(FORCE_LIST_TAB_SWITCHER, false); public static final CachedFlag sForceTranslucentNotificationTrampoline =
diff --git a/chrome/browser/ui/views/autofill/popup/popup_row_factory_utils.cc b/chrome/browser/ui/views/autofill/popup/popup_row_factory_utils.cc index d0a3fa4..7f896f2 100644 --- a/chrome/browser/ui/views/autofill/popup/popup_row_factory_utils.cc +++ b/chrome/browser/ui/views/autofill/popup/popup_row_factory_utils.cc
@@ -692,9 +692,14 @@ case SuggestionType::kVirtualCreditCardEntry: { return std::make_unique<PopupRowView>( a11y_selection_delegate, selection_delegate, controller, line_number, - CreateVcnPopupRowContentView(controller, suggestion, show_new_badge, - main_filling_product, - std::move(filter_match))); + base::FeatureList::IsEnabled( + features::kAutofillEnableNewFopDisplayDesktop) + ? CreateVcnPopupRowContentView( + controller, suggestion, show_new_badge, + main_filling_product, std::move(filter_match)) + : CreatePopupRowContentView(suggestion, show_new_badge, + main_filling_product, + std::move(filter_match))); } default: return std::make_unique<PopupRowView>(
diff --git a/chrome/build/android-arm32.pgo.txt b/chrome/build/android-arm32.pgo.txt index 7a8430f..bf24086a 100644 --- a/chrome/build/android-arm32.pgo.txt +++ b/chrome/build/android-arm32.pgo.txt
@@ -1 +1 @@ -chrome-android32-main-1745689589-0064ab0b0fa4ddec4937b9e90c2f28e1fcc1a66f-88d5558aae62123bae6bcee12dbf023afd3cc2c7.profdata +chrome-android32-main-1745776734-a19239003c0836e7eb753b1c9e957d888a2c438d-c6c1cc1b7d4540d350bb2f7ec8967093045468a9.profdata
diff --git a/chrome/build/android-arm64.pgo.txt b/chrome/build/android-arm64.pgo.txt index 6f6b80f..eac63fe 100644 --- a/chrome/build/android-arm64.pgo.txt +++ b/chrome/build/android-arm64.pgo.txt
@@ -1 +1 @@ -chrome-android64-main-1745697310-a506f7f53221760ca40e6d1d561796565496ff47-f979e88e210eb0e8fd4caa303dbf08a17ae888a0.profdata +chrome-android64-main-1745788982-a2b784206b4813f9cdadfa523b0b7cf7d72a0fdd-17479885e10e6aa3175a8df78090cc145c7a908e.profdata
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt index d01842a..79656521 100644 --- a/chrome/build/linux.pgo.txt +++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@ -chrome-linux-main-1745689589-bf3664ea16e24a55f208b69aa08a9605ace388b3-88d5558aae62123bae6bcee12dbf023afd3cc2c7.profdata +chrome-linux-main-1745776734-3cc70faf21c61d98aacf76f32104c67ef8952c5d-c6c1cc1b7d4540d350bb2f7ec8967093045468a9.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt index 0fd8f2cd..0e6ec0b 100644 --- a/chrome/build/mac-arm.pgo.txt +++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@ -chrome-mac-arm-main-1745697310-2748fac0bc6c22ae0afc3115eef33f20fab23be5-f979e88e210eb0e8fd4caa303dbf08a17ae888a0.profdata +chrome-mac-arm-main-1745790496-00e563e1104978b9c580f69d4764ec4f20045e31-5168bc856e885aa2269a223f1b5308bfda98df93.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt index af0f813..98140b3 100644 --- a/chrome/build/mac.pgo.txt +++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@ -chrome-mac-main-1745689589-0c761ae2912acfd7e58c90d3a2ac7592f88a7c33-88d5558aae62123bae6bcee12dbf023afd3cc2c7.profdata +chrome-mac-main-1745776734-ebefd2b4d5ac9b13972b94db3b82af9ed14bcc17-c6c1cc1b7d4540d350bb2f7ec8967093045468a9.profdata
diff --git a/chrome/build/win-arm64.pgo.txt b/chrome/build/win-arm64.pgo.txt index c44d88b..e921730b 100644 --- a/chrome/build/win-arm64.pgo.txt +++ b/chrome/build/win-arm64.pgo.txt
@@ -1 +1 @@ -chrome-win-arm64-main-1745689589-2d1bd59f8928febf07501d07c13677ccea3a3add-88d5558aae62123bae6bcee12dbf023afd3cc2c7.profdata +chrome-win-arm64-main-1745776734-d55b2b19a15c2746f1672605e4c49c411363eb1e-c6c1cc1b7d4540d350bb2f7ec8967093045468a9.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt index 26803e5f..83fa152 100644 --- a/chrome/build/win64.pgo.txt +++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@ -chrome-win64-main-1745668735-3b2eac74eaa7890b3e44fab378dc1fb8fbbe4ecd-16b7b6a5c9488b79a21b349ed2b5ec35452f4fce.profdata +chrome-win64-main-1745754583-7299c524f989e6c97d269ee6982d3d2cfa006242-08f22e8c6fb6d2893c64981c70a3be9b5494f346.profdata
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM index c214b659..e54eb59c 100644 --- a/chromeos/CHROMEOS_LKGM +++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@ -16265.0.0-1068461 \ No newline at end of file +16266.0.0-1068489 \ No newline at end of file
diff --git a/clank b/clank index 9c64111..9aaa536 160000 --- a/clank +++ b/clank
@@ -1 +1 @@ -Subproject commit 9c641111228c88dca7b9eef87db3e5f87d00edba +Subproject commit 9aaa5367d466646ac2d28828342d3a1165f5f306
diff --git a/components/certificate_transparency/data/log_list.json b/components/certificate_transparency/data/log_list.json index 2781847..cd39fa1 100644 --- a/components/certificate_transparency/data/log_list.json +++ b/components/certificate_transparency/data/log_list.json
@@ -1,6 +1,6 @@ { - "version": "53.25", - "log_list_timestamp": "2025-04-26T12:55:09Z", + "version": "53.26", + "log_list_timestamp": "2025-04-27T12:54:16Z", "operators": [ { "name": "Google",
diff --git a/components/collaboration_strings.grdp b/components/collaboration_strings.grdp index ad83b5ea..04868144 100644 --- a/components/collaboration_strings.grdp +++ b/components/collaboration_strings.grdp
@@ -34,6 +34,9 @@ <message name="IDS_COLLABORATION_SEVERAL_GROUPS_REMOVED_NOTIFICATION" desc="Format for the notification text appearing when more than 2 tab groups are no longer shared with the user."> <ph name="GROUP_COUNT">$1<ex>5</ex></ph> tab groups no longer available </message> + <message name="IDS_COLLABORATION_RECENT_ACTIVITY_MENU_OPTION" desc="Accessibility string for the recent activity menu options." formatter_data="android_java"> + Sharing options + </message> <!-- Error Messages --> <message name ="IDS_COLLABORATION_SOMETHING_WENT_WRONG_HEADER" desc="The header of the error dialog something went wrong."> Something went wrong. @@ -83,7 +86,7 @@ <message name ="IDS_COLLABORATION_ENTREPRISE_GROUP_CLOSED_BODY" desc="The body of the error dialog when entreprise group is closed."> When a group is closed, it limits who can join </message> - <!-- Error Messages --> + <!-- /Error Messages --> <!-- /Collaboration --> <!-- Data Sharing --> @@ -155,7 +158,7 @@ <message name="IDS_DATA_SHARING_RECENT_ACTIVITY_UNKNOWN_USER" desc="The user name to show on the recent activity bottom sheet row if the user info cannot be found, e.g. deleted their account."> Deleted account </message> - <message name ="IDS_DATA_SHARING_SHOW_ALL_RECENT_ACTIVITY" desc="The text on the button to show the full recent activity logs."> + <message name ="IDS_DATA_SHARING_RECENT_ACTIVITY_SHOW_ALL" desc="The text on the button to show the full recent activity logs." formatter_data="android_java"> See full activity </message> <!-- Recent Activity -->
diff --git a/components/collaboration_strings_grdp/IDS_COLLABORATION_RECENT_ACTIVITY_MENU_OPTION.png.sha1 b/components/collaboration_strings_grdp/IDS_COLLABORATION_RECENT_ACTIVITY_MENU_OPTION.png.sha1 new file mode 100644 index 0000000..734e85b --- /dev/null +++ b/components/collaboration_strings_grdp/IDS_COLLABORATION_RECENT_ACTIVITY_MENU_OPTION.png.sha1
@@ -0,0 +1 @@ +7e56a5a317699b6d4d99604435756c49032b5710 \ No newline at end of file
diff --git a/components/collaboration_strings_grdp/IDS_DATA_SHARING_SHOW_ALL_RECENT_ACTIVITY.png.sha1 b/components/collaboration_strings_grdp/IDS_DATA_SHARING_RECENT_ACTIVITY_SHOW_ALL.png.sha1 similarity index 100% rename from components/collaboration_strings_grdp/IDS_DATA_SHARING_SHOW_ALL_RECENT_ACTIVITY.png.sha1 rename to components/collaboration_strings_grdp/IDS_DATA_SHARING_RECENT_ACTIVITY_SHOW_ALL.png.sha1
diff --git a/ios/chrome/browser/search_engines/model/ios_search_engine_choice_service_client.mm b/ios/chrome/browser/search_engines/model/ios_search_engine_choice_service_client.mm index 3818cba..bbe54e2 100644 --- a/ios/chrome/browser/search_engines/model/ios_search_engine_choice_service_client.mm +++ b/ios/chrome/browser/search_engines/model/ios_search_engine_choice_service_client.mm
@@ -28,6 +28,14 @@ bool IOSSearchEngineChoiceServiceClient::DoesChoicePredateDeviceRestore( const search_engines::ChoiceCompletionMetadata& choice_metadata) { + if (IsDeviceRestoreDetectedInCurrentSession()) { + // LastDeviceRestoreTimestamp() returns no date on the current session of + // restore. + // TODO(crbug.com/413368496): This can be removed once crbug.com/413368496 + // is fixed. `IsDeviceRestoreDetectedInCurrentSession()` should return a + // timestamp even during the first session after the restore. + return true; + } std::optional<base::Time> last_restore_date = LastDeviceRestoreTimestamp(); return last_restore_date.has_value() && (choice_metadata.timestamp < last_restore_date.value());
diff --git a/ios/chrome/browser/search_engines/model/ios_search_engine_choice_service_client_unittest.mm b/ios/chrome/browser/search_engines/model/ios_search_engine_choice_service_client_unittest.mm index ff883d4..0bba888 100644 --- a/ios/chrome/browser/search_engines/model/ios_search_engine_choice_service_client_unittest.mm +++ b/ios/chrome/browser/search_engines/model/ios_search_engine_choice_service_client_unittest.mm
@@ -172,7 +172,7 @@ search_engines::ChoiceCompletionMetadata metadata = { .timestamp = choice_completion_timestamp, .version = base::Version("1.2.3.4")}; - EXPECT_FALSE( + EXPECT_TRUE( ios_search_engine_choice_service_client_.DoesChoicePredateDeviceRestore( metadata)); }
diff --git a/ios/google_internal/frameworks/ChromeExtensionKeychainInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeExtensionKeychainInternal.framework.dSYM.ios.zip.sha1 index 236390b..cd39a80 100644 --- a/ios/google_internal/frameworks/ChromeExtensionKeychainInternal.framework.dSYM.ios.zip.sha1 +++ b/ios/google_internal/frameworks/ChromeExtensionKeychainInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@ -1e1ce583ed6148aa9a1ee46aaa9e2d5afd770ac1 \ No newline at end of file +7ef695cc1735662ea52f65ee120085c1ee0af410 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/ChromeExtensionKeychainInternal.framework.dSYM.ios_asan.zip.sha1 b/ios/google_internal/frameworks/ChromeExtensionKeychainInternal.framework.dSYM.ios_asan.zip.sha1 index 8c2c8cff..d73ca9f0 100644 --- a/ios/google_internal/frameworks/ChromeExtensionKeychainInternal.framework.dSYM.ios_asan.zip.sha1 +++ b/ios/google_internal/frameworks/ChromeExtensionKeychainInternal.framework.dSYM.ios_asan.zip.sha1
@@ -1 +1 @@ -551705248fcd8cad5036ed529a6faadbfba71dc2 \ No newline at end of file +c304b48160698720fbf2b816dd7a10a2d0d21207 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1 index 6858556..0f6a2a06 100644 --- a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1 +++ b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@ -c387612811a419a2292976db51af3250b3a1228b \ No newline at end of file +055bc9702c0d5f0a3ff271a37444ca853196a372 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios_asan.zip.sha1 b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios_asan.zip.sha1 index dd80163..41d0970 100644 --- a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios_asan.zip.sha1 +++ b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios_asan.zip.sha1
@@ -1 +1 @@ -c8f73bf756b9614699ccae912333f17884801641 \ No newline at end of file +876de0e9c911b20decc7af050097d093cfd6c654 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1 index 493ec9a..5a3ee19 100644 --- a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1 +++ b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@ -ea95aa31f60ed14731857d470a9554a585d415f4 \ No newline at end of file +209cad8c0ea3a718c47edfac093b438bf7f25502 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios_asan.zip.sha1 b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios_asan.zip.sha1 index 0ca45601..6062f0d9 100644 --- a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios_asan.zip.sha1 +++ b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios_asan.zip.sha1
@@ -1 +1 @@ -10e5b359dc6494b847f1ae44422cd3ade2c68d88 \ No newline at end of file +e6e5136a8995e3db79c9c0e3df18a8d829b5f7da \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.ios.zip.sha1 index cb62174..93db8a98 100644 --- a/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -cbce32e54584020aa3997666911a071cd5d62687 \ No newline at end of file +f446d97b8e3531577a8b61bc10c87f0532b10aad \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.ios_asan.zip.sha1 b/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.ios_asan.zip.sha1 index a5f56220..7321f90 100644 --- a/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.ios_asan.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.ios_asan.zip.sha1
@@ -1 +1 @@ -e0c2f8251cfd8cbc065f99f2d56d20509bbe3c51 \ No newline at end of file +10eafb1de2c38dbf91b35b0e1ba69ebd14cc4750 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.iossimulator.zip.sha1 index 163f2c6..21002ff3 100644 --- a/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -90a21e6ed8fd60221845c829e37a41b47d676329 \ No newline at end of file +196c63b94b9f41ebff01fe00725480e4f2636569 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.iossimulator_asan.zip.sha1 b/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.iossimulator_asan.zip.sha1 index 33eb24d..af8a9753 100644 --- a/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.iossimulator_asan.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_extension_keychain_internal_dynamic_framework.iossimulator_asan.zip.sha1
@@ -1 +1 @@ -d29da3a4c9f87b84c6fb6446e12ff59bfce82abb \ No newline at end of file +68569fbac8b011a760458e9d77edd4ad82670739 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 index 65f022d..f0ce7957 100644 --- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -724fdc75fd40d3f77231c4276bfc9f92eb3c3f61 \ No newline at end of file +6d256368b86c86f2dbbada7e8a17e995b063c08a \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios_asan.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios_asan.zip.sha1 index b066127..145b20f5 100644 --- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios_asan.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios_asan.zip.sha1
@@ -1 +1 @@ -65729b9204d1b8651d0660bad6bac03be1de0158 \ No newline at end of file +a0b97a29ad3e76fe05fd989e9dfc101c1165997c \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 index 0061dff..3bfe1f2 100644 --- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -417cd01d5545dff80234302388ce8d877b676419 \ No newline at end of file +e504f2c63de7d391c722d09e1cdf031f2312ed18 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator_asan.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator_asan.zip.sha1 index 2b4706d..94ff537 100644 --- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator_asan.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator_asan.zip.sha1
@@ -1 +1 @@ -4d8f085ee93bbec7112c3aa797cf090eb8e87d0e \ No newline at end of file +53099c40ee699c5d595aa2704c883764566a50e7 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 index cb8e511..e660117 100644 --- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -8affed71b3e2ac3e963bf1b170bebeca3c692ddd \ No newline at end of file +4a244a1423a9f1187cf66a2c683fc971ea51fce8 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios_asan.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios_asan.zip.sha1 index 8adf4eb..cf16960 100644 --- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios_asan.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios_asan.zip.sha1
@@ -1 +1 @@ -2c8eaa84e7a1e7f8637aac1e24381be60641f993 \ No newline at end of file +c467ba777f72615ea91a07fc4aeac2da9d6c7580 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 index 139a824..c9685b1 100644 --- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -f2f09c3fa26c1d105365270a90807827d8e9911d \ No newline at end of file +c0291b5eca3a6c548087f80fb2920ae3bf419a84 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator_asan.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator_asan.zip.sha1 index 280f022..327c589 100644 --- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator_asan.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator_asan.zip.sha1
@@ -1 +1 @@ -edff6e42009a2a494862380d9f25396139a2f32f \ No newline at end of file +c1d916f1b2fd857f2972d31edb3db4bc9fa1b4b2 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1 index 763694f..47e26b0b 100644 --- a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -3f4c6a5017a89ee3603dc5b42ba75e76ef610af8 \ No newline at end of file +a47b2548c8a95fb8550581188b1d355faaf57bd8 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1 index 523cd23..6ac7915 100644 --- a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -f3e2f2bbcb08819358fb146974d5adc59d691c13 \ No newline at end of file +6b4f8febfcb08c5f158e932ac456a4b502b38e6b \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 index 4f171a19..ffa0cc7 100644 --- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -13af92a7bdeb60860851add9060c7f72b8e67d1c \ No newline at end of file +fb725f4373b22a076d8a3ad4008f8b05a4dda85f \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios_asan.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios_asan.zip.sha1 index f57a057..18fa876 100644 --- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios_asan.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios_asan.zip.sha1
@@ -1 +1 @@ -c7ef642c5832c8bb02465aa14afff93945519de4 \ No newline at end of file +a9832523918efebd63dadaa5243a4210402ba328 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 index 0582dd0..aa022e4c 100644 --- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -13d85d08e4d24d1bdc12e7cf2f3ca23605f25f57 \ No newline at end of file +401626e22384ee25c268eaae82b40d297599ba01 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator_asan.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator_asan.zip.sha1 index 294ea78..5218a1c9 100644 --- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator_asan.zip.sha1 +++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator_asan.zip.sha1
@@ -1 +1 @@ -59d002ee2b2b3eca030c2ae16b6fa31b267086c1 \ No newline at end of file +9be656e3a039c669878eaee4b85093c06757f444 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 index afdd756..860c1dc 100644 --- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 +++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@ -da2968e8c3212e025c467e9d02aa673f6f7b6d12 \ No newline at end of file +6e89102139d23111d731d4715f3bdc81ccbe2496 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios_asan.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios_asan.zip.sha1 index a506a00..95dff92 100644 --- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios_asan.zip.sha1 +++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios_asan.zip.sha1
@@ -1 +1 @@ -d91b364efc4d513a8c9749336b8c33824bfd0881 \ No newline at end of file +c3b448d3dc8593df328b4182e89caba74002b3a9 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 index e0b9a22..25eb493 100644 --- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 +++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@ -9fadc1e9a65a46de5439a186362f1cf143f2e8df \ No newline at end of file +a5e27ab603a7616f9bef3ec4278599dd91548492 \ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator_asan.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator_asan.zip.sha1 index 3bb70ff..db993b4 100644 --- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator_asan.zip.sha1 +++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator_asan.zip.sha1
@@ -1 +1 @@ -8321a94e5ffcbf469ac19eca8312ae8313280aa1 \ No newline at end of file +6435cb3f353ce77884a93b9f5f696291db3cec49 \ No newline at end of file
diff --git a/ios_internal b/ios_internal index 5c49dcd..c5e5694 160000 --- a/ios_internal +++ b/ios_internal
@@ -1 +1 @@ -Subproject commit 5c49dcd4d55cd8dfb57025a7213bd9663de9163b +Subproject commit c5e56941476cea4381eff1c195f7d16edf3996d0
diff --git a/net/http/transport_security_state_static.pins b/net/http/transport_security_state_static.pins index 4ac0279c..18f1c5a 100644 --- a/net/http/transport_security_state_static.pins +++ b/net/http/transport_security_state_static.pins
@@ -43,9 +43,9 @@ # hash function for preloaded entries again (we have already done so once). # -# Last updated: 2025-04-26 12:55 UTC +# Last updated: 2025-04-27 12:54 UTC PinsListTimestamp -1745672109 +1745758456 TestSPKI sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
diff --git a/net/http/transport_security_state_static_pins.json b/net/http/transport_security_state_static_pins.json index efaa62a..4d30a0e 100644 --- a/net/http/transport_security_state_static_pins.json +++ b/net/http/transport_security_state_static_pins.json
@@ -31,7 +31,7 @@ // the 'static_spki_hashes' and 'bad_static_spki_hashes' fields in 'pinsets' // refer to, and the timestamp at which the pins list was last updated. // -// Last updated: 2025-04-26 12:55 UTC +// Last updated: 2025-04-27 12:54 UTC // { "pinsets": [
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc index c7d577a..6d0a14d 100644 --- a/net/url_request/url_request.cc +++ b/net/url_request/url_request.cc
@@ -1409,29 +1409,12 @@ std::optional<net::cookie_util::StorageAccessStatus> storage_access_status = network_delegate()->GetStorageAccessStatus(*this, deferred_redirect_info_); - - auto get_storage_access_value_outcome_if_omitted = - [&]() -> std::optional<net::cookie_util::StorageAccessStatusOutcome> { - if (!storage_access_status) { - return net::cookie_util::StorageAccessStatusOutcome::kOmittedSameSite; - } - return std::nullopt; - }; - - auto storage_access_value_outcome = - get_storage_access_value_outcome_if_omitted(); - if (storage_access_value_outcome) { - storage_access_status = std::nullopt; - } else { - storage_access_value_outcome = - ConvertSecFetchStorageAccessHeaderValueToOutcome( - storage_access_status.value()); - } - base::UmaHistogramEnumeration( "API.StorageAccessHeader.StorageAccessStatusOutcome", - storage_access_value_outcome.value()); - + storage_access_status + ? ConvertSecFetchStorageAccessHeaderValueToOutcome( + storage_access_status.value()) + : net::cookie_util::StorageAccessStatusOutcome::kOmittedSameSite); return StorageAccessStatusCache(storage_access_status); }
diff --git a/third_party/androidx/build.gradle b/third_party/androidx/build.gradle index c628383b..2128378f 100644 --- a/third_party/androidx/build.gradle +++ b/third_party/androidx/build.gradle
@@ -303,7 +303,7 @@ google() maven { // This URL is generated by the fetch_all_androidx.py script. - url 'https://androidx.dev/snapshots/builds/13412321/artifacts/repository' + url 'https://androidx.dev/snapshots/builds/13412753/artifacts/repository' } mavenCentral() }
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json index 185d140b..410a392 100644 --- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json +++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
@@ -402175,10 +402175,6 @@ "2ce9a46f05ee2614aff69c66d621b20bcb93b396", [] ], - "imagedata-expected.txt": [ - "2384386d052c4df2a18bd55ae9eae09ff90d1968", - [] - ], "size.attributes.style.png": [ "eeedd0ff05889ffd4468bf19a2e8e9e0a094201c", [] @@ -642432,7 +642428,7 @@ ] ], "imagedata.html": [ - "e124f8ff6ea869d23a7c28418f8435a3d21e2677", + "123654a528a4bde858a479d63ee058ac2b9c2c61", [ null, {} @@ -732484,6 +732480,31 @@ ] } ] + ], + "useragentdata.https.tentative.any.js": [ + "3af48ee416ac217d7c5d488d6874e445bc6edf1e", + [ + "ua-client-hints/useragentdata.https.tentative.any.html", + { + "script_metadata": [ + [ + "title", + "tests for navigator.userAgentData on Linux" + ] + ] + } + ], + [ + "ua-client-hints/useragentdata.https.tentative.any.worker.html", + { + "script_metadata": [ + [ + "title", + "tests for navigator.userAgentData on Linux" + ] + ] + } + ] ] }, "uievents": { @@ -812707,6 +812728,13 @@ {} ] ], + "WorkerNavigator_userAgentData.https.tentative.html": [ + "e4026e2ff06873c24c37cd59108b0a83dc69fd9a", + [ + null, + {} + ] + ], "WorkerPerformanceNow.html": [ "286832fd947138c3e13b3c10cd5632706f57b335", [
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-canvas-element/imagedata-expected.txt b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-canvas-element/imagedata-expected.txt deleted file mode 100644 index 2384386..0000000 --- a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-canvas-element/imagedata-expected.txt +++ /dev/null
@@ -1,5 +0,0 @@ -This is a testharness.js-based test. -[FAIL] ImageData(buffer, w, opt h), Uint8ClampedArray argument type check - assert_throws_js: function "function() {\n new ImageData(new Int8Array(1), 1);\n }" threw object "IndexSizeError: Failed to construct 'ImageData': The source width is zero or not a number." ("IndexSizeError") expected instance of function "function TypeError() { [native code] }" ("TypeError") -Harness: the test ran to completion. -
diff --git a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-canvas-element/imagedata.html b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-canvas-element/imagedata.html index e124f8ff..123654a5 100644 --- a/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-canvas-element/imagedata.html +++ b/third_party/blink/web_tests/external/wpt/html/semantics/embedded-content/the-canvas-element/imagedata.html
@@ -43,12 +43,6 @@ }, "ImageData(buffer, w, h), buffer.length == 4 * w * h must be true"); test(function() { - assert_throws_js(TypeError, function() { - new ImageData(new Int8Array(1), 1); - }); -}, "ImageData(buffer, w, opt h), Uint8ClampedArray argument type check"); - -test(function() { var imageData = new ImageData(new Uint8ClampedArray(24), 2); assert_equals(imageData.width, 2); assert_equals(imageData.height, 3);
diff --git a/third_party/dawn b/third_party/dawn index 0e9c89b..1a81a31 160000 --- a/third_party/dawn +++ b/third_party/dawn
@@ -1 +1 @@ -Subproject commit 0e9c89bfcb3bb3d907b90600f262ae3064f7bede +Subproject commit 1a81a31c86f24b217d6396bc0a4c796590fffc43
diff --git a/third_party/devtools-frontend/src b/third_party/devtools-frontend/src index 0a62094..1afd135 160000 --- a/third_party/devtools-frontend/src +++ b/third_party/devtools-frontend/src
@@ -1 +1 @@ -Subproject commit 0a620946f97149f534eae5004b1e69f31e9f2fed +Subproject commit 1afd135b7077cc0e199c9c5db139fe85e008aded
diff --git a/third_party/llvm-libc/src b/third_party/llvm-libc/src index ce21467..9122741 160000 --- a/third_party/llvm-libc/src +++ b/third_party/llvm-libc/src
@@ -1 +1 @@ -Subproject commit ce2146789ec6ea882edee56c3d7b40dff851eb6b +Subproject commit 912274164f0877ca917c06e8484ad3be1784833a
diff --git a/third_party/skia b/third_party/skia index bd1bb39..876b501 160000 --- a/third_party/skia +++ b/third_party/skia
@@ -1 +1 @@ -Subproject commit bd1bb3912cd03d128e90d06ab55ae48cee2fe4ca +Subproject commit 876b5016b1352674a8fc0ec3c9191d4b74f6d320
diff --git a/third_party/webrtc b/third_party/webrtc index 03c7633..7a56cbb 160000 --- a/third_party/webrtc +++ b/third_party/webrtc
@@ -1 +1 @@ -Subproject commit 03c763386cb23eaf6631985480b3b5febca7904f +Subproject commit 7a56cbb05d89dee09ff67d00595bf9fb1ed78650