Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 54 DateType: "date", | 54 DateType: "date", |
| 55 ArrayType: "array" | 55 ArrayType: "array" |
| 56 }; | 56 }; |
| 57 | 57 |
| 58 WebInspector.IndexedDBModel.KeyPathTypes = { | 58 WebInspector.IndexedDBModel.KeyPathTypes = { |
| 59 NullType: "null", | 59 NullType: "null", |
| 60 StringType: "string", | 60 StringType: "string", |
| 61 ArrayType: "array" | 61 ArrayType: "array" |
| 62 }; | 62 }; |
| 63 | 63 |
| 64 /** | |
| 65 * @param {*} idbKey | |
| 66 * @return {?Object} | |
| 67 */ | |
| 64 WebInspector.IndexedDBModel.keyFromIDBKey = function(idbKey) | 68 WebInspector.IndexedDBModel.keyFromIDBKey = function(idbKey) |
| 65 { | 69 { |
| 66 if (typeof(idbKey) === "undefined" || idbKey === null) | 70 if (typeof(idbKey) === "undefined" || idbKey === null) |
| 67 return null; | 71 return null; |
| 68 | 72 |
| 69 var key = {}; | 73 var key = {}; |
| 70 switch (typeof(idbKey)) { | 74 switch (typeof(idbKey)) { |
| 71 case "number": | 75 case "number": |
| 72 key.number = idbKey; | 76 key.number = idbKey; |
| 73 key.type = WebInspector.IndexedDBModel.KeyTypes.NumberType; | 77 key.type = WebInspector.IndexedDBModel.KeyTypes.NumberType; |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 86 key.array.push(WebInspector.IndexedDBModel.keyFromIDBKey(idbKey[ i])); | 90 key.array.push(WebInspector.IndexedDBModel.keyFromIDBKey(idbKey[ i])); |
| 87 key.type = WebInspector.IndexedDBModel.KeyTypes.ArrayType; | 91 key.type = WebInspector.IndexedDBModel.KeyTypes.ArrayType; |
| 88 } | 92 } |
| 89 break; | 93 break; |
| 90 default: | 94 default: |
| 91 return null; | 95 return null; |
| 92 } | 96 } |
| 93 return key; | 97 return key; |
| 94 } | 98 } |
| 95 | 99 |
| 100 /** | |
| 101 * @param {?IDBKeyRange=} idbKeyRange | |
| 102 * @return {?{lower: ?Object, upper: ?Object, lowerOpen: *, upperOpen: *}} | |
| 103 */ | |
| 96 WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange = function(idbKeyRange) | 104 WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange = function(idbKeyRange) |
| 97 { | 105 { |
| 98 var IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange; | |
| 99 if (typeof(idbKeyRange) === "undefined" || idbKeyRange === null) | 106 if (typeof(idbKeyRange) === "undefined" || idbKeyRange === null) |
|
aandrey
2014/06/17 20:58:37
typeof idbKeyRange
apavlov
2014/06/18 07:55:13
Done.
| |
| 100 return null; | 107 return null; |
| 101 | 108 |
| 102 var keyRange = {}; | 109 var keyRange = {}; |
| 103 keyRange.lower = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.lower ); | 110 keyRange.lower = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.lower ); |
| 104 keyRange.upper = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.upper ); | 111 keyRange.upper = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.upper ); |
| 105 keyRange.lowerOpen = idbKeyRange.lowerOpen; | 112 keyRange.lowerOpen = idbKeyRange.lowerOpen; |
| 106 keyRange.upperOpen = idbKeyRange.upperOpen; | 113 keyRange.upperOpen = idbKeyRange.upperOpen; |
| 107 return keyRange; | 114 return keyRange; |
| 108 } | 115 } |
| 109 | 116 |
| 110 /** | 117 /** |
| 111 * @param {!IndexedDBAgent.KeyPath} keyPath | 118 * @param {!IndexedDBAgent.KeyPath} keyPath |
| 119 * @return {?string|!Array.<string>|undefined} | |
| 112 */ | 120 */ |
| 113 WebInspector.IndexedDBModel.idbKeyPathFromKeyPath = function(keyPath) | 121 WebInspector.IndexedDBModel.idbKeyPathFromKeyPath = function(keyPath) |
| 114 { | 122 { |
| 115 var idbKeyPath; | 123 var idbKeyPath; |
| 116 switch (keyPath.type) { | 124 switch (keyPath.type) { |
| 117 case WebInspector.IndexedDBModel.KeyPathTypes.NullType: | 125 case WebInspector.IndexedDBModel.KeyPathTypes.NullType: |
| 118 idbKeyPath = null; | 126 idbKeyPath = null; |
| 119 break; | 127 break; |
| 120 case WebInspector.IndexedDBModel.KeyPathTypes.StringType: | 128 case WebInspector.IndexedDBModel.KeyPathTypes.StringType: |
| 121 idbKeyPath = keyPath.string; | 129 idbKeyPath = keyPath.string; |
| 122 break; | 130 break; |
| 123 case WebInspector.IndexedDBModel.KeyPathTypes.ArrayType: | 131 case WebInspector.IndexedDBModel.KeyPathTypes.ArrayType: |
| 124 idbKeyPath = keyPath.array; | 132 idbKeyPath = keyPath.array; |
| 125 break; | 133 break; |
| 126 } | 134 } |
| 127 return idbKeyPath; | 135 return idbKeyPath; |
| 128 } | 136 } |
| 129 | 137 |
| 138 /** | |
| 139 * @param {?string|!Array.<string>|undefined} idbKeyPath | |
| 140 * @return {?string} | |
| 141 */ | |
| 130 WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath = function(idbKeyPath) | 142 WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath = function(idbKeyPath) |
| 131 { | 143 { |
| 132 if (typeof idbKeyPath === "string") | 144 if (typeof idbKeyPath === "string") |
| 133 return "\"" + idbKeyPath + "\""; | 145 return "\"" + idbKeyPath + "\""; |
| 134 if (idbKeyPath instanceof Array) | 146 if (idbKeyPath instanceof Array) |
| 135 return "[\"" + idbKeyPath.join("\", \"") + "\"]"; | 147 return "[\"" + idbKeyPath.join("\", \"") + "\"]"; |
| 136 return null; | 148 return null; |
| 137 } | 149 } |
| 138 | 150 |
| 139 WebInspector.IndexedDBModel.EventTypes = { | 151 WebInspector.IndexedDBModel.EventTypes = { |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 321 | 333 |
| 322 this.dispatchEventToListeners(WebInspector.IndexedDBModel.EventTypes .DatabaseLoaded, databaseModel); | 334 this.dispatchEventToListeners(WebInspector.IndexedDBModel.EventTypes .DatabaseLoaded, databaseModel); |
| 323 } | 335 } |
| 324 | 336 |
| 325 this._agent.requestDatabase(databaseId.securityOrigin, databaseId.name, callback.bind(this)); | 337 this._agent.requestDatabase(databaseId.securityOrigin, databaseId.name, callback.bind(this)); |
| 326 }, | 338 }, |
| 327 | 339 |
| 328 /** | 340 /** |
| 329 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId | 341 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId |
| 330 * @param {string} objectStoreName | 342 * @param {string} objectStoreName |
| 331 * @param {webkitIDBKeyRange} idbKeyRange | 343 * @param {?IDBKeyRange} idbKeyRange |
| 332 * @param {number} skipCount | 344 * @param {number} skipCount |
| 333 * @param {number} pageSize | 345 * @param {number} pageSize |
| 334 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} c allback | 346 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} c allback |
| 335 */ | 347 */ |
| 336 loadObjectStoreData: function(databaseId, objectStoreName, idbKeyRange, skip Count, pageSize, callback) | 348 loadObjectStoreData: function(databaseId, objectStoreName, idbKeyRange, skip Count, pageSize, callback) |
| 337 { | 349 { |
| 338 this._requestData(databaseId, databaseId.name, objectStoreName, "", idbK eyRange, skipCount, pageSize, callback); | 350 this._requestData(databaseId, databaseId.name, objectStoreName, "", idbK eyRange, skipCount, pageSize, callback); |
| 339 }, | 351 }, |
| 340 | 352 |
| 341 /** | 353 /** |
| 342 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId | 354 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId |
| 343 * @param {string} objectStoreName | 355 * @param {string} objectStoreName |
| 344 * @param {string} indexName | 356 * @param {string} indexName |
| 345 * @param {webkitIDBKeyRange} idbKeyRange | 357 * @param {?IDBKeyRange} idbKeyRange |
| 346 * @param {number} skipCount | 358 * @param {number} skipCount |
| 347 * @param {number} pageSize | 359 * @param {number} pageSize |
| 348 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} c allback | 360 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} c allback |
| 349 */ | 361 */ |
| 350 loadIndexData: function(databaseId, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback) | 362 loadIndexData: function(databaseId, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback) |
| 351 { | 363 { |
| 352 this._requestData(databaseId, databaseId.name, objectStoreName, indexNam e, idbKeyRange, skipCount, pageSize, callback); | 364 this._requestData(databaseId, databaseId.name, objectStoreName, indexNam e, idbKeyRange, skipCount, pageSize, callback); |
| 353 }, | 365 }, |
| 354 | 366 |
| 355 /** | 367 /** |
| 356 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId | 368 * @param {!WebInspector.IndexedDBModel.DatabaseId} databaseId |
| 357 * @param {string} databaseName | 369 * @param {string} databaseName |
| 358 * @param {string} objectStoreName | 370 * @param {string} objectStoreName |
| 359 * @param {string} indexName | 371 * @param {string} indexName |
| 360 * @param {webkitIDBKeyRange} idbKeyRange | 372 * @param {?IDBKeyRange} idbKeyRange |
| 361 * @param {number} skipCount | 373 * @param {number} skipCount |
| 362 * @param {number} pageSize | 374 * @param {number} pageSize |
| 363 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} c allback | 375 * @param {function(!Array.<!WebInspector.IndexedDBModel.Entry>, boolean)} c allback |
| 364 */ | 376 */ |
| 365 _requestData: function(databaseId, databaseName, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback) | 377 _requestData: function(databaseId, databaseName, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback) |
| 366 { | 378 { |
| 367 /** | 379 /** |
| 368 * @param {?Protocol.Error} error | 380 * @param {?Protocol.Error} error |
| 369 * @param {!Array.<!IndexedDBAgent.DataEntry>} dataEntries | 381 * @param {!Array.<!IndexedDBAgent.DataEntry>} dataEntries |
| 370 * @param {boolean} hasMore | 382 * @param {boolean} hasMore |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 485 | 497 |
| 486 WebInspector.IndexedDBModel.Index.prototype = { | 498 WebInspector.IndexedDBModel.Index.prototype = { |
| 487 /** | 499 /** |
| 488 * @type {string} | 500 * @type {string} |
| 489 */ | 501 */ |
| 490 get keyPathString() | 502 get keyPathString() |
| 491 { | 503 { |
| 492 return WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath(this.keyP ath); | 504 return WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath(this.keyP ath); |
| 493 } | 505 } |
| 494 } | 506 } |
| OLD | NEW |