OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 V8_PROXY_H__ | 5 #ifndef V8_PROXY_H__ |
6 #define V8_PROXY_H__ | 6 #define V8_PROXY_H__ |
7 | 7 |
8 #include <v8.h> | 8 #include <v8.h> |
| 9 #include "dom_wrapper_map.h" |
9 #include "v8_index.h" | 10 #include "v8_index.h" |
10 #include "v8_custom.h" | 11 #include "v8_custom.h" |
11 #include "v8_utility.h" | 12 #include "v8_utility.h" |
12 #include "ChromiumBridge.h" | 13 #include "ChromiumBridge.h" |
13 #include "Node.h" | 14 #include "Node.h" |
14 #include "NodeFilter.h" | 15 #include "NodeFilter.h" |
15 #include "PlatformString.h" // for WebCore::String | 16 #include "PlatformString.h" // for WebCore::String |
16 #include "ScriptSourceCode.h" // for WebCore::ScriptSourceCode | 17 #include "ScriptSourceCode.h" // for WebCore::ScriptSourceCode |
17 #include "SecurityOrigin.h" // for WebCore::SecurityOrigin | 18 #include "SecurityOrigin.h" // for WebCore::SecurityOrigin |
18 #include "V8DOMMap.h" | |
19 #include <wtf/Assertions.h> | 19 #include <wtf/Assertions.h> |
20 #include <wtf/PassRefPtr.h> // so generated bindings don't have to | 20 #include <wtf/PassRefPtr.h> // so generated bindings don't have to |
21 #include <wtf/Vector.h> | 21 #include <wtf/Vector.h> |
22 | 22 |
23 #include <iterator> | 23 #include <iterator> |
24 #include <list> | 24 #include <list> |
25 | 25 |
26 #ifdef ENABLE_DOM_STATS_COUNTERS | 26 #ifdef ENABLE_DOM_STATS_COUNTERS |
27 #define INC_STATS(name) ChromiumBridge::incrementStatsCounter(name) | 27 #define INC_STATS(name) ChromiumBridge::incrementStatsCounter(name) |
28 #else | 28 #else |
29 #define INC_STATS(name) | 29 #define INC_STATS(name) |
30 #endif | 30 #endif |
31 | 31 |
32 // FIXME: Remove the following hack when we replace all references to GetDOMObje
ctMap. | |
33 #define GetDOMObjectMap getDOMObjectMap | |
34 | |
35 namespace WebCore { | 32 namespace WebCore { |
36 | 33 |
37 class CSSStyleDeclaration; | 34 class CSSStyleDeclaration; |
38 class DOMImplementation; | 35 class DOMImplementation; |
39 class Element; | 36 class Element; |
40 class Event; | 37 class Event; |
41 class EventListener; | 38 class EventListener; |
42 class Frame; | 39 class Frame; |
43 class HTMLCollection; | 40 class HTMLCollection; |
44 class HTMLOptionsCollection; | 41 class HTMLOptionsCollection; |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 struct BatchedConstant { | 137 struct BatchedConstant { |
141 const char* const name; | 138 const char* const name; |
142 int value; | 139 int value; |
143 }; | 140 }; |
144 | 141 |
145 void BatchConfigureConstants(v8::Handle<v8::FunctionTemplate> desc, | 142 void BatchConfigureConstants(v8::Handle<v8::FunctionTemplate> desc, |
146 v8::Handle<v8::ObjectTemplate> proto, | 143 v8::Handle<v8::ObjectTemplate> proto, |
147 const BatchedConstant* consts, | 144 const BatchedConstant* consts, |
148 size_t num_consts); | 145 size_t num_consts); |
149 | 146 |
| 147 DOMWrapperMap<void>& GetDOMObjectMap(); |
| 148 |
150 const int kMaxRecursionDepth = 20; | 149 const int kMaxRecursionDepth = 20; |
151 | 150 |
152 // Information about an extension that is registered for use with V8. If scheme | 151 // Information about an extension that is registered for use with V8. If scheme |
153 // is non-empty, it contains the URL scheme the extension should be used with. | 152 // is non-empty, it contains the URL scheme the extension should be used with. |
154 // Otherwise, the extension is used with all schemes. | 153 // Otherwise, the extension is used with all schemes. |
155 struct V8ExtensionInfo { | 154 struct V8ExtensionInfo { |
156 String scheme; | 155 String scheme; |
157 v8::Extension* extension; | 156 v8::Extension* extension; |
158 }; | 157 }; |
159 typedef std::list<V8ExtensionInfo> V8ExtensionList; | 158 typedef std::list<V8ExtensionInfo> V8ExtensionList; |
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
609 V8Proxy::SetDOMWrapper(args.Holder(), tag, obj.get()); | 608 V8Proxy::SetDOMWrapper(args.Holder(), tag, obj.get()); |
610 obj->ref(); | 609 obj->ref(); |
611 V8Proxy::SetJSWrapperForDOMObject( | 610 V8Proxy::SetJSWrapperForDOMObject( |
612 obj.get(), v8::Persistent<v8::Object>::New(args.Holder())); | 611 obj.get(), v8::Persistent<v8::Object>::New(args.Holder())); |
613 return args.Holder(); | 612 return args.Holder(); |
614 } | 613 } |
615 | 614 |
616 } // namespace WebCore | 615 } // namespace WebCore |
617 | 616 |
618 #endif // V8_PROXY_H__ | 617 #endif // V8_PROXY_H__ |
OLD | NEW |