| Index: Source/bindings/core/v8/DictionaryHelperForCore.cpp
|
| diff --git a/Source/bindings/core/v8/DictionaryHelperForCore.cpp b/Source/bindings/core/v8/DictionaryHelperForCore.cpp
|
| index bcff302797600602e53feb245e08729bb4d71915..dc7743d8e81094f951633477fa9692e2e6314fd0 100644
|
| --- a/Source/bindings/core/v8/DictionaryHelperForCore.cpp
|
| +++ b/Source/bindings/core/v8/DictionaryHelperForCore.cpp
|
| @@ -265,22 +265,6 @@ bool DictionaryHelper::get(const Dictionary& dictionary, const String& key, RefP
|
| }
|
|
|
| template <>
|
| -bool DictionaryHelper::get(const Dictionary& dictionary, const String& key, MessagePortArray& value)
|
| -{
|
| - v8::Local<v8::Value> v8Value;
|
| - if (!dictionary.get(key, v8Value))
|
| - return false;
|
| -
|
| - ASSERT(dictionary.isolate());
|
| - ASSERT(dictionary.isolate() == v8::Isolate::GetCurrent());
|
| - if (blink::isUndefinedOrNull(v8Value))
|
| - return true;
|
| - bool success = false;
|
| - value = toRefPtrWillBeMemberNativeArray<MessagePort, V8MessagePort>(v8Value, key, dictionary.isolate(), &success);
|
| - return success;
|
| -}
|
| -
|
| -template <>
|
| bool DictionaryHelper::get(const Dictionary& dictionary, const String& key, HashSet<AtomicString>& value)
|
| {
|
| v8::Local<v8::Value> v8Value;
|
| @@ -663,7 +647,18 @@ bool DictionaryHelper::convert(const Dictionary& dictionary, Dictionary::Convers
|
| if (!dictionary.get(key, v8Value))
|
| return true;
|
|
|
| - return DictionaryHelper::get(dictionary, key, value);
|
| + ASSERT(dictionary.isolate());
|
| + ASSERT(dictionary.isolate() == v8::Isolate::GetCurrent());
|
| +
|
| + if (isUndefinedOrNull(v8Value))
|
| + return true;
|
| +
|
| + value = toRefPtrWillBeMemberNativeArray<MessagePort, V8MessagePort>(v8Value, key, dictionary.isolate(), context.exceptionState());
|
| +
|
| + if (context.exceptionState().throwIfNeeded())
|
| + return false;
|
| +
|
| + return true;
|
| }
|
|
|
| } // namespace blink
|
|
|