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

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

Issue 120063002: Improve modules' TypeError exception messages. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years 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) 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 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 if (m_transaction->isFinished()) { 154 if (m_transaction->isFinished()) {
155 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage); 155 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionFinishedErrorMessage);
156 return; 156 return;
157 } 157 }
158 if (!m_transaction->isActive()) { 158 if (!m_transaction->isActive()) {
159 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage); 159 exceptionState.throwDOMException(TransactionInactiveError, IDBDatabase:: transactionInactiveErrorMessage);
160 return; 160 return;
161 } 161 }
162 162
163 if (!count) { 163 if (!count) {
164 exceptionState.throwUninformativeAndGenericTypeError(); 164 exceptionState.throwTypeError("The count provided is 0.");
165 return; 165 return;
166 } 166 }
167 167
168 m_request->setPendingCursor(this); 168 m_request->setPendingCursor(this);
169 m_gotValue = false; 169 m_gotValue = false;
170 m_backend->advance(count, WebIDBCallbacksImpl::create(m_request).leakPtr()); 170 m_backend->advance(count, WebIDBCallbacksImpl::create(m_request).leakPtr());
171 } 171 }
172 172
173 void IDBCursor::continueFunction(ExecutionContext* context, const ScriptValue& k eyValue, ExceptionState& exceptionState) 173 void IDBCursor::continueFunction(ExecutionContext* context, const ScriptValue& k eyValue, ExceptionState& exceptionState)
174 { 174 {
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 { 385 {
386 if (directionString.isNull() || directionString == IDBCursor::directionNext( )) 386 if (directionString.isNull() || directionString == IDBCursor::directionNext( ))
387 return IndexedDB::CursorNext; 387 return IndexedDB::CursorNext;
388 if (directionString == IDBCursor::directionNextUnique()) 388 if (directionString == IDBCursor::directionNextUnique())
389 return IndexedDB::CursorNextNoDuplicate; 389 return IndexedDB::CursorNextNoDuplicate;
390 if (directionString == IDBCursor::directionPrev()) 390 if (directionString == IDBCursor::directionPrev())
391 return IndexedDB::CursorPrev; 391 return IndexedDB::CursorPrev;
392 if (directionString == IDBCursor::directionPrevUnique()) 392 if (directionString == IDBCursor::directionPrevUnique())
393 return IndexedDB::CursorPrevNoDuplicate; 393 return IndexedDB::CursorPrevNoDuplicate;
394 394
395 exceptionState.throwUninformativeAndGenericTypeError(); 395 exceptionState.throwTypeError("The direction provided ('" + directionString + "') is not one of 'next', 'nextunique', 'prev', or 'prevunique'.");
396 return IndexedDB::CursorNext; 396 return IndexedDB::CursorNext;
397 } 397 }
398 398
399 const AtomicString& IDBCursor::directionToString(unsigned short direction) 399 const AtomicString& IDBCursor::directionToString(unsigned short direction)
400 { 400 {
401 switch (direction) { 401 switch (direction) {
402 case IndexedDB::CursorNext: 402 case IndexedDB::CursorNext:
403 return IDBCursor::directionNext(); 403 return IDBCursor::directionNext();
404 404
405 case IndexedDB::CursorNextNoDuplicate: 405 case IndexedDB::CursorNextNoDuplicate:
406 return IDBCursor::directionNextUnique(); 406 return IDBCursor::directionNextUnique();
407 407
408 case IndexedDB::CursorPrev: 408 case IndexedDB::CursorPrev:
409 return IDBCursor::directionPrev(); 409 return IDBCursor::directionPrev();
410 410
411 case IndexedDB::CursorPrevNoDuplicate: 411 case IndexedDB::CursorPrevNoDuplicate:
412 return IDBCursor::directionPrevUnique(); 412 return IDBCursor::directionPrevUnique();
413 413
414 default: 414 default:
415 ASSERT_NOT_REACHED(); 415 ASSERT_NOT_REACHED();
416 return IDBCursor::directionNext(); 416 return IDBCursor::directionNext();
417 } 417 }
418 } 418 }
419 419
420 } // namespace WebCore 420 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698