This PR adds a CanonicalizeContext class in dart which is able to track if containingUrl is accessed or not, it also changes the dart2js JSCanonicalizeContext class to be a wrapper, so that the containingUrl in JS would lazily access the dart containingUrl method instead of eagerly during construction. Finally for embedded host, this adds a containingUrlWithoutMarking method that allow the serialization of embedded protocol without marking, and we can mark it accordingly depends on the result from host.
This PR adds a
CanonicalizeContext
class in dart which is able to track ifcontainingUrl
is accessed or not, it also changes the dart2jsJSCanonicalizeContext
class to be a wrapper, so that the containingUrl in JS would lazily access the dartcontainingUrl
method instead of eagerly during construction. Finally for embedded host, this adds acontainingUrlWithoutMarking
method that allow the serialization of embedded protocol without marking, and we can mark it accordingly depends on the result from host.https://github.com/sass/sass/pull/3835 https://github.com/sass/embedded-host-node/pull/285