diff --git a/DEPS b/DEPS
index 2bc9766..ace5aa1 100644
--- a/DEPS
+++ b/DEPS
@@ -212,7 +212,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.
-  'feed_revision': '0ac884dad3d640ac4a31ba80c7f0d25be623ab52',
+  'feed_revision': '9e68039a0d2fcd72eaff19697262be4ab4b4eb22',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling android_sdk_build-tools_version
   # and whatever else without interference from each other.
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java
index 2d07791..34b28f27 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPage.java
@@ -26,6 +26,9 @@
 import com.google.android.libraries.feed.host.stream.SnackbarApi;
 import com.google.android.libraries.feed.host.stream.SnackbarCallbackApi;
 import com.google.android.libraries.feed.host.stream.StreamConfiguration;
+import com.google.android.libraries.feed.host.stream.TooltipApi;
+import com.google.android.libraries.feed.host.stream.TooltipCallbackApi;
+import com.google.android.libraries.feed.host.stream.TooltipInfo;
 
 import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.base.VisibleForTesting;
@@ -100,6 +103,14 @@
         }
     }
 
+    private static class BasicTooltipApi implements TooltipApi {
+        @Override
+        public boolean maybeShowHelpUi(
+                TooltipInfo tooltipInfo, View view, TooltipCallbackApi tooltipCallback) {
+            return false;
+        }
+    }
+
     private static class BasicStreamConfiguration implements StreamConfiguration {
         public BasicStreamConfiguration() {}
 
@@ -355,6 +366,8 @@
                 consumptionObserver, offlineIndicator, OfflinePageBridge.getForProfile(profile),
                 loggingBridge);
 
+        TooltipApi tooltipApi = new BasicTooltipApi();
+
         FeedStreamScope streamScope =
                 feedProcessScope
                         .createFeedStreamScopeBuilder(chromeActivity, mImageLoader, actionApi,
@@ -362,7 +375,7 @@
                                 new BasicCardConfiguration(
                                         chromeActivity.getResources(), mUiConfig),
                                 new BasicSnackbarApi(mNewTabPageManager.getSnackbarManager()),
-                                offlineIndicator)
+                                offlineIndicator, tooltipApi)
                         .build();
 
         mStream = streamScope.getStream();
diff --git a/third_party/feed/README.chromium b/third_party/feed/README.chromium
index b7a5b2b..e08ca2b 100644
--- a/third_party/feed/README.chromium
+++ b/third_party/feed/README.chromium
@@ -2,7 +2,7 @@
 Short name: feed
 URL: https://chromium.googlesource.com/feed
 Version: 0
-Revision: 0ac884dad3d640ac4a31ba80c7f0d25be623ab52
+Revision: 9e68039a0d2fcd72eaff19697262be4ab4b4eb22
 License: Apache 2.0
 License File: LICENSE
 Security Critical: yes
diff --git a/third_party/feed/java_sources.gni b/third_party/feed/java_sources.gni
index 2105a83..820b815 100644
--- a/third_party/feed/java_sources.gni
+++ b/third_party/feed/java_sources.gni
@@ -95,6 +95,7 @@
   "src/src/main/java/com/google/android/libraries/feed/common/concurrent/SimpleSettableFuture.java",
   "src/src/main/java/com/google/android/libraries/feed/common/concurrent/TaskQueue.java",
   "src/src/main/java/com/google/android/libraries/feed/common/feedobservable/FeedObservable.java",
+  "src/src/main/java/com/google/android/libraries/feed/common/feedobservable/ImmediatelyNotifyingObservableNotifier.java",
   "src/src/main/java/com/google/android/libraries/feed/common/feedobservable/ObservableNotifier.java",
   "src/src/main/java/com/google/android/libraries/feed/common/functional/Committer.java",
   "src/src/main/java/com/google/android/libraries/feed/common/functional/Consumer.java",
@@ -118,6 +119,7 @@
   "src/src/main/java/com/google/android/libraries/feed/feedactionparser/internal/ActionTypeConverter.java",
   "src/src/main/java/com/google/android/libraries/feed/feedactionparser/internal/ElementTypeConverter.java",
   "src/src/main/java/com/google/android/libraries/feed/feedactionparser/internal/PietFeedActionPayloadRetriever.java",
+  "src/src/main/java/com/google/android/libraries/feed/feedactionparser/internal/TooltipInfoImpl.java",
   "src/src/main/java/com/google/android/libraries/feed/feedactionreader/FeedActionReader.java",
   "src/src/main/java/com/google/android/libraries/feed/feedapplifecyclelistener/FeedAppLifecycleListener.java",
   "src/src/main/java/com/google/android/libraries/feed/feedapplifecyclelistener/FeedLifecycleListener.java",
@@ -208,6 +210,10 @@
   "src/src/main/java/com/google/android/libraries/feed/host/stream/SnackbarApi.java",
   "src/src/main/java/com/google/android/libraries/feed/host/stream/SnackbarCallbackApi.java",
   "src/src/main/java/com/google/android/libraries/feed/host/stream/StreamConfiguration.java",
+  "src/src/main/java/com/google/android/libraries/feed/host/stream/TooltipApi.java",
+  "src/src/main/java/com/google/android/libraries/feed/host/stream/TooltipCallbackApi.java",
+  "src/src/main/java/com/google/android/libraries/feed/host/stream/TooltipInfo.java",
+  "src/src/main/java/com/google/android/libraries/feed/host/stream/TooltipSupportedApi.java",
   "src/src/main/java/com/google/android/libraries/feed/hostimpl/logging/LoggingApiImpl.java",
   "src/src/main/java/com/google/android/libraries/feed/hostimpl/network/NetworkClientWrapper.java",
   "src/src/main/java/com/google/android/libraries/feed/hostimpl/scheduler/SchedulerApiWrapper.java",
@@ -240,6 +246,7 @@
   "src/src/main/java/com/google/android/libraries/feed/piet/ParameterizedTextEvaluator.java",
   "src/src/main/java/com/google/android/libraries/feed/piet/PietFatalException.java",
   "src/src/main/java/com/google/android/libraries/feed/piet/PietManager.java",
+  "src/src/main/java/com/google/android/libraries/feed/piet/PietManagerImpl.java",
   "src/src/main/java/com/google/android/libraries/feed/piet/PietStylesHelper.java",
   "src/src/main/java/com/google/android/libraries/feed/piet/RecyclerKey.java",
   "src/src/main/java/com/google/android/libraries/feed/piet/RecyclerPool.java",
@@ -277,6 +284,7 @@
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/logging/OneShotVisibilityLoggingListener.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/logging/SpinnerLogger.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/logging/StreamContentLoggingData.java",
+  "src/src/main/java/com/google/android/libraries/feed/sharedstream/logging/UiSessionRequestLogger.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/logging/VisibilityListener.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/logging/VisibilityMonitor.java",
   "src/src/main/java/com/google/android/libraries/feed/sharedstream/offlinemonitor/StreamOfflineMonitor.java",
