| Index: Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp
 | 
| diff --git a/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp b/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp
 | 
| index 62eb9617eb42a65560c8cb1c59fdf374b6ecc670..32cd50b5fdb35a9413d65352e5f5d4c7f4e9c15c 100644
 | 
| --- a/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp
 | 
| +++ b/Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp
 | 
| @@ -58,6 +58,13 @@ ScriptValue InjectedScriptManager::createInjectedScript(const String& scriptSour
 | 
|      if (scriptHostWrapper.IsEmpty())
 | 
|          return ScriptValue();
 | 
|  
 | 
| +    // Store the inspectedScriptState on the scriptHostWrapper if it is
 | 
| +    // different from the ScriptState associated with the context.
 | 
| +    // This is needed to support Dart as Dart does not create a separate V8
 | 
| +    // context for every Dart library.
 | 
| +    if (inspectedScriptState != ScriptState::from(inspectedScriptState->context()))
 | 
| +        V8HiddenValue::setHiddenValue(isolate, scriptHostWrapper, V8HiddenValue::scriptState(isolate), v8::External::New(isolate, inspectedScriptState));
 | 
| +
 | 
|      injectedScriptNative->setOnInjectedScriptHost(scriptHostWrapper);
 | 
|  
 | 
|      // Inject javascript into the context. The compiled script is supposed to evaluate into
 | 
| 
 |