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 bool NamedPropertyInterceptor::SetNamedProperty(v8::Isolate* isolate, 30 const std::string& property, 31 v8::Local<v8::Value> value) { 32 return false; 33 } 34 35 std::vector<std::string> NamedPropertyInterceptor::EnumerateNamedProperties( 36 v8::Isolate* isolate) { 37 return std::vector<std::string>(); 38 } 39 40 IndexedPropertyInterceptor::IndexedPropertyInterceptor(v8::Isolate* isolate, 41 WrappableBase* base) 42 : isolate_(isolate), base_(base) { 43 PerIsolateData::From(isolate_)->SetIndexedPropertyInterceptor(base_, this); 44 } 45 46 IndexedPropertyInterceptor::~IndexedPropertyInterceptor() { 47 PerIsolateData::From(isolate_)->ClearIndexedPropertyInterceptor(base_, this); 48 } 49 50 v8::Local<v8::Value> IndexedPropertyInterceptor::GetIndexedProperty( 51 v8::Isolate* isolate, 52 uint32_t index) { 53 return v8::Local<v8::Value>(); 54 } 55 56 bool IndexedPropertyInterceptor::SetIndexedProperty( 57 v8::Isolate* isolate, 58 uint32_t index, 59 v8::Local<v8::Value> value) { 60 return false; 61 } 62 63 std::vector<uint32_t> IndexedPropertyInterceptor::EnumerateIndexedProperties( 64 v8::Isolate* isolate) { 65 return std::vector<uint32_t>(); 66 } 67 68 } // namespace gin 69