Index: third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp |
diff --git a/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp b/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp |
index 098a4180c05a7ff283381be8899540340aea9b0e..264029b612221e3ad8821e86929eb78530b73ea4 100644 |
--- a/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp |
+++ b/third_party/WebKit/Source/bindings/modules/v8/V8BindingForModules.cpp |
@@ -213,9 +213,12 @@ static IDBKey* createIDBKeyFromValue(v8::Isolate* isolate, v8::Local<v8::Value> |
IDBKey::KeyArray subkeys; |
uint32_t length = array->Length(); |
v8::TryCatch block(isolate); |
+ v8::Local<v8::Context> context = isolate->GetCurrentContext(); |
for (uint32_t i = 0; i < length; ++i) { |
+ if (!v8CallBoolean(array->HasOwnProperty(context, i))) |
+ return nullptr; |
v8::Local<v8::Value> item; |
- if (!v8Call(array->Get(isolate->GetCurrentContext(), i), item, block)) { |
+ if (!v8Call(array->Get(context, i), item, block)) { |
exceptionState.rethrowV8Exception(block.Exception()); |
return nullptr; |
} |