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