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

Side by Side Diff: content/common/indexed_db/proxy_webidbobjectstore_impl.cc

Issue 10204003: Use WebIDBKeyPath type in WebKit API, implement IndexedDBKeyPath type. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move IndexedDBKeyPath to content namespace, formatting nits. Created 8 years, 7 months 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 // 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
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
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 }
OLDNEW
« no previous file with comments | « content/common/indexed_db/proxy_webidbobjectstore_impl.h ('k') | content/common/utility_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698