Title: [126461] trunk/Source
Revision
126461
Author
jsb...@chromium.org
Date
2012-08-23 11:56:28 -0700 (Thu, 23 Aug 2012)

Log Message

IndexedDB: Move onSuccess(IDBDatabaseBackendInterface) to IDBOpenDBRequest
https://bugs.webkit.org/show_bug.cgi?id=94757

Reviewed by Tony Chang.

Source/WebCore:

Move the implementation of IDBCallbacks::onSuccess(IDBDatabaseBackendInterface)
from IDBRequest to the new IDBOpenDBRequest, which is the only request type that
should be receiving that callback.

No new tests - no functional changes.

* Modules/indexeddb/IDBCallbacks.h:
(IDBCallbacks):
(WebCore::IDBCallbacks::onSuccess):
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onUpgradeNeeded):
(WebCore::IDBOpenDBRequest::onSuccess):
(WebCore):
* Modules/indexeddb/IDBOpenDBRequest.h:
(IDBOpenDBRequest):
* Modules/indexeddb/IDBRequest.cpp:
* Modules/indexeddb/IDBRequest.h:

Source/WebKit/chromium:

Drop onSuccess(IDBDatabaseBackendImpl) overload from test, as it is no longer
implemented by IDBRequest.

* tests/IDBRequestTest.cpp:
(WebCore::TEST):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (126460 => 126461)


--- trunk/Source/WebCore/ChangeLog	2012-08-23 18:47:15 UTC (rev 126460)
+++ trunk/Source/WebCore/ChangeLog	2012-08-23 18:56:28 UTC (rev 126461)
@@ -1,3 +1,28 @@
+2012-08-23  Joshua Bell  <jsb...@chromium.org>
+
+        IndexedDB: Move onSuccess(IDBDatabaseBackendInterface) to IDBOpenDBRequest
+        https://bugs.webkit.org/show_bug.cgi?id=94757
+
+        Reviewed by Tony Chang.
+
+        Move the implementation of IDBCallbacks::onSuccess(IDBDatabaseBackendInterface)
+        from IDBRequest to the new IDBOpenDBRequest, which is the only request type that
+        should be receiving that callback.
+
+        No new tests - no functional changes.
+
+        * Modules/indexeddb/IDBCallbacks.h:
+        (IDBCallbacks):
+        (WebCore::IDBCallbacks::onSuccess):
+        * Modules/indexeddb/IDBOpenDBRequest.cpp:
+        (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
+        (WebCore::IDBOpenDBRequest::onSuccess):
+        (WebCore):
+        * Modules/indexeddb/IDBOpenDBRequest.h:
+        (IDBOpenDBRequest):
+        * Modules/indexeddb/IDBRequest.cpp:
+        * Modules/indexeddb/IDBRequest.h:
+
 2012-08-23  Andrei Onea  <o...@adobe.com>
 
         [CSSRegions]Crash when moving anonymous block children inside a named flow

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBCallbacks.h (126460 => 126461)


--- trunk/Source/WebCore/Modules/indexeddb/IDBCallbacks.h	2012-08-23 18:47:15 UTC (rev 126460)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBCallbacks.h	2012-08-23 18:56:28 UTC (rev 126461)
@@ -54,8 +54,6 @@
     virtual void onSuccess(PassRefPtr<DOMStringList>) = 0;
     // From IDBObjectStore/IDBIndex.openCursor(), IDBIndex.openKeyCursor()
     virtual void onSuccess(PassRefPtr<IDBCursorBackendInterface>, PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SerializedScriptValue>) = 0;
-    // From IDBFactory.open()
-    virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) = 0;
     // From IDBObjectStore.add()/put(), IDBIndex.getKey()
     virtual void onSuccess(PassRefPtr<IDBKey>) = 0;
     // From IDBDatabase.setVersion()
@@ -68,9 +66,12 @@
     virtual void onSuccess(PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SerializedScriptValue>) = 0;
     // From IDBCursor.advance()/continue()
     virtual void onSuccessWithPrefetch(const Vector<RefPtr<IDBKey> >& keys, const Vector<RefPtr<IDBKey> >& primaryKeys, const Vector<RefPtr<SerializedScriptValue> >& values) = 0;
