Move screen_ai directory from components to services.

We are using the screen ai service to annotate the accessibility tree
that is provided to content public APIs. There is precedent for doing
this already from the content layer: AXImageAnnotator (in
content/renderer/accessibility/annotations) depends on
services/image_annotation to annotate images in the accessibility tree
with alt text. We're doing something similar with the screen_ai service,
to annotate the accessibility tree with a "main" role. Since screen ai
will now be depended on by content, it is now considered a foundational
service and should be located in //services rather than
//components/services.

This CL does the following:
1. Move screen_ai from //components/services to //services.
2. Rename every instance of //components/services to //services.
3. Move //components/test/data/screen_ai to
   //services/test/data/screen_ai.
4. Move the include rules and deps from //components/BUILD to
   //services/BUILD.
5. Move strings defined in components_strings to services_strings.
6. Add service test strings file path to ServiceTestSuite.
7. Update service_strings outputs to abide by ios naming convention.

Bug: 327248308
Change-Id: I358d9be39838cc45cd50f2d8a2b7f8d7d9b99b44
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5314624
Reviewed-by: Andy Phan <[email protected]>
Reviewed-by: John Abd-El-Malek <[email protected]>
Reviewed-by: Jorge Lucangeli Obes <[email protected]>
Reviewed-by: Zentaro Kavanagh <[email protected]>
Reviewed-by: Alex Gough <[email protected]>
Reviewed-by: Ramin Halavati <[email protected]>
Reviewed-by: Mark Mentovai <[email protected]>
Commit-Queue: Abigail Klein <[email protected]>
Reviewed-by: Jimmy Gong <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Reviewed-by: Bo Liu <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1266608}
diff --git a/chrome/app/BUILD.gn b/chrome/app/BUILD.gn
index f621c80..3b0a3ea 100644
--- a/chrome/app/BUILD.gn
+++ b/chrome/app/BUILD.gn
@@ -28,7 +28,7 @@
   public_deps = [
     "//build:branding_buildflags",
     "//build:chromeos_buildflags",
-    "//components/services/screen_ai/buildflags",
+    "//services/screen_ai/buildflags",
   ]
   deps = [ "//ui/base:constants" ]
 }
diff --git a/chrome/app/DEPS b/chrome/app/DEPS
index 9dda080..12809fd 100644
--- a/chrome/app/DEPS
+++ b/chrome/app/DEPS
@@ -34,7 +34,7 @@
   "+components/safe_browsing/android",
   "+components/safe_browsing/buildflags.h",
   "+components/startup_metric_utils/common",
-  "+components/services/screen_ai/buildflags",
+  "+services/screen_ai/buildflags",
   "+services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.h",
   "+components/upload_list",
   "+components/version_info",
diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h
index 84a96603..c5c3774d 100644
--- a/chrome/app/chrome_command_ids.h
+++ b/chrome/app/chrome_command_ids.h
@@ -8,7 +8,7 @@
 #include "build/branding_buildflags.h"
 #include "build/build_config.h"
 #include "build/chromeos_buildflags.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "ui/base/command_id_constants.h"
 
 // This file lists all the command IDs understood by e.g. the browser.
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 109cfdc..49102e4 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -25,7 +25,6 @@
 import("//components/offline_pages/buildflags/features.gni")
 import("//components/optimization_guide/features.gni")
 import("//components/os_crypt/sync/features.gni")
-import("//components/services/screen_ai/buildflags/features.gni")
 import("//components/spellcheck/spellcheck_build_features.gni")
 import("//crypto/features.gni")
 import("//device/vr/buildflags/buildflags.gni")
@@ -37,6 +36,7 @@
 import("//printing/buildflags/buildflags.gni")
 import("//rlz/buildflags/buildflags.gni")
 import("//sandbox/features.gni")
+import("//services/screen_ai/buildflags/features.gni")
 import("//testing/libfuzzer/fuzzer_test.gni")
 import("//third_party/blink/public/public_features.gni")
 import("//third_party/protobuf/proto_library.gni")
@@ -2008,7 +2008,6 @@
     "//components/payments/core:error_strings",
     "//components/policy/proto",
     "//components/safe_browsing:buildflags",
-    "//components/services/screen_ai/buildflags",
     "//components/services/storage/public/mojom",
     "//components/session_proto_db:session_proto_db",
     "//components/sync",
@@ -2020,6 +2019,7 @@
     "//services/data_decoder/public/mojom",
     "//services/image_annotation/public/mojom",
     "//services/network/public/mojom",
+    "//services/screen_ai/buildflags",
     "//sql",
   ]
 
@@ -2414,7 +2414,6 @@
     "//components/services/patch/content",
     "//components/services/quarantine",
     "//components/services/quarantine/public/mojom",
-    "//components/services/screen_ai/public/mojom:mojom",
     "//components/services/storage/public/cpp:prefs",
     "//components/services/unzip/content",
     "//components/services/unzip/public/cpp",
@@ -2544,6 +2543,7 @@
     "//services/proxy_resolver/public/mojom",
     "//services/resource_coordinator/public/cpp:resource_coordinator_cpp",
     "//services/resource_coordinator/public/cpp/memory_instrumentation:browser",
+    "//services/screen_ai/public/mojom:mojom",
     "//services/service_manager/public/cpp",
     "//services/shape_detection/public/mojom",
     "//services/strings",
@@ -2625,9 +2625,9 @@
       "//chrome/browser/screen_ai:prefs",
       "//chrome/browser/screen_ai:screen_ai_install_state",
       "//chrome/browser/screen_ai:screen_ai_service_router_factory",
