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

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

Issue 2808763007: IndexedDB: Clean up boilerplate when throwing TransactionInactiveError (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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 exception_state.ThrowDOMException( 82 exception_state.ThrowDOMException(
83 kInvalidStateError, 83 kInvalidStateError,
84 IDBDatabase::kNotVersionChangeTransactionErrorMessage); 84 IDBDatabase::kNotVersionChangeTransactionErrorMessage);
85 return; 85 return;
86 } 86 }
87 if (IsDeleted()) { 87 if (IsDeleted()) {
88 exception_state.ThrowDOMException( 88 exception_state.ThrowDOMException(
89 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 89 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
90 return; 90 return;
91 } 91 }
92 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
93 exception_state.ThrowDOMException(
94 kTransactionInactiveError,
95 IDBDatabase::kTransactionFinishedErrorMessage);
96 return;
97 }
98 if (!transaction_->IsActive()) { 92 if (!transaction_->IsActive()) {
99 exception_state.ThrowDOMException( 93 exception_state.ThrowDOMException(kTransactionInactiveError,
100 kTransactionInactiveError, 94 transaction_->InactiveErrorMessage());
101 IDBDatabase::kTransactionInactiveErrorMessage);
102 return; 95 return;
103 } 96 }
104 97
105 if (this->name() == name) 98 if (this->name() == name)
106 return; 99 return;
107 if (transaction_->db()->ContainsObjectStore(name)) { 100 if (transaction_->db()->ContainsObjectStore(name)) {
108 exception_state.ThrowDOMException( 101 exception_state.ThrowDOMException(
109 kConstraintError, IDBDatabase::kObjectStoreNameTakenErrorMessage); 102 kConstraintError, IDBDatabase::kObjectStoreNameTakenErrorMessage);
110 return; 103 return;
111 } 104 }
(...skipping 21 matching lines...) Expand all
133 126
134 IDBRequest* IDBObjectStore::get(ScriptState* script_state, 127 IDBRequest* IDBObjectStore::get(ScriptState* script_state,
135 const ScriptValue& key, 128 const ScriptValue& key,
136 ExceptionState& exception_state) { 129 ExceptionState& exception_state) {
137 IDB_TRACE("IDBObjectStore::get"); 130 IDB_TRACE("IDBObjectStore::get");
138 if (IsDeleted()) { 131 if (IsDeleted()) {
139 exception_state.ThrowDOMException( 132 exception_state.ThrowDOMException(
140 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 133 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
141 return nullptr; 134 return nullptr;
142 } 135 }
143 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
144 exception_state.ThrowDOMException(
145 kTransactionInactiveError,
146 IDBDatabase::kTransactionFinishedErrorMessage);
147 return nullptr;
148 }
149 if (!transaction_->IsActive()) { 136 if (!transaction_->IsActive()) {
150 exception_state.ThrowDOMException( 137 exception_state.ThrowDOMException(kTransactionInactiveError,
151 kTransactionInactiveError, 138 transaction_->InactiveErrorMessage());
152 IDBDatabase::kTransactionInactiveErrorMessage);
153 return nullptr; 139 return nullptr;
154 } 140 }
155 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue( 141 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue(
156 ExecutionContext::From(script_state), key, exception_state); 142 ExecutionContext::From(script_state), key, exception_state);
157 if (exception_state.HadException()) 143 if (exception_state.HadException())
158 return nullptr; 144 return nullptr;
159 if (!key_range) { 145 if (!key_range) {
160 exception_state.ThrowDOMException( 146 exception_state.ThrowDOMException(
161 kDataError, IDBDatabase::kNoKeyOrKeyRangeErrorMessage); 147 kDataError, IDBDatabase::kNoKeyOrKeyRangeErrorMessage);
162 return nullptr; 148 return nullptr;
(...skipping 14 matching lines...) Expand all
177 163
178 IDBRequest* IDBObjectStore::getKey(ScriptState* script_state, 164 IDBRequest* IDBObjectStore::getKey(ScriptState* script_state,
179 const ScriptValue& key, 165 const ScriptValue& key,
180 ExceptionState& exception_state) { 166 ExceptionState& exception_state) {
181 IDB_TRACE("IDBObjectStore::getKey"); 167 IDB_TRACE("IDBObjectStore::getKey");
182 if (IsDeleted()) { 168 if (IsDeleted()) {
183 exception_state.ThrowDOMException( 169 exception_state.ThrowDOMException(
184 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 170 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
185 return nullptr; 171 return nullptr;
186 } 172 }
187 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
188 exception_state.ThrowDOMException(
189 kTransactionInactiveError,
190 IDBDatabase::kTransactionFinishedErrorMessage);
191 return nullptr;
192 }
193 if (!transaction_->IsActive()) { 173 if (!transaction_->IsActive()) {
194 exception_state.ThrowDOMException( 174 exception_state.ThrowDOMException(kTransactionInactiveError,
195 kTransactionInactiveError, 175 transaction_->InactiveErrorMessage());
196 IDBDatabase::kTransactionInactiveErrorMessage);
197 return nullptr; 176 return nullptr;
198 } 177 }
199 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue( 178 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue(
200 ExecutionContext::From(script_state), key, exception_state); 179 ExecutionContext::From(script_state), key, exception_state);
201 if (exception_state.HadException()) 180 if (exception_state.HadException())
202 return nullptr; 181 return nullptr;
203 if (!key_range) { 182 if (!key_range) {
204 exception_state.ThrowDOMException( 183 exception_state.ThrowDOMException(
205 kDataError, IDBDatabase::kNoKeyOrKeyRangeErrorMessage); 184 kDataError, IDBDatabase::kNoKeyOrKeyRangeErrorMessage);
206 return nullptr; 185 return nullptr;
(...skipping 25 matching lines...) Expand all
232 ExceptionState& exception_state) { 211 ExceptionState& exception_state) {
233 IDB_TRACE("IDBObjectStore::getAll"); 212 IDB_TRACE("IDBObjectStore::getAll");
234 if (!max_count) 213 if (!max_count)
235 max_count = std::numeric_limits<uint32_t>::max(); 214 max_count = std::numeric_limits<uint32_t>::max();
236 215
237 if (IsDeleted()) { 216 if (IsDeleted()) {
238 exception_state.ThrowDOMException( 217 exception_state.ThrowDOMException(
239 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 218 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
240 return nullptr; 219 return nullptr;
241 } 220 }
242 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
243 exception_state.ThrowDOMException(
244 kTransactionInactiveError,
245 IDBDatabase::kTransactionFinishedErrorMessage);
246 return nullptr;
247 }
248 if (!transaction_->IsActive()) { 221 if (!transaction_->IsActive()) {
249 exception_state.ThrowDOMException( 222 exception_state.ThrowDOMException(kTransactionInactiveError,
250 kTransactionInactiveError, 223 transaction_->InactiveErrorMessage());
251 IDBDatabase::kTransactionInactiveErrorMessage);
252 return nullptr; 224 return nullptr;
253 } 225 }
254 IDBKeyRange* range = IDBKeyRange::FromScriptValue( 226 IDBKeyRange* range = IDBKeyRange::FromScriptValue(
255 ExecutionContext::From(script_state), key_range, exception_state); 227 ExecutionContext::From(script_state), key_range, exception_state);
256 if (exception_state.HadException()) 228 if (exception_state.HadException())
257 return nullptr; 229 return nullptr;
258 if (!BackendDB()) { 230 if (!BackendDB()) {
259 exception_state.ThrowDOMException(kInvalidStateError, 231 exception_state.ThrowDOMException(kInvalidStateError,
260 IDBDatabase::kDatabaseClosedErrorMessage); 232 IDBDatabase::kDatabaseClosedErrorMessage);
261 return nullptr; 233 return nullptr;
(...skipping 20 matching lines...) Expand all
282 ExceptionState& exception_state) { 254 ExceptionState& exception_state) {
283 IDB_TRACE("IDBObjectStore::getAll"); 255 IDB_TRACE("IDBObjectStore::getAll");
284 if (!max_count) 256 if (!max_count)
285 max_count = std::numeric_limits<uint32_t>::max(); 257 max_count = std::numeric_limits<uint32_t>::max();
286 258
287 if (IsDeleted()) { 259 if (IsDeleted()) {
288 exception_state.ThrowDOMException( 260 exception_state.ThrowDOMException(
289 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 261 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
290 return nullptr; 262 return nullptr;
291 } 263 }
292 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
293 exception_state.ThrowDOMException(
294 kTransactionInactiveError,
295 IDBDatabase::kTransactionFinishedErrorMessage);
296 return nullptr;
297 }
298 if (!transaction_->IsActive()) { 264 if (!transaction_->IsActive()) {
299 exception_state.ThrowDOMException( 265 exception_state.ThrowDOMException(kTransactionInactiveError,
300 kTransactionInactiveError, 266 transaction_->InactiveErrorMessage());
301 IDBDatabase::kTransactionInactiveErrorMessage);
302 return nullptr; 267 return nullptr;
303 } 268 }
304 IDBKeyRange* range = IDBKeyRange::FromScriptValue( 269 IDBKeyRange* range = IDBKeyRange::FromScriptValue(
305 ExecutionContext::From(script_state), key_range, exception_state); 270 ExecutionContext::From(script_state), key_range, exception_state);
306 if (exception_state.HadException()) 271 if (exception_state.HadException())
307 return nullptr; 272 return nullptr;
308 if (!BackendDB()) { 273 if (!BackendDB()) {
309 exception_state.ThrowDOMException(kInvalidStateError, 274 exception_state.ThrowDOMException(kInvalidStateError,
310 IDBDatabase::kDatabaseClosedErrorMessage); 275 IDBDatabase::kDatabaseClosedErrorMessage);
311 return nullptr; 276 return nullptr;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 WebIDBPutMode put_mode, 356 WebIDBPutMode put_mode,
392 IDBAny* source, 357 IDBAny* source,
393 const ScriptValue& value, 358 const ScriptValue& value,
394 IDBKey* key, 359 IDBKey* key,
395 ExceptionState& exception_state) { 360 ExceptionState& exception_state) {
396 if (IsDeleted()) { 361 if (IsDeleted()) {
397 exception_state.ThrowDOMException( 362 exception_state.ThrowDOMException(
398 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 363 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
399 return nullptr; 364 return nullptr;
400 } 365 }
401 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
402 exception_state.ThrowDOMException(
403 kTransactionInactiveError,
404 IDBDatabase::kTransactionFinishedErrorMessage);
405 return nullptr;
406 }
407 if (!transaction_->IsActive()) { 366 if (!transaction_->IsActive()) {
408 exception_state.ThrowDOMException( 367 exception_state.ThrowDOMException(kTransactionInactiveError,
409 kTransactionInactiveError, 368 transaction_->InactiveErrorMessage());
410 IDBDatabase::kTransactionInactiveErrorMessage);
411 return nullptr; 369 return nullptr;
412 } 370 }
413 if (transaction_->IsReadOnly()) { 371 if (transaction_->IsReadOnly()) {
414 exception_state.ThrowDOMException( 372 exception_state.ThrowDOMException(
415 kReadOnlyError, IDBDatabase::kTransactionReadOnlyErrorMessage); 373 kReadOnlyError, IDBDatabase::kTransactionReadOnlyErrorMessage);
416 return nullptr; 374 return nullptr;
417 } 375 }
418 376
419 v8::Isolate* isolate = script_state->GetIsolate(); 377 v8::Isolate* isolate = script_state->GetIsolate();
420 DCHECK(isolate->InContext()); 378 DCHECK(isolate->InContext());
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 515
558 IDBRequest* IDBObjectStore::deleteFunction(ScriptState* script_state, 516 IDBRequest* IDBObjectStore::deleteFunction(ScriptState* script_state,
559 const ScriptValue& key, 517 const ScriptValue& key,
560 ExceptionState& exception_state) { 518 ExceptionState& exception_state) {
561 IDB_TRACE("IDBObjectStore::delete"); 519 IDB_TRACE("IDBObjectStore::delete");
562 if (IsDeleted()) { 520 if (IsDeleted()) {
563 exception_state.ThrowDOMException( 521 exception_state.ThrowDOMException(
564 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 522 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
565 return nullptr; 523 return nullptr;
566 } 524 }
567 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
568 exception_state.ThrowDOMException(
569 kTransactionInactiveError,
570 IDBDatabase::kTransactionFinishedErrorMessage);
571 return nullptr;
572 }
573 if (!transaction_->IsActive()) { 525 if (!transaction_->IsActive()) {
574 exception_state.ThrowDOMException( 526 exception_state.ThrowDOMException(kTransactionInactiveError,
575 kTransactionInactiveError, 527 transaction_->InactiveErrorMessage());
576 IDBDatabase::kTransactionInactiveErrorMessage);
577 return nullptr; 528 return nullptr;
578 } 529 }
579 if (transaction_->IsReadOnly()) { 530 if (transaction_->IsReadOnly()) {
580 exception_state.ThrowDOMException( 531 exception_state.ThrowDOMException(
581 kReadOnlyError, IDBDatabase::kTransactionReadOnlyErrorMessage); 532 kReadOnlyError, IDBDatabase::kTransactionReadOnlyErrorMessage);
582 return nullptr; 533 return nullptr;
583 } 534 }
584 535
585 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue( 536 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue(
586 ExecutionContext::From(script_state), key, exception_state); 537 ExecutionContext::From(script_state), key, exception_state);
(...skipping 18 matching lines...) Expand all
605 } 556 }
606 557
607 IDBRequest* IDBObjectStore::clear(ScriptState* script_state, 558 IDBRequest* IDBObjectStore::clear(ScriptState* script_state,
608 ExceptionState& exception_state) { 559 ExceptionState& exception_state) {
609 IDB_TRACE("IDBObjectStore::clear"); 560 IDB_TRACE("IDBObjectStore::clear");
610 if (IsDeleted()) { 561 if (IsDeleted()) {
611 exception_state.ThrowDOMException( 562 exception_state.ThrowDOMException(
612 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 563 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
613 return nullptr; 564 return nullptr;
614 } 565 }
615 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
616 exception_state.ThrowDOMException(
617 kTransactionInactiveError,
618 IDBDatabase::kTransactionFinishedErrorMessage);
619 return nullptr;
620 }
621 if (!transaction_->IsActive()) { 566 if (!transaction_->IsActive()) {
622 exception_state.ThrowDOMException( 567 exception_state.ThrowDOMException(kTransactionInactiveError,
623 kTransactionInactiveError, 568 transaction_->InactiveErrorMessage());
624 IDBDatabase::kTransactionInactiveErrorMessage);
625 return nullptr; 569 return nullptr;
626 } 570 }
627 if (transaction_->IsReadOnly()) { 571 if (transaction_->IsReadOnly()) {
628 exception_state.ThrowDOMException( 572 exception_state.ThrowDOMException(
629 kReadOnlyError, IDBDatabase::kTransactionReadOnlyErrorMessage); 573 kReadOnlyError, IDBDatabase::kTransactionReadOnlyErrorMessage);
630 return nullptr; 574 return nullptr;
631 } 575 }
632 if (!BackendDB()) { 576 if (!BackendDB()) {
633 exception_state.ThrowDOMException(kInvalidStateError, 577 exception_state.ThrowDOMException(kInvalidStateError,
634 IDBDatabase::kDatabaseClosedErrorMessage); 578 IDBDatabase::kDatabaseClosedErrorMessage);
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 exception_state.ThrowDOMException( 693 exception_state.ThrowDOMException(
750 kInvalidStateError, 694 kInvalidStateError,
751 IDBDatabase::kNotVersionChangeTransactionErrorMessage); 695 IDBDatabase::kNotVersionChangeTransactionErrorMessage);
752 return nullptr; 696 return nullptr;
753 } 697 }
754 if (IsDeleted()) { 698 if (IsDeleted()) {
755 exception_state.ThrowDOMException( 699 exception_state.ThrowDOMException(
756 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 700 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
757 return nullptr; 701 return nullptr;
758 } 702 }
759 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
760 exception_state.ThrowDOMException(
761 kTransactionInactiveError,
762 IDBDatabase::kTransactionFinishedErrorMessage);
763 return nullptr;
764 }
765 if (!transaction_->IsActive()) { 703 if (!transaction_->IsActive()) {
766 exception_state.ThrowDOMException( 704 exception_state.ThrowDOMException(kTransactionInactiveError,
767 kTransactionInactiveError, 705 transaction_->InactiveErrorMessage());
768 IDBDatabase::kTransactionInactiveErrorMessage);
769 return nullptr; 706 return nullptr;
770 } 707 }
771 if (ContainsIndex(name)) { 708 if (ContainsIndex(name)) {
772 exception_state.ThrowDOMException(kConstraintError, 709 exception_state.ThrowDOMException(kConstraintError,
773 IDBDatabase::kIndexNameTakenErrorMessage); 710 IDBDatabase::kIndexNameTakenErrorMessage);
774 return nullptr; 711 return nullptr;
775 } 712 }
776 if (!key_path.IsValid()) { 713 if (!key_path.IsValid()) {
777 exception_state.ThrowDOMException( 714 exception_state.ThrowDOMException(
778 kSyntaxError, "The keyPath argument contains an invalid key path."); 715 kSyntaxError, "The keyPath argument contains an invalid key path.");
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 exception_state.ThrowDOMException( 799 exception_state.ThrowDOMException(
863 kInvalidStateError, 800 kInvalidStateError,
864 IDBDatabase::kNotVersionChangeTransactionErrorMessage); 801 IDBDatabase::kNotVersionChangeTransactionErrorMessage);
865 return; 802 return;
866 } 803 }
867 if (IsDeleted()) { 804 if (IsDeleted()) {
868 exception_state.ThrowDOMException( 805 exception_state.ThrowDOMException(
869 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 806 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
870 return; 807 return;
871 } 808 }
872 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
873 exception_state.ThrowDOMException(
874 kTransactionInactiveError,
875 IDBDatabase::kTransactionFinishedErrorMessage);
876 return;
877 }
878 if (!transaction_->IsActive()) { 809 if (!transaction_->IsActive()) {
879 exception_state.ThrowDOMException( 810 exception_state.ThrowDOMException(kTransactionInactiveError,
880 kTransactionInactiveError, 811 transaction_->InactiveErrorMessage());
881 IDBDatabase::kTransactionInactiveErrorMessage);
882 return; 812 return;
883 } 813 }
884 int64_t index_id = FindIndexId(name); 814 int64_t index_id = FindIndexId(name);
885 if (index_id == IDBIndexMetadata::kInvalidId) { 815 if (index_id == IDBIndexMetadata::kInvalidId) {
886 exception_state.ThrowDOMException(kNotFoundError, 816 exception_state.ThrowDOMException(kNotFoundError,
887 IDBDatabase::kNoSuchIndexErrorMessage); 817 IDBDatabase::kNoSuchIndexErrorMessage);
888 return; 818 return;
889 } 819 }
890 if (!BackendDB()) { 820 if (!BackendDB()) {
891 exception_state.ThrowDOMException(kInvalidStateError, 821 exception_state.ThrowDOMException(kInvalidStateError,
(...skipping 15 matching lines...) Expand all
907 IDBRequest* IDBObjectStore::openCursor(ScriptState* script_state, 837 IDBRequest* IDBObjectStore::openCursor(ScriptState* script_state,
908 const ScriptValue& range, 838 const ScriptValue& range,
909 const String& direction_string, 839 const String& direction_string,
910 ExceptionState& exception_state) { 840 ExceptionState& exception_state) {
911 IDB_TRACE("IDBObjectStore::openCursor"); 841 IDB_TRACE("IDBObjectStore::openCursor");
912 if (IsDeleted()) { 842 if (IsDeleted()) {
913 exception_state.ThrowDOMException( 843 exception_state.ThrowDOMException(
914 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 844 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
915 return nullptr; 845 return nullptr;
916 } 846 }
917 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
918 exception_state.ThrowDOMException(
919 kTransactionInactiveError,
920 IDBDatabase::kTransactionFinishedErrorMessage);
921 return nullptr;
922 }
923 if (!transaction_->IsActive()) { 847 if (!transaction_->IsActive()) {
924 exception_state.ThrowDOMException( 848 exception_state.ThrowDOMException(kTransactionInactiveError,
925 kTransactionInactiveError, 849 transaction_->InactiveErrorMessage());
926 IDBDatabase::kTransactionInactiveErrorMessage);
927 return nullptr; 850 return nullptr;
928 } 851 }
929 852
930 WebIDBCursorDirection direction = 853 WebIDBCursorDirection direction =
931 IDBCursor::StringToDirection(direction_string); 854 IDBCursor::StringToDirection(direction_string);
932 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue( 855 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue(
933 ExecutionContext::From(script_state), range, exception_state); 856 ExecutionContext::From(script_state), range, exception_state);
934 if (exception_state.HadException()) 857 if (exception_state.HadException())
935 return nullptr; 858 return nullptr;
936 859
(...skipping 23 matching lines...) Expand all
960 IDBRequest* IDBObjectStore::openKeyCursor(ScriptState* script_state, 883 IDBRequest* IDBObjectStore::openKeyCursor(ScriptState* script_state,
961 const ScriptValue& range, 884 const ScriptValue& range,
962 const String& direction_string, 885 const String& direction_string,
963 ExceptionState& exception_state) { 886 ExceptionState& exception_state) {
964 IDB_TRACE("IDBObjectStore::openKeyCursor"); 887 IDB_TRACE("IDBObjectStore::openKeyCursor");
965 if (IsDeleted()) { 888 if (IsDeleted()) {
966 exception_state.ThrowDOMException( 889 exception_state.ThrowDOMException(
967 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 890 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
968 return nullptr; 891 return nullptr;
969 } 892 }
970 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
971 exception_state.ThrowDOMException(
972 kTransactionInactiveError,
973 IDBDatabase::kTransactionFinishedErrorMessage);
974 return nullptr;
975 }
976 if (!transaction_->IsActive()) { 893 if (!transaction_->IsActive()) {
977 exception_state.ThrowDOMException( 894 exception_state.ThrowDOMException(kTransactionInactiveError,
978 kTransactionInactiveError, 895 transaction_->InactiveErrorMessage());
979 IDBDatabase::kTransactionInactiveErrorMessage);
980 return nullptr; 896 return nullptr;
981 } 897 }
982 898
983 WebIDBCursorDirection direction = 899 WebIDBCursorDirection direction =
984 IDBCursor::StringToDirection(direction_string); 900 IDBCursor::StringToDirection(direction_string);
985 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue( 901 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue(
986 ExecutionContext::From(script_state), range, exception_state); 902 ExecutionContext::From(script_state), range, exception_state);
987 if (exception_state.HadException()) 903 if (exception_state.HadException())
988 return nullptr; 904 return nullptr;
989 905
(...skipping 16 matching lines...) Expand all
1006 922
1007 IDBRequest* IDBObjectStore::count(ScriptState* script_state, 923 IDBRequest* IDBObjectStore::count(ScriptState* script_state,
1008 const ScriptValue& range, 924 const ScriptValue& range,
1009 ExceptionState& exception_state) { 925 ExceptionState& exception_state) {
1010 IDB_TRACE("IDBObjectStore::count"); 926 IDB_TRACE("IDBObjectStore::count");
1011 if (IsDeleted()) { 927 if (IsDeleted()) {
1012 exception_state.ThrowDOMException( 928 exception_state.ThrowDOMException(
1013 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); 929 kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
1014 return nullptr; 930 return nullptr;
1015 } 931 }
1016 if (transaction_->IsFinished() || transaction_->IsFinishing()) {
1017 exception_state.ThrowDOMException(
1018 kTransactionInactiveError,
1019 IDBDatabase::kTransactionFinishedErrorMessage);
1020 return nullptr;
1021 }
1022 if (!transaction_->IsActive()) { 932 if (!transaction_->IsActive()) {
1023 exception_state.ThrowDOMException( 933 exception_state.ThrowDOMException(kTransactionInactiveError,
1024 kTransactionInactiveError, 934 transaction_->InactiveErrorMessage());
1025 IDBDatabase::kTransactionInactiveErrorMessage);
1026 return nullptr; 935 return nullptr;
1027 } 936 }
1028 937
1029 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue( 938 IDBKeyRange* key_range = IDBKeyRange::FromScriptValue(
1030 ExecutionContext::From(script_state), range, exception_state); 939 ExecutionContext::From(script_state), range, exception_state);
1031 if (exception_state.HadException()) 940 if (exception_state.HadException())
1032 return nullptr; 941 return nullptr;
1033 942
1034 if (!BackendDB()) { 943 if (!BackendDB()) {
1035 exception_state.ThrowDOMException(kInvalidStateError, 944 exception_state.ThrowDOMException(kInvalidStateError,
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1143 } 1052 }
1144 } 1053 }
1145 return IDBIndexMetadata::kInvalidId; 1054 return IDBIndexMetadata::kInvalidId;
1146 } 1055 }
1147 1056
1148 WebIDBDatabase* IDBObjectStore::BackendDB() const { 1057 WebIDBDatabase* IDBObjectStore::BackendDB() const {
1149 return transaction_->BackendDB(); 1058 return transaction_->BackendDB();
1150 } 1059 }
1151 1060
1152 } // namespace blink 1061 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp ('k') | third_party/WebKit/Source/modules/indexeddb/IDBObserver.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698