+    // From IDBFactory.open()/deleteDatabase(), IDBDatabase.setVersion()
     virtual void onBlocked() { ASSERT_NOT_REACHED(); }
     virtual void onBlocked(int64_t existingVersion) { ASSERT_NOT_REACHED(); }
+    // From IDBFactory.open()
     virtual void onUpgradeNeeded(int64_t oldVersion, PassRefPtr<IDBTransactionBackendInterface>, PassRefPtr<IDBDatabaseBackendInterface>) { ASSERT_NOT_REACHED(); }
+    virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) { ASSERT_NOT_REACHED(); }
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp (126460 => 126461)


--- trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp	2012-08-23 18:47:15 UTC (rev 126460)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp	2012-08-23 18:56:28 UTC (rev 126461)
@@ -30,6 +30,7 @@
 
 #include "IDBDatabase.h"
 #include "IDBPendingTransactionMonitor.h"
+#include "IDBTracing.h"
 #include "IDBUpgradeNeededEvent.h"
 #include "ScriptExecutionContext.h"
 
@@ -67,6 +68,7 @@
 
 void IDBOpenDBRequest::onUpgradeNeeded(int64_t oldVersion, PassRefPtr<IDBTransactionBackendInterface> prpTransactionBackend, PassRefPtr<IDBDatabaseBackendInterface> prpDatabaseBackend)
 {
+    IDB_TRACE("IDBOpenDBRequest::onUpgradeNeeded()");
     if (!shouldEnqueueEvent())
         return;
 
@@ -86,6 +88,24 @@
     enqueueEvent(IDBUpgradeNeededEvent::create(oldVersion, m_version, eventNames().upgradeneededEvent));
 }
 
+void IDBOpenDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> backend)
+{
+    IDB_TRACE("IDBOpenDBRequest::onSuccess()");
+    if (!shouldEnqueueEvent())
+        return;
+
+    RefPtr<IDBDatabase> idbDatabase;
+    if (m_result) {
+        idbDatabase = m_result->idbDatabase();
+        ASSERT(idbDatabase);
+    } else {
+        idbDatabase = IDBDatabase::create(scriptExecutionContext(), backend);
+        m_result = IDBAny::create(idbDatabase.get());
+    }
+    idbDatabase->registerFrontendCallbacks();
+    enqueueEvent(Event::create(eventNames().successEvent, false, false));
+}
+
 bool IDBOpenDBRequest::shouldEnqueueEvent() const
 {
     if (m_contextStopped || !scriptExecutionContext())

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.h (126460 => 126461)


--- trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.h	2012-08-23 18:47:15 UTC (rev 126460)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.h	2012-08-23 18:56:28 UTC (rev 126461)
@@ -37,8 +37,11 @@
     static PassRefPtr<IDBOpenDBRequest> create(ScriptExecutionContext*, PassRefPtr<IDBAny> source, int64_t version);
     virtual ~IDBOpenDBRequest();
 
+    using IDBRequest::onSuccess;
+
     virtual void onBlocked(int64_t existingVersion) OVERRIDE;
     virtual void onUpgradeNeeded(int64_t oldVersion, PassRefPtr<IDBTransactionBackendInterface>, PassRefPtr<IDBDatabaseBackendInterface>) OVERRIDE;
+    virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>) OVERRIDE;
 
     // EventTarget
     virtual const AtomicString& interfaceName() const;

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp (126460 => 126461)


--- trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp	2012-08-23 18:47:15 UTC (rev 126460)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp	2012-08-23 18:56:28 UTC (rev 126461)
@@ -291,24 +291,6 @@
     enqueueEvent(createSuccessEvent());
 }
 
-void IDBRequest::onSuccess(PassRefPtr<IDBDatabaseBackendInterface> backend)
-{
-    IDB_TRACE("IDBRequest::onSuccess(IDBDatabase)");
-    if (!shouldEnqueueEvent())
-        return;
-
-    RefPtr<IDBDatabase> idbDatabase;
-    if (m_result) {
-        idbDatabase = m_result->idbDatabase();
-        ASSERT(idbDatabase);
-    } else {
-        idbDatabase = IDBDatabase::create(scriptExecutionContext(), backend);
-        m_result = IDBAny::create(idbDatabase.get());
-    }
-    idbDatabase->registerFrontendCallbacks();
-    enqueueEvent(createSuccessEvent());
-}
-
 void IDBRequest::onSuccess(PassRefPtr<IDBKey> idbKey)
 {
     IDB_TRACE("IDBRequest::onSuccess(IDBKey)");
@@ -428,11 +410,6 @@
         markEarlyDeath();
 }
 
