| Index: third_party/WebKit/Source/core/dom/ModuleScript.h
|
| diff --git a/third_party/WebKit/Source/core/dom/ModuleScript.h b/third_party/WebKit/Source/core/dom/ModuleScript.h
|
| index 6624f60570f11c3ef51329963a50025e81dfed92..dbe6db95b273d80b695eead1b5b8557685ac66c5 100644
|
| --- a/third_party/WebKit/Source/core/dom/ModuleScript.h
|
| +++ b/third_party/WebKit/Source/core/dom/ModuleScript.h
|
| @@ -27,7 +27,7 @@ enum class ModuleInstantiationState {
|
|
|
| // ModuleScript is a model object for the "module script" spec concept.
|
| // https://html.spec.whatwg.org/multipage/webappapis.html#module-script
|
| -class CORE_EXPORT ModuleScript final : public Script {
|
| +class CORE_EXPORT ModuleScript final : public Script, public TraceWrapperBase {
|
| public:
|
| static ModuleScript* Create(
|
| ScriptModule record,
|
| @@ -58,7 +58,7 @@ class CORE_EXPORT ModuleScript final : public Script {
|
| const String& Nonce() const { return nonce_; }
|
|
|
| DECLARE_TRACE();
|
| - DECLARE_VIRTUAL_TRACE_WRAPPERS();
|
| + DECLARE_TRACE_WRAPPERS();
|
|
|
| private:
|
| ModuleScript(ScriptModule record,
|
| @@ -96,6 +96,13 @@ class CORE_EXPORT ModuleScript final : public Script {
|
| ModuleInstantiationState::kUninstantiated;
|
|
|
| // https://html.spec.whatwg.org/multipage/webappapis.html#concept-module-script-instantiation-error
|
| + //
|
| + // |instantiation_error_| is TraceWrappers()ed and kept alive via the path of
|
| + // v8::Context -> PerContextData -> Modulator/ModulatorImpl
|
| + // -> ModuleMap -> ModuleMap::Entry -> ModuleScript -> instantiation_error_.
|
| + // All the classes/references on the path above should be
|
| + // TraceWrapperBase/TraceWrapperMember<>/etc.,
|
| + // but other references to those classes can be normal Member<>.
|
| TraceWrapperV8Reference<v8::Value> instantiation_error_;
|
|
|
| // https://html.spec.whatwg.org/multipage/webappapis.html#concept-module-script-nonce
|
|
|