| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/common/indexed_db/proxy_webidbobjectstore_impl.h" | 5 #include "content/common/indexed_db/proxy_webidbobjectstore_impl.h" |
| 6 | 6 |
| 7 #include "content/common/indexed_db/indexed_db_messages.h" | 7 #include "content/common/indexed_db/indexed_db_messages.h" |
| 8 #include "content/public/common/serialized_script_value.h" | 8 #include "content/public/common/serialized_script_value.h" |
| 9 #include "content/common/indexed_db/indexed_db_dispatcher.h" | 9 #include "content/common/indexed_db/indexed_db_dispatcher.h" |
| 10 #include "content/common/indexed_db/proxy_webidbindex_impl.h" | 10 #include "content/common/indexed_db/proxy_webidbindex_impl.h" |
| 11 #include "content/common/indexed_db/proxy_webidbtransaction_impl.h" | 11 #include "content/common/indexed_db/proxy_webidbtransaction_impl.h" |
| 12 #include "content/common/child_thread.h" | 12 #include "content/common/child_thread.h" |
| 13 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDOMStringList.h" | 13 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDOMStringList.h" |
| 14 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBKey.h" | 14 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBKey.h" |
| 15 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBKeyPath.h" |
| 15 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBKeyRange.h" | 16 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBKeyRange.h" |
| 16 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBTransaction.h" | 17 #include "third_party/WebKit/Source/WebKit/chromium/public/WebIDBTransaction.h" |
| 17 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSerialize
dScriptValue.h" | 18 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSerialize
dScriptValue.h" |
| 18 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" | 19 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" |
| 19 | 20 |
| 20 using WebKit::WebDOMStringList; | 21 using WebKit::WebDOMStringList; |
| 21 using WebKit::WebExceptionCode; | 22 using WebKit::WebExceptionCode; |
| 22 using WebKit::WebFrame; | 23 using WebKit::WebFrame; |
| 23 using WebKit::WebIDBCallbacks; | 24 using WebKit::WebIDBCallbacks; |
| 25 using WebKit::WebIDBKeyPath; |
| 24 using WebKit::WebIDBKeyRange; | 26 using WebKit::WebIDBKeyRange; |
| 25 using WebKit::WebIDBIndex; | 27 using WebKit::WebIDBIndex; |
| 26 using WebKit::WebIDBKey; | 28 using WebKit::WebIDBKey; |
| 27 using WebKit::WebIDBTransaction; | 29 using WebKit::WebIDBTransaction; |
| 28 using WebKit::WebSerializedScriptValue; | 30 using WebKit::WebSerializedScriptValue; |
| 29 using WebKit::WebString; | 31 using WebKit::WebString; |
| 30 | 32 |
| 31 RendererWebIDBObjectStoreImpl::RendererWebIDBObjectStoreImpl( | 33 RendererWebIDBObjectStoreImpl::RendererWebIDBObjectStoreImpl( |
| 32 int32 idb_object_store_id) | 34 int32 idb_object_store_id) |
| 33 : idb_object_store_id_(idb_object_store_id) { | 35 : idb_object_store_id_(idb_object_store_id) { |
| 34 } | 36 } |
| 35 | 37 |
| 36 RendererWebIDBObjectStoreImpl::~RendererWebIDBObjectStoreImpl() { | 38 RendererWebIDBObjectStoreImpl::~RendererWebIDBObjectStoreImpl() { |
| 37 // It's not possible for there to be pending callbacks that address this | 39 // It's not possible for there to be pending callbacks that address this |
| 38 // object since inside WebKit, they hold a reference to the object wich owns | 40 // object since inside WebKit, they hold a reference to the object wich owns |
| 39 // this object. But, if that ever changed, then we'd need to invalidate | 41 // this object. But, if that ever changed, then we'd need to invalidate |
| 40 // any such pointers. | 42 // any such pointers. |
| 41 IndexedDBDispatcher::Send( | 43 IndexedDBDispatcher::Send( |
| 42 new IndexedDBHostMsg_ObjectStoreDestroyed(idb_object_store_id_)); | 44 new IndexedDBHostMsg_ObjectStoreDestroyed(idb_object_store_id_)); |
| 43 } | 45 } |
| 44 | 46 |
| 45 WebString RendererWebIDBObjectStoreImpl::name() const { | 47 WebString RendererWebIDBObjectStoreImpl::name() const { |
| 46 string16 result; | 48 string16 result; |
| 47 IndexedDBDispatcher::Send( | 49 IndexedDBDispatcher::Send( |
| 48 new IndexedDBHostMsg_ObjectStoreName(idb_object_store_id_, &result)); | 50 new IndexedDBHostMsg_ObjectStoreName(idb_object_store_id_, &result)); |
| 49 return result; | 51 return result; |
| 50 } | 52 } |
| 51 | 53 |
| 52 WebString RendererWebIDBObjectStoreImpl::keyPathString() const { | 54 WebIDBKeyPath RendererWebIDBObjectStoreImpl::keyPath() const { |
| 53 NullableString16 result; | 55 content::IndexedDBKeyPath result; |
| 54 IndexedDBDispatcher::Send( | 56 IndexedDBDispatcher::Send( |
| 55 new IndexedDBHostMsg_ObjectStoreKeyPath(idb_object_store_id_, &result)); | 57 new IndexedDBHostMsg_ObjectStoreKeyPath(idb_object_store_id_, &result)); |
| 56 return result; | 58 return result; |
| 57 } | 59 } |
| 58 | 60 |
| 59 WebDOMStringList RendererWebIDBObjectStoreImpl::indexNames() const { | 61 WebDOMStringList RendererWebIDBObjectStoreImpl::indexNames() const { |
| 60 std::vector<string16> result; | 62 std::vector<string16> result; |
| 61 IndexedDBDispatcher::Send( | 63 IndexedDBDispatcher::Send( |
| 62 new IndexedDBHostMsg_ObjectStoreIndexNames( | 64 new IndexedDBHostMsg_ObjectStoreIndexNames( |
| 63 idb_object_store_id_, &result)); | 65 idb_object_store_id_, &result)); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 const WebIDBTransaction& transaction, | 125 const WebIDBTransaction& transaction, |
| 124 WebExceptionCode& ec) { | 126 WebExceptionCode& ec) { |
| 125 IndexedDBDispatcher* dispatcher = | 127 IndexedDBDispatcher* dispatcher = |
| 126 IndexedDBDispatcher::ThreadSpecificInstance(); | 128 IndexedDBDispatcher::ThreadSpecificInstance(); |
| 127 dispatcher->RequestIDBObjectStoreClear( | 129 dispatcher->RequestIDBObjectStoreClear( |
| 128 callbacks, idb_object_store_id_, transaction, &ec); | 130 callbacks, idb_object_store_id_, transaction, &ec); |
| 129 } | 131 } |
| 130 | 132 |
| 131 WebIDBIndex* RendererWebIDBObjectStoreImpl::createIndex( | 133 WebIDBIndex* RendererWebIDBObjectStoreImpl::createIndex( |
| 132 const WebString& name, | 134 const WebString& name, |
| 133 const WebString& key_path, | 135 const WebIDBKeyPath& key_path, |
| 134 bool unique, | 136 bool unique, |
| 135 bool multi_entry, | 137 bool multi_entry, |
| 136 const WebIDBTransaction& transaction, | 138 const WebIDBTransaction& transaction, |
| 137 WebExceptionCode& ec) { | 139 WebExceptionCode& ec) { |
| 138 IndexedDBHostMsg_ObjectStoreCreateIndex_Params params; | 140 IndexedDBHostMsg_ObjectStoreCreateIndex_Params params; |
| 139 params.name = name; | 141 params.name = name; |
| 140 params.key_path = key_path; | 142 params.key_path = content::IndexedDBKeyPath(key_path); |
| 141 params.unique = unique; | 143 params.unique = unique; |
| 142 params.multi_entry = multi_entry; | 144 params.multi_entry = multi_entry; |
| 143 params.transaction_id = IndexedDBDispatcher::TransactionId(transaction); | 145 params.transaction_id = IndexedDBDispatcher::TransactionId(transaction); |
| 144 params.idb_object_store_id = idb_object_store_id_; | 146 params.idb_object_store_id = idb_object_store_id_; |
| 145 | 147 |
| 146 int32 index_id; | 148 int32 index_id; |
| 147 IndexedDBDispatcher::Send( | 149 IndexedDBDispatcher::Send( |
| 148 new IndexedDBHostMsg_ObjectStoreCreateIndex(params, &index_id, &ec)); | 150 new IndexedDBHostMsg_ObjectStoreCreateIndex(params, &index_id, &ec)); |
| 149 if (!index_id) | 151 if (!index_id) |
| 150 return NULL; | 152 return NULL; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 const WebIDBKeyRange& idb_key_range, | 191 const WebIDBKeyRange& idb_key_range, |
| 190 WebIDBCallbacks* callbacks, | 192 WebIDBCallbacks* callbacks, |
| 191 const WebIDBTransaction& transaction, | 193 const WebIDBTransaction& transaction, |
| 192 WebExceptionCode& ec) { | 194 WebExceptionCode& ec) { |
| 193 IndexedDBDispatcher* dispatcher = | 195 IndexedDBDispatcher* dispatcher = |
| 194 IndexedDBDispatcher::ThreadSpecificInstance(); | 196 IndexedDBDispatcher::ThreadSpecificInstance(); |
| 195 dispatcher->RequestIDBObjectStoreCount( | 197 dispatcher->RequestIDBObjectStoreCount( |
| 196 idb_key_range, callbacks, idb_object_store_id_, | 198 idb_key_range, callbacks, idb_object_store_id_, |
| 197 transaction, &ec); | 199 transaction, &ec); |
| 198 } | 200 } |
| OLD | NEW |