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

Side by Side Diff: Source/bindings/v8/ScriptValue.h

Issue 18590006: Blob support for IDB [Blink] (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Merge fixes [builds, untested] Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008, 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2008, 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 13 matching lines...) Expand all
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef ScriptValue_h 31 #ifndef ScriptValue_h
32 #define ScriptValue_h 32 #define ScriptValue_h
33 33
34 #include "bindings/v8/BlobInfo.h"
34 #include "bindings/v8/ScriptState.h" 35 #include "bindings/v8/ScriptState.h"
35 #include "bindings/v8/SharedPersistent.h" 36 #include "bindings/v8/SharedPersistent.h"
36 #include <v8.h> 37 #include <v8.h>
37 #include "wtf/PassRefPtr.h" 38 #include "wtf/PassRefPtr.h"
38 #include "wtf/RefPtr.h" 39 #include "wtf/RefPtr.h"
39 #include "wtf/Vector.h" 40 #include "wtf/Vector.h"
40 #include "wtf/text/WTFString.h" 41 #include "wtf/text/WTFString.h"
41 42
42 #ifndef NDEBUG 43 #ifndef NDEBUG
43 #include "bindings/v8/V8GCController.h" 44 #include "bindings/v8/V8GCController.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 return !value.IsEmpty() && value->IsObject(); 136 return !value.IsEmpty() && value->IsObject();
136 } 137 }
137 138
138 bool hasNoValue() const 139 bool hasNoValue() const
139 { 140 {
140 return !m_value.get() || m_value->isEmpty(); 141 return !m_value.get() || m_value->isEmpty();
141 } 142 }
142 143
143 PassRefPtr<SerializedScriptValue> serialize(ScriptState*); 144 PassRefPtr<SerializedScriptValue> serialize(ScriptState*);
144 PassRefPtr<SerializedScriptValue> serialize(ScriptState*, MessagePortArray*, ArrayBufferArray*, bool&); 145 PassRefPtr<SerializedScriptValue> serialize(ScriptState*, MessagePortArray*, ArrayBufferArray*, bool&);
146 PassRefPtr<SerializedScriptValue> serialize(ScriptState*, Vector<BlobInfo>*, bool&);
145 static ScriptValue deserialize(ScriptState*, SerializedScriptValue*); 147 static ScriptValue deserialize(ScriptState*, SerializedScriptValue*);
146 148
147 void clear() 149 void clear()
148 { 150 {
149 m_value = 0; 151 m_value = 0;
150 } 152 }
151 153
152 v8::Handle<v8::Value> v8Value() const 154 v8::Handle<v8::Value> v8Value() const
153 { 155 {
154 return m_value.get() ? m_value->newLocal(v8::Isolate::GetCurrent()) : v8 ::Handle<v8::Value>(); 156 return m_value.get() ? m_value->newLocal(v8::Isolate::GetCurrent()) : v8 ::Handle<v8::Value>();
155 } 157 }
156 158
157 bool getString(ScriptState* scriptState, String& result) const { return getS tring(result, scriptState->isolate()); } 159 bool getString(ScriptState* scriptState, String& result) const { return getS tring(result, scriptState->isolate()); }
158 bool getString(String& result) const { return getString(result, v8::Isolate: :GetCurrent()); } 160 bool getString(String& result) const { return getString(result, v8::Isolate: :GetCurrent()); }
159 bool getString(String& result, v8::Isolate*) const; 161 bool getString(String& result, v8::Isolate*) const;
160 String toString(ScriptState*) const; 162 String toString(ScriptState*) const;
161 163
162 PassRefPtr<JSONValue> toJSONValue(ScriptState*) const; 164 PassRefPtr<JSONValue> toJSONValue(ScriptState*) const;
163 165
164 private: 166 private:
165 RefPtr<SharedPersistent<v8::Value> > m_value; 167 RefPtr<SharedPersistent<v8::Value> > m_value;
166 }; 168 };
167 169
168 } // namespace WebCore 170 } // namespace WebCore
169 171
170 #endif // ScriptValue_h 172 #endif // ScriptValue_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698