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

Side by Side Diff: include/v8.h

Issue 2303533004: Revert of [api] Add interceptor for defineProperty(). (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@DefineProperty
Patch Set: Created 4 years, 3 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 4654 matching lines...) Expand 10 before | Expand all | Expand 10 after
4665 Local<Name> property, const PropertyCallbackInfo<Boolean>& info); 4665 Local<Name> property, const PropertyCallbackInfo<Boolean>& info);
4666 4666
4667 4667
4668 /** 4668 /**
4669 * Returns an array containing the names of the properties the named 4669 * Returns an array containing the names of the properties the named
4670 * property getter intercepts. 4670 * property getter intercepts.
4671 */ 4671 */
4672 typedef void (*GenericNamedPropertyEnumeratorCallback)( 4672 typedef void (*GenericNamedPropertyEnumeratorCallback)(
4673 const PropertyCallbackInfo<Array>& info); 4673 const PropertyCallbackInfo<Array>& info);
4674 4674
4675 /**
4676 * Interceptor for defineProperty requests on an object.
4677 *
4678 * Use `info.GetReturnValue()` to indicate whether the request was intercepted
4679 * or not. If the definer successfully intercepts the request, i.e., if the
4680 * request should not be further executed, call
4681 * `info.GetReturnValue().Set(value)`. If the definer
4682 * did not intercept the request, i.e., if the request should be handled as
4683 * if no interceptor is present, do not not call `Set()`.
4684 *
4685 * \param property The name of the property for which the request was
4686 * intercepted.
4687 * \param desc The property descriptor which is used to define the
4688 * property if the request is not intercepted.
4689 * \param info Information about the intercepted request, such as
4690 * isolate, receiver, return value, or whether running in `'use strict'` mode.
4691 * See `PropertyCallbackInfo`.
4692 *
4693 * See also `ObjectTemplate::SetNamedPropertyHandler`.
4694 */
4695 typedef void (*GenericNamedPropertyDefinerCallback)(
4696 Local<Name> key, const PropertyDescriptor& desc,
4697 const PropertyCallbackInfo<Value>& info);
4698 4675
4699 /** 4676 /**
4700 * Returns the value of the property if the getter intercepts the 4677 * Returns the value of the property if the getter intercepts the
4701 * request. Otherwise, returns an empty handle. 4678 * request. Otherwise, returns an empty handle.
4702 */ 4679 */
4703 typedef void (*IndexedPropertyGetterCallback)( 4680 typedef void (*IndexedPropertyGetterCallback)(
4704 uint32_t index, 4681 uint32_t index,
4705 const PropertyCallbackInfo<Value>& info); 4682 const PropertyCallbackInfo<Value>& info);
4706 4683
4707 4684
(...skipping 26 matching lines...) Expand all
4734 const PropertyCallbackInfo<Boolean>& info); 4711 const PropertyCallbackInfo<Boolean>& info);
4735 4712
4736 4713
4737 /** 4714 /**
4738 * Returns an array containing the indices of the properties the 4715 * Returns an array containing the indices of the properties the
4739 * indexed property getter intercepts. 4716 * indexed property getter intercepts.
4740 */ 4717 */
4741 typedef void (*IndexedPropertyEnumeratorCallback)( 4718 typedef void (*IndexedPropertyEnumeratorCallback)(
4742 const PropertyCallbackInfo<Array>& info); 4719 const PropertyCallbackInfo<Array>& info);
4743 4720
4744 typedef void (*IndexedPropertyDefinerCallback)(
4745 uint32_t index, const PropertyDescriptor& desc,
4746 const PropertyCallbackInfo<Value>& info);
4747 4721
4748 /** 4722 /**
4749 * Access type specification. 4723 * Access type specification.
4750 */ 4724 */
4751 enum AccessType { 4725 enum AccessType {
4752 ACCESS_GET, 4726 ACCESS_GET,
4753 ACCESS_SET, 4727 ACCESS_SET,
4754 ACCESS_HAS, 4728 ACCESS_HAS,
4755 ACCESS_DELETE, 4729 ACCESS_DELETE,
4756 ACCESS_KEYS 4730 ACCESS_KEYS
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
4999 GenericNamedPropertyQueryCallback query = 0, 4973 GenericNamedPropertyQueryCallback query = 0,
5000 GenericNamedPropertyDeleterCallback deleter = 0, 4974 GenericNamedPropertyDeleterCallback deleter = 0,
5001 GenericNamedPropertyEnumeratorCallback enumerator = 0, 4975 GenericNamedPropertyEnumeratorCallback enumerator = 0,
5002 Local<Value> data = Local<Value>(), 4976 Local<Value> data = Local<Value>(),
5003 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone) 4977 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
5004 : getter(getter), 4978 : getter(getter),
5005 setter(setter), 4979 setter(setter),
5006 query(query), 4980 query(query),
5007 deleter(deleter), 4981 deleter(deleter),
5008 enumerator(enumerator), 4982 enumerator(enumerator),
5009 definer(0),
5010 data(data), 4983 data(data),
5011 flags(flags) {} 4984 flags(flags) {}
5012 4985
5013 NamedPropertyHandlerConfiguration(
5014 GenericNamedPropertyGetterCallback getter,
5015 GenericNamedPropertySetterCallback setter,
5016 GenericNamedPropertyQueryCallback query,
5017 GenericNamedPropertyDeleterCallback deleter,
5018 GenericNamedPropertyEnumeratorCallback enumerator,
5019 GenericNamedPropertyDefinerCallback definer,
5020 Local<Value> data = Local<Value>(),
5021 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
5022 : getter(getter),
5023 setter(setter),
5024 query(query),
5025 deleter(deleter),
5026 enumerator(enumerator),
5027 definer(definer),
5028 data(data),
5029 flags(flags) {}
5030
5031 GenericNamedPropertyGetterCallback getter; 4986 GenericNamedPropertyGetterCallback getter;
5032 GenericNamedPropertySetterCallback setter; 4987 GenericNamedPropertySetterCallback setter;
5033 GenericNamedPropertyQueryCallback query; 4988 GenericNamedPropertyQueryCallback query;
5034 GenericNamedPropertyDeleterCallback deleter; 4989 GenericNamedPropertyDeleterCallback deleter;
5035 GenericNamedPropertyEnumeratorCallback enumerator; 4990 GenericNamedPropertyEnumeratorCallback enumerator;
5036 GenericNamedPropertyDefinerCallback definer;
5037 Local<Value> data; 4991 Local<Value> data;
5038 PropertyHandlerFlags flags; 4992 PropertyHandlerFlags flags;
5039 }; 4993 };
5040 4994
5041 4995
5042 struct IndexedPropertyHandlerConfiguration { 4996 struct IndexedPropertyHandlerConfiguration {
5043 IndexedPropertyHandlerConfiguration( 4997 IndexedPropertyHandlerConfiguration(
5044 /** Note: getter is required **/ 4998 /** Note: getter is required **/
5045 IndexedPropertyGetterCallback getter = 0, 4999 IndexedPropertyGetterCallback getter = 0,
5046 IndexedPropertySetterCallback setter = 0, 5000 IndexedPropertySetterCallback setter = 0,
5047 IndexedPropertyQueryCallback query = 0, 5001 IndexedPropertyQueryCallback query = 0,
5048 IndexedPropertyDeleterCallback deleter = 0, 5002 IndexedPropertyDeleterCallback deleter = 0,
5049 IndexedPropertyEnumeratorCallback enumerator = 0, 5003 IndexedPropertyEnumeratorCallback enumerator = 0,
5050 Local<Value> data = Local<Value>(), 5004 Local<Value> data = Local<Value>(),
5051 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone) 5005 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
5052 : getter(getter), 5006 : getter(getter),
5053 setter(setter), 5007 setter(setter),
5054 query(query), 5008 query(query),
5055 deleter(deleter), 5009 deleter(deleter),
5056 enumerator(enumerator), 5010 enumerator(enumerator),
5057 definer(0),
5058 data(data), 5011 data(data),
5059 flags(flags) {} 5012 flags(flags) {}
5060 5013
5061 IndexedPropertyHandlerConfiguration(
5062 IndexedPropertyGetterCallback getter,
5063 IndexedPropertySetterCallback setter, IndexedPropertyQueryCallback query,
5064 IndexedPropertyDeleterCallback deleter,
5065 IndexedPropertyEnumeratorCallback enumerator,
5066 IndexedPropertyDefinerCallback definer,
5067 Local<Value> data = Local<Value>(),
5068 PropertyHandlerFlags flags = PropertyHandlerFlags::kNone)
5069 : getter(getter),
5070 setter(setter),
5071 query(query),
5072 deleter(deleter),
5073 enumerator(enumerator),
5074 definer(definer),
5075 data(data),
5076 flags(flags) {}
5077
5078 IndexedPropertyGetterCallback getter; 5014 IndexedPropertyGetterCallback getter;
5079 IndexedPropertySetterCallback setter; 5015 IndexedPropertySetterCallback setter;
5080 IndexedPropertyQueryCallback query; 5016 IndexedPropertyQueryCallback query;
5081 IndexedPropertyDeleterCallback deleter; 5017 IndexedPropertyDeleterCallback deleter;
5082 IndexedPropertyEnumeratorCallback enumerator; 5018 IndexedPropertyEnumeratorCallback enumerator;
5083 IndexedPropertyDefinerCallback definer;
5084 Local<Value> data; 5019 Local<Value> data;
5085 PropertyHandlerFlags flags; 5020 PropertyHandlerFlags flags;
5086 }; 5021 };
5087 5022
5088 5023
5089 /** 5024 /**
5090 * An ObjectTemplate is used to create objects at runtime. 5025 * An ObjectTemplate is used to create objects at runtime.
5091 * 5026 *
5092 * Properties added to an ObjectTemplate are added to each object 5027 * Properties added to an ObjectTemplate are added to each object
5093 * created from the ObjectTemplate. 5028 * created from the ObjectTemplate.
(...skipping 4324 matching lines...) Expand 10 before | Expand all | Expand 10 after
9418 */ 9353 */
9419 9354
9420 9355
9421 } // namespace v8 9356 } // namespace v8
9422 9357
9423 9358
9424 #undef TYPE_CHECK 9359 #undef TYPE_CHECK
9425 9360
9426 9361
9427 #endif // INCLUDE_V8_H_ 9362 #endif // INCLUDE_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