[go: nahoru, domu]

Introduce network::mojom::ServiceWorkerRouterSourceType enum

A preliminary change to pass the matched router source info to DevTools.

ServiceWorkerRouterInfo, which is eventually sent to DevTools, is
defined in network::mojom. On the otherhand, the current router source
enum is defined under blink. As network::mojom can't rely on blink, this
CL moves blink::ServiceWorkerRouterSource::Type to
network::mojom::ServiceWorkerRouterSourceType.

Bug: 325120866
Change-Id: Id520e7a4f033b7013aae7e1ee4c46b02c50e7937
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5297034
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Yoshisato Yanagisawa <yyanagisawa@chromium.org>
Reviewed-by: Minoru Chikamune <chikamune@chromium.org>
Commit-Queue: Shunya Shishido <sisidovski@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1261188}
diff --git a/components/services/storage/service_worker/service_worker_database.cc b/components/services/storage/service_worker/service_worker_database.cc
index 5d7e4ca..36ea023 100644
--- a/components/services/storage/service_worker/service_worker_database.cc
+++ b/components/services/storage/service_worker/service_worker_database.cc
@@ -25,6 +25,7 @@
 #include "services/network/public/cpp/web_sandbox_flags.h"
 #include "services/network/public/mojom/ip_address_space.mojom-shared.h"
 #include "services/network/public/mojom/referrer_policy.mojom.h"
+#include "services/network/public/mojom/service_worker_router_info.mojom-shared.h"
 #include "services/network/public/mojom/web_sandbox_flags.mojom-shared.h"
 #include "third_party/blink/public/common/service_worker/service_worker_router_rule.h"
 #include "third_party/blink/public/common/storage_key/storage_key.h"
@@ -2740,22 +2741,24 @@
             return Status::kErrorCorrupted;
           case ServiceWorkerRegistrationData::RouterRules::RuleV1::Source::
               kNetworkSource:
-            source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+            source.type =
+                network::mojom::ServiceWorkerRouterSourceType::kNetwork;
             source.network_source.emplace();
             break;
           case ServiceWorkerRegistrationData::RouterRules::RuleV1::Source::
               kRaceSource:
-            source.type = blink::ServiceWorkerRouterSource::Type::kRace;
+            source.type = network::mojom::ServiceWorkerRouterSourceType::kRace;
             source.race_source.emplace();
             break;
           case ServiceWorkerRegistrationData::RouterRules::RuleV1::Source::
               kFetchEventSource:
-            source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+            source.type =
+                network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
             source.fetch_event_source.emplace();
             break;
           case ServiceWorkerRegistrationData::RouterRules::RuleV1::Source::
               kCacheSource:
