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

Side by Side Diff: Source/bindings/modules/v8/V8BindingForModules.h

Issue 1009503003: [bindings] Introduce ScriptValue.to<T> to convert to native values. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Patch for landing Created 5 years, 9 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
« no previous file with comments | « Source/bindings/core/v8/v8.gypi ('k') | Source/modules/indexeddb/IDBCursor.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 V8BindingForModules_h 5 #ifndef V8BindingForModules_h
6 #define V8BindingForModules_h 6 #define V8BindingForModules_h
7 7
8 #include "bindings/core/v8/V8Binding.h" 8 #include "bindings/core/v8/V8Binding.h"
9 #include "modules/webdatabase/sqlite/SQLValue.h" 9 #include "modules/webdatabase/sqlite/SQLValue.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 class IDBAny; 13 class IDBAny;
14 class IDBKey; 14 class IDBKey;
15 class IDBKeyPath; 15 class IDBKeyPath;
16 class IDBKeyRange; 16 class IDBKeyRange;
17 class SerializedScriptValue; 17 class SerializedScriptValue;
18 class SharedBuffer; 18 class SharedBuffer;
19 class WebBlobInfo; 19 class WebBlobInfo;
20 20
21 // Exposed for unit testing: 21 // Exposed for unit testing:
22 bool injectV8KeyIntoV8Value(v8::Isolate*, v8::Local<v8::Value> key, v8::Local<v8 ::Value>, const IDBKeyPath&); 22 bool injectV8KeyIntoV8Value(v8::Isolate*, v8::Local<v8::Value> key, v8::Local<v8 ::Value>, const IDBKeyPath&);
23 23
24 // For use by Source/modules/indexeddb: 24 // For use by Source/modules/indexeddb:
25 IDBKey* createIDBKeyFromScriptValueAndKeyPath(v8::Isolate*, const ScriptValue&, const IDBKeyPath&); 25 IDBKey* createIDBKeyFromScriptValueAndKeyPath(v8::Isolate*, const ScriptValue&, const IDBKeyPath&);
26 bool canInjectIDBKeyIntoScriptValue(v8::Isolate*, const ScriptValue&, const IDBK eyPath&); 26 bool canInjectIDBKeyIntoScriptValue(v8::Isolate*, const ScriptValue&, const IDBK eyPath&);
27 IDBKey* scriptValueToIDBKey(v8::Isolate*, const ScriptValue&);
28 IDBKeyRange* scriptValueToIDBKeyRange(v8::Isolate*, const ScriptValue&);
29 ScriptValue deserializeScriptValue(ScriptState*, SerializedScriptValue*, const V ector<blink::WebBlobInfo>*); 27 ScriptValue deserializeScriptValue(ScriptState*, SerializedScriptValue*, const V ector<blink::WebBlobInfo>*);
30 28
31 #if ENABLE(ASSERT) 29 #if ENABLE(ASSERT)
32 void assertPrimaryKeyValidOrInjectable(ScriptState*, PassRefPtr<SharedBuffer>, c onst Vector<blink::WebBlobInfo>*, IDBKey*, const IDBKeyPath&); 30 void assertPrimaryKeyValidOrInjectable(ScriptState*, PassRefPtr<SharedBuffer>, c onst Vector<blink::WebBlobInfo>*, IDBKey*, const IDBKeyPath&);
33 #endif 31 #endif
34 32
35 template <> 33 template <>
36 struct NativeValueTraits<SQLValue> { 34 struct NativeValueTraits<SQLValue> {
37 static SQLValue nativeValue(const v8::Local<v8::Value>&, v8::Isolate*, Excep tionState&); 35 static SQLValue nativeValue(const v8::Local<v8::Value>&, v8::Isolate*, Excep tionState&);
38 }; 36 };
39 37
40 template <> 38 template <>
41 struct NativeValueTraits<IDBKey*> { 39 struct NativeValueTraits<IDBKey*> {
42 static IDBKey* nativeValue(const v8::Local<v8::Value>&, v8::Isolate*, Except ionState&); 40 static IDBKey* nativeValue(const v8::Local<v8::Value>&, v8::Isolate*, Except ionState&);
43 }; 41 };
44 42
45 template <> 43 template <>
46 struct NativeValueTraits<IDBKeyRange*> { 44 struct NativeValueTraits<IDBKeyRange*> {
47 static IDBKeyRange* nativeValue(const v8::Local<v8::Value>&, v8::Isolate*, E xceptionState&); 45 static IDBKeyRange* nativeValue(const v8::Local<v8::Value>&, v8::Isolate*, E xceptionState&);
48 }; 46 };
49 47
50 } // namespace blink 48 } // namespace blink
51 49
52 #endif // V8BindingForModules_h 50 #endif // V8BindingForModules_h
OLDNEW
« no previous file with comments | « Source/bindings/core/v8/v8.gypi ('k') | Source/modules/indexeddb/IDBCursor.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698