| Index: content/browser/in_process_webkit/indexed_db_callbacks.h
|
| diff --git a/content/browser/in_process_webkit/indexed_db_callbacks.h b/content/browser/in_process_webkit/indexed_db_callbacks.h
|
| index c6968734cd7b98ea4f01b1a6aae29db21a63ed44..e1faacb9c64550887017d2e09d2068b6939a0042 100644
|
| --- a/content/browser/in_process_webkit/indexed_db_callbacks.h
|
| +++ b/content/browser/in_process_webkit/indexed_db_callbacks.h
|
| @@ -16,31 +16,8 @@
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBTransaction.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
|
|
|
| -class IndexedDBMsg_CallbacksSuccessIDBDatabase;
|
| -class IndexedDBMsg_CallbacksSuccessIDBTransaction;
|
| -class IndexedDBMsg_CallbacksUpgradeNeeded;
|
| -
|
| -// Template magic to figure out what message to send to the renderer based on
|
| -// which (overloaded) onSuccess method we expect to be called.
|
| -template <class Type> struct WebIDBToMsgHelper { };
|
| -template <> struct WebIDBToMsgHelper<WebKit::WebIDBDatabase> {
|
| - typedef IndexedDBMsg_CallbacksSuccessIDBDatabase MsgType;
|
| -};
|
| -template <> struct WebIDBToMsgHelper<WebKit::WebIDBTransaction> {
|
| - typedef IndexedDBMsg_CallbacksSuccessIDBTransaction MsgType;
|
| -};
|
| -
|
| -namespace {
|
| -int32 kDatabaseNotAdded = -1;
|
| -}
|
| -
|
| -// The code the following two classes share.
|
| class IndexedDBCallbacksBase : public WebKit::WebIDBCallbacks {
|
| public:
|
| - IndexedDBCallbacksBase(IndexedDBDispatcherHost* dispatcher_host,
|
| - int32 thread_id,
|
| - int32 response_id);
|
| -
|
| virtual ~IndexedDBCallbacksBase();
|
|
|
| virtual void onError(const WebKit::WebIDBDatabaseError& error);
|
| @@ -48,6 +25,9 @@ class IndexedDBCallbacksBase : public WebKit::WebIDBCallbacks {
|
| virtual void onBlocked(long long old_version);
|
|
|
| protected:
|
| + IndexedDBCallbacksBase(IndexedDBDispatcherHost* dispatcher_host,
|
| + int32 thread_id,
|
| + int32 response_id);
|
| IndexedDBDispatcherHost* dispatcher_host() const {
|
| return dispatcher_host_.get();
|
| }
|
| @@ -62,47 +42,46 @@ class IndexedDBCallbacksBase : public WebKit::WebIDBCallbacks {
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(IndexedDBCallbacksBase);
|
| };
|
|
|
| -// A WebIDBCallbacks implementation that returns an object of WebObjectType.
|
| +// TODO(dgrogan): Remove this class and change the remaining specializations
|
| +// into subclasses of IndexedDBCallbacksBase.
|
| template <class WebObjectType>
|
| class IndexedDBCallbacks : public IndexedDBCallbacksBase {
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(IndexedDBCallbacks);
|
| +};
|
| +
|
| +class IndexedDBCallbacksTransaction : public IndexedDBCallbacksBase {
|
| public:
|
| - IndexedDBCallbacks(
|
| + IndexedDBCallbacksTransaction(
|
| IndexedDBDispatcherHost* dispatcher_host,
|
| int32 thread_id,
|
| int32 response_id,
|
| - const GURL& origin_url)
|
| - : IndexedDBCallbacksBase(dispatcher_host, thread_id, response_id),
|
| - origin_url_(origin_url),
|
| - database_id_(kDatabaseNotAdded) {
|
| - }
|
| + const GURL& origin_url);
|
|
|
| - virtual void onSuccess(WebObjectType* idb_object) {
|
| - int32 object_id = database_id_;
|
| - if (object_id == kDatabaseNotAdded) {
|
| - object_id = dispatcher_host()->Add(idb_object, thread_id(), origin_url_);
|
| - } else {
|
| - // We already have this database and don't need a new copy of it.
|
| - delete idb_object;
|
| - }
|
| -
|
| - dispatcher_host()->Send(
|
| - new typename WebIDBToMsgHelper<WebObjectType>::MsgType(thread_id(),
|
| - response_id(),
|
| - object_id));
|
| - }
|
| + virtual void onSuccess(WebKit::WebIDBTransaction* idb_object);
|
| +
|
| + private:
|
| + GURL origin_url_;
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(IndexedDBCallbacksTransaction);
|
| +};
|
|
|
| - void onUpgradeNeeded(
|
| +class IndexedDBCallbacksDatabase : public IndexedDBCallbacksBase {
|
| + public:
|
| + IndexedDBCallbacksDatabase(
|
| + IndexedDBDispatcherHost* dispatcher_host,
|
| + int32 thread_id,
|
| + int32 response_id,
|
| + const GURL& origin_url);
|
| +
|
| + virtual void onSuccess(WebKit::WebIDBDatabase* idb_object);
|
| + virtual void onUpgradeNeeded(
|
| long long old_version,
|
| WebKit::WebIDBTransaction* transaction,
|
| - WebKit::WebIDBDatabase* database) {
|
| - NOTREACHED();
|
| - }
|
| -
|
| + WebKit::WebIDBDatabase* database);
|
|
|
| private:
|
| GURL origin_url_;
|
| int32 database_id_;
|
| - DISALLOW_IMPLICIT_CONSTRUCTORS(IndexedDBCallbacks);
|
| + DISALLOW_IMPLICIT_CONSTRUCTORS(IndexedDBCallbacksDatabase);
|
| };
|
|
|
| // WebIDBCursor uses:
|
|
|