Well nm...something along the following line works for me.

  // Local<Array> props = g->GetPropertyNames(context,
  //                                          KeyCollectionMode::kOwnOnly,
  //                                          
PropertyFilter::ALL_PROPERTIES,
  //                                          IndexFilter::kSkipIndices)
  //   .ToLocalChecked();

The default mode for PropertyFilter must have been the problem.


On Thursday, April 12, 2018 at 4:29:30 PM UTC+8, YJ wrote:
>
> A semi-related question, are the built-ins in global not enumerable for 
> some reason ?
>
> Basically the following code does not iterate over things like typed array 
> constructors. Am I doing something wrong here ?
>
> auto g = context->Global();   
>>
> Local<Array> props = g->GetPropertyNames();
>> const uint32_t length = props->Length(); // length is always 0 in a clean 
>> context
>>
>>
> On Wednesday, April 11, 2018 at 7:30:00 PM UTC+8, YJ wrote:
>>
>> Thanks Ben. Will give that a shot.
>>
>> I had experimented with interceptors but unfortunately I can't seem to 
>> return a normal global object from inside an global interceptor as 
>> accessing a property triggers that interceptor again.
>>
>> On Wednesday, April 11, 2018 at 5:13:37 PM UTC+8, Ben Noordhuis wrote:
>>>
>>> On Wed, Apr 11, 2018 at 6:58 AM, YJ <yang....@celigo.com> wrote: 
>>> > Hi v8-users, 
>>> > 
>>> > In certain situations we want user scripts to run in a context where 
>>> the 
>>> > scripts don't get to use some of the newer ECMAScript features, for 
>>> > instance, Atomics, typed arrays etc. What is the recommended way to 
>>> achieve 
>>> > that? 
>>> > 
>>> > Any pointers are appreciated. 
>>>
>>> Delete the corresponding globals from the global object 
>>> (`v8::Context::Global()`) before you start executing JS code.  Won't 
>>> work for everything but will work for most things. 
>>>
>>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to