From 642a92acf3a8d0c1cf0c4867af66f6b173345d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=AA=E3=81=A4=E3=81=8D?= Date: Sat, 27 Jul 2024 11:17:40 -0700 Subject: [PATCH] Pass containingUrl to embedded host legacy API --- lib/src/embedded/compilation_dispatcher.dart | 4 ++-- lib/src/embedded/importer/host.dart | 11 +++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/src/embedded/compilation_dispatcher.dart b/lib/src/embedded/compilation_dispatcher.dart index e8c3764b5..ca8ee9f5d 100644 --- a/lib/src/embedded/compilation_dispatcher.dart +++ b/lib/src/embedded/compilation_dispatcher.dart @@ -253,8 +253,8 @@ final class CompilationDispatcher { return sass.FilesystemImporter(importer.path); case InboundMessage_CompileRequest_Importer_Importer.importerId: - return HostImporter( - this, importer.importerId, importer.nonCanonicalScheme); + return HostImporter(this, importer.importerId, + importer.nonCanonicalScheme, importer.invertNonCanonicalScheme); case InboundMessage_CompileRequest_Importer_Importer.fileImporterId: _checkNoNonCanonicalScheme(importer); diff --git a/lib/src/embedded/importer/host.dart b/lib/src/embedded/importer/host.dart index e5342dc31..cd3235588 100644 --- a/lib/src/embedded/importer/host.dart +++ b/lib/src/embedded/importer/host.dart @@ -19,8 +19,10 @@ final class HostImporter extends ImporterBase { /// [canonicalize]. final Set _nonCanonicalSchemes; - HostImporter( - super.dispatcher, this._importerId, Iterable nonCanonicalSchemes) + final bool _invertNonCanonicalScheme; + + HostImporter(super.dispatcher, this._importerId, + Iterable nonCanonicalSchemes, this._invertNonCanonicalScheme) : _nonCanonicalSchemes = Set.unmodifiable(nonCanonicalSchemes) { for (var scheme in _nonCanonicalSchemes) { if (isValidUrlScheme(scheme)) continue; @@ -67,8 +69,9 @@ final class HostImporter extends ImporterBase { }; } - bool isNonCanonicalScheme(String scheme) => - _nonCanonicalSchemes.contains(scheme); + bool isNonCanonicalScheme(String scheme) => _invertNonCanonicalScheme + ? !_nonCanonicalSchemes.contains(scheme) + : _nonCanonicalSchemes.contains(scheme); String toString() => "HostImporter"; }