Changeset 140935 in webkit
- Timestamp:
- Jan 27, 2013 6:32:10 PM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r140934 r140935 1 2013-01-27 Keishi Hattori <keishi@webkit.org> 2 3 Unreviewed, rolling out r140850. 4 http://trac.webkit.org/changeset/140850 5 https://bugs.webkit.org/show_bug.cgi?id=107960 6 7 r14602 caused 8 indexed tests to crash. 8 9 * Modules/indexeddb/IDBCursorBackendImpl.cpp: 10 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): 11 * Modules/indexeddb/IDBCursorBackendImpl.h: 12 (WebCore::IDBCursorBackendImpl::create): 13 (IDBCursorBackendImpl): 14 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: 15 (WebCore::IDBDatabaseBackendImpl::setIndexesReady): 16 (WebCore::OpenCursorOperation::perform): 17 * Modules/indexeddb/IDBObjectStore.cpp: 18 (WebCore::IDBObjectStore::createIndex): 19 (WebCore::IDBObjectStore::openCursor): 20 * Modules/indexeddb/IDBObjectStore.h: 21 (WebCore::IDBObjectStore::openCursor): 22 (IDBObjectStore): 23 * Modules/indexeddb/IDBOpenDBRequest.cpp: 24 (WebCore::IDBOpenDBRequest::IDBOpenDBRequest): 25 * Modules/indexeddb/IDBRequest.cpp: 26 (WebCore::IDBRequest::create): 27 (WebCore::IDBRequest::IDBRequest): 28 * Modules/indexeddb/IDBRequest.h: 29 (IDBRequest): 30 (WebCore::IDBRequest::taskType): 31 * Modules/indexeddb/IDBTransactionBackendImpl.cpp: 32 (WebCore::IDBTransactionBackendImpl::scheduleTask): 33 * Modules/indexeddb/IDBTransactionBackendImpl.h: 34 (WebCore::IDBTransactionBackendImpl::scheduleTask): 35 (IDBTransactionBackendImpl): 36 * Modules/indexeddb/IDBTransactionBackendInterface.h: 37 (IDBTransactionBackendInterface): 38 1 39 2013-01-27 Sheriff Bot <webkit.review.bot@gmail.com> 2 40 -
trunk/Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp
r140850 r140935 102 102 }; 103 103 104 IDBCursorBackendImpl::IDBCursorBackendImpl(PassRefPtr<IDBBackingStore::Cursor> cursor, CursorType cursorType, IDB DatabaseBackendInterface::TaskType taskType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId)104 IDBCursorBackendImpl::IDBCursorBackendImpl(PassRefPtr<IDBBackingStore::Cursor> cursor, CursorType cursorType, IDBTransactionBackendInterface::TaskType taskType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId) 105 105 : m_taskType(taskType) 106 106 , m_cursorType(cursorType) -
trunk/Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.h
r140850 r140935 48 48 static PassRefPtr<IDBCursorBackendImpl> create(PassRefPtr<IDBBackingStore::Cursor> cursor, CursorType cursorType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId) 49 49 { 50 return adoptRef(new IDBCursorBackendImpl(cursor, cursorType, IDB DatabaseBackendInterface::NormalTask, transaction, objectStoreId));50 return adoptRef(new IDBCursorBackendImpl(cursor, cursorType, IDBTransactionBackendInterface::NormalTask, transaction, objectStoreId)); 51 51 } 52 static PassRefPtr<IDBCursorBackendImpl> create(PassRefPtr<IDBBackingStore::Cursor> cursor, CursorType cursorType, IDB DatabaseBackendInterface::TaskType taskType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId)52 static PassRefPtr<IDBCursorBackendImpl> create(PassRefPtr<IDBBackingStore::Cursor> cursor, CursorType cursorType, IDBTransactionBackendInterface::TaskType taskType, IDBTransactionBackendImpl* transaction, int64_t objectStoreId) 53 53 { 54 54 return adoptRef(new IDBCursorBackendImpl(cursor, cursorType, taskType, transaction, objectStoreId)); … … 70 70 71 71 private: 72 IDBCursorBackendImpl(PassRefPtr<IDBBackingStore::Cursor>, CursorType, IDB DatabaseBackendInterface::TaskType, IDBTransactionBackendImpl*, int64_t objectStoreId);72 IDBCursorBackendImpl(PassRefPtr<IDBBackingStore::Cursor>, CursorType, IDBTransactionBackendInterface::TaskType, IDBTransactionBackendImpl*, int64_t objectStoreId); 73 73 74 74 class CursorIterationOperation; … … 76 76 class CursorPrefetchIterationOperation; 77 77 78 IDB DatabaseBackendInterface::TaskType m_taskType;78 IDBTransactionBackendInterface::TaskType m_taskType; 79 79 CursorType m_cursorType; 80 80 const RefPtr<IDBDatabaseBackendImpl> m_database; -
trunk/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp
r140850 r140935 915 915 return; 916 916 917 if (!transaction->scheduleTask(IDB DatabaseBackendInterface::PreemptiveTask, SetIndexesReadyOperation::create(indexIds.size())))917 if (!transaction->scheduleTask(IDBTransactionBackendInterface::PreemptiveTask, SetIndexesReadyOperation::create(indexIds.size()))) 918 918 ASSERT_NOT_REACHED(); 919 919 } … … 964 964 } 965 965 966 IDB DatabaseBackendInterface::TaskType taskType(static_cast<IDBDatabaseBackendInterface::TaskType>(m_taskType));966 IDBTransactionBackendInterface::TaskType taskType(static_cast<IDBTransactionBackendInterface::TaskType>(m_taskType)); 967 967 RefPtr<IDBCursorBackendImpl> cursor = IDBCursorBackendImpl::create(backingStoreCursor.get(), m_cursorType, taskType, transaction, m_objectStoreId); 968 968 m_callbacks->onSuccess(cursor, cursor->key(), cursor->primaryKey(), cursor->value()); -
trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp
r140850 r140935 416 416 return 0; 417 417 418 RefPtr<IDBRequest> indexRequest = openCursor(context, static_cast<IDBKeyRange*>(0), IDBCursor::directionNext(), IDB DatabaseBackendInterface::PreemptiveTask, ec);418 RefPtr<IDBRequest> indexRequest = openCursor(context, static_cast<IDBKeyRange*>(0), IDBCursor::directionNext(), IDBTransactionBackendInterface::PreemptiveTask, ec); 419 419 ASSERT(!ec); 420 420 if (ec) … … 492 492 } 493 493 494 PassRefPtr<IDBRequest> IDBObjectStore::openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, const String& directionString, IDB DatabaseBackendInterface::TaskType taskType, ExceptionCode& ec)494 PassRefPtr<IDBRequest> IDBObjectStore::openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, const String& directionString, IDBTransactionBackendInterface::TaskType taskType, ExceptionCode& ec) 495 495 { 496 496 IDB_TRACE("IDBObjectStore::openCursor"); -
trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.h
r140850 r140935 71 71 PassRefPtr<IDBRequest> openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> keyRange, ExceptionCode& ec) { return openCursor(context, keyRange, IDBCursor::directionNext(), ec); } 72 72 PassRefPtr<IDBRequest> openCursor(ScriptExecutionContext* context, const ScriptValue& key, ExceptionCode& ec) { return openCursor(context, key, IDBCursor::directionNext(), ec); } 73 PassRefPtr<IDBRequest> openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, const String& direction, ExceptionCode& ec) { return openCursor(context, range, direction, IDB DatabaseBackendInterface::NormalTask, ec); }74 PassRefPtr<IDBRequest> openCursor(ScriptExecutionContext*, PassRefPtr<IDBKeyRange>, const String& direction, IDB DatabaseBackendInterface::TaskType, ExceptionCode&);73 PassRefPtr<IDBRequest> openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, const String& direction, ExceptionCode& ec) { return openCursor(context, range, direction, IDBTransactionBackendInterface::NormalTask, ec); } 74 PassRefPtr<IDBRequest> openCursor(ScriptExecutionContext*, PassRefPtr<IDBKeyRange>, const String& direction, IDBTransactionBackendInterface::TaskType, ExceptionCode&); 75 75 PassRefPtr<IDBRequest> openCursor(ScriptExecutionContext*, const ScriptValue& key, const String& direction, ExceptionCode&); 76 76 -
trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp
r140934 r140935 46 46 47 47 IDBOpenDBRequest::IDBOpenDBRequest(ScriptExecutionContext* context, PassRefPtr<IDBDatabaseCallbacksImpl> callbacks, int64_t transactionId, int64_t version) 48 : IDBRequest(context, IDBAny::createNull(), IDB DatabaseBackendInterface::NormalTask, 0)48 : IDBRequest(context, IDBAny::createNull(), IDBTransactionBackendInterface::NormalTask, 0) 49 49 , m_databaseCallbacks(callbacks) 50 50 , m_transactionId(transactionId) -
trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp
r140850 r140935 48 48 PassRefPtr<IDBRequest> IDBRequest::create(ScriptExecutionContext* context, PassRefPtr<IDBAny> source, IDBTransaction* transaction) 49 49 { 50 RefPtr<IDBRequest> request(adoptRef(new IDBRequest(context, source, IDB DatabaseBackendInterface::NormalTask, transaction)));50 RefPtr<IDBRequest> request(adoptRef(new IDBRequest(context, source, IDBTransactionBackendInterface::NormalTask, transaction))); 51 51 request->suspendIfNeeded(); 52 52 // Requests associated with IDBFactory (open/deleteDatabase/getDatabaseNames) are not associated with transactions. … … 56 56 } 57 57 58 PassRefPtr<IDBRequest> IDBRequest::create(ScriptExecutionContext* context, PassRefPtr<IDBAny> source, IDB DatabaseBackendInterface::TaskType taskType, IDBTransaction* transaction)58 PassRefPtr<IDBRequest> IDBRequest::create(ScriptExecutionContext* context, PassRefPtr<IDBAny> source, IDBTransactionBackendInterface::TaskType taskType, IDBTransaction* transaction) 59 59 { 60 60 RefPtr<IDBRequest> request(adoptRef(new IDBRequest(context, source, taskType, transaction))); … … 66 66 } 67 67 68 IDBRequest::IDBRequest(ScriptExecutionContext* context, PassRefPtr<IDBAny> source, IDB DatabaseBackendInterface::TaskType taskType, IDBTransaction* transaction)68 IDBRequest::IDBRequest(ScriptExecutionContext* context, PassRefPtr<IDBAny> source, IDBTransactionBackendInterface::TaskType taskType, IDBTransaction* transaction) 69 69 : ActiveDOMObject(context, this) 70 70 , m_result(0) -
trunk/Source/WebCore/Modules/indexeddb/IDBRequest.h
r140850 r140935 58 58 public: 59 59 static PassRefPtr<IDBRequest> create(ScriptExecutionContext*, PassRefPtr<IDBAny> source, IDBTransaction*); 60 static PassRefPtr<IDBRequest> create(ScriptExecutionContext*, PassRefPtr<IDBAny> source, IDB DatabaseBackendInterface::TaskType, IDBTransaction*);60 static PassRefPtr<IDBRequest> create(ScriptExecutionContext*, PassRefPtr<IDBAny> source, IDBTransactionBackendInterface::TaskType, IDBTransaction*); 61 61 virtual ~IDBRequest(); 62 62 … … 116 116 using RefCounted<IDBCallbacks>::deref; 117 117 118 IDB DatabaseBackendInterface::TaskType taskType() { return m_taskType; }118 IDBTransactionBackendInterface::TaskType taskType() { return m_taskType; } 119 119 120 120 DOMRequestState* requestState() { return &m_requestState; } 121 121 122 122 protected: 123 IDBRequest(ScriptExecutionContext*, PassRefPtr<IDBAny> source, IDB DatabaseBackendInterface::TaskType, IDBTransaction*);123 IDBRequest(ScriptExecutionContext*, PassRefPtr<IDBAny> source, IDBTransactionBackendInterface::TaskType, IDBTransaction*); 124 124 void enqueueEvent(PassRefPtr<Event>); 125 125 virtual bool shouldEnqueueEvent() const; … … 146 146 147 147 RefPtr<IDBAny> m_source; 148 const IDB DatabaseBackendInterface::TaskType m_taskType;148 const IDBTransactionBackendInterface::TaskType m_taskType; 149 149 150 150 bool m_hasPendingActivity; -
trunk/Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.cpp
r140850 r140935 71 71 } 72 72 73 bool IDBTransactionBackendImpl::scheduleTask( IDBDatabaseBackendInterface::TaskType type, PassOwnPtr<Operation> task, PassOwnPtr<Operation> abortTask)73 bool IDBTransactionBackendImpl::scheduleTask(TaskType type, PassOwnPtr<Operation> task, PassOwnPtr<Operation> abortTask) 74 74 { 75 75 if (m_state == Finished) 76 76 return false; 77 77 78 if (type == IDBDatabaseBackendInterface::NormalTask)78 if (type == NormalTask) 79 79 m_taskQueue.append(task); 80 80 else -
trunk/Source/WebCore/Modules/indexeddb/IDBTransactionBackendImpl.h
r140850 r140935 68 68 const HashSet<int64_t>& scope() const { return m_objectStoreIds; } 69 69 bool isFinished() const { return m_state == Finished; } 70 bool scheduleTask(PassOwnPtr<Operation> task, PassOwnPtr<Operation> abortTask = nullptr) { return scheduleTask( IDBDatabaseBackendInterface::NormalTask, task, abortTask); }71 bool scheduleTask( IDBDatabaseBackendInterface::TaskType, PassOwnPtr<Operation>, PassOwnPtr<Operation> abortTask = nullptr);70 bool scheduleTask(PassOwnPtr<Operation> task, PassOwnPtr<Operation> abortTask = nullptr) { return scheduleTask(NormalTask, task, abortTask); } 71 bool scheduleTask(TaskType, PassOwnPtr<Operation>, PassOwnPtr<Operation> abortTask = nullptr); 72 72 void registerOpenCursor(IDBCursorBackendImpl*); 73 73 void unregisterOpenCursor(IDBCursorBackendImpl*); -
trunk/Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h
r140850 r140935 47 47 public: 48 48 virtual ~IDBTransactionBackendInterface() { } 49 50 enum TaskType { 51 NormalTask = 0, 52 PreemptiveTask 53 }; 54 49 55 virtual void commit() = 0; 50 56 virtual void abort() = 0; -
trunk/Source/WebKit/chromium/ChangeLog
r140928 r140935 1 2013-01-27 Keishi Hattori <keishi@webkit.org> 2 3 Unreviewed, rolling out r140850. 4 http://trac.webkit.org/changeset/140850 5 https://bugs.webkit.org/show_bug.cgi?id=107960 6 7 r14602 caused 8 indexed tests to crash. 8 9 * src/AssertMatchingEnums.cpp: 10 1 11 2013-01-27 Jochen Eisinger <jochen@chromium.org> 2 12 -
trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
r140906 r140935 503 503 COMPILE_ASSERT_MATCHING_ENUM(WebIDBCursor::PrevNoDuplicate, IDBCursor::PREV_NO_DUPLICATE); 504 504 505 COMPILE_ASSERT_MATCHING_ENUM(WebIDBTransaction::PreemptiveTask, IDB DatabaseBackendInterface::PreemptiveTask);506 COMPILE_ASSERT_MATCHING_ENUM(WebIDBTransaction::NormalTask, IDB DatabaseBackendInterface::NormalTask);505 COMPILE_ASSERT_MATCHING_ENUM(WebIDBTransaction::PreemptiveTask, IDBTransactionBackendInterface::PreemptiveTask); 506 COMPILE_ASSERT_MATCHING_ENUM(WebIDBTransaction::NormalTask, IDBTransactionBackendInterface::NormalTask); 507 507 #endif 508 508
Note: See TracChangeset
for help on using the changeset viewer.