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

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

Powered by Google App Engine
This is Rietveld 408576698