-            source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+            source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
             blink::ServiceWorkerRouterCacheSource cache_source;
             if (s.cache_source().has_cache_name()) {
               cache_source.cache_name = s.cache_source().cache_name();
@@ -2961,16 +2964,16 @@
         ServiceWorkerRegistrationData::RouterRules::RuleV1::Source* source =
             v1->add_source();
         switch (s.type) {
-          case blink::ServiceWorkerRouterSource::Type::kNetwork:
+          case network::mojom::ServiceWorkerRouterSourceType::kNetwork:
             source->mutable_network_source();
             break;
-          case blink::ServiceWorkerRouterSource::Type::kRace:
+          case network::mojom::ServiceWorkerRouterSourceType::kRace:
             source->mutable_race_source();
             break;
-          case blink::ServiceWorkerRouterSource::Type::kFetchEvent:
+          case network::mojom::ServiceWorkerRouterSourceType::kFetchEvent:
             source->mutable_fetch_event_source();
             break;
-          case blink::ServiceWorkerRouterSource::Type::kCache:
+          case network::mojom::ServiceWorkerRouterSourceType::kCache:
             auto* cache_source = source->mutable_cache_source();
             if (s.cache_source->cache_name) {
               cache_source->set_cache_name(*s.cache_source->cache_name);
diff --git a/components/services/storage/service_worker/service_worker_database_unittest.cc b/components/services/storage/service_worker/service_worker_database_unittest.cc
index 60cc20f..cb5ccd74 100644
--- a/components/services/storage/service_worker/service_worker_database_unittest.cc
+++ b/components/services/storage/service_worker/service_worker_database_unittest.cc
@@ -3620,7 +3620,7 @@
         blink::ServiceWorkerRouterCondition::WithUrlPattern(url_pattern);
 
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     source.network_source = blink::ServiceWorkerRouterNetworkSource{};
     rule.sources.emplace_back(source);
     router_rules.rules.emplace_back(rule);
@@ -3641,7 +3641,7 @@
         blink::ServiceWorkerRouterCondition::WithOrCondition(or_condition);
 
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     source.network_source = blink::ServiceWorkerRouterNetworkSource{};
     rule.sources.emplace_back(source);
     router_rules.rules.emplace_back(rule);
@@ -3659,7 +3659,7 @@
     }
 
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     source.network_source = blink::ServiceWorkerRouterNetworkSource{};
     rule.sources.emplace_back(source);
     router_rules.rules.emplace_back(rule);
@@ -3715,7 +3715,7 @@
     }
 
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     source.network_source = blink::ServiceWorkerRouterNetworkSource{};
     rule.sources.emplace_back(source);
     router_rules.rules.emplace_back(rule);
@@ -3744,7 +3744,7 @@
         blink::ServiceWorkerRouterCondition::WithUrlPattern(url_pattern);
 
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     source.network_source = blink::ServiceWorkerRouterNetworkSource{};
     rule.sources.emplace_back(source);
     router_rules.rules.emplace_back(rule);
@@ -3773,7 +3773,7 @@
         blink::ServiceWorkerRouterCondition::WithUrlPattern(url_pattern);
 
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     source.network_source = blink::ServiceWorkerRouterNetworkSource{};
     rule.sources.emplace_back(source);
     router_rules.rules.emplace_back(rule);
@@ -3797,31 +3797,31 @@
 
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kRace;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kRace;
       source.race_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
       source.fetch_event_source.emplace();
       rule.sources.push_back(source);
     }
     {  // cache source without cache_name.
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
       source.cache_source.emplace();
       rule.sources.push_back(source);
     }
     {  // cache source with cache_name.
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
       blink::ServiceWorkerRouterCacheSource cache_source;
       cache_source.cache_name = "example_cache_name";
       source.cache_source = cache_source;
@@ -3844,7 +3844,7 @@
         blink::ServiceWorkerRouterCondition::WithUrlPattern(url_pattern);
 
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     source.network_source = blink::ServiceWorkerRouterNetworkSource{};
     rule.sources.emplace_back(source);
     router_rules.rules.push_back(rule);
diff --git a/content/browser/service_worker/service_worker_main_resource_loader.cc b/content/browser/service_worker/service_worker_main_resource_loader.cc
index 59c4ebb8..39dd96e 100644
--- a/content/browser/service_worker/service_worker_main_resource_loader.cc
+++ b/content/browser/service_worker/service_worker_main_resource_loader.cc
@@ -326,7 +326,7 @@
       // TODO(crbug.com/1371756): support other sources in the full form.
       // https://github.com/yoshisatoyanagisawa/service-worker-static-routing-api/blob/main/final-form.md
       switch (source_type) {
-        case blink::ServiceWorkerRouterSource::Type::kNetwork:
+        case network::mojom::ServiceWorkerRouterSourceType::kNetwork:
           // Network fallback is requested.
           // URLLoader in |fallback_callback_|, in other words |url_loader_|
           // which is referred in
@@ -364,13 +364,13 @@
                   std::move(fallback_callback_), active_worker,
                   std::move(response_head_->service_worker_router_info)));
           return;
-        case blink::ServiceWorkerRouterSource::Type::kRace:
+        case network::mojom::ServiceWorkerRouterSourceType::kRace:
           race_network_request_mode = RaceNetworkRequestMode::kForced;
           break;
-        case blink::ServiceWorkerRouterSource::Type::kFetchEvent:
+        case network::mojom::ServiceWorkerRouterSourceType::kFetchEvent:
           race_network_request_mode = RaceNetworkRequestMode::kSkipped;
           break;
