| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 | 67 |
| 68 namespace WebCore { | 68 namespace WebCore { |
| 69 const WrapperTypeInfo V8TestSpecialOperationsNotEnumerable::wrapperTypeInfo = {
gin::kEmbedderBlink, V8TestSpecialOperationsNotEnumerable::domTemplate, V8TestSp
ecialOperationsNotEnumerable::derefObject, 0, 0, 0, V8TestSpecialOperationsNotEn
umerable::installPerContextEnabledMethods, 0, WrapperTypeObjectPrototype, false
}; | 69 const WrapperTypeInfo V8TestSpecialOperationsNotEnumerable::wrapperTypeInfo = {
gin::kEmbedderBlink, V8TestSpecialOperationsNotEnumerable::domTemplate, V8TestSp
ecialOperationsNotEnumerable::derefObject, 0, 0, 0, V8TestSpecialOperationsNotEn
umerable::installPerContextEnabledMethods, 0, WrapperTypeObjectPrototype, false
}; |
| 70 | 70 |
| 71 namespace TestSpecialOperationsNotEnumerableV8Internal { | 71 namespace TestSpecialOperationsNotEnumerableV8Internal { |
| 72 | 72 |
| 73 template <typename T> void V8_USE(T) { } | 73 template <typename T> void V8_USE(T) { } |
| 74 | 74 |
| 75 static void indexedPropertyGetter(uint32_t index, const v8::PropertyCallbackInfo
<v8::Value>& info) | 75 static void indexedPropertyGetter(uint32_t index, const v8::PropertyCallbackInfo
<v8::Value>& info) |
| 76 { | 76 { |
| 77 TestSpecialOperationsNotEnumerable* imp = V8TestSpecialOperationsNotEnumerab
le::toNative(info.Holder()); | 77 TestSpecialOperationsNotEnumerable* impl = V8TestSpecialOperationsNotEnumera
ble::toNative(info.Holder()); |
| 78 String result = imp->anonymousIndexedGetter(index); | 78 String result = impl->anonymousIndexedGetter(index); |
| 79 if (result.isNull()) | 79 if (result.isNull()) |
| 80 return; | 80 return; |
| 81 v8SetReturnValueString(info, result, info.GetIsolate()); | 81 v8SetReturnValueString(info, result, info.GetIsolate()); |
| 82 } | 82 } |
| 83 | 83 |
| 84 static void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCall
backInfo<v8::Value>& info) | 84 static void indexedPropertyGetterCallback(uint32_t index, const v8::PropertyCall
backInfo<v8::Value>& info) |
| 85 { | 85 { |
| 86 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMIndexedProperty"); | 86 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMIndexedProperty"); |
| 87 TestSpecialOperationsNotEnumerableV8Internal::indexedPropertyGetter(index, i
nfo); | 87 TestSpecialOperationsNotEnumerableV8Internal::indexedPropertyGetter(index, i
nfo); |
| 88 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 88 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| 89 } | 89 } |
| 90 | 90 |
| 91 static void namedPropertyGetter(v8::Local<v8::String> name, const v8::PropertyCa
llbackInfo<v8::Value>& info) | 91 static void namedPropertyGetter(v8::Local<v8::String> name, const v8::PropertyCa
llbackInfo<v8::Value>& info) |
| 92 { | 92 { |
| 93 if (info.Holder()->HasRealNamedProperty(name)) | 93 if (info.Holder()->HasRealNamedProperty(name)) |
| 94 return; | 94 return; |
| 95 if (!info.Holder()->GetRealNamedPropertyInPrototypeChain(name).IsEmpty()) | 95 if (!info.Holder()->GetRealNamedPropertyInPrototypeChain(name).IsEmpty()) |
| 96 return; | 96 return; |
| 97 | 97 |
| 98 TestSpecialOperationsNotEnumerable* imp = V8TestSpecialOperationsNotEnumerab
le::toNative(info.Holder()); | 98 TestSpecialOperationsNotEnumerable* impl = V8TestSpecialOperationsNotEnumera
ble::toNative(info.Holder()); |
| 99 AtomicString propertyName = toCoreAtomicString(name); | 99 AtomicString propertyName = toCoreAtomicString(name); |
| 100 String result = imp->anonymousNamedGetter(propertyName); | 100 String result = impl->anonymousNamedGetter(propertyName); |
| 101 if (result.isNull()) | 101 if (result.isNull()) |
| 102 return; | 102 return; |
| 103 v8SetReturnValueString(info, result, info.GetIsolate()); | 103 v8SetReturnValueString(info, result, info.GetIsolate()); |
| 104 } | 104 } |
| 105 | 105 |
| 106 static void namedPropertyGetterCallback(v8::Local<v8::String> name, const v8::Pr
opertyCallbackInfo<v8::Value>& info) | 106 static void namedPropertyGetterCallback(v8::Local<v8::String> name, const v8::Pr
opertyCallbackInfo<v8::Value>& info) |
| 107 { | 107 { |
| 108 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMNamedProperty"); | 108 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMNamedProperty"); |
| 109 TestSpecialOperationsNotEnumerableV8Internal::namedPropertyGetter(name, info
); | 109 TestSpecialOperationsNotEnumerableV8Internal::namedPropertyGetter(name, info
); |
| 110 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); | 110 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 fromInternalPointer(object)->deref(); | 185 fromInternalPointer(object)->deref(); |
| 186 } | 186 } |
| 187 | 187 |
| 188 template<> | 188 template<> |
| 189 v8::Handle<v8::Value> toV8NoInline(TestSpecialOperationsNotEnumerable* impl, v8:
:Handle<v8::Object> creationContext, v8::Isolate* isolate) | 189 v8::Handle<v8::Value> toV8NoInline(TestSpecialOperationsNotEnumerable* impl, v8:
:Handle<v8::Object> creationContext, v8::Isolate* isolate) |
| 190 { | 190 { |
| 191 return toV8(impl, creationContext, isolate); | 191 return toV8(impl, creationContext, isolate); |
| 192 } | 192 } |
| 193 | 193 |
| 194 } // namespace WebCore | 194 } // namespace WebCore |
| OLD | NEW |