[go: up one dir, main page]

Fix for nullptr crash in SpatNav

No test since I don't know how to setup this situation. However, it's
safe to just avoid scrolling in this case.

(cherry picked from commit 3438927c32a922d35ea49c340fbbdb4c0c36bca9)

Bug: 970164
Change-Id: Icbae6b631e2f80e9e6493825fefb0f10fab974f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645792
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#667579}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1662835
Reviewed-by: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/branch-heads/3809@{#374}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
diff --git a/third_party/blink/renderer/core/page/spatial_navigation.cc b/third_party/blink/renderer/core/page/spatial_navigation.cc
index 5a3c2b4..08bde9ae 100644
--- a/third_party/blink/renderer/core/page/spatial_navigation.cc
+++ b/third_party/blink/renderer/core/page/spatial_navigation.cc
@@ -289,7 +289,9 @@
   // CanScrollInDirection(). Regular arrow-key scrolling (without
   // --enable-spatial-navigation) already uses smooth scrolling by default.
   ScrollableArea* scroller = ScrollableAreaFor(container);
-  DCHECK(scroller);
+  if (!scroller)
+    return false;
+
   scroller->ScrollBy(ScrollOffset(dx, dy), kUserScroll);
   return true;
 }