1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "gin/interceptor.h" 6 7 #include <map> 8 9 #include "gin/per_isolate_data.h" 10 11 namespace gin { 12 13 NamedPropertyInterceptor::NamedPropertyInterceptor(v8::Isolate* isolate, 14 WrappableBase* base) 15 : isolate_(isolate), base_(base) { 16 PerIsolateData::From(isolate_)->SetNamedPropertyInterceptor(base_, this); 17 } 18 19 NamedPropertyInterceptor::~NamedPropertyInterceptor() { 20 PerIsolateData::From(isolate_)->ClearNamedPropertyInterceptor(base_, this); 21 } 22 23 v8::Local<v8::Value> NamedPropertyInterceptor::GetNamedProperty( 24 v8::Isolate* isolate, 25 const std::string& property) { 26 return v8::Local<v8::Value>(); 27 } 28 29 void NamedPropertyInterceptor::SetNamedProperty(v8::Isolate* isolate, 30 const std::string& property, 31 v8::Local<v8::Value> value) {} 32 33 std::vector<std::string> NamedPropertyInterceptor::EnumerateNamedProperties( 34 v8::Isolate* isolate) { 35 return std::vector<std::string>(); 36 } 37 38 IndexedPropertyInterceptor::IndexedPropertyInterceptor(v8::Isolate* isolate, 39 WrappableBase* base) 40 : isolate_(isolate), base_(base) { 41 PerIsolateData::From(isolate_)->SetIndexedPropertyInterceptor(base_, this); 42 } 43 44 IndexedPropertyInterceptor::~IndexedPropertyInterceptor() { 45 PerIsolateData::From(isolate_)->ClearIndexedPropertyInterceptor(base_, this); 46 } 47 48 v8::Local<v8::Value> IndexedPropertyInterceptor::GetIndexedProperty( 49 v8::Isolate* isolate, 50 uint32_t index) { 51 return v8::Local<v8::Value>(); 52 } 53 54 void IndexedPropertyInterceptor::SetIndexedProperty( 55 v8::Isolate* isolate, 56 uint32_t index, 57 v8::Local<v8::Value> value) {} 58 59 std::vector<uint32_t> IndexedPropertyInterceptor::EnumerateIndexedProperties( 60 v8::Isolate* isolate) { 61 return std::vector<uint32_t>(); 62 } 63 64 } // namespace gin 65