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

Side by Side Diff: content/browser/in_process_webkit/indexed_db_callbacks.cc

Issue 16573003: Remove content/browser dependency on WebKit::WebIDBCallbacks and WebKit::WebIDBDatabaseCallbacks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix namespace issues Created 7 years, 6 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/browser/in_process_webkit/indexed_db_callbacks.h" 5 #include "content/browser/in_process_webkit/indexed_db_callbacks.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "content/browser/indexed_db/webidbdatabase_impl.h"
9 #include "content/common/indexed_db/indexed_db_messages.h" 10 #include "content/common/indexed_db/indexed_db_messages.h"
10 #include "webkit/browser/quota/quota_manager.h" 11 #include "webkit/browser/quota/quota_manager.h"
11 12
13 using WebKit::WebData;
14 using WebKit::WebString;
15 using WebKit::WebVector;
16
12 namespace content { 17 namespace content {
13 18
14 namespace { 19 namespace {
15 const int32 kDatabaseNotAdded = -1; 20 const int32 kDatabaseNotAdded = -1;
16 } 21 }
17 22
18 IndexedDBCallbacksBase::IndexedDBCallbacksBase( 23 IndexedDBCallbacksBase::IndexedDBCallbacksBase(
19 IndexedDBDispatcherHost* dispatcher_host, 24 IndexedDBDispatcherHost* dispatcher_host,
20 int32 ipc_thread_id, 25 int32 ipc_thread_id,
21 int32 ipc_callbacks_id) 26 int32 ipc_callbacks_id)
22 : dispatcher_host_(dispatcher_host), 27 : dispatcher_host_(dispatcher_host),
23 ipc_callbacks_id_(ipc_callbacks_id), 28 ipc_callbacks_id_(ipc_callbacks_id),
24 ipc_thread_id_(ipc_thread_id) { 29 ipc_thread_id_(ipc_thread_id) {}
25 }
26 30
27 IndexedDBCallbacksBase::~IndexedDBCallbacksBase() {} 31 IndexedDBCallbacksBase::~IndexedDBCallbacksBase() {}
28 32
29 void IndexedDBCallbacksBase::onError(const WebKit::WebIDBDatabaseError& error) { 33 void IndexedDBCallbacksBase::onError(const WebKit::WebIDBDatabaseError& error) {
30 dispatcher_host_->Send(new IndexedDBMsg_CallbacksError( 34 dispatcher_host_->Send(new IndexedDBMsg_CallbacksError(
31 ipc_thread_id_, ipc_callbacks_id_, error.code(), error.message())); 35 ipc_thread_id_, ipc_callbacks_id_, error.code(), error.message()));
32 } 36 }
33 37
34 void IndexedDBCallbacksBase::onBlocked(long long old_version) { 38 void IndexedDBCallbacksBase::onBlocked(long long old_version) {
35 dispatcher_host_->Send(new IndexedDBMsg_CallbacksIntBlocked( 39 dispatcher_host_->Send(new IndexedDBMsg_CallbacksIntBlocked(
36 ipc_thread_id_, ipc_callbacks_id_, old_version)); 40 ipc_thread_id_, ipc_callbacks_id_, old_version));
37 } 41 }
38 42
43 void IndexedDBCallbacksBase::onSuccess(
44 const WebVector<WebString>& value) {
45 NOTREACHED();
46 }
47
48 void IndexedDBCallbacksBase::onSuccess(WebIDBDatabaseImpl* idb_object,
49 const WebKit::WebIDBMetadata& metadata) {
50 NOTREACHED();
51 }
52
53 void IndexedDBCallbacksBase::onUpgradeNeeded(long long old_version,
54 WebIDBDatabaseImpl* database,
55 const WebKit::WebIDBMetadata&) {
56 NOTREACHED();
57 }
58
59 void IndexedDBCallbacksBase::onSuccess(WebIDBCursorImpl* idb_object,
60 const WebKit::WebIDBKey& key,
61 const WebKit::WebIDBKey& primaryKey,
62 const WebData& value) {
63 NOTREACHED();
64 }
65
66 void IndexedDBCallbacksBase::onSuccess(const WebKit::WebIDBKey& key,
67 const WebKit::WebIDBKey& primaryKey,
68 const WebData& value) {
69 NOTREACHED();
70 }
71
72 void IndexedDBCallbacksBase::onSuccess(const WebData& value) {
73 NOTREACHED();
74 }
75
76 void IndexedDBCallbacksBase::onSuccessWithPrefetch(
77 const WebVector<WebKit::WebIDBKey>& keys,
78 const WebVector<WebKit::WebIDBKey>& primaryKeys,
79 const WebVector<WebData>& values) {
80 NOTREACHED();
81 }
82
83 void IndexedDBCallbacksBase::onSuccess(const WebKit::WebIDBKey& value) {
84 NOTREACHED();
85 }
86
87 void IndexedDBCallbacksBase::onSuccess(const WebData& value,
88 const WebKit::WebIDBKey& key,
89 const WebKit::WebIDBKeyPath& keyPath) {
90 NOTREACHED();
91 }
92
93 void IndexedDBCallbacksBase::onSuccess(long long value) { NOTREACHED(); }
94
95 void IndexedDBCallbacksBase::onSuccess() { NOTREACHED(); }
96
39 IndexedDBCallbacksDatabase::IndexedDBCallbacksDatabase( 97 IndexedDBCallbacksDatabase::IndexedDBCallbacksDatabase(
40 IndexedDBDispatcherHost* dispatcher_host, 98 IndexedDBDispatcherHost* dispatcher_host,
41 int32 ipc_thread_id, 99 int32 ipc_thread_id,
42 int32 ipc_callbacks_id, 100 int32 ipc_callbacks_id,
43 int32 ipc_database_callbacks_id, 101 int32 ipc_database_callbacks_id,
44 int64 host_transaction_id, 102 int64 host_transaction_id,
45 const GURL& origin_url) 103 const GURL& origin_url)
46 : IndexedDBCallbacksBase(dispatcher_host, ipc_thread_id, ipc_callbacks_id), 104 : IndexedDBCallbacksBase(dispatcher_host, ipc_thread_id, ipc_callbacks_id),
47 host_transaction_id_(host_transaction_id), 105 host_transaction_id_(host_transaction_id),
48 origin_url_(origin_url), 106 origin_url_(origin_url),
49 ipc_database_id_(kDatabaseNotAdded), 107 ipc_database_id_(kDatabaseNotAdded),
50 ipc_database_callbacks_id_(ipc_database_callbacks_id) { 108 ipc_database_callbacks_id_(ipc_database_callbacks_id) {}
51 }
52 109
53 void IndexedDBCallbacksDatabase::onSuccess( 110 void IndexedDBCallbacksDatabase::onSuccess(
54 WebKit::WebIDBDatabase* idb_object, 111 WebIDBDatabaseImpl* idb_object,
55 const WebKit::WebIDBMetadata& metadata) { 112 const WebKit::WebIDBMetadata& metadata) {
56 int32 ipc_object_id = ipc_database_id_; 113 int32 ipc_object_id = ipc_database_id_;
57 if (ipc_object_id == kDatabaseNotAdded) { 114 if (ipc_object_id == kDatabaseNotAdded) {
58 ipc_object_id = dispatcher_host()->Add(idb_object, ipc_thread_id(), 115 ipc_object_id =
59 origin_url_); 116 dispatcher_host()->Add(idb_object, ipc_thread_id(), origin_url_);
60 } else { 117 } else {
61 // We already have this database and don't need a new copy of it. 118 // We already have this database and don't need a new copy of it.
62 delete idb_object; 119 delete idb_object;
63 } 120 }
64 IndexedDBDatabaseMetadata idb_metadata = 121 const ::IndexedDBDatabaseMetadata idb_metadata =
65 IndexedDBDispatcherHost::ConvertMetadata(metadata); 122 IndexedDBDispatcherHost::ConvertMetadata(metadata);
66 123
67 dispatcher_host()->Send( 124 dispatcher_host()->Send(
68 new IndexedDBMsg_CallbacksSuccessIDBDatabase(ipc_thread_id(), 125 new IndexedDBMsg_CallbacksSuccessIDBDatabase(ipc_thread_id(),
69 ipc_callbacks_id(), 126 ipc_callbacks_id(),
70 ipc_database_callbacks_id_, 127 ipc_database_callbacks_id_,
71 ipc_object_id, 128 ipc_object_id,
72 idb_metadata)); 129 idb_metadata));
73 } 130 }
74 131
75 void IndexedDBCallbacksDatabase::onUpgradeNeeded( 132 void IndexedDBCallbacksDatabase::onUpgradeNeeded(
76 long long old_version, 133 long long old_version,
77 WebKit::WebIDBDatabase* database, 134 WebIDBDatabaseImpl* database,
78 const WebKit::WebIDBMetadata& metadata) { 135 const WebKit::WebIDBMetadata& metadata) {
79 dispatcher_host()->RegisterTransactionId(host_transaction_id_, origin_url_); 136 dispatcher_host()->RegisterTransactionId(host_transaction_id_, origin_url_);
80 int32 ipc_database_id = dispatcher_host()->Add(database, ipc_thread_id(), 137 int32 ipc_database_id =
81 origin_url_); 138 dispatcher_host()->Add(database, ipc_thread_id(), origin_url_);
82 ipc_database_id_ = ipc_database_id; 139 ipc_database_id_ = ipc_database_id;
83 IndexedDBMsg_CallbacksUpgradeNeeded_Params params; 140 IndexedDBMsg_CallbacksUpgradeNeeded_Params params;
84 params.ipc_thread_id = ipc_thread_id(); 141 params.ipc_thread_id = ipc_thread_id();
85 params.ipc_callbacks_id = ipc_callbacks_id(); 142 params.ipc_callbacks_id = ipc_callbacks_id();
86 params.ipc_database_id = ipc_database_id; 143 params.ipc_database_id = ipc_database_id;
87 params.ipc_database_callbacks_id = ipc_database_callbacks_id_; 144 params.ipc_database_callbacks_id = ipc_database_callbacks_id_;
88 params.old_version = old_version; 145 params.old_version = old_version;
89 params.idb_metadata = IndexedDBDispatcherHost::ConvertMetadata(metadata); 146 params.idb_metadata = IndexedDBDispatcherHost::ConvertMetadata(metadata);
90 dispatcher_host()->Send(new IndexedDBMsg_CallbacksUpgradeNeeded(params)); 147 dispatcher_host()->Send(new IndexedDBMsg_CallbacksUpgradeNeeded(params));
91 } 148 }
92 149
93 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( 150 void IndexedDBCallbacks<WebIDBCursorImpl>::onSuccess(
94 WebKit::WebIDBCursor* idb_cursor, 151 WebIDBCursorImpl* idb_cursor,
95 const WebKit::WebIDBKey& key, 152 const WebKit::WebIDBKey& key,
96 const WebKit::WebIDBKey& primaryKey, 153 const WebKit::WebIDBKey& primaryKey,
97 const WebKit::WebData& value) { 154 const WebData& value) {
98 int32 ipc_object_id = dispatcher_host()->Add(idb_cursor); 155 int32 ipc_object_id = dispatcher_host()->Add(idb_cursor);
99 IndexedDBMsg_CallbacksSuccessIDBCursor_Params params; 156 IndexedDBMsg_CallbacksSuccessIDBCursor_Params params;
100 params.ipc_thread_id = ipc_thread_id(); 157 params.ipc_thread_id = ipc_thread_id();
101 params.ipc_callbacks_id = ipc_callbacks_id(); 158 params.ipc_callbacks_id = ipc_callbacks_id();
102 params.ipc_cursor_id = ipc_object_id; 159 params.ipc_cursor_id = ipc_object_id;
103 params.key = IndexedDBKey(key); 160 params.key = IndexedDBKey(key);
104 params.primary_key = IndexedDBKey(primaryKey); 161 params.primary_key = IndexedDBKey(primaryKey);
105 params.value.assign(value.data(), value.data() + value.size()); 162 params.value.assign(value.data(), value.data() + value.size());
106 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params)); 163 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessIDBCursor(params));
107 } 164 }
108 165
109 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( 166 void IndexedDBCallbacks<WebIDBCursorImpl>::onSuccess(
110 const WebKit::WebData& webValue) { 167 const WebData& webValue) {
111 std::vector<char> value(webValue.data(), webValue.data() + webValue.size()); 168 std::vector<char> value(webValue.data(), webValue.data() + webValue.size());
112 dispatcher_host()->Send( 169 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessValue(
113 new IndexedDBMsg_CallbacksSuccessValue( 170 ipc_thread_id(), ipc_callbacks_id(), value));
114 ipc_thread_id(), ipc_callbacks_id(), value));
115 } 171 }
116 172
117 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccess( 173 void IndexedDBCallbacks<WebIDBCursorImpl>::onSuccess(
118 const WebKit::WebIDBKey& key, 174 const WebKit::WebIDBKey& key,
119 const WebKit::WebIDBKey& primaryKey, 175 const WebKit::WebIDBKey& primaryKey,
120 const WebKit::WebData& value) { 176 const WebData& value) {
121 DCHECK_NE(ipc_cursor_id_, -1); 177 DCHECK_NE(ipc_cursor_id_, -1);
122 WebKit::WebIDBCursor* idb_cursor = dispatcher_host()->GetCursorFromId( 178 WebIDBCursorImpl* idb_cursor =
123 ipc_cursor_id_); 179 dispatcher_host()->GetCursorFromId(ipc_cursor_id_);
124 180
125 DCHECK(idb_cursor); 181 DCHECK(idb_cursor);
126 if (!idb_cursor) 182 if (!idb_cursor)
127 return; 183 return;
128 IndexedDBMsg_CallbacksSuccessCursorContinue_Params params; 184 IndexedDBMsg_CallbacksSuccessCursorContinue_Params params;
129 params.ipc_thread_id = ipc_thread_id(); 185 params.ipc_thread_id = ipc_thread_id();
130 params.ipc_callbacks_id = ipc_callbacks_id(); 186 params.ipc_callbacks_id = ipc_callbacks_id();
131 params.ipc_cursor_id = ipc_cursor_id_; 187 params.ipc_cursor_id = ipc_cursor_id_;
132 params.key = IndexedDBKey(key); 188 params.key = IndexedDBKey(key);
133 params.primary_key = IndexedDBKey(primaryKey); 189 params.primary_key = IndexedDBKey(primaryKey);
134 params.value.assign(value.data(), value.data() + value.size()); 190 params.value.assign(value.data(), value.data() + value.size());
135 dispatcher_host()->Send( 191 dispatcher_host()->Send(
136 new IndexedDBMsg_CallbacksSuccessCursorContinue(params)); 192 new IndexedDBMsg_CallbacksSuccessCursorContinue(params));
137 } 193 }
138 194
139 void IndexedDBCallbacks<WebKit::WebIDBCursor>::onSuccessWithPrefetch( 195 void IndexedDBCallbacks<WebIDBCursorImpl>::onSuccessWithPrefetch(
140 const WebKit::WebVector<WebKit::WebIDBKey>& keys, 196 const WebVector<WebKit::WebIDBKey>& keys,
141 const WebKit::WebVector<WebKit::WebIDBKey>& primaryKeys, 197 const WebVector<WebKit::WebIDBKey>& primaryKeys,
142 const WebKit::WebVector<WebKit::WebData>& values) { 198 const WebVector<WebData>& values) {
143 DCHECK_NE(ipc_cursor_id_, -1); 199 DCHECK_NE(ipc_cursor_id_, -1);
144 200
145 std::vector<IndexedDBKey> msgKeys; 201 std::vector<IndexedDBKey> msgKeys;
146 std::vector<IndexedDBKey> msgPrimaryKeys; 202 std::vector<IndexedDBKey> msgPrimaryKeys;
147 std::vector<std::vector<char> > msgValues; 203 std::vector<std::vector<char> > msgValues;
148 204
149 for (size_t i = 0; i < keys.size(); ++i) { 205 for (size_t i = 0; i < keys.size(); ++i) {
150 msgKeys.push_back(IndexedDBKey(keys[i])); 206 msgKeys.push_back(IndexedDBKey(keys[i]));
151 msgPrimaryKeys.push_back(IndexedDBKey(primaryKeys[i])); 207 msgPrimaryKeys.push_back(IndexedDBKey(primaryKeys[i]));
152 msgValues.push_back( 208 msgValues.push_back(std::vector<char>(values[i].data(),
153 std::vector<char>(values[i].data(), 209 values[i].data() + values[i].size()));
154 values[i].data() + values[i].size()));
155 } 210 }
156 211
157 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params params; 212 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params params;
158 params.ipc_thread_id = ipc_thread_id(); 213 params.ipc_thread_id = ipc_thread_id();
159 params.ipc_callbacks_id = ipc_callbacks_id(); 214 params.ipc_callbacks_id = ipc_callbacks_id();
160 params.ipc_cursor_id = ipc_cursor_id_; 215 params.ipc_cursor_id = ipc_cursor_id_;
161 params.keys = msgKeys; 216 params.keys = msgKeys;
162 params.primary_keys = msgPrimaryKeys; 217 params.primary_keys = msgPrimaryKeys;
163 params.values = msgValues; 218 params.values = msgValues;
164 dispatcher_host()->Send( 219 dispatcher_host()->Send(
165 new IndexedDBMsg_CallbacksSuccessCursorPrefetch(params)); 220 new IndexedDBMsg_CallbacksSuccessCursorPrefetch(params));
166 } 221 }
167 222
168 void IndexedDBCallbacks<WebKit::WebIDBKey>::onSuccess( 223 void IndexedDBCallbacks<WebKit::WebIDBKey>::onSuccess(
169 const WebKit::WebIDBKey& value) { 224 const WebKit::WebIDBKey& value) {
170 dispatcher_host()->Send( 225 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessIndexedDBKey(
171 new IndexedDBMsg_CallbacksSuccessIndexedDBKey( 226 ipc_thread_id(), ipc_callbacks_id(), IndexedDBKey(value)));
172 ipc_thread_id(), ipc_callbacks_id(), IndexedDBKey(value)));
173 } 227 }
174 228
175 void IndexedDBCallbacks<WebKit::WebVector<WebKit::WebString> >::onSuccess( 229 void IndexedDBCallbacks<WebVector<WebString> >::onSuccess(
176 const WebKit::WebVector<WebKit::WebString>& value) { 230 const WebVector<WebString>& value) {
177 231
178 std::vector<string16> list; 232 std::vector<string16> list;
179 for (unsigned i = 0; i < value.size(); ++i) 233 for (unsigned i = 0; i < value.size(); ++i)
180 list.push_back(value[i]); 234 list.push_back(value[i]);
181 235
182 dispatcher_host()->Send( 236 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessStringList(
183 new IndexedDBMsg_CallbacksSuccessStringList( 237 ipc_thread_id(), ipc_callbacks_id(), list));
184 ipc_thread_id(), ipc_callbacks_id(), list));
185 } 238 }
186 239
187 void IndexedDBCallbacks<WebKit::WebData>::onSuccess( 240 void IndexedDBCallbacks<WebData>::onSuccess(
188 const WebKit::WebData& value) { 241 const WebData& value) {
189 dispatcher_host()->Send( 242 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessValue(
190 new IndexedDBMsg_CallbacksSuccessValue( 243 ipc_thread_id(),
191 ipc_thread_id(), ipc_callbacks_id(), 244 ipc_callbacks_id(),
192 std::vector<char>(value.data(), value.data() + value.size()))); 245 std::vector<char>(value.data(), value.data() + value.size())));
193 } 246 }
194 247
195 void IndexedDBCallbacks<WebKit::WebData>::onSuccess( 248 void IndexedDBCallbacks<WebData>::onSuccess(
196 const WebKit::WebData& value, 249 const WebData& value,
197 const WebKit::WebIDBKey& primaryKey, 250 const WebKit::WebIDBKey& primaryKey,
198 const WebKit::WebIDBKeyPath& keyPath) { 251 const WebKit::WebIDBKeyPath& keyPath) {
199 dispatcher_host()->Send( 252 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessValueWithKey(
200 new IndexedDBMsg_CallbacksSuccessValueWithKey( 253 ipc_thread_id(),
201 ipc_thread_id(), ipc_callbacks_id(), 254 ipc_callbacks_id(),
202 std::vector<char>(value.data(), value.data() + value.size()), 255 std::vector<char>(value.data(), value.data() + value.size()),
203 IndexedDBKey(primaryKey), IndexedDBKeyPath(keyPath))); 256 IndexedDBKey(primaryKey),
257 IndexedDBKeyPath(keyPath)));
204 } 258 }
205 259
206 void IndexedDBCallbacks<WebKit::WebData>::onSuccess( 260 void IndexedDBCallbacks<WebData>::onSuccess(long long value) {
207 long long value) { 261 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessInteger(
208 dispatcher_host()->Send( 262 ipc_thread_id(), ipc_callbacks_id(), value));
209 new IndexedDBMsg_CallbacksSuccessInteger(ipc_thread_id(),
210 ipc_callbacks_id(),
211 value));
212 } 263 }
213 264
214 void IndexedDBCallbacks<WebKit::WebData>::onSuccess() { 265 void IndexedDBCallbacks<WebData>::onSuccess() {
215 dispatcher_host()->Send( 266 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessUndefined(
216 new IndexedDBMsg_CallbacksSuccessUndefined(ipc_thread_id(), 267 ipc_thread_id(), ipc_callbacks_id()));
217 ipc_callbacks_id()));
218 } 268 }
219 269
220 void IndexedDBCallbacks<WebKit::WebData>::onSuccess( 270 void IndexedDBCallbacks<WebData>::onSuccess(
221 const WebKit::WebIDBKey& value) { 271 const WebKit::WebIDBKey& value) {
222 dispatcher_host()->Send( 272 dispatcher_host()->Send(new IndexedDBMsg_CallbacksSuccessIndexedDBKey(
223 new IndexedDBMsg_CallbacksSuccessIndexedDBKey( 273 ipc_thread_id(), ipc_callbacks_id(), IndexedDBKey(value)));
224 ipc_thread_id(), ipc_callbacks_id(), IndexedDBKey(value)));
225 } 274 }
226 275
227 } // namespace content 276 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698