diff --git a/DEPS b/DEPS
index 84b742f..93c4912 100644
--- a/DEPS
+++ b/DEPS
@@ -42,7 +42,7 @@
       '7bde79cc274d06451bf65ae82c012a5d3e476b5a',
   'crashpad/third_party/mini_chromium/mini_chromium':
       Var('chromium_git') + '/chromium/mini_chromium@' +
-      '2470faf722b0fd259ca11c045fdb370e09037c4e',
+      '9cdc2a7c8415bd880757d2f564edf363f0218fe1',
   'crashpad/third_party/libfuzzer/src':
       Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git@' +
       'fda403cf93ecb8792cb1d061564d89a6553ca020',
diff --git a/client/annotation.cc b/client/annotation.cc
index 258f965..71b6498 100644
--- a/client/annotation.cc
+++ b/client/annotation.cc
@@ -16,6 +16,7 @@
 
 #include <type_traits>
 
+#include "base/check_op.h"
 #include "client/annotation_list.h"
 
 namespace crashpad {
diff --git a/minidump/minidump_user_stream_writer.cc b/minidump/minidump_user_stream_writer.cc
index 8401b28..29bb71c 100644
--- a/minidump/minidump_user_stream_writer.cc
+++ b/minidump/minidump_user_stream_writer.cc
@@ -14,6 +14,7 @@
 
 #include "minidump/minidump_user_stream_writer.h"
 
+#include "base/check_op.h"
 #include "util/file/file_writer.h"
 
 namespace crashpad {
diff --git a/test/ios/crash_type_xctest.mm b/test/ios/crash_type_xctest.mm
index 460cafa..00d89e7 100644
--- a/test/ios/crash_type_xctest.mm
+++ b/test/ios/crash_type_xctest.mm
@@ -49,7 +49,7 @@
 
   // Override EDO default error handler.  Without this, the default EDO error
   // handler will throw an error and fail the test.
-  EDOSetClientErrorHandler(^(NSError* error) {
+  EDOSetClientErrorHandler(^(NSError* error){
       // Do nothing.
   });
 }
diff --git a/test/scoped_guarded_page_posix.cc b/test/scoped_guarded_page_posix.cc
index b2a3bea..bb191d7 100644
--- a/test/scoped_guarded_page_posix.cc
+++ b/test/scoped_guarded_page_posix.cc
@@ -17,7 +17,7 @@
 #include <sys/mman.h>
 
 #include "base/check.h"
-#include "base/process/process_metrics.h"
+#include "base/memory/page_size.h"
 
 namespace crashpad {
 namespace test {
diff --git a/test/scoped_guarded_page_test.cc b/test/scoped_guarded_page_test.cc
index 023d1ed..291a12b 100644
--- a/test/scoped_guarded_page_test.cc
+++ b/test/scoped_guarded_page_test.cc
@@ -14,7 +14,7 @@
 
 #include "test/scoped_guarded_page.h"
 
-#include "base/process/process_metrics.h"
+#include "base/memory/page_size.h"
 #include "gtest/gtest.h"
 #include "test/gtest_death.h"
 
diff --git a/test/scoped_guarded_page_win.cc b/test/scoped_guarded_page_win.cc
index 6355965..a87691e 100644
--- a/test/scoped_guarded_page_win.cc
+++ b/test/scoped_guarded_page_win.cc
@@ -17,7 +17,7 @@
 #include <windows.h>
 
 #include "base/check.h"
-#include "base/process/process_metrics.h"
+#include "base/memory/page_size.h"
 
 namespace crashpad {
 namespace test {
diff --git a/tools/tool_support.cc b/tools/tool_support.cc
index a4f923c..b453f6e 100644
--- a/tools/tool_support.cc
+++ b/tools/tool_support.cc
@@ -19,6 +19,7 @@
 #include <memory>
 #include <vector>
 
+#include "base/strings/string_piece.h"
 #include "base/strings/utf_string_conversions.h"
 #include "package.h"
 
@@ -92,7 +93,7 @@
 base::FilePath::StringType ToolSupport::CommandLineArgumentToFilePathStringType(
     const base::StringPiece& path) {
 #if defined(OS_POSIX)
-  return path.as_string();
+  return std::string(path.data(), path.size());
 #elif defined(OS_WIN)
   return base::UTF8ToWide(path);
 #endif  // OS_POSIX
diff --git a/util/BUILD.gn b/util/BUILD.gn
index f4d88a3..d9a33a2 100644
--- a/util/BUILD.gn
+++ b/util/BUILD.gn
@@ -609,7 +609,10 @@
     "../third_party/zlib",
   ]
 
-  deps += [ "../third_party/mini_chromium:base" ]
+  deps += [
+    "../third_party/mini_chromium:base",
+    "../third_party/mini_chromium:chromeos_buildflags",
+  ]
 
   if (crashpad_is_mac || crashpad_is_ios) {
     include_dirs += [ "$root_build_dir/gen" ]
diff --git a/util/ios/exception_processor.mm b/util/ios/exception_processor.mm
index a826681..2b2857e 100644
--- a/util/ios/exception_processor.mm
+++ b/util/ios/exception_processor.mm
@@ -300,10 +300,11 @@
         static IMP gesture_environment_min_imp =
             uigestureimp_lambda(&gesture_environment_max_imp);
 
-        IMP caller = reinterpret_cast<IMP>(caller_frame_info.start_ip);
         if (gesture_environment_min_imp && gesture_environment_max_imp &&
-            caller >= gesture_environment_min_imp &&
-            caller <= gesture_environment_max_imp) {
+            caller_frame_info.start_ip >=
+                reinterpret_cast<unw_word_t>(gesture_environment_min_imp) &&
+            caller_frame_info.start_ip <=
+                reinterpret_cast<unw_word_t>(gesture_environment_max_imp)) {
           TerminatingFromUncaughtNSException(exception,
                                              "_UIGestureEnvironmentUpdate");
         }
diff --git a/util/linux/ptrace_broker.cc b/util/linux/ptrace_broker.cc
index 68621f2..13c8b79 100644
--- a/util/linux/ptrace_broker.cc
+++ b/util/linux/ptrace_broker.cc
@@ -24,8 +24,8 @@
 #include <algorithm>
 
 #include "base/check_op.h"
+#include "base/memory/page_size.h"
 #include "base/posix/eintr_wrapper.h"
-#include "base/process/process_metrics.h"
 #include "third_party/lss/lss.h"
 #include "util/linux/scoped_ptrace_attach.h"
 #include "util/misc/memory_sanitizer.h"
diff --git a/util/net/http_body.h b/util/net/http_body.h
index e053d9c..927e4a7 100644
--- a/util/net/http_body.h
+++ b/util/net/http_body.h
@@ -21,7 +21,6 @@
 #include <string>
 #include <vector>
 
-#include "base/files/file_path.h"
 #include "base/macros.h"
 #include "util/file/file_io.h"
 #include "util/file/file_reader.h"
diff --git a/util/posix/scoped_mmap.cc b/util/posix/scoped_mmap.cc
index 21533d2..4438393 100644
--- a/util/posix/scoped_mmap.cc
+++ b/util/posix/scoped_mmap.cc
@@ -20,18 +20,23 @@
 
 #include "base/check_op.h"
 #include "base/logging.h"
+#include "base/memory/page_size.h"
 #include "base/numerics/safe_conversions.h"
 #include "base/numerics/safe_math.h"
-#include "base/process/process_metrics.h"
 #include "build/build_config.h"
+#include "build/chromeos_buildflags.h"
 
-#if defined(OS_LINUX)
+// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+// complete.
+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
 #include "third_party/lss/lss.h"
 #endif
 
 namespace {
 
-#if defined(OS_LINUX)
+// TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+// complete.
+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
 void* CallMmap(void* addr,
                size_t len,
                int prot,
diff --git a/util/process/process_memory_test.cc b/util/process/process_memory_test.cc
index f00a6b9..7faa400 100644
--- a/util/process/process_memory_test.cc
+++ b/util/process/process_memory_test.cc
@@ -18,7 +18,7 @@
 
 #include <memory>
 
-#include "base/process/process_metrics.h"
+#include "base/memory/page_size.h"
 #include "build/build_config.h"
 #include "gtest/gtest.h"
 #include "test/errors.h"
diff --git a/util/process/process_memory_win.cc b/util/process/process_memory_win.cc
index f716102..adf8972 100644
--- a/util/process/process_memory_win.cc
+++ b/util/process/process_memory_win.cc
@@ -20,8 +20,8 @@
 #include <limits>
 
 #include "base/logging.h"
+#include "base/memory/page_size.h"
 #include "base/numerics/safe_conversions.h"
-#include "base/process/process_metrics.h"
 #include "base/strings/stringprintf.h"
 
 namespace crashpad {
