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