• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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