Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index ac3934155ddfb27ec4ce86e739203d3baa25f4c5..e8e4b20074963054f9a5d6211000f2c48fb9971a 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -5078,11 +5078,19 @@ MaybeHandle<Object> JSObject::DeletePropertyWithInterceptor( |
Handle<JSObject> holder = it->GetHolder<JSObject>(); |
+ // TODO(verwaest): Temporary workaround for blink pretending to delete |
+ // elements that don't actually exist. |
+ Maybe<PropertyAttributes> attributes = |
+ GetPropertyAttributesWithInterceptor(it); |
+ CHECK(attributes.IsJust()); |
+ if (attributes.FromJust() == ABSENT) return MaybeHandle<Object>(); |
+ |
PropertyCallbackArguments args(isolate, interceptor->data(), |
*it->GetReceiver(), *holder); |
v8::Handle<v8::Boolean> result; |
if (it->IsElement()) { |
uint32_t index = it->index(); |
+ |
Igor Sheludko
2015/06/12 10:05:25
Spurious change.
|
v8::IndexedPropertyDeleterCallback deleter = |
v8::ToCData<v8::IndexedPropertyDeleterCallback>(interceptor->deleter()); |
LOG(isolate, |