Index: third_party/WebKit/Source/bindings/modules/v8/V8ServiceWorkerMessageEventInternal.h |
diff --git a/third_party/WebKit/Source/bindings/modules/v8/V8ServiceWorkerMessageEventInternal.h b/third_party/WebKit/Source/bindings/modules/v8/V8ServiceWorkerMessageEventInternal.h |
index 59dc0e20740894c184ab2d4a8ae9a5ed056bbd20..ff32ddc7272a369c5bbd8a35c5ef1e7d30575ab4 100644 |
--- a/third_party/WebKit/Source/bindings/modules/v8/V8ServiceWorkerMessageEventInternal.h |
+++ b/third_party/WebKit/Source/bindings/modules/v8/V8ServiceWorkerMessageEventInternal.h |
@@ -24,8 +24,9 @@ class V8ServiceWorkerMessageEventInternal { |
template <typename EventType, typename DictType> |
void V8ServiceWorkerMessageEventInternal::constructorCustom( |
const v8::FunctionCallbackInfo<v8::Value>& info) { |
+ v8::Isolate* isolate = info.GetIsolate(); |
ExceptionState exceptionState( |
- info.GetIsolate(), ExceptionState::ConstructionContext, |
+ isolate, ExceptionState::ConstructionContext, |
V8TypeOf<EventType>::Type::wrapperTypeInfo.interfaceName); |
if (UNLIKELY(info.Length() < 1)) { |
exceptionState.throwTypeError( |
@@ -44,7 +45,7 @@ void V8ServiceWorkerMessageEventInternal::constructorCustom( |
"parameter 2 ('eventInitDict') is not an object."); |
return; |
} |
- V8TypeOf<DictType>::Type::toImpl(info.GetIsolate(), info[1], eventInitDict, |
+ V8TypeOf<DictType>::Type::toImpl(isolate, info[1], eventInitDict, |
exceptionState); |
if (exceptionState.hadException()) |
return; |
@@ -53,18 +54,18 @@ void V8ServiceWorkerMessageEventInternal::constructorCustom( |
EventType* impl = EventType::create(type, eventInitDict); |
v8::Local<v8::Object> wrapper = info.Holder(); |
wrapper = impl->associateWithWrapper( |
- info.GetIsolate(), &V8TypeOf<EventType>::Type::wrapperTypeInfo, wrapper); |
+ isolate, &V8TypeOf<EventType>::Type::wrapperTypeInfo, wrapper); |
// TODO(bashi): Workaround for http://crbug.com/529941. We need to store |
// |data| as a private value to avoid cyclic references. |
if (eventInitDict.hasData()) { |
v8::Local<v8::Value> v8Data = eventInitDict.data().v8Value(); |
- V8PrivateProperty::getMessageEventCachedData(info.GetIsolate()) |
- .set(info.GetIsolate()->GetCurrentContext(), wrapper, v8Data); |
- if (DOMWrapperWorld::current(info.GetIsolate()).isIsolatedWorld()) |
+ V8PrivateProperty::getMessageEventCachedData(isolate).set(wrapper, v8Data); |
+ if (DOMWrapperWorld::current(isolate).isIsolatedWorld()) { |
impl->setSerializedData( |
- SerializedScriptValue::serializeAndSwallowExceptions( |
- info.GetIsolate(), v8Data)); |
+ SerializedScriptValue::serializeAndSwallowExceptions(isolate, |
+ v8Data)); |
+ } |
} |
v8SetReturnValue(info, wrapper); |
} |
@@ -74,11 +75,9 @@ void V8ServiceWorkerMessageEventInternal::dataAttributeGetterCustom( |
const v8::FunctionCallbackInfo<v8::Value>& info) { |
EventType* event = V8TypeOf<EventType>::Type::toImpl(info.Holder()); |
v8::Isolate* isolate = info.GetIsolate(); |
- ScriptState* scriptState = ScriptState::current(isolate); |
auto privateCachedData = |
V8PrivateProperty::getMessageEventCachedData(isolate); |
- v8::Local<v8::Value> result = |
- privateCachedData.get(scriptState->context(), info.Holder()); |
+ v8::Local<v8::Value> result = privateCachedData.getOrEmpty(info.Holder()); |
if (!result.IsEmpty()) { |
v8SetReturnValue(info, result); |
return; |
@@ -92,7 +91,7 @@ void V8ServiceWorkerMessageEventInternal::dataAttributeGetterCustom( |
data = serializedValue->deserialize(isolate, options); |
} else if (DOMWrapperWorld::current(isolate).isIsolatedWorld()) { |
v8::Local<v8::Value> mainWorldData = |
- privateCachedData.getFromMainWorld(scriptState, event); |
+ privateCachedData.getFromMainWorld(event); |
if (!mainWorldData.IsEmpty()) { |
// TODO(bashi): Enter the main world's ScriptState::Scope while |
// serializing the main world's value. |
@@ -104,7 +103,7 @@ void V8ServiceWorkerMessageEventInternal::dataAttributeGetterCustom( |
} |
if (data.IsEmpty()) |
data = v8::Null(isolate); |
- privateCachedData.set(scriptState->context(), info.Holder(), data); |
+ privateCachedData.set(info.Holder(), data); |
v8SetReturnValue(info, data); |
} |