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

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

Issue 2080623002: Revert "Remove OwnPtr from Blink." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 V8HiddenValue_h 5 #ifndef V8HiddenValue_h
6 #define V8HiddenValue_h 6 #define V8HiddenValue_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 "core/CoreExport.h" 10 #include "core/CoreExport.h"
11 #include "wtf/Allocator.h" 11 #include "wtf/Allocator.h"
12 #include "wtf/PtrUtil.h" 12 #include "wtf/PassOwnPtr.h"
13 #include <memory>
14 #include <v8.h> 13 #include <v8.h>
15 14
16 namespace blink { 15 namespace blink {
17 16
18 class ScriptState; 17 class ScriptState;
19 class ScriptWrappable; 18 class ScriptWrappable;
20 19
21 #define V8_HIDDEN_VALUES(V) \ 20 #define V8_HIDDEN_VALUES(V) \
22 V(customElementAttachedCallback) \ 21 V(customElementAttachedCallback) \
23 V(customElementAttributeChangedCallback) \ 22 V(customElementAttributeChangedCallback) \
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 V(webglQueries) \ 54 V(webglQueries) \
56 V(webglSamplers) \ 55 V(webglSamplers) \
57 V(webglShaders) \ 56 V(webglShaders) \
58 SCRIPT_PROMISE_PROPERTIES(V, Promise) \ 57 SCRIPT_PROMISE_PROPERTIES(V, Promise) \
59 SCRIPT_PROMISE_PROPERTIES(V, Resolver) 58 SCRIPT_PROMISE_PROPERTIES(V, Resolver)
60 59
61 class CORE_EXPORT V8HiddenValue { 60 class CORE_EXPORT V8HiddenValue {
62 USING_FAST_MALLOC(V8HiddenValue); 61 USING_FAST_MALLOC(V8HiddenValue);
63 WTF_MAKE_NONCOPYABLE(V8HiddenValue); 62 WTF_MAKE_NONCOPYABLE(V8HiddenValue);
64 public: 63 public:
65 static std::unique_ptr<V8HiddenValue> create() { return wrapUnique(new V8Hid denValue()); } 64 static PassOwnPtr<V8HiddenValue> create() { return adoptPtr(new V8HiddenValu e()); }
66 65
67 #define V8_DECLARE_METHOD(name) static v8::Local<v8::String> name(v8::Isolate* i solate); 66 #define V8_DECLARE_METHOD(name) static v8::Local<v8::String> name(v8::Isolate* i solate);
68 V8_HIDDEN_VALUES(V8_DECLARE_METHOD); 67 V8_HIDDEN_VALUES(V8_DECLARE_METHOD);
69 #undef V8_DECLARE_METHOD 68 #undef V8_DECLARE_METHOD
70 69
71 static v8::Local<v8::Value> getHiddenValue(ScriptState*, v8::Local<v8::Objec t>, v8::Local<v8::String>); 70 static v8::Local<v8::Value> getHiddenValue(ScriptState*, v8::Local<v8::Objec t>, v8::Local<v8::String>);
72 static bool setHiddenValue(ScriptState*, v8::Local<v8::Object>, v8::Local<v8 ::String>, v8::Local<v8::Value>); 71 static bool setHiddenValue(ScriptState*, v8::Local<v8::Object>, v8::Local<v8 ::String>, v8::Local<v8::Value>);
73 static bool deleteHiddenValue(ScriptState*, v8::Local<v8::Object>, v8::Local <v8::String>); 72 static bool deleteHiddenValue(ScriptState*, v8::Local<v8::Object>, v8::Local <v8::String>);
74 static v8::Local<v8::Value> getHiddenValueFromMainWorldWrapper(ScriptState*, ScriptWrappable*, v8::Local<v8::String>); 73 static v8::Local<v8::Value> getHiddenValueFromMainWorldWrapper(ScriptState*, ScriptWrappable*, v8::Local<v8::String>);
75 74
76 private: 75 private:
77 V8HiddenValue() { } 76 V8HiddenValue() { }
78 77
79 #define V8_DECLARE_FIELD(name) ScopedPersistent<v8::String> m_##name; 78 #define V8_DECLARE_FIELD(name) ScopedPersistent<v8::String> m_##name;
80 V8_HIDDEN_VALUES(V8_DECLARE_FIELD); 79 V8_HIDDEN_VALUES(V8_DECLARE_FIELD);
81 #undef V8_DECLARE_FIELD 80 #undef V8_DECLARE_FIELD
82 }; 81 };
83 82
84 } // namespace blink 83 } // namespace blink
85 84
86 #endif // V8HiddenValue_h 85 #endif // V8HiddenValue_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698