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

Side by Side Diff: third_party/WebKit/Source/modules/indexeddb/IDBKeyRange.cpp

Issue 2815313002: Reland of Move ScriptState::GetExecutionContext (Part 5) (Closed)
Patch Set: Created 3 years, 8 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) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 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 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 12 matching lines...) Expand all
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #include "modules/indexeddb/IDBKeyRange.h" 26 #include "modules/indexeddb/IDBKeyRange.h"
27 27
28 #include "bindings/core/v8/ExceptionState.h" 28 #include "bindings/core/v8/ExceptionState.h"
29 #include "bindings/core/v8/ToV8ForCore.h" 29 #include "bindings/core/v8/ToV8ForCore.h"
30 #include "bindings/modules/v8/ToV8ForModules.h" 30 #include "bindings/modules/v8/ToV8ForModules.h"
31 #include "bindings/modules/v8/V8BindingForModules.h" 31 #include "bindings/modules/v8/V8BindingForModules.h"
32 #include "core/dom/ExceptionCode.h" 32 #include "core/dom/ExceptionCode.h"
33 #include "core/dom/ExecutionContext.h"
33 #include "modules/indexeddb/IDBDatabase.h" 34 #include "modules/indexeddb/IDBDatabase.h"
34 35
35 namespace blink { 36 namespace blink {
36 37
37 IDBKeyRange* IDBKeyRange::FromScriptValue(ExecutionContext* context, 38 IDBKeyRange* IDBKeyRange::FromScriptValue(ExecutionContext* context,
38 const ScriptValue& value, 39 const ScriptValue& value,
39 ExceptionState& exception_state) { 40 ExceptionState& exception_state) {
40 if (value.IsUndefined() || value.IsNull()) 41 if (value.IsUndefined() || value.IsNull())
41 return nullptr; 42 return nullptr;
42 43
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 return nullptr; 88 return nullptr;
88 } 89 }
89 90
90 return IDBKeyRange::Create(key, key, kLowerBoundClosed, kUpperBoundClosed); 91 return IDBKeyRange::Create(key, key, kLowerBoundClosed, kUpperBoundClosed);
91 } 92 }
92 93
93 IDBKeyRange* IDBKeyRange::only(ScriptState* script_state, 94 IDBKeyRange* IDBKeyRange::only(ScriptState* script_state,
94 const ScriptValue& key_value, 95 const ScriptValue& key_value,
95 ExceptionState& exception_state) { 96 ExceptionState& exception_state) {
96 IDBKey* key = 97 IDBKey* key =
97 ScriptValue::To<IDBKey*>(ToIsolate(script_state->GetExecutionContext()), 98 ScriptValue::To<IDBKey*>(ToIsolate(ExecutionContext::From(script_state)),
98 key_value, exception_state); 99 key_value, exception_state);
99 if (exception_state.HadException()) 100 if (exception_state.HadException())
100 return nullptr; 101 return nullptr;
101 if (!key || !key->IsValid()) { 102 if (!key || !key->IsValid()) {
102 exception_state.ThrowDOMException(kDataError, 103 exception_state.ThrowDOMException(kDataError,
103 IDBDatabase::kNotValidKeyErrorMessage); 104 IDBDatabase::kNotValidKeyErrorMessage);
104 return nullptr; 105 return nullptr;
105 } 106 }
106 107
107 return IDBKeyRange::Create(key, key, kLowerBoundClosed, kUpperBoundClosed); 108 return IDBKeyRange::Create(key, key, kLowerBoundClosed, kUpperBoundClosed);
108 } 109 }
109 110
110 IDBKeyRange* IDBKeyRange::lowerBound(ScriptState* script_state, 111 IDBKeyRange* IDBKeyRange::lowerBound(ScriptState* script_state,
111 const ScriptValue& bound_value, 112 const ScriptValue& bound_value,
112 bool open, 113 bool open,
113 ExceptionState& exception_state) { 114 ExceptionState& exception_state) {
114 IDBKey* bound = 115 IDBKey* bound =
115 ScriptValue::To<IDBKey*>(ToIsolate(script_state->GetExecutionContext()), 116 ScriptValue::To<IDBKey*>(ToIsolate(ExecutionContext::From(script_state)),
116 bound_value, exception_state); 117 bound_value, exception_state);
117 if (exception_state.HadException()) 118 if (exception_state.HadException())
118 return nullptr; 119 return nullptr;
119 if (!bound || !bound->IsValid()) { 120 if (!bound || !bound->IsValid()) {
120 exception_state.ThrowDOMException(kDataError, 121 exception_state.ThrowDOMException(kDataError,
121 IDBDatabase::kNotValidKeyErrorMessage); 122 IDBDatabase::kNotValidKeyErrorMessage);
122 return nullptr; 123 return nullptr;
123 } 124 }
124 125
125 return IDBKeyRange::Create(bound, nullptr, 126 return IDBKeyRange::Create(bound, nullptr,
126 open ? kLowerBoundOpen : kLowerBoundClosed, 127 open ? kLowerBoundOpen : kLowerBoundClosed,
127 kUpperBoundOpen); 128 kUpperBoundOpen);
128 } 129 }
129 130
130 IDBKeyRange* IDBKeyRange::upperBound(ScriptState* script_state, 131 IDBKeyRange* IDBKeyRange::upperBound(ScriptState* script_state,
131 const ScriptValue& bound_value, 132 const ScriptValue& bound_value,
132 bool open, 133 bool open,
133 ExceptionState& exception_state) { 134 ExceptionState& exception_state) {
134 IDBKey* bound = 135 IDBKey* bound =
135 ScriptValue::To<IDBKey*>(ToIsolate(script_state->GetExecutionContext()), 136 ScriptValue::To<IDBKey*>(ToIsolate(ExecutionContext::From(script_state)),
136 bound_value, exception_state); 137 bound_value, exception_state);
137 if (exception_state.HadException()) 138 if (exception_state.HadException())
138 return nullptr; 139 return nullptr;
139 if (!bound || !bound->IsValid()) { 140 if (!bound || !bound->IsValid()) {
140 exception_state.ThrowDOMException(kDataError, 141 exception_state.ThrowDOMException(kDataError,
141 IDBDatabase::kNotValidKeyErrorMessage); 142 IDBDatabase::kNotValidKeyErrorMessage);
142 return nullptr; 143 return nullptr;
143 } 144 }
144 145
145 return IDBKeyRange::Create(nullptr, bound, kLowerBoundOpen, 146 return IDBKeyRange::Create(nullptr, bound, kLowerBoundOpen,
146 open ? kUpperBoundOpen : kUpperBoundClosed); 147 open ? kUpperBoundOpen : kUpperBoundClosed);
147 } 148 }
148 149
149 IDBKeyRange* IDBKeyRange::bound(ScriptState* script_state, 150 IDBKeyRange* IDBKeyRange::bound(ScriptState* script_state,
150 const ScriptValue& lower_value, 151 const ScriptValue& lower_value,
151 const ScriptValue& upper_value, 152 const ScriptValue& upper_value,
152 bool lower_open, 153 bool lower_open,
153 bool upper_open, 154 bool upper_open,
154 ExceptionState& exception_state) { 155 ExceptionState& exception_state) {
155 IDBKey* lower = 156 IDBKey* lower =
156 ScriptValue::To<IDBKey*>(ToIsolate(script_state->GetExecutionContext()), 157 ScriptValue::To<IDBKey*>(ToIsolate(ExecutionContext::From(script_state)),
157 lower_value, exception_state); 158 lower_value, exception_state);
158 if (exception_state.HadException()) 159 if (exception_state.HadException())
159 return nullptr; 160 return nullptr;
160 if (!lower || !lower->IsValid()) { 161 if (!lower || !lower->IsValid()) {
161 exception_state.ThrowDOMException(kDataError, 162 exception_state.ThrowDOMException(kDataError,
162 IDBDatabase::kNotValidKeyErrorMessage); 163 IDBDatabase::kNotValidKeyErrorMessage);
163 return nullptr; 164 return nullptr;
164 } 165 }
165 166
166 IDBKey* upper = 167 IDBKey* upper =
167 ScriptValue::To<IDBKey*>(ToIsolate(script_state->GetExecutionContext()), 168 ScriptValue::To<IDBKey*>(ToIsolate(ExecutionContext::From(script_state)),
168 upper_value, exception_state); 169 upper_value, exception_state);
169 if (exception_state.HadException()) 170 if (exception_state.HadException())
170 return nullptr; 171 return nullptr;
171 if (!upper || !upper->IsValid()) { 172 if (!upper || !upper->IsValid()) {
172 exception_state.ThrowDOMException(kDataError, 173 exception_state.ThrowDOMException(kDataError,
173 IDBDatabase::kNotValidKeyErrorMessage); 174 IDBDatabase::kNotValidKeyErrorMessage);
174 return nullptr; 175 return nullptr;
175 } 176 }
176 177
177 if (upper->IsLessThan(lower)) { 178 if (upper->IsLessThan(lower)) {
(...skipping 10 matching lines...) Expand all
188 189
189 return IDBKeyRange::Create(lower, upper, 190 return IDBKeyRange::Create(lower, upper,
190 lower_open ? kLowerBoundOpen : kLowerBoundClosed, 191 lower_open ? kLowerBoundOpen : kLowerBoundClosed,
191 upper_open ? kUpperBoundOpen : kUpperBoundClosed); 192 upper_open ? kUpperBoundOpen : kUpperBoundClosed);
192 } 193 }
193 194
194 bool IDBKeyRange::includes(ScriptState* script_state, 195 bool IDBKeyRange::includes(ScriptState* script_state,
195 const ScriptValue& key_value, 196 const ScriptValue& key_value,
196 ExceptionState& exception_state) { 197 ExceptionState& exception_state) {
197 IDBKey* key = 198 IDBKey* key =
198 ScriptValue::To<IDBKey*>(ToIsolate(script_state->GetExecutionContext()), 199 ScriptValue::To<IDBKey*>(ToIsolate(ExecutionContext::From(script_state)),
199 key_value, exception_state); 200 key_value, exception_state);
200 if (exception_state.HadException()) 201 if (exception_state.HadException())
201 return false; 202 return false;
202 if (!key || !key->IsValid()) { 203 if (!key || !key->IsValid()) {
203 exception_state.ThrowDOMException(kDataError, 204 exception_state.ThrowDOMException(kDataError,
204 IDBDatabase::kNotValidKeyErrorMessage); 205 IDBDatabase::kNotValidKeyErrorMessage);
205 return false; 206 return false;
206 } 207 }
207 208
208 if (lower_) { 209 if (lower_) {
(...skipping 14 matching lines...) Expand all
223 return false; 224 return false;
224 } else { 225 } else {
225 if (c > 0) 226 if (c > 0)
226 return false; 227 return false;
227 } 228 }
228 } 229 }
229 return true; 230 return true;
230 } 231 }
231 232
232 } // namespace blink 233 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698