Skip to content

Commit

Permalink
Implement access tracking for containingUrl
Browse files Browse the repository at this point in the history
  • Loading branch information
ntkme committed May 10, 2024
1 parent 2c14553 commit 42c3c7f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
6 changes: 5 additions & 1 deletion lib/sass/canonicalize_context.rb
Expand Up @@ -7,13 +7,17 @@ module Sass
# @see https://sass-lang.com/documentation/js-api/interfaces/canonicalizecontext/
class CanonicalizeContext
# @return [String, nil]
attr_reader :containing_url
def containing_url
@containing_url_unused = false
@containing_url
end

# @return [Boolean]
attr_reader :from_import

# @!visibility private
def initialize(canonicalize_request)
@containing_url_unused = true
@containing_url = canonicalize_request.containing_url == '' ? nil : canonicalize_request.containing_url
@from_import = canonicalize_request.from_import
end
Expand Down
12 changes: 8 additions & 4 deletions lib/sass/compiler/host/importer_registry.rb
Expand Up @@ -68,12 +68,14 @@ def register(importer)

def canonicalize(canonicalize_request)
importer = @importers_by_id[canonicalize_request.importer_id]
canonicalize_context = CanonicalizeContext.new(canonicalize_request)
url = importer.canonicalize(canonicalize_request.url,
CanonicalizeContext.new(canonicalize_request))&.to_s
canonicalize_context)&.to_s

EmbeddedProtocol::InboundMessage::CanonicalizeResponse.new(
id: canonicalize_request.id,
url:
url:,
containing_url_unused: canonicalize_context.instance_eval { @containing_url_unused }
)
rescue StandardError => e
EmbeddedProtocol::InboundMessage::CanonicalizeResponse.new(
Expand Down Expand Up @@ -103,12 +105,14 @@ def import(import_request)

def file_import(file_import_request)
importer = @importers_by_id[file_import_request.importer_id]
canonicalize_context = CanonicalizeContext.new(file_import_request)
file_url = importer.find_file_url(file_import_request.url,
CanonicalizeContext.new(file_import_request))&.to_s
canonicalize_context)&.to_s

EmbeddedProtocol::InboundMessage::FileImportResponse.new(
id: file_import_request.id,
file_url:
file_url:,
containing_url_unused: canonicalize_context.instance_eval { @containing_url_unused }
)
rescue StandardError => e
EmbeddedProtocol::InboundMessage::FileImportResponse.new(
Expand Down

0 comments on commit 42c3c7f

Please sign in to comment.