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 |