Changes to named property callbacks API

50 views
Skip to first unread message

Anton Muhin

unread,
Jun 10, 2010, 8:38:15 AM6/10/10
to v8-u...@googlegroups.com
Dear v8 users,

[if you don't use named property query callbacks, you may stop right now]

We've started a process of migration to new named property query
callbacks which returns Handle<Integer> instead of Handle<Boolean>.
That would allow better control over attributes of intercepted
properties.

The recommended migration plan is:

1. As of v8 2.2.15 (r4809,
http://code.google.com/p/v8/source/detail?r=4809, r4797 of bleeding
edge, http://code.google.com/p/v8/source/detail?r=4797) to enable new
API one needs to define USE_NEW_QUERY_CALLBACKS before include of
v8.h. That would produce compilation errors in case you use named
query callbacks. The recommended migration is:
* if you return empty handle (v8::Handle<v8::Boolean>()) from the
callback, return empty handle but of Integer type
(v8::Handle<v8::Integer>())
* if you return v8::True(), then if intercepted property is
enumerated by your enumerate callback, then return
v8::Integer::New(v8::None), otherwise return
v8::Integer::New(v8::DontEnum)
* if you return v8::False, most probably you meant empty handle.
If there are cases when you think v8::False is mandatory, please, let
us know.

2. (approx. mid of next week), new API would be used by default. That
_would lead_ to compilation errors unless you already have migrated to
new API (see 1. above)

If you have any problems migrating to new API, please, let us know.

yours,
anton.

Reply all
Reply to author
Forward
0 new messages