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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.h

Issue 2007463003: binding: Reimplements V8HiddenValue as V8PrivateProperty. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed review comments. Created 4 years, 6 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 26 matching lines...) Expand all
37 #include "wtf/HashMap.h" 37 #include "wtf/HashMap.h"
38 #include "wtf/Noncopyable.h" 38 #include "wtf/Noncopyable.h"
39 #include "wtf/OwnPtr.h" 39 #include "wtf/OwnPtr.h"
40 #include "wtf/Vector.h" 40 #include "wtf/Vector.h"
41 #include <v8.h> 41 #include <v8.h>
42 42
43 namespace blink { 43 namespace blink {
44 44
45 class ActiveScriptWrappable; 45 class ActiveScriptWrappable;
46 class DOMDataStore; 46 class DOMDataStore;
47 class StringCache;
47 class ThreadDebugger; 48 class ThreadDebugger;
48 class StringCache; 49 class V8PrivateProperty;
49 struct WrapperTypeInfo; 50 struct WrapperTypeInfo;
50 51
51 typedef WTF::Vector<DOMDataStore*> DOMDataStoreList; 52 typedef WTF::Vector<DOMDataStore*> DOMDataStoreList;
52 53
53 class CORE_EXPORT V8PerIsolateData { 54 class CORE_EXPORT V8PerIsolateData {
54 USING_FAST_MALLOC(V8PerIsolateData); 55 USING_FAST_MALLOC(V8PerIsolateData);
55 WTF_MAKE_NONCOPYABLE(V8PerIsolateData); 56 WTF_MAKE_NONCOPYABLE(V8PerIsolateData);
56 public: 57 public:
57 class EndOfScopeTask { 58 class EndOfScopeTask {
58 USING_FAST_MALLOC(EndOfScopeTask); 59 USING_FAST_MALLOC(EndOfScopeTask);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 108
108 v8::Persistent<v8::Value>& ensureLiveRoot(); 109 v8::Persistent<v8::Value>& ensureLiveRoot();
109 110
110 bool isHandlingRecursionLevelError() const { return m_isHandlingRecursionLev elError; } 111 bool isHandlingRecursionLevelError() const { return m_isHandlingRecursionLev elError; }
111 void setIsHandlingRecursionLevelError(bool value) { m_isHandlingRecursionLev elError = value; } 112 void setIsHandlingRecursionLevelError(bool value) { m_isHandlingRecursionLev elError = value; }
112 113
113 bool isReportingException() const { return m_isReportingException; } 114 bool isReportingException() const { return m_isReportingException; }
114 void setReportingException(bool value) { m_isReportingException = value; } 115 void setReportingException(bool value) { m_isReportingException = value; }
115 116
116 V8HiddenValue* hiddenValue() { return m_hiddenValue.get(); } 117 V8HiddenValue* hiddenValue() { return m_hiddenValue.get(); }
118 V8PrivateProperty* privateProperty() { return m_privateProperty.get(); }
117 119
118 // Accessors to the cache of interface templates. 120 // Accessors to the cache of interface templates.
119 v8::Local<v8::FunctionTemplate> findInterfaceTemplate(const DOMWrapperWorld& , const void* key); 121 v8::Local<v8::FunctionTemplate> findInterfaceTemplate(const DOMWrapperWorld& , const void* key);
120 void setInterfaceTemplate(const DOMWrapperWorld&, const void* key, v8::Local <v8::FunctionTemplate>); 122 void setInterfaceTemplate(const DOMWrapperWorld&, const void* key, v8::Local <v8::FunctionTemplate>);
121 123
122 // Accessor to the cache of cross-origin accessible operation's templates. 124 // Accessor to the cache of cross-origin accessible operation's templates.
123 // Created templates get automatically cached. 125 // Created templates get automatically cached.
124 v8::Local<v8::FunctionTemplate> findOrCreateOperationTemplate(const DOMWrapp erWorld&, const void* key, v8::FunctionCallback, v8::Local<v8::Value> data, v8:: Local<v8::Signature>, int length); 126 v8::Local<v8::FunctionTemplate> findOrCreateOperationTemplate(const DOMWrapp erWorld&, const void* key, v8::FunctionCallback, v8::Local<v8::Value> data, v8:: Local<v8::Signature>, int length);
125 127
126 bool hasInstance(const WrapperTypeInfo* untrusted, v8::Local<v8::Value>); 128 bool hasInstance(const WrapperTypeInfo* untrusted, v8::Local<v8::Value>);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // the inerface objects. 164 // the inerface objects.
163 V8FunctionTemplateMap m_interfaceTemplateMapForMainWorld; 165 V8FunctionTemplateMap m_interfaceTemplateMapForMainWorld;
164 V8FunctionTemplateMap m_interfaceTemplateMapForNonMainWorld; 166 V8FunctionTemplateMap m_interfaceTemplateMapForNonMainWorld;
165 // m_operationTemplateMapFor{,Non}MainWorld holds function templates for 167 // m_operationTemplateMapFor{,Non}MainWorld holds function templates for
166 // the cross-origin accessible DOM operations. 168 // the cross-origin accessible DOM operations.
167 V8FunctionTemplateMap m_operationTemplateMapForMainWorld; 169 V8FunctionTemplateMap m_operationTemplateMapForMainWorld;
168 V8FunctionTemplateMap m_operationTemplateMapForNonMainWorld; 170 V8FunctionTemplateMap m_operationTemplateMapForNonMainWorld;
169 171
170 OwnPtr<StringCache> m_stringCache; 172 OwnPtr<StringCache> m_stringCache;
171 OwnPtr<V8HiddenValue> m_hiddenValue; 173 OwnPtr<V8HiddenValue> m_hiddenValue;
174 std::unique_ptr<V8PrivateProperty> m_privateProperty;
172 ScopedPersistent<v8::Value> m_liveRoot; 175 ScopedPersistent<v8::Value> m_liveRoot;
173 RefPtr<ScriptState> m_scriptRegexpScriptState; 176 RefPtr<ScriptState> m_scriptRegexpScriptState;
174 177
175 bool m_constructorMode; 178 bool m_constructorMode;
176 friend class ConstructorMode; 179 friend class ConstructorMode;
177 180
178 bool m_useCounterDisabled; 181 bool m_useCounterDisabled;
179 friend class UseCounterDisabledScope; 182 friend class UseCounterDisabledScope;
180 183
181 bool m_isHandlingRecursionLevelError; 184 bool m_isHandlingRecursionLevelError;
182 bool m_isReportingException; 185 bool m_isReportingException;
183 186
184 Vector<OwnPtr<EndOfScopeTask>> m_endOfScopeTasks; 187 Vector<OwnPtr<EndOfScopeTask>> m_endOfScopeTasks;
185 OwnPtr<ThreadDebugger> m_threadDebugger; 188 OwnPtr<ThreadDebugger> m_threadDebugger;
186 189
187 Persistent<ActiveScriptWrappableSet> m_activeScriptWrappables; 190 Persistent<ActiveScriptWrappableSet> m_activeScriptWrappables;
188 }; 191 };
189 192
190 } // namespace blink 193 } // namespace blink
191 194
192 #endif // V8PerIsolateData_h 195 #endif // V8PerIsolateData_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698