Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(213)

Side by Side Diff: gin/per_isolate_data.h

Issue 1641513004: Update //base to chromium 9659b08ea5a34f889dc4166217f438095ddc10d2 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « gin/modules/console.cc ('k') | gin/per_isolate_data.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef GIN_PER_ISOLATE_DATA_H_ 5 #ifndef GIN_PER_ISOLATE_DATA_H_
6 #define GIN_PER_ISOLATE_DATA_H_ 6 #define GIN_PER_ISOLATE_DATA_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "gin/gin_export.h" 12 #include "gin/gin_export.h"
13 #include "gin/public/wrapper_info.h" 13 #include "gin/public/wrapper_info.h"
14 #include "v8/include/v8.h" 14 #include "v8/include/v8.h"
15 15
16 namespace base { 16 namespace base {
17 class MessageLoopProxy; 17 class SingleThreadTaskRunner;
18 } 18 }
19 19
20 namespace gin { 20 namespace gin {
21 21
22 class IndexedPropertyInterceptor; 22 class IndexedPropertyInterceptor;
23 class NamedPropertyInterceptor; 23 class NamedPropertyInterceptor;
24 class WrappableBase; 24 class WrappableBase;
25 25
26 // There is one instance of PerIsolateData per v8::Isolate managed by Gin. This 26 // There is one instance of PerIsolateData per v8::Isolate managed by Gin. This
27 // class stores all the Gin-related data that varies per isolate. 27 // class stores all the Gin-related data that varies per isolate.
(...skipping 30 matching lines...) Expand all
58 IndexedPropertyInterceptor* interceptor); 58 IndexedPropertyInterceptor* interceptor);
59 void ClearNamedPropertyInterceptor(WrappableBase* base, 59 void ClearNamedPropertyInterceptor(WrappableBase* base,
60 NamedPropertyInterceptor* interceptor); 60 NamedPropertyInterceptor* interceptor);
61 61
62 IndexedPropertyInterceptor* GetIndexedPropertyInterceptor( 62 IndexedPropertyInterceptor* GetIndexedPropertyInterceptor(
63 WrappableBase* base); 63 WrappableBase* base);
64 NamedPropertyInterceptor* GetNamedPropertyInterceptor(WrappableBase* base); 64 NamedPropertyInterceptor* GetNamedPropertyInterceptor(WrappableBase* base);
65 65
66 v8::Isolate* isolate() { return isolate_; } 66 v8::Isolate* isolate() { return isolate_; }
67 v8::ArrayBuffer::Allocator* allocator() { return allocator_; } 67 v8::ArrayBuffer::Allocator* allocator() { return allocator_; }
68 base::MessageLoopProxy* message_loop_proxy() { 68 base::SingleThreadTaskRunner* task_runner() { return task_runner_.get(); }
69 return message_loop_proxy_.get();
70 }
71 69
72 private: 70 private:
73 typedef std::map< 71 typedef std::map<
74 WrapperInfo*, v8::Eternal<v8::ObjectTemplate> > ObjectTemplateMap; 72 WrapperInfo*, v8::Eternal<v8::ObjectTemplate> > ObjectTemplateMap;
75 typedef std::map< 73 typedef std::map<
76 WrapperInfo*, v8::Eternal<v8::FunctionTemplate> > FunctionTemplateMap; 74 WrapperInfo*, v8::Eternal<v8::FunctionTemplate> > FunctionTemplateMap;
77 typedef std::map<WrappableBase*, IndexedPropertyInterceptor*> 75 typedef std::map<WrappableBase*, IndexedPropertyInterceptor*>
78 IndexedPropertyInterceptorMap; 76 IndexedPropertyInterceptorMap;
79 typedef std::map<WrappableBase*, NamedPropertyInterceptor*> 77 typedef std::map<WrappableBase*, NamedPropertyInterceptor*>
80 NamedPropertyInterceptorMap; 78 NamedPropertyInterceptorMap;
81 79
82 // PerIsolateData doesn't actually own |isolate_|. Instead, the isolate is 80 // PerIsolateData doesn't actually own |isolate_|. Instead, the isolate is
83 // owned by the IsolateHolder, which also owns the PerIsolateData. 81 // owned by the IsolateHolder, which also owns the PerIsolateData.
84 v8::Isolate* isolate_; 82 v8::Isolate* isolate_;
85 v8::ArrayBuffer::Allocator* allocator_; 83 v8::ArrayBuffer::Allocator* allocator_;
86 ObjectTemplateMap object_templates_; 84 ObjectTemplateMap object_templates_;
87 FunctionTemplateMap function_templates_; 85 FunctionTemplateMap function_templates_;
88 IndexedPropertyInterceptorMap indexed_interceptors_; 86 IndexedPropertyInterceptorMap indexed_interceptors_;
89 NamedPropertyInterceptorMap named_interceptors_; 87 NamedPropertyInterceptorMap named_interceptors_;
90 scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; 88 scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
91 89
92 DISALLOW_COPY_AND_ASSIGN(PerIsolateData); 90 DISALLOW_COPY_AND_ASSIGN(PerIsolateData);
93 }; 91 };
94 92
95 } // namespace gin 93 } // namespace gin
96 94
97 #endif // GIN_PER_ISOLATE_DATA_H_ 95 #endif // GIN_PER_ISOLATE_DATA_H_
OLDNEW
« no previous file with comments | « gin/modules/console.cc ('k') | gin/per_isolate_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698