-      "//components/services/screen_ai",
-      "//components/services/screen_ai/public/cpp:utilities",
-      "//components/services/screen_ai/public/mojom",
+      "//services/screen_ai",
+      "//services/screen_ai/public/cpp:utilities",
+      "//services/screen_ai/public/mojom",
     ]
 
     if (is_chromeos) {
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS
index 6e9453f2..8de42b6f 100644
--- a/chrome/browser/DEPS
+++ b/chrome/browser/DEPS
@@ -327,7 +327,6 @@
   "+components/session_manager",
   "+components/sessions/content",
   "+components/sessions/core",
-  "+components/services/screen_ai",
   "+components/signin/core/browser",
   "+components/signin/public",
   "+components/site_engagement",
@@ -460,6 +459,7 @@
   "+services/proxy_resolver_win/public/mojom",
   "+services/resource_coordinator/public/cpp",
   "+services/resource_coordinator/public/mojom",
+  "+services/screen_ai",
   "+services/shape_detection/public/mojom",
   "+services/strings",
   "+services/tracing/public/cpp",
diff --git a/chrome/browser/accessibility/ax_screen_ai_annotator.h b/chrome/browser/accessibility/ax_screen_ai_annotator.h
index 948a52cd..e10ae98 100644
--- a/chrome/browser/accessibility/ax_screen_ai_annotator.h
+++ b/chrome/browser/accessibility/ax_screen_ai_annotator.h
@@ -10,9 +10,9 @@
 #include "base/memory/raw_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "components/keyed_service/core/keyed_service.h"
-#include "components/services/screen_ai/public/mojom/screen_ai_service.mojom.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
+#include "services/screen_ai/public/mojom/screen_ai_service.mojom.h"
 #include "ui/accessibility/ax_tree_id.h"
 
 namespace content {
diff --git a/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler.h b/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler.h
index acdccd0e..479f335c 100644
--- a/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler.h
+++ b/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler.h
@@ -19,12 +19,12 @@
 #include "base/scoped_observation.h"
 #include "base/sequence_checker.h"
 #include "chrome/browser/accessibility/media_app/ax_media_app.h"
-#include "components/services/screen_ai/public/mojom/screen_ai_service.mojom.h"
 #include "content/public/browser/browser_accessibility_state.h"
 #include "content/public/browser/browser_context.h"
 #include "mojo/public/cpp/bindings/message.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/remote.h"
+#include "services/screen_ai/public/mojom/screen_ai_service.mojom.h"
 #include "ui/accessibility/ax_action_handler_base.h"
 #include "ui/accessibility/ax_enums.mojom.h"
 #include "ui/accessibility/ax_mode.h"
diff --git a/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler_browsertest.cc b/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler_browsertest.cc
index cc532a1..d0e9894 100644
--- a/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler_browsertest.cc
+++ b/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler_browsertest.cc
@@ -17,12 +17,12 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/test/base/in_process_browser_test.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/test/browser_test.h"
 #include "content/public/test/test_web_ui.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/remote.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/accessibility/ax_enums.mojom.h"
 #include "ui/accessibility/ax_tree.h"
@@ -35,10 +35,10 @@
 #include "base/strings/escape.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "chrome/test/base/ui_test_utils.h"
-#include "components/services/screen_ai/public/test/fake_screen_ai_annotator.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/test/accessibility_notification_waiter.h"
 #include "mojo/public/cpp/bindings/remote.h"
+#include "services/screen_ai/public/test/fake_screen_ai_annotator.h"
 #include "ui/accessibility/ax_event_generator.h"
 #include "ui/accessibility/ax_node.h"
 #include "ui/accessibility/ax_tree.h"
diff --git a/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler_unittest.cc b/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler_unittest.cc
index f0a704f2..cc76a55 100644
--- a/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler_unittest.cc
+++ b/chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler_unittest.cc
@@ -14,14 +14,14 @@
 #include "chrome/browser/accessibility/media_app/test/fake_ax_media_app.h"
 #include "chrome/browser/accessibility/media_app/test/test_helpers.h"
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
-#include "components/services/screen_ai/public/test/fake_screen_ai_annotator.h"
 #include "content/public/browser/browser_accessibility_state.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/test/browser_task_environment.h"
 #include "content/public/test/scoped_accessibility_mode_override.h"
 #include "mojo/public/cpp/test_support/fake_message_dispatch_context.h"
 #include "mojo/public/cpp/test_support/test_utils.h"
+#include "services/screen_ai/buildflags/buildflags.h"
+#include "services/screen_ai/public/test/fake_screen_ai_annotator.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/accessibility/ax_mode.h"
 
diff --git a/chrome/browser/accessibility/media_app/test/test_helpers.h b/chrome/browser/accessibility/media_app/test/test_helpers.h
index 44e29ec..2a52e11 100644
--- a/chrome/browser/accessibility/media_app/test/test_helpers.h
+++ b/chrome/browser/accessibility/media_app/test/test_helpers.h
@@ -7,8 +7,8 @@
 
 #include "chrome/browser/accessibility/media_app/ax_media_app.h"
 #include "chrome/browser/accessibility/media_app/ax_media_app_untrusted_handler.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 
 namespace ash {
 class AXMediaAppUntrustedHandler;
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
index e569e2d..b303ad3 100644
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
@@ -28,13 +28,13 @@
 #include "components/nacl/common/buildflags.h"
 #include "components/prefs/persistent_pref_store.h"
 #include "components/prefs/pref_change_registrar.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "extensions/buildflags/buildflags.h"
 #include "media/media_buildflags.h"
 #include "ppapi/buildflags/buildflags.h"
 #include "printing/buildflags/buildflags.h"
 #include "services/network/public/cpp/network_quality_tracker.h"
 #include "services/network/public/mojom/network_service.mojom-forward.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 
 #if !BUILDFLAG(IS_ANDROID)
 #include "chrome/browser/upgrade_detector/build_state.h"
diff --git a/chrome/browser/chrome_browser_interface_binders.cc b/chrome/browser/chrome_browser_interface_binders.cc
index 26e16fd..c822fc1 100644
--- a/chrome/browser/chrome_browser_interface_binders.cc
+++ b/chrome/browser/chrome_browser_interface_binders.cc
@@ -86,7 +86,6 @@
 #include "components/search_engines/search_engine_choice_utils.h"
 #include "components/security_state/content/content_utils.h"
 #include "components/security_state/core/security_state.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/signin/public/identity_manager/identity_manager.h"
 #include "components/site_engagement/core/mojom/site_engagement_details.mojom.h"
 #include "components/translate/content/common/translate.mojom.h"
@@ -102,6 +101,7 @@
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/self_owned_receiver.h"
 #include "services/image_annotation/public/mojom/image_annotation.mojom.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "third_party/blink/public/common/features.h"
 #include "third_party/blink/public/mojom/credentialmanagement/credential_manager.mojom.h"
 #include "third_party/blink/public/mojom/lcp_critical_path_predictor/lcp_critical_path_predictor.mojom.h"
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index b91548bd..10240bd 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -733,7 +733,7 @@
 #endif  // defined(_WINDOWS_)
 
 #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
-#include "components/services/screen_ai/public/cpp/utilities.h"
+#include "services/screen_ai/public/cpp/utilities.h"
 #endif
 
 #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) || !BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc
index 05c4c65..b735efaf 100644
--- a/chrome/browser/component_updater/registration.cc
+++ b/chrome/browser/component_updater/registration.cc
@@ -47,9 +47,9 @@
 #include "components/component_updater/url_param_filter_remover.h"
 #include "components/nacl/common/buildflags.h"
 #include "components/safe_browsing/core/common/features.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "device/vr/buildflags/buildflags.h"
 #include "ppapi/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "third_party/widevine/cdm/buildflags.h"
 
 #if BUILDFLAG(IS_WIN)
diff --git a/chrome/browser/component_updater/screen_ai_component_installer.cc b/chrome/browser/component_updater/screen_ai_component_installer.cc
index de1d1b5..5dc431b 100644
--- a/chrome/browser/component_updater/screen_ai_component_installer.cc
+++ b/chrome/browser/component_updater/screen_ai_component_installer.cc
@@ -13,10 +13,10 @@
 #include "chrome/browser/screen_ai/screen_ai_install_state.h"
 #include "components/component_updater/component_updater_service.h"
 #include "components/crx_file/id_util.h"
-#include "components/services/screen_ai/public/cpp/utilities.h"
 #include "components/update_client/update_client_errors.h"
 #include "content/public/browser/browser_thread.h"
 #include "crypto/sha2.h"
+#include "services/screen_ai/public/cpp/utilities.h"
 
 using content::BrowserThread;
 
diff --git a/chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc b/chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc
index cf418cd..3abf75e 100644
--- a/chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc
+++ b/chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc
@@ -39,11 +39,11 @@
 #include "chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.h"
 #include "chrome/browser/speech/extension_api/tts_extension_api.h"
 #include "chrome/common/buildflags.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_api.h"
 #include "extensions/browser/api/networking_private/networking_private_delegate_factory.h"
 #include "pdf/buildflags.h"
 #include "printing/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 
 #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
 #include "chrome/browser/extensions/api/system_indicator/system_indicator_manager_factory.h"
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
index 19261814..cc76862 100644
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -52,7 +52,6 @@
 #include "components/proxy_config/proxy_config_pref_names.h"
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
 #include "components/search_engines/default_search_manager.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/signin/public/base/signin_pref_names.h"
 #include "components/spellcheck/browser/pref_names.h"
 #include "components/supervised_user/core/common/pref_names.h"
@@ -66,6 +65,7 @@
 #include "extensions/browser/extension_system.h"
 #include "extensions/browser/management_policy.h"
 #include "extensions/common/extension.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 #include "ash/components/arc/arc_prefs.h"
diff --git a/chrome/browser/pdf/BUILD.gn b/chrome/browser/pdf/BUILD.gn
index e400ebde..a92a4645 100644
--- a/chrome/browser/pdf/BUILD.gn
+++ b/chrome/browser/pdf/BUILD.gn
@@ -30,7 +30,6 @@
     "//components/pdf/browser:interceptors",
     "//components/pdf/common:constants",
     "//components/prefs",
-    "//components/services/screen_ai/buildflags",
     "//components/zoom",
     "//content/public/browser",
     "//extensions/browser",
@@ -40,6 +39,7 @@
     "//pdf:buildflags",
     "//pdf:features",
     "//printing/buildflags",
+    "//services/screen_ai/buildflags",
     "//third_party/blink/public/common:headers",
     "//ui/base",
     "//ui/gfx:color_utils",
diff --git a/chrome/browser/pdf/pdf_extension_accessibility_test.cc b/chrome/browser/pdf/pdf_extension_accessibility_test.cc
index 77b9119..3fc73178 100644
--- a/chrome/browser/pdf/pdf_extension_accessibility_test.cc
+++ b/chrome/browser/pdf/pdf_extension_accessibility_test.cc
@@ -35,7 +35,6 @@
 #include "chrome/browser/renderer_context_menu/render_view_context_menu_browsertest_util.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "components/metrics/content/subprocess_metrics_provider.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/ukm/test_ukm_recorder.h"
 #include "components/zoom/zoom_controller.h"
 #include "content/public/browser/ax_inspect_factory.h"
@@ -50,6 +49,7 @@
 #include "net/test/embedded_test_server/embedded_test_server.h"
 #include "pdf/pdf_features.h"
 #include "services/metrics/public/cpp/ukm_builders.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/common/context_menu_data/untrustworthy_context_menu_params.h"
 #include "ui/accessibility/accessibility_features.h"
@@ -82,8 +82,8 @@
 #include "chrome/browser/screen_ai/screen_ai_service_router.h"
 #include "chrome/browser/screen_ai/screen_ai_service_router_factory.h"
 #include "chrome/common/pref_names.h"
-#include "components/services/screen_ai/public/cpp/utilities.h"
 #include "components/strings/grit/components_strings.h"
+#include "services/screen_ai/public/cpp/utilities.h"
 #include "ui/base/l10n/l10n_util.h"
 #endif  // defined(PDF_OCR_INTEGRATION_TEST_ENABLED)
 
diff --git a/chrome/browser/pdf/pdf_extension_js_test.cc b/chrome/browser/pdf/pdf_extension_js_test.cc
index da2ee12..8d17b7d 100644
--- a/chrome/browser/pdf/pdf_extension_js_test.cc
+++ b/chrome/browser/pdf/pdf_extension_js_test.cc
@@ -27,7 +27,6 @@
 #include "chrome/test/base/ui_test_utils.h"
 #include "chrome/test/base/web_ui_test_data_source.h"
 #include "components/content_settings/core/browser/host_content_settings_map.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "content/public/browser/render_process_host.h"
 #include "content/public/common/content_features.h"
 #include "content/public/test/browser_test.h"
@@ -37,6 +36,7 @@
 #include "net/test/embedded_test_server/embedded_test_server.h"
 #include "pdf/buildflags.h"
 #include "pdf/pdf_features.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/resource/resource_bundle.h"
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
index 86e3d21..fa784ad 100644
--- a/chrome/browser/pdf/pdf_extension_util.cc
+++ b/chrome/browser/pdf/pdf_extension_util.cc
@@ -17,7 +17,6 @@
 #include "chrome/common/extensions/api/pdf_viewer_private.h"
 #include "chrome/grit/browser_resources.h"
 #include "chrome/grit/generated_resources.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/strings/grit/components_strings.h"
 #include "components/zoom/page_zoom_constants.h"
 #include "content/public/browser/browser_context.h"
@@ -28,6 +27,7 @@
 #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
 #include "extensions/common/api/mime_handler_private.h"
 #include "pdf/pdf_features.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/base/resource/resource_bundle.h"
 #include "ui/base/ui_base_features.h"
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 80c35b4..ead26a8 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -165,7 +165,6 @@
 #include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
 #include "components/segmentation_platform/embedder/default_model/device_switcher_result_dispatcher.h"
 #include "components/segmentation_platform/public/segmentation_platform_service.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/services/storage/public/cpp/storage_prefs.h"
 #include "components/sessions/core/session_id_generator.h"
 #include "components/signin/public/base/signin_pref_names.h"
@@ -192,6 +191,7 @@
 #include "ppapi/buildflags/buildflags.h"
 #include "printing/buildflags/buildflags.h"
 #include "rlz/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 
 #if BUILDFLAG(ENABLE_BACKGROUND_MODE)
 #include "chrome/browser/background/background_mode_manager.h"
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
index 931f5661..9267595 100644
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -231,7 +231,6 @@
 #include "components/policy/content/safe_search_service.h"
 #include "components/reading_list/features/reading_list_switches.h"
 #include "components/safe_browsing/buildflags.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/signin/public/base/signin_switches.h"
 #include "components/site_engagement/content/site_engagement_service.h"
 #include "components/spellcheck/spellcheck_buildflags.h"
@@ -242,6 +241,7 @@
 #include "ppapi/buildflags/buildflags.h"
 #include "printing/buildflags/buildflags.h"
 #include "services/network/public/cpp/features.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 
 #if BUILDFLAG(IS_ANDROID)
 #include "chrome/browser/android/auxiliary_search/auxiliary_search_provider.h"
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
index 06e3a6f..ec288f5 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -150,7 +150,6 @@
 #include "components/profile_metrics/browser_profile_type.h"
 #include "components/safe_search_api/safe_search_util.h"
 #include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/signin/public/base/signin_pref_names.h"
 #include "components/signin/public/identity_manager/identity_manager.h"
 #include "components/site_isolation/site_isolation_policy.h"
@@ -181,6 +180,7 @@
 #include "services/data_decoder/public/cpp/data_decoder.h"
 #include "services/preferences/public/mojom/preferences.mojom.h"
 #include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "services/service_manager/public/cpp/service.h"
 #include "ui/base/l10n/l10n_util.h"
 
diff --git a/chrome/browser/profiles/profile_keyed_service_browsertest.cc b/chrome/browser/profiles/profile_keyed_service_browsertest.cc
index 40e27a7..006b8cc5 100644
--- a/chrome/browser/profiles/profile_keyed_service_browsertest.cc
+++ b/chrome/browser/profiles/profile_keyed_service_browsertest.cc
@@ -21,7 +21,6 @@
 #include "components/keyed_service/core/keyed_service_base_factory.h"
 #include "components/omnibox/common/omnibox_features.h"
 #include "components/optimization_guide/machine_learning_tflite_buildflags.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/signin/public/base/signin_switches.h"
 #include "components/supervised_user/core/common/buildflags.h"
 #include "content/public/common/content_features.h"
@@ -31,6 +30,7 @@
 #include "net/base/features.h"
 #include "pdf/buildflags.h"
 #include "printing/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "testing/gmock/include/gmock/gmock-matchers.h"
 #include "third_party/blink/public/common/features.h"
 #include "ui/base/ui_base_features.h"
diff --git a/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc b/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
index 2f7b0de..010be4c 100644
--- a/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
@@ -13,8 +13,8 @@
 #include "chrome/test/base/testing_profile.h"
 #include "components/prefs/pref_service.h"
 #include "components/renderer_context_menu/render_view_context_menu_observer.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "content/public/browser/browser_context.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/gfx/color_palette.h"
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 22bfd8de..2682273 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -161,7 +161,6 @@
 #include "components/search_engines/template_url_service.h"
 #include "components/send_tab_to_self/metrics_util.h"
 #include "components/services/app_service/public/cpp/app_launch_util.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/spellcheck/browser/pref_names.h"
 #include "components/spellcheck/browser/spellcheck_host_metrics.h"
 #include "components/spellcheck/common/spellcheck_common.h"
@@ -201,6 +200,7 @@
 #include "printing/buildflags/buildflags.h"
 #include "services/metrics/public/cpp/ukm_builders.h"
 #include "services/metrics/public/cpp/ukm_recorder.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "services/service_manager/public/cpp/interface_provider.h"
 #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
 #include "third_party/blink/public/common/context_menu_data/context_menu_data.h"
diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.h b/chrome/browser/renderer_context_menu/render_view_context_menu.h
index e4041ee..b49ccaa5 100644
--- a/chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ b/chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -27,12 +27,12 @@
 #include "components/renderer_context_menu/render_view_context_menu_observer.h"
 #include "components/renderer_context_menu/render_view_context_menu_proxy.h"
 #include "components/search_engines/template_url.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/supervised_user/core/common/buildflags.h"
 #include "content/public/browser/context_menu_params.h"
 #include "extensions/buildflags/buildflags.h"
 #include "ppapi/buildflags/buildflags.h"
 #include "printing/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "third_party/blink/public/mojom/frame/frame.mojom-forward.h"
 #include "ui/base/interaction/element_identifier.h"
 #include "ui/base/models/simple_menu_model.h"
diff --git a/chrome/browser/resources/pdf/BUILD.gn b/chrome/browser/resources/pdf/BUILD.gn
index 89ec1309..b4b8493 100644
--- a/chrome/browser/resources/pdf/BUILD.gn
+++ b/chrome/browser/resources/pdf/BUILD.gn
@@ -2,8 +2,8 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//components/services/screen_ai/buildflags/features.gni")
 import("//pdf/features.gni")
+import("//services/screen_ai/buildflags/features.gni")
 import("//ui/webui/resources/tools/build_webui.gni")
 import("//ui/webui/resources/tools/generate_grd.gni")
 import("//ui/webui/resources/tools/optimize_webui.gni")
diff --git a/chrome/browser/screen_ai/BUILD.gn b/chrome/browser/screen_ai/BUILD.gn
index 1f70b44..b5ee74f1e 100644
--- a/chrome/browser/screen_ai/BUILD.gn
+++ b/chrome/browser/screen_ai/BUILD.gn
@@ -15,7 +15,7 @@
       ":screen_ai_install_state",
       "//chromeos/ash/components/dbus/dlcservice",
       "//chromeos/ash/components/dbus/dlcservice:dlcservice_proto",
-      "//components/services/screen_ai/public/cpp:utilities",
+      "//services/screen_ai/public/cpp:utilities",
     ]
 
     configs += [ "//build/config/compiler:wexit_time_destructors" ]
@@ -47,8 +47,8 @@
     "//base",
     "//chrome/browser:browser_process",
     "//components/prefs",
-    "//components/services/screen_ai/public/cpp:utilities",
     "//content/public/browser",
+    "//services/screen_ai/public/cpp:utilities",
     "//ui/accessibility:ax_base",
   ]
 
@@ -67,9 +67,9 @@
     ":screen_ai_install_state",
     "//chrome/browser/profiles:profile",
     "//components/keyed_service/core",
-    "//components/services/screen_ai/public/mojom:factory",
-    "//components/services/screen_ai/public/mojom:mojom",
     "//content/public/browser",
+    "//services/screen_ai/public/mojom:factory",
+    "//services/screen_ai/public/mojom:mojom",
   ]
 
   configs += [ "//build/config/compiler:wexit_time_destructors" ]
