Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: include/v8.h

Issue 906463002: add support for all can read interceptors (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** \mainpage V8 API Reference Guide 5 /** \mainpage V8 API Reference Guide
6 * 6 *
7 * V8 is Google's open source JavaScript engine. 7 * V8 is Google's open source JavaScript engine.
8 * 8 *
9 * This set of documents provides reference material generated from the 9 * This set of documents provides reference material generated from the
10 * V8 header file, include/v8.h. 10 * V8 header file, include/v8.h.
(...skipping 3897 matching lines...) Expand 10 before | Expand all | Expand 10 after
3908 */ 3908 */
3909 bool HasInstance(Handle<Value> object); 3909 bool HasInstance(Handle<Value> object);
3910 3910
3911 private: 3911 private:
3912 FunctionTemplate(); 3912 FunctionTemplate();
3913 friend class Context; 3913 friend class Context;
3914 friend class ObjectTemplate; 3914 friend class ObjectTemplate;
3915 }; 3915 };
3916 3916
3917 3917
3918 enum class PropertyHandlerFlags { kNone = 0, kAllCanRead = 1 };
3919
3920
3918 struct NamedPropertyHandlerConfiguration { 3921 struct NamedPropertyHandlerConfiguration {
3919 NamedPropertyHandlerConfiguration( 3922 NamedPropertyHandlerConfiguration(
3920 /** Note: getter is required **/ 3923 /** Note: getter is required **/
3921 GenericNamedPropertyGetterCallback getter = 0, 3924 GenericNamedPropertyGetterCallback getter = 0,
3922 GenericNamedPropertySetterCallback setter = 0, 3925 GenericNamedPropertySetterCallback setter = 0,
3923 GenericNamedPropertyQueryCallback query = 0, 3926 GenericNamedPropertyQueryCallback query = 0,
3924 GenericNamedPropertyDeleterCallback deleter = 0, 3927 GenericNamedPropertyDeleterCallback deleter = 0,
3925 GenericNamedPropertyEnumeratorCallback enumerator = 0, 3928 GenericNamedPropertyEnumeratorCallback enumerator = 0,
3926 Handle<Value> data = Handle<Value>()) 3929 Handle<Value> data = Handle<Value>(),
3930 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
3927 : getter(getter), 3931 : getter(getter),
3928 setter(setter), 3932 setter(setter),
3929 query(query), 3933 query(query),
3930 deleter(deleter), 3934 deleter(deleter),
3931 enumerator(enumerator), 3935 enumerator(enumerator),
3932 data(data) {} 3936 data(data),
3937 flags(flags) {}
3933 3938
3934 GenericNamedPropertyGetterCallback getter; 3939 GenericNamedPropertyGetterCallback getter;
3935 GenericNamedPropertySetterCallback setter; 3940 GenericNamedPropertySetterCallback setter;
3936 GenericNamedPropertyQueryCallback query; 3941 GenericNamedPropertyQueryCallback query;
3937 GenericNamedPropertyDeleterCallback deleter; 3942 GenericNamedPropertyDeleterCallback deleter;
3938 GenericNamedPropertyEnumeratorCallback enumerator; 3943 GenericNamedPropertyEnumeratorCallback enumerator;
3939 Handle<Value> data; 3944 Handle<Value> data;
3945 PropertyHandlerFlags flags;
3940 }; 3946 };
3941 3947
3942 3948
3943 struct IndexedPropertyHandlerConfiguration { 3949 struct IndexedPropertyHandlerConfiguration {
3944 IndexedPropertyHandlerConfiguration( 3950 IndexedPropertyHandlerConfiguration(
3945 /** Note: getter is required **/ 3951 /** Note: getter is required **/
3946 IndexedPropertyGetterCallback getter = 0, 3952 IndexedPropertyGetterCallback getter = 0,
3947 IndexedPropertySetterCallback setter = 0, 3953 IndexedPropertySetterCallback setter = 0,
3948 IndexedPropertyQueryCallback query = 0, 3954 IndexedPropertyQueryCallback query = 0,
3949 IndexedPropertyDeleterCallback deleter = 0, 3955 IndexedPropertyDeleterCallback deleter = 0,
3950 IndexedPropertyEnumeratorCallback enumerator = 0, 3956 IndexedPropertyEnumeratorCallback enumerator = 0,
3951 Handle<Value> data = Handle<Value>()) 3957 Handle<Value> data = Handle<Value>(),
3958 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
3952 : getter(getter), 3959 : getter(getter),
3953 setter(setter), 3960 setter(setter),
3954 query(query), 3961 query(query),
3955 deleter(deleter), 3962 deleter(deleter),
3956 enumerator(enumerator), 3963 enumerator(enumerator),
3957 data(data) {} 3964 data(data),
3965 flags(flags) {}
3958 3966
3959 IndexedPropertyGetterCallback getter; 3967 IndexedPropertyGetterCallback getter;
3960 IndexedPropertySetterCallback setter; 3968 IndexedPropertySetterCallback setter;
3961 IndexedPropertyQueryCallback query; 3969 IndexedPropertyQueryCallback query;
3962 IndexedPropertyDeleterCallback deleter; 3970 IndexedPropertyDeleterCallback deleter;
3963 IndexedPropertyEnumeratorCallback enumerator; 3971 IndexedPropertyEnumeratorCallback enumerator;
3964 Handle<Value> data; 3972 Handle<Value> data;
3973 PropertyHandlerFlags flags;
3965 }; 3974 };
3966 3975
3967 3976
3968 /** 3977 /**
3969 * An ObjectTemplate is used to create objects at runtime. 3978 * An ObjectTemplate is used to create objects at runtime.
3970 * 3979 *
3971 * Properties added to an ObjectTemplate are added to each object 3980 * Properties added to an ObjectTemplate are added to each object
3972 * created from the ObjectTemplate. 3981 * created from the ObjectTemplate.
3973 */ 3982 */
3974 class V8_EXPORT ObjectTemplate : public Template { 3983 class V8_EXPORT ObjectTemplate : public Template {
(...skipping 3545 matching lines...) Expand 10 before | Expand all | Expand 10 after
7520 */ 7529 */
7521 7530
7522 7531
7523 } // namespace v8 7532 } // namespace v8
7524 7533
7525 7534
7526 #undef TYPE_CHECK 7535 #undef TYPE_CHECK
7527 7536
7528 7537
7529 #endif // V8_H_ 7538 #endif // V8_H_
OLDNEW
« no previous file with comments | « no previous file | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698