Turn components/crash into a layered component.

The crash component cannot be used on iOS (as it depends on //content).
Turn it into a layered component so that it is possible to put shared
code related to crash there (components/crash_keys and objc_zombie.{h,mm}).

BUG=522955
[email protected]
[email protected]
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1315303004

Cr-Commit-Position: refs/heads/master@{#349643}
diff --git a/BUILD.gn b/BUILD.gn
index 8ca8bb3..cc27100 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -571,7 +571,7 @@
       "//chrome/installer/setup:setup_unittests",
       "//chrome_elf:chrome_elf_unittests",
       "//chrome_elf:dll_hash_main",
-      "//components/crash/tools:crash_service",
+      "//components/crash/content/tools:crash_service",
       "//components/wifi:wifi_test",
       "//net:quic_client",
       "//net:quic_server",
diff --git a/PRESUBMIT_test.py b/PRESUBMIT_test.py
index f57159fb..a864f1f 100755
--- a/PRESUBMIT_test.py
+++ b/PRESUBMIT_test.py
@@ -482,7 +482,7 @@
       'chrome/plugin/chrome_content_plugin_client.h',
       'chrome/utility/chrome_content_utility_client.h',
       'chromeos/chromeos_paths.h',
-      'components/crash/DEPS',
+      'components/crash/content/DEPS',
       'components/nacl/common/DEPS',
       'content/public/browser/render_process_host.h',
       'policy/DEPS',
diff --git a/WATCHLISTS b/WATCHLISTS
index a4f9999..ffdc523 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -142,7 +142,7 @@
                   '|components/bookmarks'
     },
     'breakpad_app': {
-      'filepath': 'components/crash/app/',
+      'filepath': 'components/crash/content/app/',
     },
     'browser': {
       'filepath': 'chrome/browser/',
diff --git a/android_webview/crash_reporter/aw_microdump_crash_reporter.cc b/android_webview/crash_reporter/aw_microdump_crash_reporter.cc
index f59c2f3..a95aaf9 100644
--- a/android_webview/crash_reporter/aw_microdump_crash_reporter.cc
+++ b/android_webview/crash_reporter/aw_microdump_crash_reporter.cc
@@ -9,8 +9,8 @@
 #include "base/lazy_instance.h"
 #include "base/scoped_native_library.h"
 #include "build/build_config.h"
-#include "components/crash/app/breakpad_linux.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/breakpad_linux.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 namespace android_webview {
 namespace crash_reporter {
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index edff1e0..9c7e07c5 100644
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
@@ -106,7 +106,7 @@
         "//chrome/installer/util",
         "//chrome_elf",
         "//components/browser_watcher:browser_watcher_client",
-        "//components/crash/app",
+        "//components/crash/content/app",
         "//components/crash_keys",
         "//content:startup_helper_win",
         "//crypto",
diff --git a/chrome/app/chrome_crash_reporter_client.h b/chrome/app/chrome_crash_reporter_client.h
index 217f154d..26a6d2b8 100644
--- a/chrome/app/chrome_crash_reporter_client.h
+++ b/chrome/app/chrome_crash_reporter_client.h
@@ -8,7 +8,7 @@
 #include "base/basictypes.h"
 #include "base/compiler_specific.h"
 #include "base/memory/scoped_ptr.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 namespace browser_watcher {
 class CrashReportingMetrics;
diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc
index e7f4d443..c16628b 100644
--- a/chrome/app/chrome_main_delegate.cc
+++ b/chrome/app/chrome_main_delegate.cc
@@ -64,7 +64,7 @@
 #include "chrome/browser/mac/relauncher.h"
 #include "chrome/common/mac/cfbundle_blocker.h"
 #include "chrome/common/mac/objc_zombie.h"
-#include "components/crash/app/crashpad_mac.h"
+#include "components/crash/content/app/crashpad_mac.h"
 #include "ui/base/l10n/l10n_util_mac.h"
 #endif
 
@@ -72,7 +72,7 @@
 #include <locale.h>
 #include <signal.h>
 #include "chrome/app/chrome_crash_reporter_client.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 #endif
 
 #if !defined(DISABLE_NACL) && defined(OS_LINUX)
@@ -103,7 +103,7 @@
 #endif
 
 #if defined(OS_POSIX) && !defined(OS_MACOSX)
-#include "components/crash/app/breakpad_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
 #endif
 
 #if defined(OS_LINUX)
diff --git a/chrome/app/client_util.cc b/chrome/app/client_util.cc
index 963b9db7..4a156a7 100644
--- a/chrome/app/client_util.cc
+++ b/chrome/app/client_util.cc
@@ -38,8 +38,8 @@
 #include "chrome/installer/util/google_update_settings.h"
 #include "chrome/installer/util/install_util.h"
 #include "chrome/installer/util/util_constants.h"
-#include "components/crash/app/breakpad_win.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/breakpad_win.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 #include "components/metrics/client_info.h"
 #include "content/public/app/startup_helper_win.h"
 #include "sandbox/win/src/sandbox.h"
diff --git a/chrome/app/kasko_client.cc b/chrome/app/kasko_client.cc
index bbc6cbbf..f9699e907 100644
--- a/chrome/app/kasko_client.cc
+++ b/chrome/app/kasko_client.cc
@@ -17,7 +17,7 @@
 #include "chrome/app/chrome_watcher_client_win.h"
 #include "chrome/chrome_watcher/chrome_watcher_main_api.h"
 #include "chrome/common/chrome_constants.h"
-#include "components/crash/app/crash_keys_win.h"
+#include "components/crash/content/app/crash_keys_win.h"
 #include "syzygy/kasko/api/client.h"
 
 namespace {
diff --git a/chrome/breakpad.isolate b/chrome/breakpad.isolate
index f15377d..4aa76bef 100644
--- a/chrome/breakpad.isolate
+++ b/chrome/breakpad.isolate
@@ -4,7 +4,7 @@
 {
   'variables': {
     'files': [
-      '../components/crash/tools/generate_breakpad_symbols.py',
+      '../components/crash/content/tools/generate_breakpad_symbols.py',
     ],
   },
   'conditions': [
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index cb5812c..2c5489ea 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -586,8 +586,8 @@
       "//chrome/app/chrome_crash_reporter_client.h",
     ]
     deps += [
-      "//components/crash/app",
-      "//components/crash/browser",
+      "//components/crash/content/app",
+      "//components/crash/content/browser",
     ]
   }
   if (use_nss_certs) {
diff --git a/chrome/browser/chrome_browser_main_android.cc b/chrome/browser/chrome_browser_main_android.cc
index 659ea40c..c8dcda4d 100644
--- a/chrome/browser/chrome_browser_main_android.cc
+++ b/chrome/browser/chrome_browser_main_android.cc
@@ -15,8 +15,8 @@
 #include "chrome/browser/signin/signin_manager_factory.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/chrome_switches.h"
-#include "components/crash/app/breakpad_linux.h"
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/app/breakpad_linux.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 #include "components/enhanced_bookmarks/persistent_image_store.h"
 #include "components/signin/core/browser/signin_manager.h"
 #include "content/public/browser/android/compositor.h"
diff --git a/chrome/browser/chrome_browser_main_linux.cc b/chrome/browser/chrome_browser_main_linux.cc
index 4f4e4ab..24b37c7 100644
--- a/chrome/browser/chrome_browser_main_linux.cc
+++ b/chrome/browser/chrome_browser_main_linux.cc
@@ -8,7 +8,7 @@
 
 #include "chrome/browser/browser_process.h"
 #include "chrome/grit/chromium_strings.h"
-#include "components/crash/app/breakpad_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
 #include "components/metrics/metrics_service.h"
 #include "media/audio/audio_manager.h"
 #include "ui/base/l10n/l10n_util.h"
diff --git a/chrome/browser/chrome_browser_main_mac.mm b/chrome/browser/chrome_browser_main_mac.mm
index edffdadc5..5423f6d9 100644
--- a/chrome/browser/chrome_browser_main_mac.mm
+++ b/chrome/browser/chrome_browser_main_mac.mm
@@ -24,7 +24,7 @@
 #include "chrome/browser/ui/app_list/app_list_service.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/chrome_switches.h"
-#include "components/crash/app/crashpad_mac.h"
+#include "components/crash/content/app/crashpad_mac.h"
 #include "components/metrics/metrics_service.h"
 #include "content/public/common/main_function_params.h"
 #include "content/public/common/result_codes.h"
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 3aa5fc7..b71448f 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -172,7 +172,7 @@
 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h"
 #include "chrome/browser/chrome_browser_main_android.h"
 #include "chrome/common/descriptors_android.h"
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 #include "components/service_tab_launcher/browser/android/service_tab_launcher.h"
 #include "ui/base/resource/resource_bundle_android.h"
 #elif defined(OS_POSIX)
@@ -181,8 +181,8 @@
 
 #if defined(OS_POSIX) && !defined(OS_MACOSX)
 #include "base/debug/leak_annotations.h"
-#include "components/crash/app/breakpad_linux.h"
-#include "components/crash/browser/crash_handler_host_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
+#include "components/crash/content/browser/crash_handler_host_linux.h"
 #endif
 
 #if defined(OS_ANDROID)
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index 2677dc9..c39b345 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -75,7 +75,7 @@
 #include "chromeos/settings/cros_settings_provider.h"
 #include "chromeos/settings/timezone_settings.h"
 #include "chromeos/timezone/timezone_provider.h"
-#include "components/crash/app/breakpad_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
 #include "components/pairing/bluetooth_controller_pairing_controller.h"
 #include "components/pairing/bluetooth_host_pairing_controller.h"
 #include "components/pairing/shark_connection_listener.h"
diff --git a/chrome/browser/crash_upload_list_mac.cc b/chrome/browser/crash_upload_list_mac.cc
index 541faac..55cc043 100644
--- a/chrome/browser/crash_upload_list_mac.cc
+++ b/chrome/browser/crash_upload_list_mac.cc
@@ -6,7 +6,7 @@
 
 #include "base/threading/sequenced_worker_pool.h"
 #include "base/time/time.h"
-#include "components/crash/app/crashpad_mac.h"
+#include "components/crash/content/app/crashpad_mac.h"
 
 CrashUploadListMac::CrashUploadListMac(
     Delegate* delegate,
diff --git a/chrome/browser/google/google_update_settings_posix.cc b/chrome/browser/google/google_update_settings_posix.cc
index 31e7301..8cfadc89 100644
--- a/chrome/browser/google/google_update_settings_posix.cc
+++ b/chrome/browser/google/google_update_settings_posix.cc
@@ -13,7 +13,7 @@
 #include "chrome/common/chrome_paths.h"
 
 #if defined(OS_MACOSX)
-#include "components/crash/app/crashpad_mac.h"
+#include "components/crash/content/app/crashpad_mac.h"
 #endif
 
 namespace {
diff --git a/chrome/browser/ui/views/first_run_dialog.cc b/chrome/browser/ui/views/first_run_dialog.cc
index 0dbc4e9..2dc7e25 100644
--- a/chrome/browser/ui/views/first_run_dialog.cc
+++ b/chrome/browser/ui/views/first_run_dialog.cc
@@ -15,7 +15,7 @@
 #include "chrome/grit/generated_resources.h"
 #include "chrome/grit/locale_settings.h"
 #include "chrome/installer/util/google_update_settings.h"
-#include "components/crash/app/breakpad_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
 #include "grit/components_strings.h"
 #include "ui/aura/env.h"
 #include "ui/aura/window.h"
diff --git a/chrome/nacl/nacl_exe_win_64.cc b/chrome/nacl/nacl_exe_win_64.cc
index d8fd8ad..5727ebbc 100644
--- a/chrome/nacl/nacl_exe_win_64.cc
+++ b/chrome/nacl/nacl_exe_win_64.cc
@@ -6,7 +6,7 @@
 #include "base/command_line.h"
 #include "base/lazy_instance.h"
 #include "chrome/app/chrome_crash_reporter_client.h"
-#include "components/crash/app/breakpad_win.h"
+#include "components/crash/content/app/breakpad_win.h"
 #include "components/nacl/loader/nacl_helper_win_64.h"
 #include "content/public/common/content_switches.h"
 
diff --git a/chrome/tools/crash_service/main.cc b/chrome/tools/crash_service/main.cc
index 94844ab..4b175dd 100644
--- a/chrome/tools/crash_service/main.cc
+++ b/chrome/tools/crash_service/main.cc
@@ -13,7 +13,7 @@
 #include "base/path_service.h"
 #include "chrome/common/chrome_constants.h"
 #include "chrome/common/chrome_paths.h"
-#include "components/crash/tools/crash_service.h"
+#include "components/crash/content/tools/crash_service.h"
 
 namespace {
 
diff --git a/chromecast/app/BUILD.gn b/chromecast/app/BUILD.gn
index 7b0732d..3f27c1d0 100644
--- a/chromecast/app/BUILD.gn
+++ b/chromecast/app/BUILD.gn
@@ -18,7 +18,7 @@
     "//chromecast/browser",
     "//chromecast/common",
     "//chromecast/renderer",
-    "//components/crash/app:lib",
+    "//components/crash/content/app:lib",
     "//content/public/app:both",
     "//content/public/browser",
     "//content/public/common",
@@ -40,8 +40,8 @@
     "//base",
     "//chromecast/base",
     "//chromecast/crash",
-    "//components/crash/app",
-    "//components/crash/app:lib",
+    "//components/crash/content/app",
+    "//components/crash/content/app:lib",
     "//content/public/common",
   ]
 }
diff --git a/chromecast/app/android/cast_crash_reporter_client_android.h b/chromecast/app/android/cast_crash_reporter_client_android.h
index a87d167..9761683 100644
--- a/chromecast/app/android/cast_crash_reporter_client_android.h
+++ b/chromecast/app/android/cast_crash_reporter_client_android.h
@@ -6,7 +6,7 @@
 #define CHROMECAST_APP_ANDROID_CAST_CRASH_REPORTER_CLIENT_ANDROID_H_
 
 #include "base/compiler_specific.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 namespace chromecast {
 
diff --git a/chromecast/app/android/crash_handler.cc b/chromecast/app/android/crash_handler.cc
index 8a2dc7a..b4223f81 100644
--- a/chromecast/app/android/crash_handler.cc
+++ b/chromecast/app/android/crash_handler.cc
@@ -17,8 +17,8 @@
 #include "breakpad/src/client/linux/handler/minidump_descriptor.h"
 #include "chromecast/app/android/cast_crash_reporter_client_android.h"
 #include "chromecast/base/version.h"
-#include "components/crash/app/breakpad_linux.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/breakpad_linux.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 #include "content/public/common/content_switches.h"
 #include "jni/CastCrashHandler_jni.h"
 
diff --git a/chromecast/app/cast_main_delegate.cc b/chromecast/app/cast_main_delegate.cc
index 768a0bc..698d14c 100644
--- a/chromecast/app/cast_main_delegate.cc
+++ b/chromecast/app/cast_main_delegate.cc
@@ -22,7 +22,7 @@
 #include "chromecast/common/cast_resource_delegate.h"
 #include "chromecast/common/global_descriptors.h"
 #include "chromecast/renderer/cast_content_renderer_client.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 #include "content/public/browser/browser_main_runner.h"
 #include "content/public/common/content_switches.h"
 #include "ui/base/resource/resource_bundle.h"
diff --git a/chromecast/app/linux/cast_crash_reporter_client.cc b/chromecast/app/linux/cast_crash_reporter_client.cc
index 0bf28770..e90d4f15 100644
--- a/chromecast/app/linux/cast_crash_reporter_client.cc
+++ b/chromecast/app/linux/cast_crash_reporter_client.cc
@@ -7,7 +7,7 @@
 #include "base/time/time.h"
 #include "chromecast/base/error_codes.h"
 #include "chromecast/crash/linux/crash_util.h"
-#include "components/crash/app/breakpad_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
 #include "content/public/common/content_switches.h"
 
 namespace chromecast {
diff --git a/chromecast/app/linux/cast_crash_reporter_client.h b/chromecast/app/linux/cast_crash_reporter_client.h
index 07712af..ef9f900 100644
--- a/chromecast/app/linux/cast_crash_reporter_client.h
+++ b/chromecast/app/linux/cast_crash_reporter_client.h
@@ -8,7 +8,7 @@
 #include <string>
 
 #include "base/macros.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 namespace chromecast {
 
diff --git a/chromecast/browser/BUILD.gn b/chromecast/browser/BUILD.gn
index f787f03..4f6cc5ad 100644
--- a/chromecast/browser/BUILD.gn
+++ b/chromecast/browser/BUILD.gn
@@ -74,8 +74,8 @@
     "//chromecast/media",
     "//chromecast/net",
     "//chromecast/service",
-    "//components/crash/app",
-    "//components/crash/browser",
+    "//components/crash/content/app",
+    "//components/crash/content/browser",
     "//components/devtools_http_handler:devtools_http_handler",
     "//components/metrics",
     "//components/metrics:gpu",
diff --git a/chromecast/browser/cast_browser_main_parts.cc b/chromecast/browser/cast_browser_main_parts.cc
index f363ed7..d15952f 100644
--- a/chromecast/browser/cast_browser_main_parts.cc
+++ b/chromecast/browser/cast_browser_main_parts.cc
@@ -51,7 +51,7 @@
 #if defined(OS_ANDROID)
 #include "chromecast/app/android/crash_handler.h"
 #include "chromecast/browser/media/cast_media_client_android.h"
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 #include "media/base/android/media_client_android.h"
 #include "net/android/network_change_notifier_factory_android.h"
 #else
diff --git a/chromecast/browser/cast_browser_process.cc b/chromecast/browser/cast_browser_process.cc
index 713fa74..077ee1d 100644
--- a/chromecast/browser/cast_browser_process.cc
+++ b/chromecast/browser/cast_browser_process.cc
@@ -15,7 +15,7 @@
 #include "chromecast/service/cast_service.h"
 
 #if defined(OS_ANDROID)
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 #endif  // defined(OS_ANDROID)
 
 #if defined(USE_AURA)
diff --git a/chromecast/browser/cast_content_browser_client.cc b/chromecast/browser/cast_content_browser_client.cc
index e693075..c73fa19 100644
--- a/chromecast/browser/cast_content_browser_client.cc
+++ b/chromecast/browser/cast_content_browser_client.cc
@@ -29,8 +29,8 @@
 #include "chromecast/media/base/media_message_loop.h"
 #include "chromecast/public/cast_media_shlib.h"
 #include "chromecast/public/media/media_pipeline_backend.h"
-#include "components/crash/app/breakpad_linux.h"
-#include "components/crash/browser/crash_handler_host_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
+#include "components/crash/content/browser/crash_handler_host_linux.h"
 #include "components/network_hints/browser/network_hints_message_filter.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/certificate_request_result_type.h"
@@ -48,7 +48,7 @@
 #include "ui/gl/gl_switches.h"
 
 #if defined(OS_ANDROID)
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 #include "components/external_video_surface/browser/android/external_video_surface_container_impl.h"
 #else
 #include "chromecast/browser/media/cast_browser_cdm_factory.h"
diff --git a/components/BUILD.gn b/components/BUILD.gn
index 0e86dbe..11b45acd 100644
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -35,8 +35,8 @@
     "//components/compression",
     "//components/content_settings/core/browser",
     "//components/content_settings/core/common",
-    "//components/crash/app",
-    "//components/crash/browser",
+    "//components/crash/content/app",
+    "//components/crash/content/browser",
     "//components/crx_file",
     "//components/data_reduction_proxy/core/browser",
     "//components/data_reduction_proxy/core/common",
@@ -190,8 +190,8 @@
       "//components/autofill/content/browser",  # Blocked on content/blink.
       "//components/autofill/content/common",  # Blocked on content.
       "//components/autofill/content/renderer",  # Blocked on content/blink.
-      "//components/crash/app",  # Should work, needs checking.
-      "//components/crash/browser",  # Should work, needs checking.
+      "//components/crash/content/app",  # Should work, needs checking.
+      "//components/crash/content/browser",  # Should work, needs checking.
       "//components/captive_portal",  # Should work, needs checking.
       "//components/cloud_devices/common",  # Should work, needs checking.
       "//components/cdm/browser",  # Blocked on content.
diff --git a/components/components.gyp b/components/components.gyp
index 24069c0..a4daf8c 100644
--- a/components/components.gyp
+++ b/components/components.gyp
@@ -21,6 +21,7 @@
     'component_updater.gypi',
     'compression.gypi',
     'content_settings.gypi',
+    'crash.gypi',
     'crash_keys.gypi',
     'cronet.gypi',
     'crx_file.gypi',
@@ -105,7 +106,6 @@
         'browsing_data.gypi',
         'cdm.gypi',
         'certificate_transparency.gypi',
-        'crash.gypi',
         'devtools_discovery.gypi',
         'devtools_http_handler.gypi',
         'drive.gypi',
diff --git a/components/components_tests.gyp b/components/components_tests.gyp
index eb592eb..fc5ae36 100644
--- a/components/components_tests.gyp
+++ b/components/components_tests.gyp
@@ -119,7 +119,7 @@
       'content_settings/core/common/content_settings_pattern_unittest.cc',
     ],
     'crash_unittest_sources': [
-      'crash/app/crash_keys_win_unittest.cc',
+      'crash/content/app/crash_keys_win_unittest.cc',
     ],
     'crx_file_unittest_sources': [
       'crx_file/id_util_unittest.cc',
@@ -236,8 +236,8 @@
       'feedback/feedback_uploader_unittest.cc',
     ],
     'gcm_driver_unittest_sources': [
-      'gcm_driver/gcm_account_tracker_unittest.cc',
       'gcm_driver/gcm_account_mapper_unittest.cc',
+      'gcm_driver/gcm_account_tracker_unittest.cc',
       'gcm_driver/gcm_channel_status_request_unittest.cc',
       'gcm_driver/gcm_client_impl_unittest.cc',
       'gcm_driver/gcm_delayed_task_controller_unittest.cc',
diff --git a/components/crash.gypi b/components/crash.gypi
index 6ba24028..05b3bea 100644
--- a/components/crash.gypi
+++ b/components/crash.gypi
@@ -3,326 +3,330 @@
 # found in the LICENSE file.
 
 {
-  'targets': [
-    {
-      'target_name': 'crash_component_lib',
-      'type': 'static_library',
-      'sources': [
-        'crash/app/crash_keys_win.cc',
-        'crash/app/crash_keys_win.h',
-        'crash/app/crash_reporter_client.cc',
-        'crash/app/crash_reporter_client.h',
-      ],
-      'include_dirs': [
-        '..',
-        '../breakpad/src',
-      ],
-    },
-    {
-      # TODO(mark): https://crbug.com/466890: merge this target with
-      # crash_component.
-      #
-      # This is a temporary base target that is depended on by both
-      # crash_component and crash_component_breakpad_mac_to_be_deleted. It
-      # provides everything common to both of those targets. For a short period,
-      # there are two Mac crash component implementations. The new one uses a
-      # Crashpad implementation and is used by Chrome. The old one uses a
-      # Breakpad implementation and is used by content_shell. Consumers should
-      # depend on the desired target. All three targets behave identically on
-      # non-Mac. When content_shell and any other consumers are migrated to the
-      # Crashpad implementation on Mac, crash_component will merge back into
-      # this target, crash_component_non_mac, which will be renamed
-      # crash_component. crash_component_breakpad_mac_to_be_deleted will be
-      # deleted.
-      #
-      # While this situation exists:
-      #
-      # Do not depend on this target directly! Depend on
-      # crash_component_breakpad_mac_to_be_deleted for old Breakpad behavior on
-      # all platforms, or preferably, depend on crash_component to get Breakpad
-      # everywhere except for Mac, where you will get Crashpad.
-      'target_name': 'crash_component_non_mac',
-      'variables': {
-        'conditions': [
-          ['OS == "ios" or OS == "mac"', {
-            # On IOS there are no files compiled into the library, and we
-            # can't have libraries with zero objects.
-            # For now, the same applies to Mac OS X, until this target merges
-            # with crash_component.
-            'crash_component_target_type%': 'none',
-          }, {
-            'crash_component_target_type%': 'static_library',
-          }],
-        ],
-      },
-      'type': '<(crash_component_target_type)',
-      'sources': [
-        'crash/app/breakpad_linux.cc',
-        'crash/app/breakpad_linux.h',
-        'crash/app/breakpad_linux_impl.h',
-        'crash/app/breakpad_win.cc',
-        'crash/app/breakpad_win.h',
-        'crash/app/hard_error_handler_win.cc',
-        'crash/app/hard_error_handler_win.h',
-      ],
-      'dependencies': [
-        'crash_component_lib',
-        '../base/base.gyp:base',
-      ],
-      'defines': ['CRASH_IMPLEMENTATION'],
-      'conditions': [
-        ['OS=="win"', {
-          'dependencies': [
-            '../breakpad/breakpad.gyp:breakpad_handler',
-            '../breakpad/breakpad.gyp:breakpad_sender',
-            '../sandbox/sandbox.gyp:sandbox',
-          ],
-        }],
-        ['os_posix == 1 and OS != "mac" and OS != "ios"', {
-          'dependencies': [
-            '../breakpad/breakpad.gyp:breakpad_client',
-          ],
-          'include_dirs': [
-            '../breakpad/src',
-          ],
-        }],
-      ],
-      'target_conditions': [
-        # Need 'target_conditions' to override default filename_rules to include
-        # the files on Android.
-        ['OS=="android"', {
-          'sources/': [
-            ['include', '^crash/app/breakpad_linux\\.cc$'],
-          ],
-        }],
-      ],
-    },
-    {
-      # Note: if you depend on this target, you need to either link in
-      # content.gyp:content_common, or add
-      # content/public/common/content_switches.cc to your sources.
-      #
-      # GN version: //components/crash/app
-
-      # TODO(mark): https://crbug.com/466890: merge this target with
-      # crash_component_non_mac.
-      #
-      # Most of this target is actually in its dependency,
-      # crash_component_non_mac.  See the comment in that target for an
-      # explanation for the split. The split is temporary and the two targets
-      # will be unified again soon.
-      'target_name': 'crash_component',
-      'variables': {
-        'conditions': [
-          ['OS != "mac" ', {
-            # There are no source files on any platform but Mac OS X.
-            'crash_component_target_type%': 'none',
-          }, {
-            'crash_component_target_type%': 'static_library',
-          }],
-        ],
-      },
-      'type': '<(crash_component_target_type)',
-      'sources': [
-        'crash/app/crashpad_mac.h',
-        'crash/app/crashpad_mac.mm',
-      ],
-      'dependencies': [
-        'crash_component_non_mac',
-        'crash_component_lib',
-        '../base/base.gyp:base',
-      ],
-      'defines': ['CRASH_IMPLEMENTATION'],
-      'conditions': [
-        ['OS=="mac"', {
-          'dependencies': [
-            '../third_party/crashpad/crashpad/client/client.gyp:crashpad_client',
-          ],
-        }],
-      ],
-    },
-    {
-      # TODO(mark): https://crbug.com/466890: remove this target.
-      #
-      # This is a temporary target provided for Mac Breakpad users that have not
-      # yet migrated to Crashpad (namely content_shell). This target will be
-      # removed shortly and all consumers will be expected to use Crashpad as
-      # the Mac crash-reporting client. See the comment in the
-      # crash_component_non_mac target for more details.
-      'target_name': 'crash_component_breakpad_mac_to_be_deleted',
-      'variables': {
-        'conditions': [
-          ['OS != "mac" ', {
-            # There are no source files on any platform but Mac OS X.
-            'crash_component_target_type%': 'none',
-          }, {
-            'crash_component_target_type%': 'static_library',
-          }],
-        ],
-      },
-      'type': '<(crash_component_target_type)',
-      'sources': [
-        'crash/app/breakpad_mac.h',
-        'crash/app/breakpad_mac.mm',
-      ],
-      'dependencies': [
-        'crash_component_non_mac',
-        'crash_component_lib',
-      ],
-      'defines': ['CRASH_IMPLEMENTATION'],
-      'conditions': [
-        ['OS=="mac"', {
-          'dependencies': [
-            '../breakpad/breakpad.gyp:breakpad',
+  'conditions': [
+    ['OS!="ios"', {
+      'targets': [
+        {
+          'target_name': 'crash_component_lib',
+          'type': 'static_library',
+          'sources': [
+            'crash/content/app/crash_keys_win.cc',
+            'crash/content/app/crash_keys_win.h',
+            'crash/content/app/crash_reporter_client.cc',
+            'crash/content/app/crash_reporter_client.h',
           ],
           'include_dirs': [
             '..',
-          ],
-        }],
-      ],
-    },
-    {
-      # GN version: //components/crash/app:test_support
-      'target_name': 'crash_test_support',
-      'type': 'none',
-      'dependencies': [
-        'crash_component_lib',
-      ],
-      'direct_dependent_settings': {
-        'include_dirs' : [
-          '../breakpad/src',
-        ],
-      }
-    },
-  ],
-  'conditions': [
-    ['OS=="win"', {
-      'targets': [
-        {
-          # GN version: //components/crash/tools:crash_service
-          'target_name': 'breakpad_crash_service',
-          'type': 'static_library',
-          'dependencies': [
-            '../base/base.gyp:base',
-            '../breakpad/breakpad.gyp:breakpad_handler',
-            '../breakpad/breakpad.gyp:breakpad_sender',
-          ],
-          'sources': [
-            'crash/tools/crash_service.cc',
-            'crash/tools/crash_service.h',
-          ],
-        },
-      ],
-    }],
-    ['OS=="win" and target_arch=="ia32"', {
-      'targets': [
-        {
-          # Note: if you depend on this target, you need to either link in
-          # content.gyp:content_common, or add
-          # content/public/common/content_switches.cc to your sources.
-          'target_name': 'breakpad_win64',
-          'type': 'static_library',
-          'sources': [
-            'crash/app/breakpad_linux.cc',
-            'crash/app/breakpad_linux.h',
-            'crash/app/breakpad_linux_impl.h',
-            'crash/app/breakpad_mac.h',
-            'crash/app/breakpad_mac.mm',
-            'crash/app/breakpad_win.cc',
-            'crash/app/breakpad_win.h',
-            # TODO(siggi): test the x64 version too.
-            'crash/app/crash_keys_win.cc',
-            'crash/app/crash_keys_win.h',
-            'crash/app/crash_reporter_client.cc',
-            'crash/app/crash_reporter_client.h',
-            'crash/app/hard_error_handler_win.cc',
-            'crash/app/hard_error_handler_win.h',
-          ],
-          'defines': [
-            'COMPILE_CONTENT_STATICALLY',
-            'CRASH_IMPLEMENTATION',
-          ],
-          'dependencies': [
-            '../base/base.gyp:base_win64',
-            '../breakpad/breakpad.gyp:breakpad_handler_win64',
-            '../breakpad/breakpad.gyp:breakpad_sender_win64',
-            '../sandbox/sandbox.gyp:sandbox_win64',
-          ],
-          'configurations': {
-            'Common_Base': {
-              'msvs_target_platform': 'x64',
-            },
-          },
-        },
-        {
-          'target_name': 'breakpad_crash_service_win64',
-          'type': 'static_library',
-          'dependencies': [
-            '../base/base.gyp:base_win64',
-            '../breakpad/breakpad.gyp:breakpad_handler_win64',
-            '../breakpad/breakpad.gyp:breakpad_sender_win64',
-          ],
-          'sources': [
-            'crash/tools/crash_service.cc',
-            'crash/tools/crash_service.h',
-          ],
-          'configurations': {
-            'Common_Base': {
-              'msvs_target_platform': 'x64',
-            },
-          },
-        },
-      ],
-    }],
-    ['OS=="mac"', {
-      'targets': [
-        {
-          'target_name': 'breakpad_stubs',
-          'type': 'static_library',
-          'dependencies': [
-            '../base/base.gyp:base',
-          ],
-          'sources': [
-            'crash/app/breakpad_mac.h',
-            'crash/app/breakpad_mac_stubs.mm',
-            'crash/app/crash_reporter_client.cc',
-            'crash/app/crash_reporter_client.h',
-          ],
-        },
-      ],
-    }],
-    ['os_posix == 1 and OS != "mac" and OS != "ios"', {
-      'targets': [
-        {
-          # GN version: //components/crash/browser
-          'target_name': 'breakpad_host',
-          'type': 'static_library',
-          'dependencies': [
-            'crash_component',
-            '../base/base.gyp:base',
-            '../breakpad/breakpad.gyp:breakpad_client',
-            '../content/content.gyp:content_browser',
-            '../content/content.gyp:content_common',
-          ],
-          'sources': [
-            'crash/browser/crash_dump_manager_android.cc',
-            'crash/browser/crash_dump_manager_android.h',
-            'crash/browser/crash_handler_host_linux.cc',
-            'crash/browser/crash_handler_host_linux.h',
-          ],
-          'include_dirs': [
             '../breakpad/src',
           ],
+        },
+        {
+          # TODO(mark): https://crbug.com/466890: merge this target with
+          # crash_component.
+          #
+          # This is a temporary base target that is depended on by both
+          # crash_component and crash_component_breakpad_mac_to_be_deleted. It
+          # provides everything common to both of those targets. For a short period,
+          # there are two Mac crash component implementations. The new one uses a
+          # Crashpad implementation and is used by Chrome. The old one uses a
+          # Breakpad implementation and is used by content_shell. Consumers should
+          # depend on the desired target. All three targets behave identically on
+          # non-Mac. When content_shell and any other consumers are migrated to the
+          # Crashpad implementation on Mac, crash_component will merge back into
+          # this target, crash_component_non_mac, which will be renamed
+          # crash_component. crash_component_breakpad_mac_to_be_deleted will be
+          # deleted.
+          #
+          # While this situation exists:
+          #
+          # Do not depend on this target directly! Depend on
+          # crash_component_breakpad_mac_to_be_deleted for old Breakpad behavior on
+          # all platforms, or preferably, depend on crash_component to get Breakpad
+          # everywhere except for Mac, where you will get Crashpad.
+          'target_name': 'crash_component_non_mac',
+          'variables': {
+            'conditions': [
+              ['OS == "ios" or OS == "mac"', {
+                # On IOS there are no files compiled into the library, and we
+                # can't have libraries with zero objects.
+                # For now, the same applies to Mac OS X, until this target merges
+                # with crash_component.
+                'crash_component_target_type%': 'none',
+              }, {
+                'crash_component_target_type%': 'static_library',
+              }],
+            ],
+          },
+          'type': '<(crash_component_target_type)',
+          'sources': [
+            'crash/content/app/breakpad_linux.cc',
+            'crash/content/app/breakpad_linux.h',
+            'crash/content/app/breakpad_linux_impl.h',
+            'crash/content/app/breakpad_win.cc',
+            'crash/content/app/breakpad_win.h',
+            'crash/content/app/hard_error_handler_win.cc',
+            'crash/content/app/hard_error_handler_win.h',
+          ],
+          'dependencies': [
+            'crash_component_lib',
+            '../base/base.gyp:base',
+          ],
+          'defines': ['CRASH_IMPLEMENTATION'],
+          'conditions': [
+            ['OS=="win"', {
+              'dependencies': [
+                '../breakpad/breakpad.gyp:breakpad_handler',
+                '../breakpad/breakpad.gyp:breakpad_sender',
+                '../sandbox/sandbox.gyp:sandbox',
+              ],
+            }],
+            ['os_posix == 1 and OS != "mac" and OS != "ios"', {
+              'dependencies': [
+                '../breakpad/breakpad.gyp:breakpad_client',
+              ],
+              'include_dirs': [
+                '../breakpad/src',
+              ],
+            }],
+          ],
           'target_conditions': [
             # Need 'target_conditions' to override default filename_rules to include
             # the files on Android.
             ['OS=="android"', {
               'sources/': [
-                ['include', '^crash/browser/crash_handler_host_linux\\.cc$'],
+                ['include', '^crash/content/app/breakpad_linux\\.cc$'],
               ],
             }],
           ],
         },
+        {
+          # Note: if you depend on this target, you need to either link in
+          # content.gyp:content_common, or add
+          # content/public/common/content_switches.cc to your sources.
+          #
+          # GN version: //components/crash/content/app
+
+          # TODO(mark): https://crbug.com/466890: merge this target with
+          # crash_component_non_mac.
+          #
+          # Most of this target is actually in its dependency,
+          # crash_component_non_mac.  See the comment in that target for an
+          # explanation for the split. The split is temporary and the two targets
+          # will be unified again soon.
+          'target_name': 'crash_component',
+          'variables': {
+            'conditions': [
+              ['OS != "mac" ', {
+                # There are no source files on any platform but Mac OS X.
+                'crash_component_target_type%': 'none',
+              }, {
+                'crash_component_target_type%': 'static_library',
+              }],
+            ],
+          },
+          'type': '<(crash_component_target_type)',
+          'sources': [
+            'crash/content/app/crashpad_mac.h',
+            'crash/content/app/crashpad_mac.mm',
+          ],
+          'dependencies': [
+            'crash_component_non_mac',
+            'crash_component_lib',
+            '../base/base.gyp:base',
+          ],
+          'defines': ['CRASH_IMPLEMENTATION'],
+          'conditions': [
+            ['OS=="mac"', {
+              'dependencies': [
+                '../third_party/crashpad/crashpad/client/client.gyp:crashpad_client',
+              ],
+            }],
+          ],
+        },
+        {
+          # TODO(mark): https://crbug.com/466890: remove this target.
+          #
+          # This is a temporary target provided for Mac Breakpad users that have not
+          # yet migrated to Crashpad (namely content_shell). This target will be
+          # removed shortly and all consumers will be expected to use Crashpad as
+          # the Mac crash-reporting client. See the comment in the
+          # crash_component_non_mac target for more details.
+          'target_name': 'crash_component_breakpad_mac_to_be_deleted',
+          'variables': {
+            'conditions': [
+              ['OS != "mac" ', {
+                # There are no source files on any platform but Mac OS X.
+                'crash_component_target_type%': 'none',
+              }, {
+                'crash_component_target_type%': 'static_library',
+              }],
+            ],
+          },
+          'type': '<(crash_component_target_type)',
+          'sources': [
+            'crash/content/app/breakpad_mac.h',
+            'crash/content/app/breakpad_mac.mm',
+          ],
+          'dependencies': [
+            'crash_component_non_mac',
+            'crash_component_lib',
+          ],
+          'defines': ['CRASH_IMPLEMENTATION'],
+          'conditions': [
+            ['OS=="mac"', {
+              'dependencies': [
+                '../breakpad/breakpad.gyp:breakpad',
+              ],
+              'include_dirs': [
+                '..',
+              ],
+            }],
+          ],
+        },
+        {
+          # GN version: //components/crash/content/app:test_support
+          'target_name': 'crash_test_support',
+          'type': 'none',
+          'dependencies': [
+            'crash_component_lib',
+          ],
+          'direct_dependent_settings': {
+            'include_dirs' : [
+              '../breakpad/src',
+            ],
+          }
+        },
+      ],
+      'conditions': [
+        ['OS=="win"', {
+          'targets': [
+            {
+              # GN version: //components/crash/content/tools:crash_service
+              'target_name': 'breakpad_crash_service',
+              'type': 'static_library',
+              'dependencies': [
+                '../base/base.gyp:base',
+                '../breakpad/breakpad.gyp:breakpad_handler',
+                '../breakpad/breakpad.gyp:breakpad_sender',
+              ],
+              'sources': [
+                'crash/content/tools/crash_service.cc',
+                'crash/content/tools/crash_service.h',
+              ],
+            },
+          ],
+        }],
+        ['OS=="win" and target_arch=="ia32"', {
+          'targets': [
+            {
+              # Note: if you depend on this target, you need to either link in
+              # content.gyp:content_common, or add
+              # content/public/common/content_switches.cc to your sources.
+              'target_name': 'breakpad_win64',
+              'type': 'static_library',
+              'sources': [
+                'crash/content/app/breakpad_linux.cc',
+                'crash/content/app/breakpad_linux.h',
+                'crash/content/app/breakpad_linux_impl.h',
+                'crash/content/app/breakpad_mac.h',
+                'crash/content/app/breakpad_mac.mm',
+                'crash/content/app/breakpad_win.cc',
+                'crash/content/app/breakpad_win.h',
+                # TODO(siggi): test the x64 version too.
+                'crash/content/app/crash_keys_win.cc',
+                'crash/content/app/crash_keys_win.h',
+                'crash/content/app/crash_reporter_client.cc',
+                'crash/content/app/crash_reporter_client.h',
+                'crash/content/app/hard_error_handler_win.cc',
+                'crash/content/app/hard_error_handler_win.h',
+              ],
+              'defines': [
+                'COMPILE_CONTENT_STATICALLY',
+                'CRASH_IMPLEMENTATION',
+              ],
+              'dependencies': [
+                '../base/base.gyp:base_win64',
+                '../breakpad/breakpad.gyp:breakpad_handler_win64',
+                '../breakpad/breakpad.gyp:breakpad_sender_win64',
+                '../sandbox/sandbox.gyp:sandbox_win64',
+              ],
+              'configurations': {
+                'Common_Base': {
+                  'msvs_target_platform': 'x64',
+                },
+              },
+            },
+            {
+              'target_name': 'breakpad_crash_service_win64',
+              'type': 'static_library',
+              'dependencies': [
+                '../base/base.gyp:base_win64',
+                '../breakpad/breakpad.gyp:breakpad_handler_win64',
+                '../breakpad/breakpad.gyp:breakpad_sender_win64',
+              ],
+              'sources': [
+                'crash/content/tools/crash_service.cc',
+                'crash/content/tools/crash_service.h',
+              ],
+              'configurations': {
+                'Common_Base': {
+                  'msvs_target_platform': 'x64',
+                },
+              },
+            },
+          ],
+        }],
+        ['OS=="mac"', {
+          'targets': [
+            {
+              'target_name': 'breakpad_stubs',
+              'type': 'static_library',
+              'dependencies': [
+                '../base/base.gyp:base',
+              ],
+              'sources': [
+                'crash/content/app/breakpad_mac.h',
+                'crash/content/app/breakpad_mac_stubs.mm',
+                'crash/content/app/crash_reporter_client.cc',
+                'crash/content/app/crash_reporter_client.h',
+              ],
+            },
+          ],
+        }],
+        ['os_posix == 1 and OS != "mac"', {
+          'targets': [
+            {
+              # GN version: //components/crash/content/browser
+              'target_name': 'breakpad_host',
+              'type': 'static_library',
+              'dependencies': [
+                'crash_component',
+                '../base/base.gyp:base',
+                '../breakpad/breakpad.gyp:breakpad_client',
+                '../content/content.gyp:content_browser',
+                '../content/content.gyp:content_common',
+              ],
+              'sources': [
+                'crash/content/browser/crash_dump_manager_android.cc',
+                'crash/content/browser/crash_dump_manager_android.h',
+                'crash/content/browser/crash_handler_host_linux.cc',
+                'crash/content/browser/crash_handler_host_linux.h',
+              ],
+              'include_dirs': [
+                '../breakpad/src',
+              ],
+              'target_conditions': [
+                # Need 'target_conditions' to override default filename_rules to include
+                # the files on Android.
+                ['OS=="android"', {
+                  'sources/': [
+                    ['include', '^crash/content/browser/crash_handler_host_linux\\.cc$'],
+                  ],
+                }],
+              ],
+            },
+          ],
+        }],
       ],
     }],
   ],
diff --git a/components/crash/README b/components/crash/README
new file mode 100644
index 0000000..9f11c875
--- /dev/null
+++ b/components/crash/README
@@ -0,0 +1,2 @@
+Crash is a layered component [1] to enable it to be shared cleanly on iOS.
+[1]: (https://sites.google.com/a/chromium.org/dev/developers/design-documents/layered-components-design)
diff --git a/components/crash/app/BUILD.gn b/components/crash/content/app/BUILD.gn
similarity index 96%
rename from components/crash/app/BUILD.gn
rename to components/crash/content/app/BUILD.gn
index ccaf7b60..e0985c55 100644
--- a/components/crash/app/BUILD.gn
+++ b/components/crash/content/app/BUILD.gn
@@ -14,7 +14,7 @@
     "crash_reporter_client.h",
   ]
 
-  include_dirs = [ "../../../breakpad/src" ]
+  include_dirs = [ "../../../../breakpad/src" ]
 }
 
 # Note: if you depend on this target, you need to either link in
diff --git a/components/crash/app/DEPS b/components/crash/content/app/DEPS
similarity index 100%
rename from components/crash/app/DEPS
rename to components/crash/content/app/DEPS
diff --git a/components/crash/app/breakpad_linux.cc b/components/crash/content/app/breakpad_linux.cc
similarity index 99%
rename from components/crash/app/breakpad_linux.cc
rename to components/crash/content/app/breakpad_linux.cc
index 579d769..c08a7f9 100644
--- a/components/crash/app/breakpad_linux.cc
+++ b/components/crash/content/app/breakpad_linux.cc
@@ -5,7 +5,7 @@
 // For linux_syscall_support.h. This makes it safe to call embedded system
 // calls when in seccomp mode.
 
-#include "components/crash/app/breakpad_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
 
 #include <fcntl.h>
 #include <poll.h>
@@ -39,8 +39,8 @@
 #include "breakpad/src/common/linux/linux_libc_support.h"
 #include "breakpad/src/common/memory.h"
 #include "build/build_config.h"
-#include "components/crash/app/breakpad_linux_impl.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/breakpad_linux_impl.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 #include "content/public/common/content_descriptors.h"
 
 #if defined(OS_ANDROID)
diff --git a/components/crash/app/breakpad_linux.h b/components/crash/content/app/breakpad_linux.h
similarity index 83%
rename from components/crash/app/breakpad_linux.h
rename to components/crash/content/app/breakpad_linux.h
index 83a3068..4bfe0ce 100644
--- a/components/crash/app/breakpad_linux.h
+++ b/components/crash/content/app/breakpad_linux.h
@@ -4,8 +4,8 @@
 
 // Public interface for enabling Breakpad on Linux systems.
 
-#ifndef COMPONENTS_CRASH_APP_BREAKPAD_LINUX_H_
-#define COMPONENTS_CRASH_APP_BREAKPAD_LINUX_H_
+#ifndef COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_LINUX_H_
+#define COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_LINUX_H_
 
 #include <string>
 
@@ -29,4 +29,4 @@
 
 }  // namespace breakpad
 
-#endif  // COMPONENTS_CRASH_APP_BREAKPAD_LINUX_H_
+#endif  // COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_LINUX_H_
diff --git a/components/crash/app/breakpad_linux_impl.h b/components/crash/content/app/breakpad_linux_impl.h
similarity index 90%
rename from components/crash/app/breakpad_linux_impl.h
rename to components/crash/content/app/breakpad_linux_impl.h
index b306e52..3c94d72 100644
--- a/components/crash/app/breakpad_linux_impl.h
+++ b/components/crash/content/app/breakpad_linux_impl.h
@@ -6,14 +6,14 @@
 // shared between crash_handler_host_linux.cc and breakpad_linux.cc. It should
 // only be used in files compiled with linux_breakpad=1.
 
-#ifndef COMPONENTS_CRASH_APP_BREAKPAD_LINUX_IMPL_H_
-#define COMPONENTS_CRASH_APP_BREAKPAD_LINUX_IMPL_H_
+#ifndef COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_LINUX_IMPL_H_
+#define COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_LINUX_IMPL_H_
 
 #include <sys/types.h>
 
 #include "base/basictypes.h"
 #include "breakpad/src/common/simple_string_dictionary.h"
-#include "components/crash/app/breakpad_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
 
 namespace breakpad {
 
@@ -62,4 +62,4 @@
 
 }  // namespace breakpad
 
-#endif  // COMPONENTS_CRASH_APP_BREAKPAD_LINUX_IMPL_H_
+#endif  // COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_LINUX_IMPL_H_
diff --git a/components/crash/app/breakpad_mac.h b/components/crash/content/app/breakpad_mac.h
similarity index 80%
rename from components/crash/app/breakpad_mac.h
rename to components/crash/content/app/breakpad_mac.h
index 73f576a..d392e13 100644
--- a/components/crash/app/breakpad_mac.h
+++ b/components/crash/content/app/breakpad_mac.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_CRASH_APP_BREAKPAD_MAC_H_
-#define COMPONENTS_CRASH_APP_BREAKPAD_MAC_H_
+#ifndef COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_MAC_H_
+#define COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_MAC_H_
 
 #include <string>
 
@@ -24,4 +24,4 @@
 
 }  // namespace breakpad
 
-#endif  // COMPONENTS_CRASH_APP_BREAKPAD_MAC_H_
+#endif  // COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_MAC_H_
diff --git a/components/crash/app/breakpad_mac.mm b/components/crash/content/app/breakpad_mac.mm
similarity index 98%
rename from components/crash/app/breakpad_mac.mm
rename to components/crash/content/app/breakpad_mac.mm
index f435483f..84ef742 100644
--- a/components/crash/app/breakpad_mac.mm
+++ b/components/crash/content/app/breakpad_mac.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "components/crash/app/breakpad_mac.h"
+#import "components/crash/content/app/breakpad_mac.h"
 
 #include <CoreFoundation/CoreFoundation.h>
 #import <Foundation/Foundation.h>
@@ -25,7 +25,7 @@
 #include "base/threading/platform_thread.h"
 #include "base/threading/thread_restrictions.h"
 #import "breakpad/src/client/mac/Framework/Breakpad.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 using crash_reporter::GetCrashReporterClient;
 
diff --git a/components/crash/app/breakpad_mac_stubs.mm b/components/crash/content/app/breakpad_mac_stubs.mm
similarity index 90%
rename from components/crash/app/breakpad_mac_stubs.mm
rename to components/crash/content/app/breakpad_mac_stubs.mm
index e2b325c..329794b 100644
--- a/components/crash/app/breakpad_mac_stubs.mm
+++ b/components/crash/content/app/breakpad_mac_stubs.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "components/crash/app/breakpad_mac.h"
+#import "components/crash/content/app/breakpad_mac.h"
 
 #import <Foundation/Foundation.h>
 
diff --git a/components/crash/app/breakpad_win.cc b/components/crash/content/app/breakpad_win.cc
similarity index 98%
rename from components/crash/app/breakpad_win.cc
rename to components/crash/content/app/breakpad_win.cc
index 05a29ae8..5b53ff7 100644
--- a/components/crash/app/breakpad_win.cc
+++ b/components/crash/content/app/breakpad_win.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/app/breakpad_win.h"
+#include "components/crash/content/app/breakpad_win.h"
 
 #include <windows.h>
 #include <shellapi.h>
@@ -33,9 +33,9 @@
 #include "base/win/registry.h"
 #include "base/win/win_util.h"
 #include "breakpad/src/client/windows/handler/exception_handler.h"
-#include "components/crash/app/crash_keys_win.h"
-#include "components/crash/app/crash_reporter_client.h"
-#include "components/crash/app/hard_error_handler_win.h"
+#include "components/crash/content/app/crash_keys_win.h"
+#include "components/crash/content/app/crash_reporter_client.h"
+#include "components/crash/content/app/hard_error_handler_win.h"
 #include "content/public/common/result_codes.h"
 #include "sandbox/win/src/nt_internals.h"
 #include "sandbox/win/src/sidestep/preamble_patcher.h"
diff --git a/components/crash/app/breakpad_win.h b/components/crash/content/app/breakpad_win.h
similarity index 83%
rename from components/crash/app/breakpad_win.h
rename to components/crash/content/app/breakpad_win.h
index c574dcfe..c4e9349 100644
--- a/components/crash/app/breakpad_win.h
+++ b/components/crash/content/app/breakpad_win.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_CRASH_APP_BREAKPAD_WIN_H_
-#define COMPONENTS_CRASH_APP_BREAKPAD_WIN_H_
+#ifndef COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_WIN_H_
+#define COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_WIN_H_
 
 #include <windows.h>
 #include <string>
@@ -25,4 +25,4 @@
 
 }  // namespace breakpad
 
-#endif  // COMPONENTS_CRASH_APP_BREAKPAD_WIN_H_
+#endif  // COMPONENTS_CRASH_CONTENT_APP_BREAKPAD_WIN_H_
diff --git a/components/crash/app/crash_keys_win.cc b/components/crash/content/app/crash_keys_win.cc
similarity index 97%
rename from components/crash/app/crash_keys_win.cc
rename to components/crash/content/app/crash_keys_win.cc
index eda4340..2c784fa 100644
--- a/components/crash/app/crash_keys_win.cc
+++ b/components/crash/content/app/crash_keys_win.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/app/crash_keys_win.h"
+#include "components/crash/content/app/crash_keys_win.h"
 
 #include <algorithm>
 
@@ -12,7 +12,7 @@
 #include "base/logging.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 namespace breakpad {
 
diff --git a/components/crash/app/crash_keys_win.h b/components/crash/content/app/crash_keys_win.h
similarity index 93%
rename from components/crash/app/crash_keys_win.h
rename to components/crash/content/app/crash_keys_win.h
index d61ea2c..870de77a 100644
--- a/components/crash/app/crash_keys_win.h
+++ b/components/crash/content/app/crash_keys_win.h
@@ -2,6 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#ifndef COMPONENTS_CRASH_CONTENT_APP_CRASH_KEYS_WIN_H_
+#define COMPONENTS_CRASH_CONTENT_APP_CRASH_KEYS_WIN_H_
+
 #include <map>
 #include <string>
 #include <vector>
@@ -80,3 +83,5 @@
 };
 
 }  // namespace breakpad
+
+#endif  // COMPONENTS_CRASH_CONTENT_APP_CRASH_KEYS_WIN_H_
diff --git a/components/crash/app/crash_keys_win_unittest.cc b/components/crash/content/app/crash_keys_win_unittest.cc
similarity index 97%
rename from components/crash/app/crash_keys_win_unittest.cc
rename to components/crash/content/app/crash_keys_win_unittest.cc
index 133746f1..19d39427 100644
--- a/components/crash/app/crash_keys_win_unittest.cc
+++ b/components/crash/content/app/crash_keys_win_unittest.cc
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/app/crash_keys_win.h"
+#include "components/crash/content/app/crash_keys_win.h"
 
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/strings/stringprintf.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
diff --git a/components/crash/app/crash_reporter_client.cc b/components/crash/content/app/crash_reporter_client.cc
similarity index 97%
rename from components/crash/app/crash_reporter_client.cc
rename to components/crash/content/app/crash_reporter_client.cc
index 18cc67e..66388e2 100644
--- a/components/crash/app/crash_reporter_client.cc
+++ b/components/crash/content/app/crash_reporter_client.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 #include "base/files/file_path.h"
 #include "base/logging.h"
diff --git a/components/crash/app/crash_reporter_client.h b/components/crash/content/app/crash_reporter_client.h
similarity index 96%
rename from components/crash/app/crash_reporter_client.h
rename to components/crash/content/app/crash_reporter_client.h
index a3a003c4..4a96954 100644
--- a/components/crash/app/crash_reporter_client.h
+++ b/components/crash/content/app/crash_reporter_client.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_CRASH_APP_CRASH_REPORTER_CLIENT_H_
-#define COMPONENTS_CRASH_APP_CRASH_REPORTER_CLIENT_H_
+#ifndef COMPONENTS_CRASH_CONTENT_APP_CRASH_REPORTER_CLIENT_H_
+#define COMPONENTS_CRASH_CONTENT_APP_CRASH_REPORTER_CLIENT_H_
 
 #include <string>
 
@@ -155,4 +155,4 @@
 
 }  // namespace crash_reporter
 
-#endif  // COMPONENTS_CRASH_APP_CRASH_REPORTER_CLIENT_H_
+#endif  // COMPONENTS_CRASH_CONTENT_APP_CRASH_REPORTER_CLIENT_H_
diff --git a/components/crash/app/crashpad_mac.h b/components/crash/content/app/crashpad_mac.h
similarity index 92%
rename from components/crash/app/crashpad_mac.h
rename to components/crash/content/app/crashpad_mac.h
index 895cb2ba..b46cce52 100644
--- a/components/crash/app/crashpad_mac.h
+++ b/components/crash/content/app/crashpad_mac.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_CRASH_APP_CRASHPAD_MAC_H_
-#define COMPONENTS_CRASH_APP_CRASHPAD_MAC_H_
+#ifndef COMPONENTS_CRASH_CONTENT_APP_CRASHPAD_MAC_H_
+#define COMPONENTS_CRASH_CONTENT_APP_CRASHPAD_MAC_H_
 
 #include <time.h>
 
@@ -51,4 +51,4 @@
 
 }  // namespace crash_reporter
 
-#endif  // COMPONENTS_CRASH_APP_CRASHPAD_MAC_H_
+#endif  // COMPONENTS_CRASH_CONTENT_APP_CRASHPAD_MAC_H_
diff --git a/components/crash/app/crashpad_mac.mm b/components/crash/content/app/crashpad_mac.mm
similarity index 98%
rename from components/crash/app/crashpad_mac.mm
rename to components/crash/content/app/crashpad_mac.mm
index cab4133..1082db4 100644
--- a/components/crash/app/crashpad_mac.mm
+++ b/components/crash/content/app/crashpad_mac.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/app/crashpad_mac.h"
+#include "components/crash/content/app/crashpad_mac.h"
 
 #include <string.h>
 #include <unistd.h>
@@ -22,7 +22,7 @@
 #include "base/strings/string_piece.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/sys_string_conversions.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 #include "third_party/crashpad/crashpad/client/crash_report_database.h"
 #include "third_party/crashpad/crashpad/client/crashpad_client.h"
 #include "third_party/crashpad/crashpad/client/crashpad_info.h"
diff --git a/components/crash/app/hard_error_handler_win.cc b/components/crash/content/app/hard_error_handler_win.cc
similarity index 96%
rename from components/crash/app/hard_error_handler_win.cc
rename to components/crash/content/app/hard_error_handler_win.cc
index ee88522..a310666 100644
--- a/components/crash/app/hard_error_handler_win.cc
+++ b/components/crash/content/app/hard_error_handler_win.cc
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/app/hard_error_handler_win.h"
+#include "components/crash/content/app/hard_error_handler_win.h"
 
 #include <DelayIMP.h>
 #include <winternl.h>
 
 #include "base/basictypes.h"
 #include "base/strings/string_util.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 namespace breakpad {
 
diff --git a/components/crash/app/hard_error_handler_win.h b/components/crash/content/app/hard_error_handler_win.h
similarity index 86%
rename from components/crash/app/hard_error_handler_win.h
rename to components/crash/content/app/hard_error_handler_win.h
index 78556167..f1afc6b 100644
--- a/components/crash/app/hard_error_handler_win.h
+++ b/components/crash/content/app/hard_error_handler_win.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_CRASH_APP_HARD_ERROR_HANDLER_WIN_H_
-#define COMPONENTS_CRASH_APP_HARD_ERROR_HANDLER_WIN_H_
+#ifndef COMPONENTS_CRASH_CONTENT_APP_HARD_ERROR_HANDLER_WIN_H_
+#define COMPONENTS_CRASH_CONTENT_APP_HARD_ERROR_HANDLER_WIN_H_
 
 #include <windows.h>
 
@@ -31,4 +31,4 @@
 
 }  // namespace breakpad
 
-#endif  // COMPONENTS_CRASH_APP_HARD_ERROR_HANDLER_WIN_H_
+#endif  // COMPONENTS_CRASH_CONTENT_APP_HARD_ERROR_HANDLER_WIN_H_
diff --git a/components/crash/browser/BUILD.gn b/components/crash/content/browser/BUILD.gn
similarity index 95%
rename from components/crash/browser/BUILD.gn
rename to components/crash/content/browser/BUILD.gn
index 05e0c05..1af0d89 100644
--- a/components/crash/browser/BUILD.gn
+++ b/components/crash/content/browser/BUILD.gn
@@ -24,7 +24,7 @@
 
   deps = [
     "//base",
-    "//components/crash/app",
+    "//components/crash/content/app",
     "//content/public/browser",
     "//content/public/common",
   ]
diff --git a/components/crash/browser/DEPS b/components/crash/content/browser/DEPS
similarity index 100%
rename from components/crash/browser/DEPS
rename to components/crash/content/browser/DEPS
diff --git a/components/crash/browser/crash_dump_manager_android.cc b/components/crash/content/browser/crash_dump_manager_android.cc
similarity index 98%
rename from components/crash/browser/crash_dump_manager_android.cc
rename to components/crash/content/browser/crash_dump_manager_android.cc
index 05860a7..62e77ad 100644
--- a/components/crash/browser/crash_dump_manager_android.cc
+++ b/components/crash/content/browser/crash_dump_manager_android.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 
 #include "base/bind.h"
 #include "base/files/file_util.h"
diff --git a/components/crash/browser/crash_dump_manager_android.h b/components/crash/content/browser/crash_dump_manager_android.h
similarity index 93%
rename from components/crash/browser/crash_dump_manager_android.h
rename to components/crash/content/browser/crash_dump_manager_android.h
index 18d28599..e3f2391e 100644
--- a/components/crash/browser/crash_dump_manager_android.h
+++ b/components/crash/content/browser/crash_dump_manager_android.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_CRASH_BROWSER_CRASH_DUMP_MANAGER_ANDROID_H_
-#define COMPONENTS_CRASH_BROWSER_CRASH_DUMP_MANAGER_ANDROID_H_
+#ifndef COMPONENTS_CRASH_CONTENT_BROWSER_CRASH_DUMP_MANAGER_ANDROID_H_
+#define COMPONENTS_CRASH_CONTENT_BROWSER_CRASH_DUMP_MANAGER_ANDROID_H_
 
 #include <map>
 
@@ -82,4 +82,4 @@
 
 }  // namespace breakpad
 
-#endif  // COMPONENTS_CRASH_BROWSER_CRASH_DUMP_MANAGER_ANDROID_H_
+#endif  // COMPONENTS_CRASH_CONTENT_BROWSER_CRASH_DUMP_MANAGER_ANDROID_H_
diff --git a/components/crash/browser/crash_handler_host_linux.cc b/components/crash/content/browser/crash_handler_host_linux.cc
similarity index 98%
rename from components/crash/browser/crash_handler_host_linux.cc
rename to components/crash/content/browser/crash_handler_host_linux.cc
index 0f68216..a29a3ed 100644
--- a/components/crash/browser/crash_handler_host_linux.cc
+++ b/components/crash/content/browser/crash_handler_host_linux.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/browser/crash_handler_host_linux.h"
+#include "components/crash/content/browser/crash_handler_host_linux.h"
 
 #include <stdint.h>
 #include <stdlib.h>
@@ -29,7 +29,7 @@
 #include "breakpad/src/client/linux/handler/exception_handler.h"
 #include "breakpad/src/client/linux/minidump_writer/linux_dumper.h"
 #include "breakpad/src/client/linux/minidump_writer/minidump_writer.h"
-#include "components/crash/app/breakpad_linux_impl.h"
+#include "components/crash/content/app/breakpad_linux_impl.h"
 #include "content/public/browser/browser_thread.h"
 
 #if defined(OS_ANDROID) && !defined(__LP64__)
@@ -142,7 +142,7 @@
   // for writing the minidump as well as a file descriptor and a credentials
   // block so that they can't lie about their pid.
   //
-  // The message sender is in components/crash/app/breakpad_linux.cc.
+  // The message sender is in components/crash/content/app/breakpad_linux.cc.
 
   struct msghdr msg = {0};
   struct iovec iov[kCrashIovSize];
diff --git a/components/crash/browser/crash_handler_host_linux.h b/components/crash/content/browser/crash_handler_host_linux.h
similarity index 92%
rename from components/crash/browser/crash_handler_host_linux.h
rename to components/crash/content/browser/crash_handler_host_linux.h
index 876a0a5..92ef522 100644
--- a/components/crash/browser/crash_handler_host_linux.h
+++ b/components/crash/content/browser/crash_handler_host_linux.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_CRASH_BROWSER_CRASH_HANDLER_HOST_LINUX_H_
-#define COMPONENTS_CRASH_BROWSER_CRASH_HANDLER_HOST_LINUX_H_
+#ifndef COMPONENTS_CRASH_CONTENT_BROWSER_CRASH_HANDLER_HOST_LINUX_H_
+#define COMPONENTS_CRASH_CONTENT_BROWSER_CRASH_HANDLER_HOST_LINUX_H_
 
 #include <sys/types.h>
 
@@ -90,4 +90,4 @@
 
 }  // namespace breakpad
 
-#endif  // COMPONENTS_CRASH_BROWSER_CRASH_HANDLER_HOST_LINUX_H_
+#endif  // COMPONENTS_CRASH_CONTENT_BROWSER_CRASH_HANDLER_HOST_LINUX_H_
diff --git a/components/crash/tools/BUILD.gn b/components/crash/content/tools/BUILD.gn
similarity index 100%
rename from components/crash/tools/BUILD.gn
rename to components/crash/content/tools/BUILD.gn
diff --git a/components/crash/tools/crash_service.cc b/components/crash/content/tools/crash_service.cc
similarity index 99%
rename from components/crash/tools/crash_service.cc
rename to components/crash/content/tools/crash_service.cc
index f1536fc..ed55bbfc 100644
--- a/components/crash/tools/crash_service.cc
+++ b/components/crash/content/tools/crash_service.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "components/crash/tools/crash_service.h"
+#include "components/crash/content/tools/crash_service.h"
 
 #include <windows.h>
 
diff --git a/components/crash/tools/crash_service.h b/components/crash/content/tools/crash_service.h
similarity index 95%
rename from components/crash/tools/crash_service.h
rename to components/crash/content/tools/crash_service.h
index 81b28bd56..39335e3 100644
--- a/components/crash/tools/crash_service.h
+++ b/components/crash/content/tools/crash_service.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef COMPONENTS_CRASH_TOOLS_CRASH_SERVICE_H_
-#define COMPONENTS_CRASH_TOOLS_CRASH_SERVICE_H_
+#ifndef COMPONENTS_CRASH_CONTENT_TOOLS_CRASH_SERVICE_H_
+#define COMPONENTS_CRASH_CONTENT_TOOLS_CRASH_SERVICE_H_
 
 #include <string>
 
@@ -122,4 +122,4 @@
 
 }  // namespace breakpad
 
-#endif  // COMPONENTS_CRASH_TOOLS_CRASH_SERVICE_H_
+#endif  // COMPONENTS_CRASH_CONTENT_TOOLS_CRASH_SERVICE_H_
diff --git a/components/crash/tools/dmp2minidump.py b/components/crash/content/tools/dmp2minidump.py
similarity index 100%
rename from components/crash/tools/dmp2minidump.py
rename to components/crash/content/tools/dmp2minidump.py
diff --git a/components/crash/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py
similarity index 100%
rename from components/crash/tools/generate_breakpad_symbols.py
rename to components/crash/content/tools/generate_breakpad_symbols.py
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
index 010758e5..1ee13ab 100644
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -201,7 +201,7 @@
     "//base/allocator",
     "//base/third_party/dynamic_annotations",
     "//cc",
-    "//components/crash/app",
+    "//components/crash/content/app",
     "//components/devtools_discovery",
     "//components/devtools_http_handler",
     "//components/plugins/renderer",
@@ -272,7 +272,7 @@
   }
 
   if (is_posix && !is_mac) {
-    deps += [ "//components/crash/browser" ]
+    deps += [ "//components/crash/content/browser" ]
   }
 
   if (use_aura) {
@@ -458,7 +458,7 @@
     deps = [
       "//base",
       "//build/config/sanitizers:deps",
-      "//components/crash/tools:crash_service",
+      "//components/crash/content/tools:crash_service",
     ]
 
     configs -= [ "//build/config/win:console" ]
diff --git a/content/shell/android/BUILD.gn b/content/shell/android/BUILD.gn
index b722f0b..98261c57 100644
--- a/content/shell/android/BUILD.gn
+++ b/content/shell/android/BUILD.gn
@@ -24,7 +24,7 @@
     "//build/config/sanitizers:deps",
     "//content/shell:content_shell_lib",
     "//content/shell:pak",
-    "//components/crash/browser",
+    "//components/crash/content/browser",
     "//skia",
     "//media/base/android",
   ]
diff --git a/content/shell/app/shell_crash_reporter_client.h b/content/shell/app/shell_crash_reporter_client.h
index 882ecf0..89e5773 100644
--- a/content/shell/app/shell_crash_reporter_client.h
+++ b/content/shell/app/shell_crash_reporter_client.h
@@ -6,7 +6,7 @@
 #define CONTENT_SHELL_APP_SHELL_CRASH_REPORTER_CLIENT_H_
 
 #include "base/compiler_specific.h"
-#include "components/crash/app/crash_reporter_client.h"
+#include "components/crash/content/app/crash_reporter_client.h"
 
 namespace content {
 
diff --git a/content/shell/app/shell_main_delegate.cc b/content/shell/app/shell_main_delegate.cc
index 2eb438a5..e5914f8 100644
--- a/content/shell/app/shell_main_delegate.cc
+++ b/content/shell/app/shell_main_delegate.cc
@@ -57,7 +57,7 @@
 
 #if defined(OS_MACOSX)
 #include "base/mac/os_crash_dumps.h"
-#include "components/crash/app/breakpad_mac.h"
+#include "components/crash/content/app/breakpad_mac.h"
 #include "content/shell/app/paths_mac.h"
 #include "content/shell/app/shell_main_delegate_mac.h"
 #endif  // OS_MACOSX
@@ -66,12 +66,12 @@
 #include <initguid.h>
 #include <windows.h>
 #include "base/logging_win.h"
-#include "components/crash/app/breakpad_win.h"
+#include "components/crash/content/app/breakpad_win.h"
 #include "content/shell/common/v8_breakpad_support_win.h"
 #endif
 
 #if defined(OS_POSIX) && !defined(OS_MACOSX)
-#include "components/crash/app/breakpad_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
 #endif
 
 namespace {
diff --git a/content/shell/browser/layout_test/layout_test_browser_main_parts.cc b/content/shell/browser/layout_test/layout_test_browser_main_parts.cc
index 04361ef..69dede2 100644
--- a/content/shell/browser/layout_test/layout_test_browser_main_parts.cc
+++ b/content/shell/browser/layout_test/layout_test_browser_main_parts.cc
@@ -35,7 +35,7 @@
 #endif
 
 #if defined(OS_ANDROID)
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 #include "net/android/network_change_notifier_factory_android.h"
 #include "net/base/network_change_notifier.h"
 #endif
diff --git a/content/shell/browser/shell_browser_main_parts.cc b/content/shell/browser/shell_browser_main_parts.cc
index 68f52e2b..df1e8cf2 100644
--- a/content/shell/browser/shell_browser_main_parts.cc
+++ b/content/shell/browser/shell_browser_main_parts.cc
@@ -31,7 +31,7 @@
 #include "url/gurl.h"
 
 #if defined(OS_ANDROID)
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 #include "net/android/network_change_notifier_factory_android.h"
 #include "net/base/network_change_notifier.h"
 #endif
diff --git a/content/shell/browser/shell_content_browser_client.cc b/content/shell/browser/shell_content_browser_client.cc
index 98f66c86..2f928a92 100644
--- a/content/shell/browser/shell_content_browser_client.cc
+++ b/content/shell/browser/shell_content_browser_client.cc
@@ -40,14 +40,14 @@
 #if defined(OS_ANDROID)
 #include "base/android/apk_assets.h"
 #include "base/android/path_utils.h"
-#include "components/crash/browser/crash_dump_manager_android.h"
+#include "components/crash/content/browser/crash_dump_manager_android.h"
 #include "content/shell/android/shell_descriptors.h"
 #endif
 
 #if defined(OS_POSIX) && !defined(OS_MACOSX)
 #include "base/debug/leak_annotations.h"
-#include "components/crash/app/breakpad_linux.h"
-#include "components/crash/browser/crash_handler_host_linux.h"
+#include "components/crash/content/app/breakpad_linux.h"
+#include "components/crash/content/browser/crash_handler_host_linux.h"
 #include "content/public/common/content_descriptors.h"
 #endif
 
diff --git a/content/shell/tools/content_shell_crash_service.cc b/content/shell/tools/content_shell_crash_service.cc
index 897c6fb..70c8141 100644
--- a/content/shell/tools/content_shell_crash_service.cc
+++ b/content/shell/tools/content_shell_crash_service.cc
@@ -10,7 +10,7 @@
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/logging.h"
-#include "components/crash/tools/crash_service.h"
+#include "components/crash/content/tools/crash_service.h"
 
 int __stdcall wWinMain(HINSTANCE instance, HINSTANCE, wchar_t* cmd_line,
                        int show_mode) {
diff --git a/remoting/base/breakpad_win.cc b/remoting/base/breakpad_win.cc
index ce39d910..926d3af 100644
--- a/remoting/base/breakpad_win.cc
+++ b/remoting/base/breakpad_win.cc
@@ -4,7 +4,7 @@
 
 // This module contains the necessary code to register the Breakpad exception
 // handler. This implementation is based on Chrome crash reporting code. See:
-//   - src/components/crash/app/breakpad_win.cc
+//   - src/components/crash/content/app/breakpad_win.cc
 //   - src/chrome/installer/setup/setup_main.cc
 
 #include "remoting/base/breakpad.h"
diff --git a/tools/msan/blacklist.txt b/tools/msan/blacklist.txt
index a00f7405..99578865 100644
--- a/tools/msan/blacklist.txt
+++ b/tools/msan/blacklist.txt
@@ -22,7 +22,7 @@
 
 # False positives due to use of linux_syscall_support. http://crbug.com/394028
 src:*/breakpad/src/*
-src:*/components/crash/app/breakpad_linux.cc
+src:*/components/crash/content/app/breakpad_linux.cc
 
 # False positives due to an MSan bug. http://crbug.com/418986
 fun:*SchedGetParamThread*