-        case blink::ServiceWorkerRouterSource::Type::kCache:
+        case network::mojom::ServiceWorkerRouterSourceType::kCache:
           cache_matcher_ = std::make_unique<ServiceWorkerCacheStorageMatcher>(
               sources[0].cache_source->cache_name,
               blink::mojom::FetchAPIRequest::From(resource_request_),
diff --git a/content/browser/service_worker/service_worker_version_unittest.cc b/content/browser/service_worker/service_worker_version_unittest.cc
index 39348eaa..32ab6ff 100644
--- a/content/browser/service_worker/service_worker_version_unittest.cc
+++ b/content/browser/service_worker/service_worker_version_unittest.cc
@@ -2064,7 +2064,7 @@
         {blink::ServiceWorkerRouterRunningStatusCondition::RunningStatusEnum::
              kRunning});
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     source.network_source = blink::ServiceWorkerRouterNetworkSource{};
     rule.sources.emplace_back(source);
     rules.rules.emplace_back(rule);
@@ -2083,7 +2083,7 @@
         {blink::ServiceWorkerRouterRunningStatusCondition::RunningStatusEnum::
              kNotRunning});
     blink::ServiceWorkerRouterSource source;
-    source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
     source.fetch_event_source = blink::ServiceWorkerRouterFetchEventSource{};
     rule.sources.emplace_back(source);
     rules.rules.emplace_back(rule);
@@ -2098,14 +2098,14 @@
               blink::ServiceWorkerRouterRunningStatusCondition::
                   RunningStatusEnum::kRunning);
     EXPECT_EQ(first_rule.sources.begin()->type,
-              blink::ServiceWorkerRouterSource::Type::kNetwork);
+              network::mojom::ServiceWorkerRouterSourceType::kNetwork);
     auto&& [second_url_pattern, second_request, second_running_status,
             second_or_condition] = second_rule.condition.get();
     EXPECT_EQ(second_running_status->status,
               blink::ServiceWorkerRouterRunningStatusCondition::
                   RunningStatusEnum::kNotRunning);
     EXPECT_EQ(second_rule.sources.begin()->type,
-              blink::ServiceWorkerRouterSource::Type::kFetchEvent);
+              network::mojom::ServiceWorkerRouterSourceType::kFetchEvent);
   }
 }
 
diff --git a/content/common/service_worker/service_worker_resource_loader.cc b/content/common/service_worker/service_worker_resource_loader.cc
index e89be31..75366cc 100644
--- a/content/common/service_worker/service_worker_resource_loader.cc
+++ b/content/common/service_worker/service_worker_resource_loader.cc
@@ -8,6 +8,7 @@
 #include "base/feature_list.h"
 #include "base/trace_event/trace_event.h"
 #include "content/common/features.h"
+#include "services/network/public/mojom/service_worker_router_info.mojom-shared.h"
 
 namespace content {
 ServiceWorkerResourceLoader::ServiceWorkerResourceLoader() = default;
@@ -89,11 +90,11 @@
   }
 
   switch (*used_router_source_type_) {
-    case blink::ServiceWorkerRouterSource::Type::kNetwork:
-    case blink::ServiceWorkerRouterSource::Type::kCache:
+    case network::mojom::ServiceWorkerRouterSourceType::kNetwork:
+    case network::mojom::ServiceWorkerRouterSourceType::kCache:
       return true;
-    case blink::ServiceWorkerRouterSource::Type::kRace:
-    case blink::ServiceWorkerRouterSource::Type::kFetchEvent:
+    case network::mojom::ServiceWorkerRouterSourceType::kRace:
+    case network::mojom::ServiceWorkerRouterSourceType::kFetchEvent:
       // It is fine to record the ServiceWorker related metrics
       // because the fetch handler is executed.
       return false;
diff --git a/content/common/service_worker/service_worker_resource_loader.h b/content/common/service_worker/service_worker_resource_loader.h
index 296fc44..5038046 100644
--- a/content/common/service_worker/service_worker_resource_loader.h
+++ b/content/common/service_worker/service_worker_resource_loader.h
@@ -10,6 +10,7 @@
 #include "base/check_op.h"
 #include "base/metrics/histogram_macros.h"
 #include "content/common/content_export.h"
+#include "services/network/public/mojom/service_worker_router_info.mojom-shared.h"
 #include "services/network/public/mojom/url_loader.mojom.h"
 #include "third_party/blink/public/common/service_worker/service_worker_router_rule.h"
 
@@ -119,14 +120,14 @@
   // sources are used.
   bool ShouldAvoidRecordingServiceWorkerTimingInfo();
   void set_used_router_source_type(
-      blink::ServiceWorkerRouterSource::Type type) {
+      network::mojom::ServiceWorkerRouterSourceType type) {
     used_router_source_type_ = type;
   }
 
  private:
   FetchResponseFrom commit_responsibility_ = FetchResponseFrom::kNoResponseYet;
   DispatchedPreloadType dispatched_preload_type_ = DispatchedPreloadType::kNone;
-  std::optional<blink::ServiceWorkerRouterSource::Type>
+  std::optional<network::mojom::ServiceWorkerRouterSourceType>
       used_router_source_type_;
 };
 }  // namespace content