diff --git a/chrome/browser/screen_ai/README.md b/chrome/browser/screen_ai/README.md
index e811fe2..890bfbe 100644
--- a/chrome/browser/screen_ai/README.md
+++ b/chrome/browser/screen_ai/README.md
@@ -1 +1 @@
-See `components/services/screen_ai/README.md`
+See `services/screen_ai/README.md`
diff --git a/chrome/browser/screen_ai/screen_ai_dlc_installer.cc b/chrome/browser/screen_ai/screen_ai_dlc_installer.cc
index 26402ad..611fe4886 100644
--- a/chrome/browser/screen_ai/screen_ai_dlc_installer.cc
+++ b/chrome/browser/screen_ai/screen_ai_dlc_installer.cc
@@ -11,7 +11,7 @@
 #include "base/task/thread_pool.h"
 #include "chrome/browser/screen_ai/screen_ai_install_state.h"
 #include "chromeos/ash/components/dbus/dlcservice/dlcservice.pb.h"
-#include "components/services/screen_ai/public/cpp/utilities.h"
+#include "services/screen_ai/public/cpp/utilities.h"
 
 namespace {
 
diff --git a/chrome/browser/screen_ai/screen_ai_downloader_non_chromeos.cc b/chrome/browser/screen_ai/screen_ai_downloader_non_chromeos.cc
index 4756d944..5cfc52b 100644
--- a/chrome/browser/screen_ai/screen_ai_downloader_non_chromeos.cc
+++ b/chrome/browser/screen_ai/screen_ai_downloader_non_chromeos.cc
@@ -10,9 +10,9 @@
 #include "chrome/browser/component_updater/screen_ai_component_installer.h"
 #include "chrome/browser/screen_ai/pref_names.h"
 #include "components/prefs/pref_service.h"
-#include "components/services/screen_ai/public/cpp/utilities.h"
 #include "components/update_client/crx_update_item.h"
 #include "content/public/browser/browser_thread.h"
+#include "services/screen_ai/public/cpp/utilities.h"
 
 namespace screen_ai {
 
diff --git a/chrome/browser/screen_ai/screen_ai_install_state.cc b/chrome/browser/screen_ai/screen_ai_install_state.cc
index 014b1e1..b3eebe5 100644
--- a/chrome/browser/screen_ai/screen_ai_install_state.cc
+++ b/chrome/browser/screen_ai/screen_ai_install_state.cc
@@ -20,8 +20,8 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/screen_ai/pref_names.h"
 #include "components/prefs/pref_service.h"
-#include "components/services/screen_ai/public/cpp/utilities.h"
 #include "content/public/browser/browser_thread.h"
+#include "services/screen_ai/public/cpp/utilities.h"
 #include "ui/accessibility/accessibility_features.h"
 
 #if BUILDFLAG(IS_LINUX)
diff --git a/chrome/browser/screen_ai/screen_ai_service_router.h b/chrome/browser/screen_ai/screen_ai_service_router.h
index 35a31bd..0c26dd66 100644
--- a/chrome/browser/screen_ai/screen_ai_service_router.h
+++ b/chrome/browser/screen_ai/screen_ai_service_router.h
@@ -12,11 +12,11 @@
 #include "base/scoped_observation.h"
 #include "chrome/browser/screen_ai/screen_ai_install_state.h"
 #include "components/keyed_service/core/keyed_service.h"
-#include "components/services/screen_ai/public/mojom/screen_ai_factory.mojom.h"
-#include "components/services/screen_ai/public/mojom/screen_ai_service.mojom.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "mojo/public/cpp/bindings/remote.h"
+#include "services/screen_ai/public/mojom/screen_ai_factory.mojom.h"
+#include "services/screen_ai/public/mojom/screen_ai_service.mojom.h"
 
 namespace {
 class ComponentFiles;
diff --git a/chrome/browser/screen_ai/screen_ai_service_router_browsertest.cc b/chrome/browser/screen_ai/screen_ai_service_router_browsertest.cc
index 06cc4e8..82f4f3d66 100644
--- a/chrome/browser/screen_ai/screen_ai_service_router_browsertest.cc
+++ b/chrome/browser/screen_ai/screen_ai_service_router_browsertest.cc
@@ -17,9 +17,9 @@
 #include "chrome/browser/screen_ai/screen_ai_service_router_factory.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/test/base/in_process_browser_test.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
-#include "components/services/screen_ai/public/cpp/utilities.h"
 #include "content/public/test/browser_test.h"
+#include "services/screen_ai/buildflags/buildflags.h"
+#include "services/screen_ai/public/cpp/utilities.h"
 #include "ui/accessibility/accessibility_features.h"
 #include "ui/accessibility/ax_features.mojom-features.h"
 
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index e4a8e6b..b5518ec 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -20,7 +20,6 @@
 import("//components/metrics/structured/buildflags/buildflags.gni")
 import("//components/nacl/features.gni")
 import("//components/offline_pages/buildflags/features.gni")
-import("//components/services/screen_ai/buildflags/features.gni")
 import("//crypto/features.gni")
 import("//device/vr/buildflags/buildflags.gni")
 import("//extensions/buildflags/buildflags.gni")
@@ -28,6 +27,7 @@
 import("//ppapi/buildflags/buildflags.gni")
 import("//printing/buildflags/buildflags.gni")
 import("//rlz/buildflags/buildflags.gni")
+import("//services/screen_ai/buildflags/features.gni")
 import("//third_party/protobuf/proto_library.gni")
 import("//ui/base/ui_features.gni")
 import("//ui/views/features.gni")
@@ -6270,7 +6270,6 @@
       "//components/reading_list/features:flags",
       "//components/segmentation_platform/embedder/default_model:default_model",
       "//components/services/app_service",
-      "//components/services/screen_ai/buildflags",
       "//components/soda",
       "//components/soda:constants",
       "//components/ui_devtools/views",
@@ -6281,6 +6280,7 @@
       "//device/vr/buildflags:buildflags",
       "//services/data_decoder/public/cpp",
       "//services/media_session/public/mojom",
+      "//services/screen_ai/buildflags",
       "//ui/base/dragdrop:types",
       "//ui/gfx/geometry",
       "//ui/lottie",
diff --git a/chrome/browser/ui/DEPS b/chrome/browser/ui/DEPS
index fd4cb69..c9bd881 100644
--- a/chrome/browser/ui/DEPS
+++ b/chrome/browser/ui/DEPS
@@ -20,7 +20,6 @@
   "+components/safety_check",
   "+components/saved_tab_groups",
   "+components/segmentation_platform/content",
-  "+components/services/screen_ai",
   "+components/soda",
   "+components/supervised_user/core/common",
   "+components/tab_groups",
@@ -33,6 +32,7 @@
   "+pdf/pdf_features.h",
   "+services/content/public",
   "+services/device/public/mojom",
+  "+services/screen_ai",
 ]
 
 specific_include_rules = {
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
index 81a995b0..f138b30 100644
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -74,7 +74,6 @@
 #include "components/performance_manager/public/features.h"
 #include "components/policy/core/common/policy_pref_names.h"
 #include "components/prefs/pref_service.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/sessions/content/session_tab_helper.h"
 #include "components/sessions/core/tab_restore_service.h"
 #include "components/signin/public/base/signin_buildflags.h"
@@ -93,6 +92,7 @@
 #include "extensions/browser/extension_system.h"
 #include "extensions/common/extension_urls.h"
 #include "printing/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "ui/actions/actions.h"
 #include "ui/base/ui_base_features.h"
 #include "ui/events/keycodes/keyboard_codes.h"
diff --git a/chrome/browser/ui/browser_commands.h b/chrome/browser/ui/browser_commands.h
index 7f52ce0..a179c0d 100644
--- a/chrome/browser/ui/browser_commands.h
+++ b/chrome/browser/ui/browser_commands.h
@@ -16,9 +16,9 @@
 #include "chrome/browser/ui/chrome_pages.h"
 #include "chrome/browser/ui/tabs/tab_strip_model_delegate.h"
 #include "chrome/browser/ui/tabs/tab_strip_user_gesture_details.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "content/public/common/page_zoom.h"
 #include "printing/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "ui/base/window_open_disposition.h"
 
 class Browser;
diff --git a/chrome/browser/ui/views/BUILD.gn b/chrome/browser/ui/views/BUILD.gn
index 38cbf13..a9b9acd8 100644
--- a/chrome/browser/ui/views/BUILD.gn
+++ b/chrome/browser/ui/views/BUILD.gn
@@ -34,10 +34,10 @@
     "//components/keep_alive_registry",
     "//components/lens",
     "//components/lens:buildflags",
-    "//components/services/screen_ai/buildflags",
     "//components/vector_icons",
     "//content/public/browser",
     "//printing/buildflags",
+    "//services/screen_ai/buildflags",
     "//skia",
     "//ui/base",
     "//ui/events",
diff --git a/chrome/browser/ui/views/accelerator_table.cc b/chrome/browser/ui/views/accelerator_table.cc
index 3689a5cd..2ebb7df 100644
--- a/chrome/browser/ui/views/accelerator_table.cc
+++ b/chrome/browser/ui/views/accelerator_table.cc
@@ -18,8 +18,8 @@
 #include "chrome/app/chrome_command_ids.h"
 #include "components/lens/buildflags.h"
 #include "components/lens/lens_features.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "printing/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "ui/base/accelerators/accelerator.h"
 #include "ui/base/ui_base_features.h"
 #include "ui/events/event_constants.h"
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
index 26650b13..6ab17e0 100644
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -83,7 +83,6 @@
 #include "components/safe_browsing/core/browser/hashprefix_realtime/hash_realtime_utils.h"
 #include "components/safe_browsing/core/common/features.h"
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/signin/public/base/signin_buildflags.h"
 #include "components/signin/public/base/signin_switches.h"
 #include "components/strings/grit/components_branded_strings.h"
@@ -105,6 +104,7 @@
 #include "net/base/url_util.h"
 #include "net/net_buildflags.h"
 #include "services/device/public/cpp/device_features.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "third_party/blink/public/common/features_generated.h"
 #include "ui/accessibility/accessibility_features.h"
 #include "ui/accessibility/accessibility_switches.h"
diff --git a/chrome/common/features.gni b/chrome/common/features.gni
index 120941317..d0ecba8c 100644
--- a/chrome/common/features.gni
+++ b/chrome/common/features.gni
@@ -11,7 +11,6 @@
 import("//components/feed/features.gni")
 import("//components/nacl/features.gni")
 import("//components/safe_browsing/buildflags.gni")
-import("//components/services/screen_ai/buildflags/features.gni")
 import("//components/signin/features.gni")
 import("//components/supervised_user/buildflags.gni")
 import("//crypto/features.gni")
@@ -22,6 +21,7 @@
 import("//pdf/features.gni")
 import("//ppapi/buildflags/buildflags.gni")
 import("//printing/buildflags/buildflags.gni")
+import("//services/screen_ai/buildflags/features.gni")
 import("//ui/base/ui_features.gni")
 import("//ui/webui/webui_features.gni")
 
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
index ddfdfd4..b5e29a0 100644
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
@@ -435,9 +435,9 @@
     deps += [
       "//chrome/common/accessibility:mojo_bindings",
       "//components/crx_file",
-      "//components/services/screen_ai/buildflags",
-      "//components/services/screen_ai/public/mojom",
       "//components/trusted_vault",
+      "//services/screen_ai/buildflags",
+      "//services/screen_ai/public/mojom",
       "//third_party/re2:re2",
     ]
   }
diff --git a/chrome/renderer/DEPS b/chrome/renderer/DEPS
index 2632fd2..d6dd0bf 100644
--- a/chrome/renderer/DEPS
+++ b/chrome/renderer/DEPS
@@ -63,7 +63,6 @@
   "+components/safe_browsing/content/renderer",
   "+components/safe_browsing/content/common",
   "+components/safe_browsing/core/common",
-  "+components/services/screen_ai",
   "+components/signin/public/base/signin_buildflags.h",
   "+components/signin/public/base/signin_switches.h",
   "+components/spellcheck/renderer",
@@ -100,6 +99,7 @@
   "+ppapi/shared_impl",
   "+services/network/public/cpp",
   "+services/network/public/mojom",
+  "+services/screen_ai",
   "+services/tracing/public/cpp",
   "+services/metrics/public/cpp/mojo_ukm_recorder.h",
   "+services/metrics/public/cpp/ukm_builders.h",
diff --git a/chrome/renderer/accessibility/ax_tree_distiller.h b/chrome/renderer/accessibility/ax_tree_distiller.h
index d827988..4e88159a 100644
--- a/chrome/renderer/accessibility/ax_tree_distiller.h
+++ b/chrome/renderer/accessibility/ax_tree_distiller.h
@@ -12,9 +12,9 @@
 #include "base/memory/weak_ptr.h"
 #include "base/scoped_observation.h"
 #include "base/time/time.h"
-#include "components/services/screen_ai/public/mojom/screen_ai_service.mojom.h"
 #include "mojo/public/cpp/bindings/remote.h"
 #include "services/metrics/public/cpp/ukm_source_id.h"
+#include "services/screen_ai/public/mojom/screen_ai_service.mojom.h"
 
 #include "ui/accessibility/ax_node_id_forward.h"
 #include "ui/accessibility/ax_tree_id.h"
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index b80bc69..dd353d8 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -33,7 +33,6 @@
 import("//components/optimization_guide/features.gni")
 import("//components/os_crypt/sync/features.gni")
 import("//components/safe_browsing/buildflags.gni")
-import("//components/services/screen_ai/buildflags/features.gni")
 import("//components/soda/buildflags.gni")
 import("//components/spellcheck/spellcheck_build_features.gni")
 import("//crypto/features.gni")
@@ -44,6 +43,7 @@
 import("//ppapi/buildflags/buildflags.gni")
 import("//printing/buildflags/buildflags.gni")
 import("//rlz/buildflags/buildflags.gni")
+import("//services/screen_ai/buildflags/features.gni")
 import("//testing/libfuzzer/fuzzer_test.gni")
 import("//testing/test.gni")
 import("//third_party/protobuf/proto_library.gni")
@@ -2990,9 +2990,9 @@
       deps += [
         "//chrome/browser/screen_ai:screen_ai_install_state",
         "//chrome/browser/screen_ai:screen_ai_service_router_factory",
-        "//components/services/screen_ai:test_support",
-        "//components/services/screen_ai/public/cpp:utilities",
-        "//components/services/screen_ai/public/mojom",
+        "//services/screen_ai:test_support",
+        "//services/screen_ai/public/cpp:utilities",
+        "//services/screen_ai/public/mojom",
       ]
 
       if (enable_screen_ai_browsertests) {
@@ -7377,7 +7377,7 @@
   if (enable_screen_ai_service) {
     deps += [
       "../browser/screen_ai:screen_ai_install_state",
-      "//components/services/screen_ai:test_support",
+      "//services/screen_ai:test_support",
     ]
   }
 
diff --git a/chrome/test/data/pdf/BUILD.gn b/chrome/test/data/pdf/BUILD.gn
index b1088e6..7a4597e 100644
--- a/chrome/test/data/pdf/BUILD.gn
+++ b/chrome/test/data/pdf/BUILD.gn
@@ -3,8 +3,8 @@
 # found in the LICENSE file.
 
 import("//chrome/test/data/webui/build_webui_tests.gni")
-import("//components/services/screen_ai/buildflags/features.gni")
 import("//pdf/features.gni")
+import("//services/screen_ai/buildflags/features.gni")
 
 assert(enable_pdf, "enable_pdf check failed")
 
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
index 38eb0655..a7c1dd9 100644
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -8,10 +8,10 @@
 import("//chrome/common/features.gni")
 import("//chrome/services/speech/buildflags/buildflags.gni")
 import("//chromeos/ash/components/assistant/assistant.gni")
-import("//components/services/screen_ai/buildflags/features.gni")
 import("//crypto/features.gni")
 import("//extensions/buildflags/buildflags.gni")
 import("//printing/buildflags/buildflags.gni")
+import("//services/screen_ai/buildflags/features.gni")
 
 static_library("utility") {
   sources = [
@@ -48,7 +48,6 @@
     "//components/services/language_detection",
     "//components/services/paint_preview_compositor",
     "//components/services/patch:lib",
-    "//components/services/screen_ai/buildflags",
     "//components/services/unzip:lib",
     "//components/strings",
     "//components/url_formatter",
@@ -63,6 +62,7 @@
     "//printing/buildflags",
     "//services/data_decoder:lib",
     "//services/network:network_service",
+    "//services/screen_ai/buildflags",
     "//services/service_manager/public/cpp",
     "//skia",
     "//sql",
@@ -144,7 +144,7 @@
   }
 
   if (enable_screen_ai_service) {
-    deps += [ "//components/services/screen_ai" ]
+    deps += [ "//services/screen_ai" ]
   }
 
   if (enable_extensions) {
diff --git a/chrome/utility/DEPS b/chrome/utility/DEPS
index 7592c46..3c892272d7 100644
--- a/chrome/utility/DEPS
+++ b/chrome/utility/DEPS
@@ -59,7 +59,6 @@
   "+components/services/patch",
   "+components/services/print_compositor",
   "+components/services/quarantine",
-  "+components/services/screen_ai",
   "+components/services/unzip",
   "+components/webapps/services/web_app_origin_association",
   "+content/public/child",
@@ -71,6 +70,7 @@
   "+services/network/url_request_context_builder_mojo.h",
   "+services/proxy_resolver",
   "+services/proxy_resolver_win",
+  "+services/screen_ai",
   "+skia/ext",
   "+third_party/blink/public/common",
   "+third_party/zlib/google",
diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc
index 14fcda6ab..0ee7e3a2 100644
--- a/chrome/utility/services.cc
+++ b/chrome/utility/services.cc
@@ -19,7 +19,6 @@
 #include "components/services/language_detection/public/mojom/language_detection.mojom.h"
 #include "components/services/patch/file_patcher_impl.h"
 #include "components/services/patch/public/mojom/file_patcher.mojom.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
 #include "components/services/unzip/public/mojom/unzipper.mojom.h"
 #include "components/services/unzip/unzipper_impl.h"
 #include "components/webapps/services/web_app_origin_association/public/mojom/web_app_origin_association_parser.mojom.h"
@@ -29,11 +28,12 @@
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "mojo/public/cpp/bindings/service_factory.h"
 #include "printing/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
 #include "ui/accessibility/accessibility_features.h"
 
 #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
-#include "components/services/screen_ai/public/mojom/screen_ai_factory.mojom.h"  // nogncheck
-#include "components/services/screen_ai/screen_ai_service_impl.h"  // nogncheck
+#include "services/screen_ai/public/mojom/screen_ai_factory.mojom.h"  // nogncheck
+#include "services/screen_ai/screen_ai_service_impl.h"  // nogncheck
 #endif
 
 #if BUILDFLAG(IS_WIN)