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

Side by Side Diff: Source/modules/indexeddb/IDBRequest.cpp

Issue 1182233003: IndexedDB: Replace use of DOMError with DOMException (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 5 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
« no previous file with comments | « Source/modules/indexeddb/IDBRequest.h ('k') | Source/modules/indexeddb/IDBRequest.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 15 matching lines...) Expand all
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #include "config.h" 29 #include "config.h"
30 #include "modules/indexeddb/IDBRequest.h" 30 #include "modules/indexeddb/IDBRequest.h"
31 31
32 #include "bindings/core/v8/ExceptionState.h" 32 #include "bindings/core/v8/ExceptionState.h"
33 #include "bindings/core/v8/ExceptionStatePlaceholder.h" 33 #include "bindings/core/v8/ExceptionStatePlaceholder.h"
34 #include "bindings/modules/v8/ToV8ForModules.h" 34 #include "bindings/modules/v8/ToV8ForModules.h"
35 #include "bindings/modules/v8/V8BindingForModules.h" 35 #include "bindings/modules/v8/V8BindingForModules.h"
36 #include "core/dom/DOMException.h"
37 #include "core/dom/ExceptionCode.h"
36 #include "core/dom/ExecutionContext.h" 38 #include "core/dom/ExecutionContext.h"
37 #include "core/events/EventQueue.h" 39 #include "core/events/EventQueue.h"
38 #include "modules/IndexedDBNames.h" 40 #include "modules/IndexedDBNames.h"
39 #include "modules/indexeddb/IDBCursorWithValue.h" 41 #include "modules/indexeddb/IDBCursorWithValue.h"
40 #include "modules/indexeddb/IDBDatabase.h" 42 #include "modules/indexeddb/IDBDatabase.h"
41 #include "modules/indexeddb/IDBEventDispatcher.h" 43 #include "modules/indexeddb/IDBEventDispatcher.h"
42 #include "modules/indexeddb/IDBTracing.h" 44 #include "modules/indexeddb/IDBTracing.h"
43 #include "modules/indexeddb/IDBValue.h" 45 #include "modules/indexeddb/IDBValue.h"
44 #include "platform/SharedBuffer.h" 46 #include "platform/SharedBuffer.h"
45 #include "public/platform/WebBlobInfo.h" 47 #include "public/platform/WebBlobInfo.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::request NotFinishedErrorMessage); 93 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::request NotFinishedErrorMessage);
92 return ScriptValue(); 94 return ScriptValue();
93 } 95 }
94 if (m_contextStopped || !executionContext()) 96 if (m_contextStopped || !executionContext())
95 return ScriptValue(); 97 return ScriptValue();
96 m_resultDirty = false; 98 m_resultDirty = false;
97 ScriptValue value = ScriptValue::from(m_scriptState.get(), m_result); 99 ScriptValue value = ScriptValue::from(m_scriptState.get(), m_result);
98 return value; 100 return value;
99 } 101 }
100 102
101 DOMError* IDBRequest::error(ExceptionState& exceptionState) const 103 DOMException* IDBRequest::error(ExceptionState& exceptionState) const
102 { 104 {
103 if (m_readyState != DONE) { 105 if (m_readyState != DONE) {
104 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::request NotFinishedErrorMessage); 106 exceptionState.throwDOMException(InvalidStateError, IDBDatabase::request NotFinishedErrorMessage);
105 return nullptr; 107 return nullptr;
106 } 108 }
107 return m_error; 109 return m_error;
108 } 110 }
109 111
110 ScriptValue IDBRequest::source() const 112 ScriptValue IDBRequest::source() const
111 { 113 {
(...skipping 24 matching lines...) Expand all
136 138
137 EventQueue* eventQueue = executionContext()->eventQueue(); 139 EventQueue* eventQueue = executionContext()->eventQueue();
138 for (size_t i = 0; i < m_enqueuedEvents.size(); ++i) { 140 for (size_t i = 0; i < m_enqueuedEvents.size(); ++i) {
139 bool removed = eventQueue->cancelEvent(m_enqueuedEvents[i].get()); 141 bool removed = eventQueue->cancelEvent(m_enqueuedEvents[i].get());
140 ASSERT_UNUSED(removed, removed); 142 ASSERT_UNUSED(removed, removed);
141 } 143 }
142 m_enqueuedEvents.clear(); 144 m_enqueuedEvents.clear();
143 145
144 m_error.clear(); 146 m_error.clear();
145 m_result.clear(); 147 m_result.clear();
146 onError(DOMError::create(AbortError, "The transaction was aborted, so the re quest cannot be fulfilled.")); 148 onError(DOMException::create(AbortError, "The transaction was aborted, so th e request cannot be fulfilled."));
147 m_requestAborted = true; 149 m_requestAborted = true;
148 } 150 }
149 151
150 void IDBRequest::setCursorDetails(IndexedDB::CursorType cursorType, WebIDBCursor Direction direction) 152 void IDBRequest::setCursorDetails(IndexedDB::CursorType cursorType, WebIDBCursor Direction direction)
151 { 153 {
152 ASSERT(m_readyState == PENDING); 154 ASSERT(m_readyState == PENDING);
153 ASSERT(!m_pendingCursor); 155 ASSERT(!m_pendingCursor);
154 m_cursorType = cursorType; 156 m_cursorType = cursorType;
155 m_cursorDirection = direction; 157 m_cursorDirection = direction;
156 } 158 }
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 if (m_contextStopped || !executionContext()) 215 if (m_contextStopped || !executionContext())
214 return false; 216 return false;
215 ASSERT(m_readyState == PENDING || m_readyState == DONE); 217 ASSERT(m_readyState == PENDING || m_readyState == DONE);
216 if (m_requestAborted) 218 if (m_requestAborted)
217 return false; 219 return false;
218 ASSERT(m_readyState == PENDING); 220 ASSERT(m_readyState == PENDING);
219 ASSERT(!m_error && !m_result); 221 ASSERT(!m_error && !m_result);
220 return true; 222 return true;
221 } 223 }
222 224
223 void IDBRequest::onError(DOMError* error) 225 void IDBRequest::onError(DOMException* error)
224 { 226 {
225 IDB_TRACE("IDBRequest::onError()"); 227 IDB_TRACE("IDBRequest::onError()");
226 if (!shouldEnqueueEvent()) 228 if (!shouldEnqueueEvent())
227 return; 229 return;
228 230
229 m_error = error; 231 m_error = error;
230 setResult(IDBAny::createUndefined()); 232 setResult(IDBAny::createUndefined());
231 m_pendingCursor.clear(); 233 m_pendingCursor.clear();
232 enqueueEvent(Event::createCancelableBubble(EventTypeNames::error)); 234 enqueueEvent(Event::createCancelableBubble(EventTypeNames::error));
233 } 235 }
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 // be kept alive. 483 // be kept alive.
482 if (m_readyState == DONE && event->type() != EventTypeNames::upgradeneeded) 484 if (m_readyState == DONE && event->type() != EventTypeNames::upgradeneeded)
483 m_hasPendingActivity = false; 485 m_hasPendingActivity = false;
484 486
485 return dontPreventDefault; 487 return dontPreventDefault;
486 } 488 }
487 489
488 void IDBRequest::uncaughtExceptionInEventHandler() 490 void IDBRequest::uncaughtExceptionInEventHandler()
489 { 491 {
490 if (m_transaction && !m_requestAborted) { 492 if (m_transaction && !m_requestAborted) {
491 m_transaction->setError(DOMError::create(AbortError, "Uncaught exception in event handler.")); 493 m_transaction->setError(DOMException::create(AbortError, "Uncaught excep tion in event handler."));
492 m_transaction->abort(IGNORE_EXCEPTION); 494 m_transaction->abort(IGNORE_EXCEPTION);
493 } 495 }
494 } 496 }
495 497
496 void IDBRequest::transactionDidFinishAndDispatch() 498 void IDBRequest::transactionDidFinishAndDispatch()
497 { 499 {
498 ASSERT(m_transaction); 500 ASSERT(m_transaction);
499 ASSERT(m_transaction->isVersionChange()); 501 ASSERT(m_transaction->isVersionChange());
500 ASSERT(m_didFireUpgradeNeededEvent); 502 ASSERT(m_didFireUpgradeNeededEvent);
501 ASSERT(m_readyState == DONE); 503 ASSERT(m_readyState == DONE);
(...skipping 27 matching lines...) Expand all
529 531
530 void IDBRequest::dequeueEvent(Event* event) 532 void IDBRequest::dequeueEvent(Event* event)
531 { 533 {
532 for (size_t i = 0; i < m_enqueuedEvents.size(); ++i) { 534 for (size_t i = 0; i < m_enqueuedEvents.size(); ++i) {
533 if (m_enqueuedEvents[i].get() == event) 535 if (m_enqueuedEvents[i].get() == event)
534 m_enqueuedEvents.remove(i); 536 m_enqueuedEvents.remove(i);
535 } 537 }
536 } 538 }
537 539
538 } // namespace blink 540 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/indexeddb/IDBRequest.h ('k') | Source/modules/indexeddb/IDBRequest.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698