diff --git a/content/common/service_worker/service_worker_router_evaluator.cc b/content/common/service_worker/service_worker_router_evaluator.cc
index 6b21b40..12ca46ec 100644
--- a/content/common/service_worker/service_worker_router_evaluator.cc
+++ b/content/common/service_worker/service_worker_router_evaluator.cc
@@ -240,28 +240,28 @@
   // Currently, only network source is supported.
   for (const auto& s : sources) {
     switch (s.type) {
-      case blink::ServiceWorkerRouterSource::Type::kNetwork:
+      case network::mojom::ServiceWorkerRouterSourceType::kNetwork:
         if (!s.network_source) {
           RecordSetupError(
               ServiceWorkerRouterEvaluatorErrorEnums::kInvalidSource);
           return false;
         }
         break;
-      case blink::ServiceWorkerRouterSource::Type::kRace:
+      case network::mojom::ServiceWorkerRouterSourceType::kRace:
         if (!s.race_source) {
           RecordSetupError(
               ServiceWorkerRouterEvaluatorErrorEnums::kInvalidSource);
           return false;
         }
         break;
-      case blink::ServiceWorkerRouterSource::Type::kFetchEvent:
+      case network::mojom::ServiceWorkerRouterSourceType::kFetchEvent:
         if (!s.fetch_event_source) {
           RecordSetupError(
               ServiceWorkerRouterEvaluatorErrorEnums::kInvalidSource);
           return false;
         }
         break;
-      case blink::ServiceWorkerRouterSource::Type::kCache:
+      case network::mojom::ServiceWorkerRouterSourceType::kCache:
         if (!s.cache_source) {
           RecordSetupError(
               ServiceWorkerRouterEvaluatorErrorEnums::kInvalidSource);
@@ -616,7 +616,8 @@
     need_running_status_ |= rule->need_running_status();
     for (const auto& s : r.sources) {
       bool has_fetch_event =
-          (s.type == blink::ServiceWorkerRouterSource::Type::kFetchEvent);
+          (s.type ==
+           network::mojom::ServiceWorkerRouterSourceType::kFetchEvent);
       has_fetch_event_source_ |= has_fetch_event;
       has_non_fetch_event_source_ |= !has_fetch_event;
     }
@@ -672,17 +673,17 @@
     base::Value::List source;
     for (const auto& s : r.sources) {
       switch (s.type) {
-        case blink::ServiceWorkerRouterSource::Type::kNetwork:
+        case network::mojom::ServiceWorkerRouterSourceType::kNetwork:
           source.Append("network");
           break;
-        case blink::ServiceWorkerRouterSource::Type::kRace:
+        case network::mojom::ServiceWorkerRouterSourceType::kRace:
           // TODO(crbug.com/1371756): we may need to update the name per target.
           source.Append("race-network-and-fetch-handler");
           break;
-        case blink::ServiceWorkerRouterSource::Type::kFetchEvent:
+        case network::mojom::ServiceWorkerRouterSourceType::kFetchEvent:
           source.Append("fetch-event");
           break;
-        case blink::ServiceWorkerRouterSource::Type::kCache:
+        case network::mojom::ServiceWorkerRouterSourceType::kCache:
           if (s.cache_source->cache_name) {
             base::Value::Dict out_s;
             out_s.Set("cache_name", *s.cache_source->cache_name);
diff --git a/content/common/service_worker/service_worker_router_evaluator_unittest.cc b/content/common/service_worker/service_worker_router_evaluator_unittest.cc
index 066ff59..528f178 100644
--- a/content/common/service_worker/service_worker_router_evaluator_unittest.cc
+++ b/content/common/service_worker/service_worker_router_evaluator_unittest.cc
@@ -71,7 +71,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -107,7 +107,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -143,7 +143,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -187,7 +187,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -230,7 +230,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -266,7 +266,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -285,7 +285,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kRace;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kRace;
       source.race_source.emplace();
       rule.sources.push_back(source);
     }
@@ -304,7 +304,7 @@
   // Four sources rule should match because of *.css URLPattern.
   EXPECT_TRUE(eval_result.has_value());
   EXPECT_EQ(1U, eval_result->sources.size());
-  EXPECT_EQ(blink::ServiceWorkerRouterSource::Type::kRace,
+  EXPECT_EQ(network::mojom::ServiceWorkerRouterSourceType::kRace,
             eval_result->sources[0].type);
 }
 
@@ -324,7 +324,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -360,7 +360,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -396,7 +396,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -481,7 +481,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -513,7 +513,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -552,7 +552,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -591,7 +591,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -630,7 +630,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -668,7 +668,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -707,7 +707,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -746,7 +746,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -784,7 +784,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -822,7 +822,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -848,7 +848,7 @@
     // No condition is set.
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -901,7 +901,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       // source.network_source is not set.
       rule.sources.push_back(source);
     }
@@ -927,7 +927,8 @@
           }
           {
             blink::ServiceWorkerRouterSource source;
-            source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+            source.type =
+                network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
             source.fetch_event_source.emplace();
             rule.sources.push_back(source);
           }
@@ -1010,7 +1011,8 @@
       }
       {
         blink::ServiceWorkerRouterSource source;
-        source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+        source.type =
+            network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
         source.fetch_event_source.emplace();
         rule.sources.push_back(source);
       }
@@ -1082,7 +1084,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -1154,7 +1156,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -1234,31 +1236,31 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kRace;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kRace;
       source.race_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
       source.fetch_event_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
       source.cache_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
       blink::ServiceWorkerRouterCacheSource cache_source;
       cache_source.cache_name = "example_cache_name";
       source.cache_source = cache_source;
@@ -1329,7 +1331,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -1384,7 +1386,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -1494,7 +1496,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
@@ -1544,7 +1546,7 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
diff --git a/content/renderer/service_worker/service_worker_subresource_loader.cc b/content/renderer/service_worker/service_worker_subresource_loader.cc
index 485bf3f..c8ff302d1 100644
--- a/content/renderer/service_worker/service_worker_subresource_loader.cc
+++ b/content/renderer/service_worker/service_worker_subresource_loader.cc
@@ -383,7 +383,7 @@
     auto source_type = sources[0].type;
     set_used_router_source_type(source_type);
     switch (source_type) {
-      case blink::ServiceWorkerRouterSource::Type::kNetwork:
+      case network::mojom::ServiceWorkerRouterSourceType::kNetwork:
         // Network fallback is requested.
         {
           auto timing = blink::mojom::ServiceWorkerFetchEventTiming::New();
@@ -392,13 +392,13 @@
           OnFallback(std::nullopt, std::move(timing));
         }
         return;
-      case blink::ServiceWorkerRouterSource::Type::kRace:
+      case network::mojom::ServiceWorkerRouterSourceType::kRace:
         race_network_request_mode = kForced;
         break;
-      case blink::ServiceWorkerRouterSource::Type::kFetchEvent:
+      case network::mojom::ServiceWorkerRouterSourceType::kFetchEvent:
         race_network_request_mode = kSkipped;
         break;
-      case blink::ServiceWorkerRouterSource::Type::kCache:
+      case network::mojom::ServiceWorkerRouterSourceType::kCache:
         controller_connector_->CallCacheStorageMatch(
             sources[0].cache_source->cache_name,
             blink::mojom::FetchAPIRequest::From(resource_request_),
diff --git a/services/network/public/mojom/service_worker_router_info.mojom b/services/network/public/mojom/service_worker_router_info.mojom
index 17e2676..273ceff 100644
--- a/services/network/public/mojom/service_worker_router_info.mojom
+++ b/services/network/public/mojom/service_worker_router_info.mojom
@@ -4,6 +4,20 @@
 
 module network.mojom;
 
+// Type of sources.
+// These values are persisted to logs. Entries should not be renumbered and
+// numeric values should never be reused.
+enum ServiceWorkerRouterSourceType {
+  // Network is used as a source.
+  kNetwork = 0,
+  // Race network and fetch handler.
+  kRace = 1,
+  // Fetch Event is used as a source.
+  kFetchEvent = 2,
+  // Cache is used as a source.
+  kCache = 3,
+};
+
 // Represents information about ServiceWorker Static Routing API, especially,
 // details of the matched static router rule.
 struct ServiceWorkerRouterInfo {
diff --git a/third_party/blink/common/service_worker/service_worker_router_rule.cc b/third_party/blink/common/service_worker/service_worker_router_rule.cc
index 2d9b34e..5d34072 100644
--- a/third_party/blink/common/service_worker/service_worker_router_rule.cc
+++ b/third_party/blink/common/service_worker/service_worker_router_rule.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "third_party/blink/public/common/service_worker/service_worker_router_rule.h"
+#include "services/network/public/mojom/service_worker_router_info.mojom-shared.h"
 
 namespace blink {
 
@@ -33,13 +34,13 @@
     return false;
   }
   switch (type) {
-    case Type::kNetwork:
+    case network::mojom::ServiceWorkerRouterSourceType::kNetwork:
       return network_source == other.network_source;
-    case Type::kRace:
+    case network::mojom::ServiceWorkerRouterSourceType::kRace:
       return race_source == other.race_source;
-    case Type::kFetchEvent:
+    case network::mojom::ServiceWorkerRouterSourceType::kFetchEvent:
       return fetch_event_source == other.fetch_event_source;
-    case Type::kCache:
+    case network::mojom::ServiceWorkerRouterSourceType::kCache:
       return cache_source == other.cache_source;
   }
 }
diff --git a/third_party/blink/common/service_worker/service_worker_router_rule_mojom_traits.cc b/third_party/blink/common/service_worker/service_worker_router_rule_mojom_traits.cc
index 46865379..390519b 100644
--- a/third_party/blink/common/service_worker/service_worker_router_rule_mojom_traits.cc
+++ b/third_party/blink/common/service_worker/service_worker_router_rule_mojom_traits.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "third_party/blink/public/common/service_worker/service_worker_router_rule_mojom_traits.h"
+#include "services/network/public/mojom/service_worker_router_info.mojom.h"
 #include "third_party/blink/public/common/service_worker/service_worker_router_rule.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_router_rule.mojom.h"
 
@@ -80,13 +81,13 @@
             blink::ServiceWorkerRouterSource>::
     GetTag(const blink::ServiceWorkerRouterSource& data) {
   switch (data.type) {
-    case blink::ServiceWorkerRouterSource::Type::kNetwork:
+    case network::mojom::ServiceWorkerRouterSourceType::kNetwork:
       return blink::mojom::ServiceWorkerRouterSource::Tag::kNetworkSource;
-    case blink::ServiceWorkerRouterSource::Type::kRace:
+    case network::mojom::ServiceWorkerRouterSourceType::kRace:
       return blink::mojom::ServiceWorkerRouterSource::Tag::kRaceSource;
-    case blink::ServiceWorkerRouterSource::Type::kFetchEvent:
+    case network::mojom::ServiceWorkerRouterSourceType::kFetchEvent:
       return blink::mojom::ServiceWorkerRouterSource::Tag::kFetchEventSource;
-    case blink::ServiceWorkerRouterSource::Type::kCache:
+    case network::mojom::ServiceWorkerRouterSourceType::kCache:
       return blink::mojom::ServiceWorkerRouterSource::Tag::kCacheSource;
   }
 }
@@ -97,19 +98,19 @@
          blink::ServiceWorkerRouterSource* out) {
   switch (data.tag()) {
     case blink::mojom::ServiceWorkerRouterSource::Tag::kNetworkSource:
-      out->type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      out->type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       out->network_source.emplace();
       return true;
     case blink::mojom::ServiceWorkerRouterSource::Tag::kRaceSource:
-      out->type = blink::ServiceWorkerRouterSource::Type::kRace;
+      out->type = network::mojom::ServiceWorkerRouterSourceType::kRace;
       out->race_source.emplace();
       return true;
     case blink::mojom::ServiceWorkerRouterSource::Tag::kFetchEventSource:
-      out->type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+      out->type = network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
       out->fetch_event_source.emplace();
       return true;
     case blink::mojom::ServiceWorkerRouterSource::Tag::kCacheSource:
-      out->type = blink::ServiceWorkerRouterSource::Type::kCache;
+      out->type = network::mojom::ServiceWorkerRouterSourceType::kCache;
       if (!data.ReadCacheSource(&out->cache_source)) {
         return false;
       }
diff --git a/third_party/blink/common/service_worker/service_worker_router_rule_mojom_traits_unittest.cc b/third_party/blink/common/service_worker/service_worker_router_rule_mojom_traits_unittest.cc
index 7e0a171..84e874b 100644
--- a/third_party/blink/common/service_worker/service_worker_router_rule_mojom_traits_unittest.cc
+++ b/third_party/blink/common/service_worker/service_worker_router_rule_mojom_traits_unittest.cc
@@ -6,6 +6,7 @@
 
 #include "mojo/public/cpp/test_support/test_utils.h"
 #include "services/network/public/mojom/fetch_api.mojom-shared.h"
+#include "services/network/public/mojom/service_worker_router_info.mojom-shared.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/common/service_worker/service_worker_router_rule.h"
 #include "third_party/blink/public/mojom/service_worker/service_worker_router_rule.mojom.h"
@@ -62,31 +63,31 @@
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kRace;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kRace;
       source.race_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
       source.fetch_event_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
       source.cache_source.emplace();
       rule.sources.push_back(source);
     }
     {
       blink::ServiceWorkerRouterSource source;
-      source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
       blink::ServiceWorkerRouterCacheSource cache_source;
       cache_source.cache_name = "example cache name";
       source.cache_source = cache_source;
diff --git a/third_party/blink/public/common/service_worker/service_worker_router_rule.h b/third_party/blink/public/common/service_worker/service_worker_router_rule.h
index 5e41e96..b093dd8 100644
--- a/third_party/blink/public/common/service_worker/service_worker_router_rule.h
+++ b/third_party/blink/public/common/service_worker/service_worker_router_rule.h
@@ -15,6 +15,7 @@
 
 enum class RequestMode : int32_t;
 enum class RequestDestination : int32_t;
+enum class ServiceWorkerRouterSourceType : int32_t;
 
 }  // namespace network::mojom
 
@@ -186,22 +187,7 @@
 // This represents a source of the router rule.
 // TODO(crbug.com/1371756): implement other sources in the proposal.
 struct BLINK_COMMON_EXPORT ServiceWorkerRouterSource {
-  // Type of sources.
-  // These values are persisted to logs. Entries should not be renumbered and
-  // numeric values should never be reused.
-  enum class Type {
-    // Network is used as a source.
-    kNetwork = 0,
-    // Race network and fetch handler.
-    kRace = 1,
-    // Fetch Event is used as a source.
-    kFetchEvent = 2,
-    // Cache is used as a source.
-    kCache = 3,
-
-    kMaxValue = kCache,
-  };
-  Type type;
+  network::mojom::ServiceWorkerRouterSourceType type;
 
   std::optional<ServiceWorkerRouterNetworkSource> network_source;
   std::optional<ServiceWorkerRouterRaceSource> race_source;
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter.cc b/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter.cc
index 33a5fdc..38c7f23 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter.h"
 
+#include "services/network/public/mojom/service_worker_router_info.mojom-shared.h"
 #include "third_party/blink/public/common/safe_url_pattern.h"
 #include "third_party/blink/public/common/service_worker/service_worker_router_rule.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_typedefs.h"
@@ -223,13 +224,13 @@
   switch (v8_source_enum.AsEnum()) {
     case V8RouterSourceEnum::Enum::kNetwork: {
       ServiceWorkerRouterSource source;
-      source.type = ServiceWorkerRouterSource::Type::kNetwork;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kNetwork;
       source.network_source.emplace();
       return source;
     }
     case V8RouterSourceEnum::Enum::kRaceNetworkAndFetchHandler: {
       ServiceWorkerRouterSource source;
-      source.type = ServiceWorkerRouterSource::Type::kRace;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kRace;
       source.race_source.emplace();
       return source;
     }
@@ -241,13 +242,13 @@
         return std::nullopt;
       }
       ServiceWorkerRouterSource source;
-      source.type = ServiceWorkerRouterSource::Type::kFetchEvent;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
       source.fetch_event_source.emplace();
       return source;
     }
     case V8RouterSourceEnum::Enum::kCache: {
       ServiceWorkerRouterSource source;
-      source.type = ServiceWorkerRouterSource::Type::kCache;
+      source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
       source.cache_source.emplace();
       return source;
     }
@@ -263,7 +264,7 @@
   }
   ServiceWorkerRouterSource source;
   if (v8_source->hasCacheName()) {
-    source.type = ServiceWorkerRouterSource::Type::kCache;
+    source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
     ServiceWorkerRouterCacheSource cache_source;
     cache_source.cache_name = AtomicString(v8_source->cacheName()).Latin1();
     source.cache_source = std::move(cache_source);
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter_test.cc b/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter_test.cc
index ab405395..9c2d9c5 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter_test.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter_test.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter.h"
 
+#include "services/network/public/mojom/service_worker_router_info.mojom-shared.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/common/service_worker/service_worker_router_rule.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h"
@@ -99,7 +100,8 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -160,7 +162,8 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -217,7 +220,8 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -282,7 +286,8 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -315,7 +320,8 @@
   expected_rule.condition = blink::ServiceWorkerRouterCondition::WithUrlPattern(
       DefaultStringUrlPattern());
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -407,7 +413,7 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kRace;
+  expected_source.type = network::mojom::ServiceWorkerRouterSourceType::kRace;
   expected_source.race_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -447,7 +453,8 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
   expected_source.fetch_event_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -488,7 +495,8 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kFetchEvent;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kFetchEvent;
   expected_source.fetch_event_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -522,7 +530,8 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithRequest(expected_request);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -555,7 +564,8 @@
     expected_rule.condition =
         blink::ServiceWorkerRouterCondition::WithRequest(expected_request);
     blink::ServiceWorkerRouterSource expected_source;
-    expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+    expected_source.type =
+        network::mojom::ServiceWorkerRouterSourceType::kNetwork;
     expected_source.network_source.emplace();
     expected_rule.sources.emplace_back(expected_source);
 
@@ -599,7 +609,8 @@
             blink::ServiceWorkerRouterCondition::WithRunningStatus(
                 expected_status);
         blink::ServiceWorkerRouterSource expected_source;
-        expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+        expected_source.type =
+            network::mojom::ServiceWorkerRouterSourceType::kNetwork;
         expected_source.network_source.emplace();
         expected_rule.sources.emplace_back(expected_source);
 
@@ -637,7 +648,8 @@
       blink::ServiceWorkerRouterCondition::WithOrCondition({});
 
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -700,7 +712,8 @@
           expected_or_condition);
 
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -742,7 +755,8 @@
       blink::ServiceWorkerRouterCondition::WithOrCondition(expected_outer);
 
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kNetwork;
+  expected_source.type =
+      network::mojom::ServiceWorkerRouterSourceType::kNetwork;
   expected_source.network_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -808,7 +822,7 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+  expected_source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
   expected_source.cache_source.emplace();
   expected_rule.sources.emplace_back(expected_source);
 
@@ -849,7 +863,7 @@
   expected_rule.condition =
       blink::ServiceWorkerRouterCondition::WithUrlPattern(expected_url_pattern);
   blink::ServiceWorkerRouterSource expected_source;
-  expected_source.type = blink::ServiceWorkerRouterSource::Type::kCache;
+  expected_source.type = network::mojom::ServiceWorkerRouterSourceType::kCache;
   blink::ServiceWorkerRouterCacheSource cache_source;
   cache_source.cache_name = "cache_name";
   expected_source.cache_source = std::move(cache_source);