-void IDBRequest::onBlocked()
-{
-    ASSERT_NOT_REACHED();
-}
-
 const AtomicString& IDBRequest::interfaceName() const
 {
     return eventNames().interfaceForIDBRequest;

Modified: trunk/Source/WebCore/Modules/indexeddb/IDBRequest.h (126460 => 126461)


--- trunk/Source/WebCore/Modules/indexeddb/IDBRequest.h	2012-08-23 18:47:15 UTC (rev 126460)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBRequest.h	2012-08-23 18:56:28 UTC (rev 126461)
@@ -83,7 +83,6 @@
     // IDBCallbacks
     virtual void onError(PassRefPtr<IDBDatabaseError>);
     virtual void onSuccess(PassRefPtr<DOMStringList>);
-    virtual void onSuccess(PassRefPtr<IDBDatabaseBackendInterface>);
     virtual void onSuccess(PassRefPtr<IDBCursorBackendInterface>, PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SerializedScriptValue>);
     virtual void onSuccess(PassRefPtr<IDBKey>);
     virtual void onSuccess(PassRefPtr<IDBTransactionBackendInterface>);
@@ -91,8 +90,6 @@
     virtual void onSuccess(PassRefPtr<SerializedScriptValue>, PassRefPtr<IDBKey>, const IDBKeyPath&);
     virtual void onSuccess(PassRefPtr<IDBKey>, PassRefPtr<IDBKey> primaryKey, PassRefPtr<SerializedScriptValue>);
     virtual void onSuccessWithPrefetch(const Vector<RefPtr<IDBKey> >&, const Vector<RefPtr<IDBKey> >&, const Vector<RefPtr<SerializedScriptValue> >&) { ASSERT_NOT_REACHED(); } // Not implemented. Callback should not reach the renderer side.
-    virtual void onBlocked();
-    virtual void onBlocked(int64_t existingVersion) { ASSERT_NOT_REACHED(); }
 
     // ActiveDOMObject
     virtual bool hasPendingActivity() const OVERRIDE;

Modified: trunk/Source/WebKit/chromium/ChangeLog (126460 => 126461)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-08-23 18:47:15 UTC (rev 126460)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-08-23 18:56:28 UTC (rev 126461)
@@ -1,3 +1,16 @@
+2012-08-23  Joshua Bell  <jsb...@chromium.org>
+
+        IndexedDB: Move onSuccess(IDBDatabaseBackendInterface) to IDBOpenDBRequest
+        https://bugs.webkit.org/show_bug.cgi?id=94757
+
+        Reviewed by Tony Chang.
+
+        Drop onSuccess(IDBDatabaseBackendImpl) overload from test, as it is no longer
+        implemented by IDBRequest.
+
+        * tests/IDBRequestTest.cpp:
+        (WebCore::TEST):
+
 2012-08-23  Kenneth Russell  <k...@google.com>
 
         Convert ScrollableArea ASSERT_NOT_REACHED virtuals into pure virtuals

Modified: trunk/Source/WebKit/chromium/tests/IDBRequestTest.cpp (126460 => 126461)


--- trunk/Source/WebKit/chromium/tests/IDBRequestTest.cpp	2012-08-23 18:47:15 UTC (rev 126460)
+++ trunk/Source/WebKit/chromium/tests/IDBRequestTest.cpp	2012-08-23 18:56:28 UTC (rev 126461)
@@ -50,7 +50,6 @@
     // Ensure none of the following raise assertions in stopped state:
     request->onError(IDBDatabaseError::create(IDBDatabaseException::IDB_ABORT_ERR, "Description goes here."));
     request->onSuccess(DOMStringList::create());
-    request->onSuccess(PassRefPtr<IDBDatabaseBackendInterface>());
     request->onSuccess(PassRefPtr<IDBCursorBackendInterface>(), IDBKey::createInvalid(), IDBKey::createInvalid(), SerializedScriptValue::nullValue());
     request->onSuccess(IDBKey::createInvalid());
     request->onSuccess(PassRefPtr<IDBTransactionBackendInterface>());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to