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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/resources/IndexedDBModel.js

Issue 2493373002: DevTools: rename WebInspector into modules. (Closed)
Patch Set: for bots Created 4 years, 1 month 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 13 matching lines...) Expand all
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 /** 31 /**
32 * @unrestricted 32 * @unrestricted
33 */ 33 */
34 WebInspector.IndexedDBModel = class extends WebInspector.SDKModel { 34 Resources.IndexedDBModel = class extends SDK.SDKModel {
35 /** 35 /**
36 * @param {!WebInspector.Target} target 36 * @param {!SDK.Target} target
37 * @param {!WebInspector.SecurityOriginManager} securityOriginManager 37 * @param {!SDK.SecurityOriginManager} securityOriginManager
38 */ 38 */
39 constructor(target, securityOriginManager) { 39 constructor(target, securityOriginManager) {
40 super(WebInspector.IndexedDBModel, target); 40 super(Resources.IndexedDBModel, target);
41 this._securityOriginManager = securityOriginManager; 41 this._securityOriginManager = securityOriginManager;
42 this._agent = target.indexedDBAgent(); 42 this._agent = target.indexedDBAgent();
43 43
44 /** @type {!Map.<!WebInspector.IndexedDBModel.DatabaseId, !WebInspector.Inde xedDBModel.Database>} */ 44 /** @type {!Map.<!Resources.IndexedDBModel.DatabaseId, !Resources.IndexedDBM odel.Database>} */
45 this._databases = new Map(); 45 this._databases = new Map();
46 /** @type {!Object.<string, !Array.<string>>} */ 46 /** @type {!Object.<string, !Array.<string>>} */
47 this._databaseNamesBySecurityOrigin = {}; 47 this._databaseNamesBySecurityOrigin = {};
48 } 48 }
49 49
50 /** 50 /**
51 * @param {*} idbKey 51 * @param {*} idbKey
52 * @return {({ 52 * @return {({
53 * array: (!Array<?>|undefined), 53 * array: (!Array<?>|undefined),
54 * date: (number|undefined), 54 * date: (number|undefined),
55 * number: (number|undefined), 55 * number: (number|undefined),
56 * string: (string|undefined), 56 * string: (string|undefined),
57 * type: !Protocol.IndexedDB.KeyType<string> 57 * type: !Protocol.IndexedDB.KeyType<string>
58 * }|undefined)} 58 * }|undefined)}
59 */ 59 */
60 static keyFromIDBKey(idbKey) { 60 static keyFromIDBKey(idbKey) {
61 if (typeof(idbKey) === 'undefined' || idbKey === null) 61 if (typeof(idbKey) === 'undefined' || idbKey === null)
62 return undefined; 62 return undefined;
63 63
64 var type; 64 var type;
65 var key = {}; 65 var key = {};
66 switch (typeof(idbKey)) { 66 switch (typeof(idbKey)) {
67 case 'number': 67 case 'number':
68 key.number = idbKey; 68 key.number = idbKey;
69 type = WebInspector.IndexedDBModel.KeyTypes.NumberType; 69 type = Resources.IndexedDBModel.KeyTypes.NumberType;
70 break; 70 break;
71 case 'string': 71 case 'string':
72 key.string = idbKey; 72 key.string = idbKey;
73 type = WebInspector.IndexedDBModel.KeyTypes.StringType; 73 type = Resources.IndexedDBModel.KeyTypes.StringType;
74 break; 74 break;
75 case 'object': 75 case 'object':
76 if (idbKey instanceof Date) { 76 if (idbKey instanceof Date) {
77 key.date = idbKey.getTime(); 77 key.date = idbKey.getTime();
78 type = WebInspector.IndexedDBModel.KeyTypes.DateType; 78 type = Resources.IndexedDBModel.KeyTypes.DateType;
79 } else if (Array.isArray(idbKey)) { 79 } else if (Array.isArray(idbKey)) {
80 key.array = []; 80 key.array = [];
81 for (var i = 0; i < idbKey.length; ++i) 81 for (var i = 0; i < idbKey.length; ++i)
82 key.array.push(WebInspector.IndexedDBModel.keyFromIDBKey(idbKey[i])) ; 82 key.array.push(Resources.IndexedDBModel.keyFromIDBKey(idbKey[i]));
83 type = WebInspector.IndexedDBModel.KeyTypes.ArrayType; 83 type = Resources.IndexedDBModel.KeyTypes.ArrayType;
84 } 84 }
85 break; 85 break;
86 default: 86 default:
87 return undefined; 87 return undefined;
88 } 88 }
89 key.type = /** @type {!Protocol.IndexedDB.KeyType<string>} */ (type); 89 key.type = /** @type {!Protocol.IndexedDB.KeyType<string>} */ (type);
90 return key; 90 return key;
91 } 91 }
92 92
93 /** 93 /**
94 * @param {?IDBKeyRange=} idbKeyRange 94 * @param {?IDBKeyRange=} idbKeyRange
95 * @return {?Protocol.IndexedDB.KeyRange} 95 * @return {?Protocol.IndexedDB.KeyRange}
96 * eturn {?{lower: ?Object, upper: ?Object, lowerOpen: *, upperOpen: *}} 96 * eturn {?{lower: ?Object, upper: ?Object, lowerOpen: *, upperOpen: *}}
97 */ 97 */
98 static keyRangeFromIDBKeyRange(idbKeyRange) { 98 static keyRangeFromIDBKeyRange(idbKeyRange) {
99 if (typeof idbKeyRange === 'undefined' || idbKeyRange === null) 99 if (typeof idbKeyRange === 'undefined' || idbKeyRange === null)
100 return null; 100 return null;
101 101
102 var keyRange = {}; 102 var keyRange = {};
103 keyRange.lower = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.lower ); 103 keyRange.lower = Resources.IndexedDBModel.keyFromIDBKey(idbKeyRange.lower);
104 keyRange.upper = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.upper ); 104 keyRange.upper = Resources.IndexedDBModel.keyFromIDBKey(idbKeyRange.upper);
105 keyRange.lowerOpen = !!idbKeyRange.lowerOpen; 105 keyRange.lowerOpen = !!idbKeyRange.lowerOpen;
106 keyRange.upperOpen = !!idbKeyRange.upperOpen; 106 keyRange.upperOpen = !!idbKeyRange.upperOpen;
107 return keyRange; 107 return keyRange;
108 } 108 }
109 109
110 /** 110 /**
111 * @param {!Protocol.IndexedDB.KeyPath} keyPath 111 * @param {!Protocol.IndexedDB.KeyPath} keyPath
112 * @return {?string|!Array.<string>|undefined} 112 * @return {?string|!Array.<string>|undefined}
113 */ 113 */
114 static idbKeyPathFromKeyPath(keyPath) { 114 static idbKeyPathFromKeyPath(keyPath) {
115 var idbKeyPath; 115 var idbKeyPath;
116 switch (keyPath.type) { 116 switch (keyPath.type) {
117 case WebInspector.IndexedDBModel.KeyPathTypes.NullType: 117 case Resources.IndexedDBModel.KeyPathTypes.NullType:
118 idbKeyPath = null; 118 idbKeyPath = null;
119 break; 119 break;
120 case WebInspector.IndexedDBModel.KeyPathTypes.StringType: 120 case Resources.IndexedDBModel.KeyPathTypes.StringType:
121 idbKeyPath = keyPath.string; 121 idbKeyPath = keyPath.string;
122 break; 122 break;
123 case WebInspector.IndexedDBModel.KeyPathTypes.ArrayType: 123 case Resources.IndexedDBModel.KeyPathTypes.ArrayType:
124 idbKeyPath = keyPath.array; 124 idbKeyPath = keyPath.array;
125 break; 125 break;
126 } 126 }
127 return idbKeyPath; 127 return idbKeyPath;
128 } 128 }
129 129
130 /** 130 /**
131 * @param {?string|!Array.<string>|undefined} idbKeyPath 131 * @param {?string|!Array.<string>|undefined} idbKeyPath
132 * @return {?string} 132 * @return {?string}
133 */ 133 */
134 static keyPathStringFromIDBKeyPath(idbKeyPath) { 134 static keyPathStringFromIDBKeyPath(idbKeyPath) {
135 if (typeof idbKeyPath === 'string') 135 if (typeof idbKeyPath === 'string')
136 return '"' + idbKeyPath + '"'; 136 return '"' + idbKeyPath + '"';
137 if (idbKeyPath instanceof Array) 137 if (idbKeyPath instanceof Array)
138 return '["' + idbKeyPath.join('", "') + '"]'; 138 return '["' + idbKeyPath.join('", "') + '"]';
139 return null; 139 return null;
140 } 140 }
141 141
142 /** 142 /**
143 * @param {!WebInspector.Target} target 143 * @param {!SDK.Target} target
144 * @return {!WebInspector.IndexedDBModel} 144 * @return {!Resources.IndexedDBModel}
145 */ 145 */
146 static fromTarget(target) { 146 static fromTarget(target) {
147 var model = /** @type {?WebInspector.IndexedDBModel} */ (target.model(WebIns pector.IndexedDBModel)); 147 var model = /** @type {?Resources.IndexedDBModel} */ (target.model(Resources .IndexedDBModel));
148 if (!model) 148 if (!model)
149 model = new WebInspector.IndexedDBModel(target, WebInspector.SecurityOrigi nManager.fromTarget(target)); 149 model = new Resources.IndexedDBModel(target, SDK.SecurityOriginManager.fro mTarget(target));
150 return model; 150 return model;
151 } 151 }
152 152
153 enable() { 153 enable() {
154 if (this._enabled) 154 if (this._enabled)
155 return; 155 return;
156 156
157 this._agent.enable(); 157 this._agent.enable();
158 this._securityOriginManager.addEventListener( 158 this._securityOriginManager.addEventListener(
159 WebInspector.SecurityOriginManager.Events.SecurityOriginAdded, this._sec urityOriginAdded, this); 159 SDK.SecurityOriginManager.Events.SecurityOriginAdded, this._securityOrig inAdded, this);
160 this._securityOriginManager.addEventListener( 160 this._securityOriginManager.addEventListener(
161 WebInspector.SecurityOriginManager.Events.SecurityOriginRemoved, this._s ecurityOriginRemoved, this); 161 SDK.SecurityOriginManager.Events.SecurityOriginRemoved, this._securityOr iginRemoved, this);
162 162
163 for (var securityOrigin of this._securityOriginManager.securityOrigins()) 163 for (var securityOrigin of this._securityOriginManager.securityOrigins())
164 this._addOrigin(securityOrigin); 164 this._addOrigin(securityOrigin);
165 165
166 this._enabled = true; 166 this._enabled = true;
167 } 167 }
168 168
169 /** 169 /**
170 * @param {string} origin 170 * @param {string} origin
171 */ 171 */
172 clearForOrigin(origin) { 172 clearForOrigin(origin) {
173 if (!this._enabled) 173 if (!this._enabled)
174 return; 174 return;
175 175
176 this._removeOrigin(origin); 176 this._removeOrigin(origin);
177 this._addOrigin(origin); 177 this._addOrigin(origin);
178 } 178 }
179 179
180 refreshDatabaseNames() { 180 refreshDatabaseNames() {
181 for (var securityOrigin in this._databaseNamesBySecurityOrigin) 181 for (var securityOrigin in this._databaseNamesBySecurityOrigin)
182 this._loadDatabaseNames(securityOrigin); 182 this._loadDatabaseNames(securityOrigin);
183 } 183 }
184 184
185 /** 185 /**
186 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId 186 * @param {!Resources.IndexedDBModel.DatabaseId} databaseId
187 */ 187 */
188 refreshDatabase(databaseId) { 188 refreshDatabase(databaseId) {
189 this._loadDatabase(databaseId); 189 this._loadDatabase(databaseId);
190 } 190 }
191 191
192 /** 192 /**
193 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId 193 * @param {!Resources.IndexedDBModel.DatabaseId} databaseId
194 * @param {string} objectStoreName 194 * @param {string} objectStoreName
195 * @param {function()} callback 195 * @param {function()} callback
196 */ 196 */
197 clearObjectStore(databaseId, objectStoreName, callback) { 197 clearObjectStore(databaseId, objectStoreName, callback) {
198 this._agent.clearObjectStore(databaseId.securityOrigin, databaseId.name, obj ectStoreName, callback); 198 this._agent.clearObjectStore(databaseId.securityOrigin, databaseId.name, obj ectStoreName, callback);
199 } 199 }
200 200
201 /** 201 /**
202 * @param {!WebInspector.Event} event 202 * @param {!Common.Event} event
203 */ 203 */
204 _securityOriginAdded(event) { 204 _securityOriginAdded(event) {
205 var securityOrigin = /** @type {string} */ (event.data); 205 var securityOrigin = /** @type {string} */ (event.data);
206 this._addOrigin(securityOrigin); 206 this._addOrigin(securityOrigin);
207 } 207 }
208 208
209 /** 209 /**
210 * @param {!WebInspector.Event} event 210 * @param {!Common.Event} event
211 */ 211 */
212 _securityOriginRemoved(event) { 212 _securityOriginRemoved(event) {
213 var securityOrigin = /** @type {string} */ (event.data); 213 var securityOrigin = /** @type {string} */ (event.data);
214 this._removeOrigin(securityOrigin); 214 this._removeOrigin(securityOrigin);
215 } 215 }
216 216
217 /** 217 /**
218 * @param {string} securityOrigin 218 * @param {string} securityOrigin
219 */ 219 */
220 _addOrigin(securityOrigin) { 220 _addOrigin(securityOrigin) {
(...skipping 26 matching lines...) Expand all
247 if (!newDatabaseNames.has(databaseName)) 247 if (!newDatabaseNames.has(databaseName))
248 this._databaseRemoved(securityOrigin, databaseName); 248 this._databaseRemoved(securityOrigin, databaseName);
249 } 249 }
250 for (var databaseName of newDatabaseNames) { 250 for (var databaseName of newDatabaseNames) {
251 if (!oldDatabaseNames.has(databaseName)) 251 if (!oldDatabaseNames.has(databaseName))
252 this._databaseAdded(securityOrigin, databaseName); 252 this._databaseAdded(securityOrigin, databaseName);
253 } 253 }
254 } 254 }
255 255
256 /** 256 /**
257 * @return {!Array.<!WebInspector.IndexedDBModel.DatabaseId>} 257 * @return {!Array.<!Resources.IndexedDBModel.DatabaseId>}
258 */ 258 */
259 databases() { 259 databases() {
260 var result = []; 260 var result = [];
261 for (var securityOrigin in this._databaseNamesBySecurityOrigin) { 261 for (var securityOrigin in this._databaseNamesBySecurityOrigin) {
262 var databaseNames = this._databaseNamesBySecurityOrigin[securityOrigin]; 262 var databaseNames = this._databaseNamesBySecurityOrigin[securityOrigin];
263 for (var i = 0; i < databaseNames.length; ++i) { 263 for (var i = 0; i < databaseNames.length; ++i) {
264 result.push(new WebInspector.IndexedDBModel.DatabaseId(securityOrigin, d atabaseNames[i])); 264 result.push(new Resources.IndexedDBModel.DatabaseId(securityOrigin, data baseNames[i]));
265 } 265 }
266 } 266 }
267 return result; 267 return result;
268 } 268 }
269 269
270 /** 270 /**
271 * @param {string} securityOrigin 271 * @param {string} securityOrigin
272 * @param {string} databaseName 272 * @param {string} databaseName
273 */ 273 */
274 _databaseAdded(securityOrigin, databaseName) { 274 _databaseAdded(securityOrigin, databaseName) {
275 var databaseId = new WebInspector.IndexedDBModel.DatabaseId(securityOrigin, databaseName); 275 var databaseId = new Resources.IndexedDBModel.DatabaseId(securityOrigin, dat abaseName);
276 this.dispatchEventToListeners(WebInspector.IndexedDBModel.Events.DatabaseAdd ed, databaseId); 276 this.dispatchEventToListeners(Resources.IndexedDBModel.Events.DatabaseAdded, databaseId);
277 } 277 }
278 278
279 /** 279 /**
280 * @param {string} securityOrigin 280 * @param {string} securityOrigin
281 * @param {string} databaseName 281 * @param {string} databaseName
282 */ 282 */
283 _databaseRemoved(securityOrigin, databaseName) { 283 _databaseRemoved(securityOrigin, databaseName) {
284 var databaseId = new WebInspector.IndexedDBModel.DatabaseId(securityOrigin, databaseName); 284 var databaseId = new Resources.IndexedDBModel.DatabaseId(securityOrigin, dat abaseName);
285 this.dispatchEventToListeners(WebInspector.IndexedDBModel.Events.DatabaseRem oved, databaseId); 285 this.dispatchEventToListeners(Resources.IndexedDBModel.Events.DatabaseRemove d, databaseId);
286 } 286 }
287 287
288 /** 288 /**
289 * @param {string} securityOrigin 289 * @param {string} securityOrigin
290 */ 290 */
291 _loadDatabaseNames(securityOrigin) { 291 _loadDatabaseNames(securityOrigin) {
292 /** 292 /**
293 * @param {?Protocol.Error} error 293 * @param {?Protocol.Error} error
294 * @param {!Array.<string>} databaseNames 294 * @param {!Array.<string>} databaseNames
295 * @this {WebInspector.IndexedDBModel} 295 * @this {Resources.IndexedDBModel}
296 */ 296 */
297 function callback(error, databaseNames) { 297 function callback(error, databaseNames) {
298 if (error) { 298 if (error) {
299 console.error('IndexedDBAgent error: ' + error); 299 console.error('IndexedDBAgent error: ' + error);
300 return; 300 return;
301 } 301 }
302 302
303 if (!this._databaseNamesBySecurityOrigin[securityOrigin]) 303 if (!this._databaseNamesBySecurityOrigin[securityOrigin])
304 return; 304 return;
305 this._updateOriginDatabaseNames(securityOrigin, databaseNames); 305 this._updateOriginDatabaseNames(securityOrigin, databaseNames);
306 } 306 }
307 307
308 this._agent.requestDatabaseNames(securityOrigin, callback.bind(this)); 308 this._agent.requestDatabaseNames(securityOrigin, callback.bind(this));
309 } 309 }
310 310
311 /** 311 /**
312 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId 312 * @param {!Resources.IndexedDBModel.DatabaseId} databaseId
313 */ 313 */
314 _loadDatabase(databaseId) { 314 _loadDatabase(databaseId) {
315 /** 315 /**
316 * @param {?Protocol.Error} error 316 * @param {?Protocol.Error} error
317 * @param {!Protocol.IndexedDB.DatabaseWithObjectStores} databaseWithObjectS tores 317 * @param {!Protocol.IndexedDB.DatabaseWithObjectStores} databaseWithObjectS tores
318 * @this {WebInspector.IndexedDBModel} 318 * @this {Resources.IndexedDBModel}
319 */ 319 */
320 function callback(error, databaseWithObjectStores) { 320 function callback(error, databaseWithObjectStores) {
321 if (error) { 321 if (error) {
322 console.error('IndexedDBAgent error: ' + error); 322 console.error('IndexedDBAgent error: ' + error);
323 return; 323 return;
324 } 324 }
325 325
326 if (!this._databaseNamesBySecurityOrigin[databaseId.securityOrigin]) 326 if (!this._databaseNamesBySecurityOrigin[databaseId.securityOrigin])
327 return; 327 return;
328 var databaseModel = new WebInspector.IndexedDBModel.Database(databaseId, d atabaseWithObjectStores.version); 328 var databaseModel = new Resources.IndexedDBModel.Database(databaseId, data baseWithObjectStores.version);
329 this._databases.set(databaseId, databaseModel); 329 this._databases.set(databaseId, databaseModel);
330 for (var i = 0; i < databaseWithObjectStores.objectStores.length; ++i) { 330 for (var i = 0; i < databaseWithObjectStores.objectStores.length; ++i) {
331 var objectStore = databaseWithObjectStores.objectStores[i]; 331 var objectStore = databaseWithObjectStores.objectStores[i];
332 var objectStoreIDBKeyPath = WebInspector.IndexedDBModel.idbKeyPathFromKe yPath(objectStore.keyPath); 332 var objectStoreIDBKeyPath = Resources.IndexedDBModel.idbKeyPathFromKeyPa th(objectStore.keyPath);
333 var objectStoreModel = new WebInspector.IndexedDBModel.ObjectStore( 333 var objectStoreModel = new Resources.IndexedDBModel.ObjectStore(
334 objectStore.name, objectStoreIDBKeyPath, objectStore.autoIncrement); 334 objectStore.name, objectStoreIDBKeyPath, objectStore.autoIncrement);
335 for (var j = 0; j < objectStore.indexes.length; ++j) { 335 for (var j = 0; j < objectStore.indexes.length; ++j) {
336 var index = objectStore.indexes[j]; 336 var index = objectStore.indexes[j];
337 var indexIDBKeyPath = WebInspector.IndexedDBModel.idbKeyPathFromKeyPat h(index.keyPath); 337 var indexIDBKeyPath = Resources.IndexedDBModel.idbKeyPathFromKeyPath(i ndex.keyPath);
338 var indexModel = 338 var indexModel =
339 new WebInspector.IndexedDBModel.Index(index.name, indexIDBKeyPath, index.unique, index.multiEntry); 339 new Resources.IndexedDBModel.Index(index.name, indexIDBKeyPath, in dex.unique, index.multiEntry);
340 objectStoreModel.indexes[indexModel.name] = indexModel; 340 objectStoreModel.indexes[indexModel.name] = indexModel;
341 } 341 }
342 databaseModel.objectStores[objectStoreModel.name] = objectStoreModel; 342 databaseModel.objectStores[objectStoreModel.name] = objectStoreModel;
343 } 343 }
344 344
345 this.dispatchEventToListeners(WebInspector.IndexedDBModel.Events.DatabaseL oaded, databaseModel); 345 this.dispatchEventToListeners(Resources.IndexedDBModel.Events.DatabaseLoad ed, databaseModel);
346 } 346 }
347 347
348 this._agent.requestDatabase(databaseId.securityOrigin, databaseId.name, call back.bind(this)); 348 this._agent.requestDatabase(databaseId.securityOrigin, databaseId.name, call back.bind(this));
349 } 349 }
350 350
351 /** 351 /**
352 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId 352 * @param {!Resources.IndexedDBModel.DatabaseId} databaseId
353 * @param {string} objectStoreName 353 * @param {string} objectStoreName
354 * @param {?IDBKeyRange} idbKeyRange 354 * @param {?IDBKeyRange} idbKeyRange
355 * @param {number} skipCount 355 * @param {number} skipCount
356 * @param {number} pageSize 356 * @param {number} pageSize
357 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} cal lback 357 * @param {function(!Array.<!Resources.IndexedDBModel.Entry>, boolean)} callba ck
358 */ 358 */
359 loadObjectStoreData(databaseId, objectStoreName, idbKeyRange, skipCount, pageS ize, callback) { 359 loadObjectStoreData(databaseId, objectStoreName, idbKeyRange, skipCount, pageS ize, callback) {
360 this._requestData(databaseId, databaseId.name, objectStoreName, '', idbKeyRa nge, skipCount, pageSize, callback); 360 this._requestData(databaseId, databaseId.name, objectStoreName, '', idbKeyRa nge, skipCount, pageSize, callback);
361 } 361 }
362 362
363 /** 363 /**
364 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId 364 * @param {!Resources.IndexedDBModel.DatabaseId} databaseId
365 * @param {string} objectStoreName 365 * @param {string} objectStoreName
366 * @param {string} indexName 366 * @param {string} indexName
367 * @param {?IDBKeyRange} idbKeyRange 367 * @param {?IDBKeyRange} idbKeyRange
368 * @param {number} skipCount 368 * @param {number} skipCount
369 * @param {number} pageSize 369 * @param {number} pageSize
370 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} cal lback 370 * @param {function(!Array.<!Resources.IndexedDBModel.Entry>, boolean)} callba ck
371 */ 371 */
372 loadIndexData(databaseId, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback) { 372 loadIndexData(databaseId, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback) {
373 this._requestData( 373 this._requestData(
374 databaseId, databaseId.name, objectStoreName, indexName, idbKeyRange, sk ipCount, pageSize, callback); 374 databaseId, databaseId.name, objectStoreName, indexName, idbKeyRange, sk ipCount, pageSize, callback);
375 } 375 }
376 376
377 /** 377 /**
378 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId 378 * @param {!Resources.IndexedDBModel.DatabaseId} databaseId
379 * @param {string} databaseName 379 * @param {string} databaseName
380 * @param {string} objectStoreName 380 * @param {string} objectStoreName
381 * @param {string} indexName 381 * @param {string} indexName
382 * @param {?IDBKeyRange} idbKeyRange 382 * @param {?IDBKeyRange} idbKeyRange
383 * @param {number} skipCount 383 * @param {number} skipCount
384 * @param {number} pageSize 384 * @param {number} pageSize
385 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} cal lback 385 * @param {function(!Array.<!Resources.IndexedDBModel.Entry>, boolean)} callba ck
386 */ 386 */
387 _requestData(databaseId, databaseName, objectStoreName, indexName, idbKeyRange , skipCount, pageSize, callback) { 387 _requestData(databaseId, databaseName, objectStoreName, indexName, idbKeyRange , skipCount, pageSize, callback) {
388 /** 388 /**
389 * @param {?Protocol.Error} error 389 * @param {?Protocol.Error} error
390 * @param {!Array.<!Protocol.IndexedDB.DataEntry>} dataEntries 390 * @param {!Array.<!Protocol.IndexedDB.DataEntry>} dataEntries
391 * @param {boolean} hasMore 391 * @param {boolean} hasMore
392 * @this {WebInspector.IndexedDBModel} 392 * @this {Resources.IndexedDBModel}
393 */ 393 */
394 function innerCallback(error, dataEntries, hasMore) { 394 function innerCallback(error, dataEntries, hasMore) {
395 if (error) { 395 if (error) {
396 console.error('IndexedDBAgent error: ' + error); 396 console.error('IndexedDBAgent error: ' + error);
397 return; 397 return;
398 } 398 }
399 399
400 if (!this._databaseNamesBySecurityOrigin[databaseId.securityOrigin]) 400 if (!this._databaseNamesBySecurityOrigin[databaseId.securityOrigin])
401 return; 401 return;
402 var entries = []; 402 var entries = [];
403 for (var i = 0; i < dataEntries.length; ++i) { 403 for (var i = 0; i < dataEntries.length; ++i) {
404 var key = this.target().runtimeModel.createRemoteObject(dataEntries[i].k ey); 404 var key = this.target().runtimeModel.createRemoteObject(dataEntries[i].k ey);
405 var primaryKey = this.target().runtimeModel.createRemoteObject(dataEntri es[i].primaryKey); 405 var primaryKey = this.target().runtimeModel.createRemoteObject(dataEntri es[i].primaryKey);
406 var value = this.target().runtimeModel.createRemoteObject(dataEntries[i] .value); 406 var value = this.target().runtimeModel.createRemoteObject(dataEntries[i] .value);
407 entries.push(new WebInspector.IndexedDBModel.Entry(key, primaryKey, valu e)); 407 entries.push(new Resources.IndexedDBModel.Entry(key, primaryKey, value)) ;
408 } 408 }
409 callback(entries, hasMore); 409 callback(entries, hasMore);
410 } 410 }
411 411
412 var keyRange = WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange(idbKeyRan ge); 412 var keyRange = Resources.IndexedDBModel.keyRangeFromIDBKeyRange(idbKeyRange) ;
413 this._agent.requestData( 413 this._agent.requestData(
414 databaseId.securityOrigin, databaseName, objectStoreName, indexName, ski pCount, pageSize, 414 databaseId.securityOrigin, databaseName, objectStoreName, indexName, ski pCount, pageSize,
415 keyRange ? keyRange : undefined, innerCallback.bind(this)); 415 keyRange ? keyRange : undefined, innerCallback.bind(this));
416 } 416 }
417 }; 417 };
418 418
419 WebInspector.IndexedDBModel.KeyTypes = { 419 Resources.IndexedDBModel.KeyTypes = {
420 NumberType: 'number', 420 NumberType: 'number',
421 StringType: 'string', 421 StringType: 'string',
422 DateType: 'date', 422 DateType: 'date',
423 ArrayType: 'array' 423 ArrayType: 'array'
424 }; 424 };
425 425
426 WebInspector.IndexedDBModel.KeyPathTypes = { 426 Resources.IndexedDBModel.KeyPathTypes = {
427 NullType: 'null', 427 NullType: 'null',
428 StringType: 'string', 428 StringType: 'string',
429 ArrayType: 'array' 429 ArrayType: 'array'
430 }; 430 };
431 431
432 432
433 /** @enum {symbol} */ 433 /** @enum {symbol} */
434 WebInspector.IndexedDBModel.Events = { 434 Resources.IndexedDBModel.Events = {
435 DatabaseAdded: Symbol('DatabaseAdded'), 435 DatabaseAdded: Symbol('DatabaseAdded'),
436 DatabaseRemoved: Symbol('DatabaseRemoved'), 436 DatabaseRemoved: Symbol('DatabaseRemoved'),
437 DatabaseLoaded: Symbol('DatabaseLoaded') 437 DatabaseLoaded: Symbol('DatabaseLoaded')
438 }; 438 };
439 439
440 /** 440 /**
441 * @unrestricted 441 * @unrestricted
442 */ 442 */
443 WebInspector.IndexedDBModel.Entry = class { 443 Resources.IndexedDBModel.Entry = class {
444 /** 444 /**
445 * @param {!WebInspector.RemoteObject} key 445 * @param {!SDK.RemoteObject} key
446 * @param {!WebInspector.RemoteObject} primaryKey 446 * @param {!SDK.RemoteObject} primaryKey
447 * @param {!WebInspector.RemoteObject} value 447 * @param {!SDK.RemoteObject} value
448 */ 448 */
449 constructor(key, primaryKey, value) { 449 constructor(key, primaryKey, value) {
450 this.key = key; 450 this.key = key;
451 this.primaryKey = primaryKey; 451 this.primaryKey = primaryKey;
452 this.value = value; 452 this.value = value;
453 } 453 }
454 }; 454 };
455 455
456 /** 456 /**
457 * @unrestricted 457 * @unrestricted
458 */ 458 */
459 WebInspector.IndexedDBModel.DatabaseId = class { 459 Resources.IndexedDBModel.DatabaseId = class {
460 /** 460 /**
461 * @param {string} securityOrigin 461 * @param {string} securityOrigin
462 * @param {string} name 462 * @param {string} name
463 */ 463 */
464 constructor(securityOrigin, name) { 464 constructor(securityOrigin, name) {
465 this.securityOrigin = securityOrigin; 465 this.securityOrigin = securityOrigin;
466 this.name = name; 466 this.name = name;
467 } 467 }
468 468
469 /** 469 /**
470 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId 470 * @param {!Resources.IndexedDBModel.DatabaseId} databaseId
471 * @return {boolean} 471 * @return {boolean}
472 */ 472 */
473 equals(databaseId) { 473 equals(databaseId) {
474 return this.name === databaseId.name && this.securityOrigin === databaseId.s ecurityOrigin; 474 return this.name === databaseId.name && this.securityOrigin === databaseId.s ecurityOrigin;
475 } 475 }
476 }; 476 };
477 477
478 /** 478 /**
479 * @unrestricted 479 * @unrestricted
480 */ 480 */
481 WebInspector.IndexedDBModel.Database = class { 481 Resources.IndexedDBModel.Database = class {
482 /** 482 /**
483 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId 483 * @param {!Resources.IndexedDBModel.DatabaseId} databaseId
484 * @param {number} version 484 * @param {number} version
485 */ 485 */
486 constructor(databaseId, version) { 486 constructor(databaseId, version) {
487 this.databaseId = databaseId; 487 this.databaseId = databaseId;
488 this.version = version; 488 this.version = version;
489 this.objectStores = {}; 489 this.objectStores = {};
490 } 490 }
491 }; 491 };
492 492
493 /** 493 /**
494 * @unrestricted 494 * @unrestricted
495 */ 495 */
496 WebInspector.IndexedDBModel.ObjectStore = class { 496 Resources.IndexedDBModel.ObjectStore = class {
497 /** 497 /**
498 * @param {string} name 498 * @param {string} name
499 * @param {*} keyPath 499 * @param {*} keyPath
500 * @param {boolean} autoIncrement 500 * @param {boolean} autoIncrement
501 */ 501 */
502 constructor(name, keyPath, autoIncrement) { 502 constructor(name, keyPath, autoIncrement) {
503 this.name = name; 503 this.name = name;
504 this.keyPath = keyPath; 504 this.keyPath = keyPath;
505 this.autoIncrement = autoIncrement; 505 this.autoIncrement = autoIncrement;
506 this.indexes = {}; 506 this.indexes = {};
507 } 507 }
508 508
509 /** 509 /**
510 * @return {string} 510 * @return {string}
511 */ 511 */
512 get keyPathString() { 512 get keyPathString() {
513 return /** @type {string}*/ ( 513 return /** @type {string}*/ (
514 WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath(/** @type {strin g}*/ (this.keyPath))); 514 Resources.IndexedDBModel.keyPathStringFromIDBKeyPath(/** @type {string}* / (this.keyPath)));
515 } 515 }
516 }; 516 };
517 517
518 /** 518 /**
519 * @unrestricted 519 * @unrestricted
520 */ 520 */
521 WebInspector.IndexedDBModel.Index = class { 521 Resources.IndexedDBModel.Index = class {
522 /** 522 /**
523 * @param {string} name 523 * @param {string} name
524 * @param {*} keyPath 524 * @param {*} keyPath
525 * @param {boolean} unique 525 * @param {boolean} unique
526 * @param {boolean} multiEntry 526 * @param {boolean} multiEntry
527 */ 527 */
528 constructor(name, keyPath, unique, multiEntry) { 528 constructor(name, keyPath, unique, multiEntry) {
529 this.name = name; 529 this.name = name;
530 this.keyPath = keyPath; 530 this.keyPath = keyPath;
531 this.unique = unique; 531 this.unique = unique;
532 this.multiEntry = multiEntry; 532 this.multiEntry = multiEntry;
533 } 533 }
534 534
535 /** 535 /**
536 * @return {string} 536 * @return {string}
537 */ 537 */
538 get keyPathString() { 538 get keyPathString() {
539 return /** @type {string}*/ ( 539 return /** @type {string}*/ (
540 WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath(/** @type {strin g}*/ (this.keyPath))); 540 Resources.IndexedDBModel.keyPathStringFromIDBKeyPath(/** @type {string}* / (this.keyPath)));
541 } 541 }
542 }; 542 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698