Decouple SourceType enum from net::SourceStream class

This CL extracts the SourceStream::SourceType enum into a new
SourceStreamType enum class, defined in source_stream_type.h.

This change addresses the issue where users needing the SourceType enum
were forced to include source_stream.h, even if they had no other
dependencies on the SourceStream class.

By creating a dedicated header for SourceStreamType, we improve
modularity and reduce unnecessary header dependencies.

This CL must not have any behavioral changes.

NO_IFTTT=New LINT.If/ThenChange()

Bug: 391950057
Change-Id: Ia25db924a0e7a8d1b379dd1042ede0e898cd6dd8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6278220
Reviewed-by: Takashi Toyoshima <[email protected]>
Reviewed-by: John Lee <[email protected]>
Reviewed-by: Dominic Battré <[email protected]>
Reviewed-by: Rakina Zata Amni <[email protected]>
Commit-Queue: Tsuyoshi Horo <[email protected]>
Reviewed-by: Kentaro Hara <[email protected]>
Reviewed-by: Gauthier Ambard <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Benjamin Gordon <[email protected]>
Reviewed-by: Nidhi Jaju <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1422841}
diff --git a/ui/base/webui/i18n_source_stream.cc b/ui/base/webui/i18n_source_stream.cc
index 989ff6b..f4319c4 100644
--- a/ui/base/webui/i18n_source_stream.cc
+++ b/ui/base/webui/i18n_source_stream.cc
@@ -16,7 +16,7 @@
 
 std::unique_ptr<I18nSourceStream> I18nSourceStream::Create(
     std::unique_ptr<SourceStream> upstream,
-    SourceStream::SourceType type,
+    net::SourceStreamType type,
     const TemplateReplacements* replacements) {
   DCHECK(replacements);
   std::unique_ptr<I18nSourceStream> source(
@@ -25,7 +25,7 @@
 }
 
 I18nSourceStream::I18nSourceStream(std::unique_ptr<SourceStream> upstream,
-                                   SourceStream::SourceType type,
+                                   net::SourceStreamType type,
                                    const TemplateReplacements* replacements)
     : FilterSourceStream(type, std::move(upstream)),
       replacements_(replacements) {}
diff --git a/ui/base/webui/i18n_source_stream.h b/ui/base/webui/i18n_source_stream.h
index dc6516e..5829ebb 100644
--- a/ui/base/webui/i18n_source_stream.h
+++ b/ui/base/webui/i18n_source_stream.h
@@ -11,6 +11,7 @@
 #include "base/component_export.h"
 #include "base/memory/raw_ptr.h"
 #include "net/filter/filter_source_stream.h"
+#include "net/filter/source_stream_type.h"
 #include "ui/base/template_expressions.h"
 
 namespace ui {
@@ -27,12 +28,12 @@
   // |replacements| is a dictionary of i18n replacements.
   static std::unique_ptr<I18nSourceStream> Create(
       std::unique_ptr<SourceStream> previous,
-      SourceStream::SourceType type,
+      net::SourceStreamType type,
       const ui::TemplateReplacements* replacements);
 
  private:
   I18nSourceStream(std::unique_ptr<SourceStream> previous,
-                   SourceStream::SourceType type,
+                   net::SourceStreamType type,
                    const TemplateReplacements* replacements);
 
   // SourceStream implementation.
diff --git a/ui/base/webui/i18n_source_stream_unittest.cc b/ui/base/webui/i18n_source_stream_unittest.cc
index 01f25a5..d650ef8 100644
--- a/ui/base/webui/i18n_source_stream_unittest.cc
+++ b/ui/base/webui/i18n_source_stream_unittest.cc
@@ -102,7 +102,7 @@
     replacements_["beta"] = "banana";
     replacements_["gamma"] = "carrot";
     stream_ = I18nSourceStream::Create(
-        std::move(source), net::SourceStream::TYPE_NONE, &replacements_);
+        std::move(source), net::SourceStreamType::kNone, &replacements_);
   }
 
   // If MockSourceStream::Mode is ASYNC, completes 1 read from |mock_stream| and