OLD | NEW |
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_PUBLIC_ISOLATE_HOLDER_H_ | 5 #ifndef GIN_PUBLIC_ISOLATE_HOLDER_H_ |
6 #define GIN_PUBLIC_ISOLATE_HOLDER_H_ | 6 #define GIN_PUBLIC_ISOLATE_HOLDER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "gin/gin_export.h" | 10 #include "gin/gin_export.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 kSingleThread, | 33 kSingleThread, |
34 kUseLocker | 34 kUseLocker |
35 }; | 35 }; |
36 | 36 |
37 IsolateHolder(); | 37 IsolateHolder(); |
38 explicit IsolateHolder(AccessMode access_mode); | 38 explicit IsolateHolder(AccessMode access_mode); |
39 ~IsolateHolder(); | 39 ~IsolateHolder(); |
40 | 40 |
41 // Should be invoked once before creating IsolateHolder instances to | 41 // Should be invoked once before creating IsolateHolder instances to |
42 // initialize V8 and Gin. In case V8_USE_EXTERNAL_STARTUP_DATA is | 42 // initialize V8 and Gin. In case V8_USE_EXTERNAL_STARTUP_DATA is |
43 // defined, V8's initial snapshot should be loaded (by calling | 43 // defined, V8's initial natives should be loaded (by calling |
| 44 // V8Initializer::LoadV8NativesFromFD or |
| 45 // V8Initializer::LoadV8Natives) before calling this method. If the |
| 46 // snapshot file is available, it should also be loaded (by calling |
44 // V8Initializer::LoadV8SnapshotFromFD or | 47 // V8Initializer::LoadV8SnapshotFromFD or |
45 // V8Initializer::LoadV8Snapshot) before calling this method. | 48 // V8Initializer::LoadV8Snapshot) before calling this method. |
46 static void Initialize(ScriptMode mode, | 49 static void Initialize(ScriptMode mode, |
47 v8::ArrayBuffer::Allocator* allocator); | 50 v8::ArrayBuffer::Allocator* allocator); |
48 | 51 |
49 v8::Isolate* isolate() { return isolate_; } | 52 v8::Isolate* isolate() { return isolate_; } |
50 | 53 |
51 // The implementations of Object.observe() and Promise enqueue v8 Microtasks | 54 // The implementations of Object.observe() and Promise enqueue v8 Microtasks |
52 // that should be executed just before control is returned to the message | 55 // that should be executed just before control is returned to the message |
53 // loop. This method adds a MessageLoop TaskObserver which runs any pending | 56 // loop. This method adds a MessageLoop TaskObserver which runs any pending |
(...skipping 22 matching lines...) Expand all Loading... |
76 scoped_ptr<RunMicrotasksObserver> task_observer_; | 79 scoped_ptr<RunMicrotasksObserver> task_observer_; |
77 scoped_ptr<V8IsolateMemoryDumpProvider> isolate_memory_dump_provider_; | 80 scoped_ptr<V8IsolateMemoryDumpProvider> isolate_memory_dump_provider_; |
78 AccessMode access_mode_; | 81 AccessMode access_mode_; |
79 | 82 |
80 DISALLOW_COPY_AND_ASSIGN(IsolateHolder); | 83 DISALLOW_COPY_AND_ASSIGN(IsolateHolder); |
81 }; | 84 }; |
82 | 85 |
83 } // namespace gin | 86 } // namespace gin |
84 | 87 |
85 #endif // GIN_PUBLIC_ISOLATE_HOLDER_H_ | 88 #endif // GIN_PUBLIC_ISOLATE_HOLDER_H_ |
OLD | NEW |