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

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

Issue 2429343004: [CachedAccessor] for window.document. (Closed)
Patch Set: Fix expectation for global-interface-listing-expected, windows. Created 4 years, 1 month 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 V8PrivateProperty_h 5 #ifndef V8PrivateProperty_h
6 #define V8PrivateProperty_h 6 #define V8PrivateProperty_h
7 7
8 #include "bindings/core/v8/ScopedPersistent.h" 8 #include "bindings/core/v8/ScopedPersistent.h"
9 #include "bindings/core/v8/ScriptPromiseProperties.h" 9 #include "bindings/core/v8/ScriptPromiseProperties.h"
10 #include "bindings/core/v8/V8BindingMacros.h" 10 #include "bindings/core/v8/V8BindingMacros.h"
(...skipping 16 matching lines...) Expand all
27 X(ErrorEvent, Error) \ 27 X(ErrorEvent, Error) \
28 X(IDBObserver, Callback) \ 28 X(IDBObserver, Callback) \
29 X(IntersectionObserver, Callback) \ 29 X(IntersectionObserver, Callback) \
30 X(MessageEvent, CachedData) \ 30 X(MessageEvent, CachedData) \
31 X(MutationObserver, Callback) \ 31 X(MutationObserver, Callback) \
32 X(PerformanceObserver, Callback) \ 32 X(PerformanceObserver, Callback) \
33 X(PrivateScriptRunner, IsInitialized) \ 33 X(PrivateScriptRunner, IsInitialized) \
34 X(SameObject, NotificationActions) \ 34 X(SameObject, NotificationActions) \
35 X(SameObject, NotificationData) \ 35 X(SameObject, NotificationData) \
36 X(SameObject, NotificationVibrate) \ 36 X(SameObject, NotificationVibrate) \
37 X(V8NodeFilterCondition, Filter) 37 X(V8NodeFilterCondition, Filter) \
38 X(Window, DocumentCachedAccessor)
38 39
39 // The getter's name for a private property. 40 // The getter's name for a private property.
40 #define V8_PRIVATE_PROPERTY_GETTER_NAME(InterfaceName, PrivateKeyName) \ 41 #define V8_PRIVATE_PROPERTY_GETTER_NAME(InterfaceName, PrivateKeyName) \
41 get##InterfaceName##PrivateKeyName 42 get##InterfaceName##PrivateKeyName
42 43
43 // The member variable's name for a private property. 44 // The member variable's name for a private property.
44 #define V8_PRIVATE_PROPERTY_MEMBER_NAME(InterfaceName, PrivateKeyName) \ 45 #define V8_PRIVATE_PROPERTY_MEMBER_NAME(InterfaceName, PrivateKeyName) \
45 m_symbol##InterfaceName##PrivateKeyName 46 m_symbol##InterfaceName##PrivateKeyName
46 47
47 // The string used to create a private symbol. Must be unique per V8 instance. 48 // The string used to create a private symbol. Must be unique per V8 instance.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 return value; 99 return value;
99 return v8::Local<v8::Value>(); 100 return v8::Local<v8::Value>();
100 } 101 }
101 102
102 bool set(v8::Local<v8::Context> context, 103 bool set(v8::Local<v8::Context> context,
103 v8::Local<v8::Object> object, 104 v8::Local<v8::Object> object,
104 v8::Local<v8::Value> value) const { 105 v8::Local<v8::Value> value) const {
105 return v8CallBoolean(object->SetPrivate(context, m_privateSymbol, value)); 106 return v8CallBoolean(object->SetPrivate(context, m_privateSymbol, value));
106 } 107 }
107 108
109 v8::Local<v8::Private> getPrivate() { return m_privateSymbol; }
110
108 private: 111 private:
109 friend class V8PrivateProperty; 112 friend class V8PrivateProperty;
110 // The following classes are exceptionally allowed to call to 113 // The following classes are exceptionally allowed to call to
111 // getFromMainWorld. 114 // getFromMainWorld.
112 friend class V8CustomEvent; 115 friend class V8CustomEvent;
113 friend class V8ServiceWorkerMessageEventInternal; 116 friend class V8ServiceWorkerMessageEventInternal;
114 117
115 explicit Symbol(v8::Local<v8::Private> privateSymbol) 118 explicit Symbol(v8::Local<v8::Private> privateSymbol)
116 : m_privateSymbol(privateSymbol) {} 119 : m_privateSymbol(privateSymbol) {}
117 120
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 #define V8_PRIVATE_PROPERTY_DECLARE_MEMBER(InterfaceName, KeyName) \ 170 #define V8_PRIVATE_PROPERTY_DECLARE_MEMBER(InterfaceName, KeyName) \
168 ScopedPersistent<v8::Private> V8_PRIVATE_PROPERTY_MEMBER_NAME( \ 171 ScopedPersistent<v8::Private> V8_PRIVATE_PROPERTY_MEMBER_NAME( \
169 InterfaceName, KeyName); // NOLINT(readability/naming/underscores) 172 InterfaceName, KeyName); // NOLINT(readability/naming/underscores)
170 V8_PRIVATE_PROPERTY_FOR_EACH(V8_PRIVATE_PROPERTY_DECLARE_MEMBER) 173 V8_PRIVATE_PROPERTY_FOR_EACH(V8_PRIVATE_PROPERTY_DECLARE_MEMBER)
171 #undef V8_PRIVATE_PROPERTY_DECLARE_MEMBER 174 #undef V8_PRIVATE_PROPERTY_DECLARE_MEMBER
172 }; 175 };
173 176
174 } // namespace blink 177 } // namespace blink
175 178
176 #endif // V8PrivateProperty_h 179 #endif // V8PrivateProperty_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698