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

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

Issue 2172753002: [DevTools] No longer store security origins in ResourceTreeModel (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Extracted security origins from the ResourceTreeModel Created 4 years, 5 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
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 * @constructor 32 * @constructor
33 * @extends {WebInspector.SDKModel} 33 * @extends {WebInspector.SDKModel}
34 * @param {!WebInspector.Target} target
35 * @param {!WebInspector.SecurityOriginManager} securityOriginManager
34 */ 36 */
35 WebInspector.IndexedDBModel = function(target) 37 WebInspector.IndexedDBModel = function(target, securityOriginManager)
36 { 38 {
37 WebInspector.SDKModel.call(this, WebInspector.IndexedDBModel, target); 39 WebInspector.SDKModel.call(this, WebInspector.IndexedDBModel, target);
40 this._resourceTreeModel = securityOriginManager;
dgozman 2016/07/22 03:27:02 this._securityOriginManager
eostroukhov-old 2016/07/22 23:27:43 Done.
38 this._agent = target.indexedDBAgent(); 41 this._agent = target.indexedDBAgent();
39 42
40 /** @type {!Map.<!WebInspector.IndexedDBModel.DatabaseId, !WebInspector.Inde xedDBModel.Database>} */ 43 /** @type {!Map.<!WebInspector.IndexedDBModel.DatabaseId, !WebInspector.Inde xedDBModel.Database>} */
41 this._databases = new Map(); 44 this._databases = new Map();
42 /** @type {!Object.<string, !Array.<string>>} */ 45 /** @type {!Object.<string, !Array.<string>>} */
43 this._databaseNamesBySecurityOrigin = {}; 46 this._databaseNamesBySecurityOrigin = {};
44 } 47 }
45 48
46 WebInspector.IndexedDBModel.KeyTypes = { 49 WebInspector.IndexedDBModel.KeyTypes = {
47 NumberType: "number", 50 NumberType: "number",
48 StringType: "string", 51 StringType: "string",
49 DateType: "date", 52 DateType: "date",
50 ArrayType: "array" 53 ArrayType: "array"
51 }; 54 };
52 55
53 WebInspector.IndexedDBModel.KeyPathTypes = { 56 WebInspector.IndexedDBModel.KeyPathTypes = {
54 NullType: "null", 57 NullType: "null",
55 StringType: "string", 58 StringType: "string",
56 ArrayType: "array" 59 ArrayType: "array"
57 }; 60 };
58 61
59 /** 62 /**
60 * @param {*} idbKey 63 * @param {*} idbKey
61 * @return {?Object} 64 * @return {({
dgozman 2016/07/22 03:27:02 nit: most of these () are unnecessary.
eostroukhov-old 2016/07/22 23:27:43 Removing any of them gives compiler errors.
65 * array: (!Array<?>|undefined),
66 * date: (number|undefined),
67 * number: (number|undefined),
68 * string: (string|undefined),
69 * type: !IndexedDBAgent.KeyType<string>
70 * }|undefined)}
62 */ 71 */
63 WebInspector.IndexedDBModel.keyFromIDBKey = function(idbKey) 72 WebInspector.IndexedDBModel.keyFromIDBKey = function(idbKey)
64 { 73 {
65 if (typeof(idbKey) === "undefined" || idbKey === null) 74 if (typeof(idbKey) === "undefined" || idbKey === null)
66 return null; 75 return undefined;
67 76
77 var type;
68 var key = {}; 78 var key = {};
69 switch (typeof(idbKey)) { 79 switch (typeof(idbKey)) {
70 case "number": 80 case "number":
71 key.number = idbKey; 81 key.number = idbKey;
72 key.type = WebInspector.IndexedDBModel.KeyTypes.NumberType; 82 type = WebInspector.IndexedDBModel.KeyTypes.NumberType;
73 break; 83 break;
74 case "string": 84 case "string":
75 key.string = idbKey; 85 key.string = idbKey;
76 key.type = WebInspector.IndexedDBModel.KeyTypes.StringType; 86 type = WebInspector.IndexedDBModel.KeyTypes.StringType;
77 break; 87 break;
78 case "object": 88 case "object":
79 if (idbKey instanceof Date) { 89 if (idbKey instanceof Date) {
80 key.date = idbKey.getTime(); 90 key.date = idbKey.getTime();
81 key.type = WebInspector.IndexedDBModel.KeyTypes.DateType; 91 type = WebInspector.IndexedDBModel.KeyTypes.DateType;
82 } else if (Array.isArray(idbKey)) { 92 } else if (Array.isArray(idbKey)) {
83 key.array = []; 93 key.array = [];
84 for (var i = 0; i < idbKey.length; ++i) 94 for (var i = 0; i < idbKey.length; ++i)
85 key.array.push(WebInspector.IndexedDBModel.keyFromIDBKey(idbKey[ i])); 95 key.array.push(WebInspector.IndexedDBModel.keyFromIDBKey(idbKey[ i]));
86 key.type = WebInspector.IndexedDBModel.KeyTypes.ArrayType; 96 type = WebInspector.IndexedDBModel.KeyTypes.ArrayType;
87 } 97 }
88 break; 98 break;
89 default: 99 default:
90 return null; 100 return undefined;
91 } 101 }
102 key.type = /** @type {!IndexedDBAgent.KeyType<string>} */ (type);
92 return key; 103 return key;
93 } 104 }
94 105
95 /** 106 /**
96 * @param {?IDBKeyRange=} idbKeyRange 107 * @param {?IDBKeyRange=} idbKeyRange
97 * @return {?{lower: ?Object, upper: ?Object, lowerOpen: *, upperOpen: *}} 108 * @return {?IndexedDBAgent.KeyRange}
109 * eturn {?{lower: ?Object, upper: ?Object, lowerOpen: *, upperOpen: *}}
98 */ 110 */
99 WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange = function(idbKeyRange) 111 WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange = function(idbKeyRange)
100 { 112 {
101 if (typeof idbKeyRange === "undefined" || idbKeyRange === null) 113 if (typeof idbKeyRange === "undefined" || idbKeyRange === null)
102 return null; 114 return null;
103 115
104 var keyRange = {}; 116 var keyRange = {};
105 keyRange.lower = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.lower ); 117 keyRange.lower = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.lower );
106 keyRange.upper = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.upper ); 118 keyRange.upper = WebInspector.IndexedDBModel.keyFromIDBKey(idbKeyRange.upper );
107 keyRange.lowerOpen = idbKeyRange.lowerOpen; 119 keyRange.lowerOpen = !!idbKeyRange.lowerOpen;
108 keyRange.upperOpen = idbKeyRange.upperOpen; 120 keyRange.upperOpen = !!idbKeyRange.upperOpen;
109 return keyRange; 121 return keyRange;
110 } 122 }
111 123
112 /** 124 /**
113 * @param {!IndexedDBAgent.KeyPath} keyPath 125 * @param {!IndexedDBAgent.KeyPath} keyPath
114 * @return {?string|!Array.<string>|undefined} 126 * @return {?string|!Array.<string>|undefined}
115 */ 127 */
116 WebInspector.IndexedDBModel.idbKeyPathFromKeyPath = function(keyPath) 128 WebInspector.IndexedDBModel.idbKeyPathFromKeyPath = function(keyPath)
117 { 129 {
118 var idbKeyPath; 130 var idbKeyPath;
(...skipping 30 matching lines...) Expand all
149 DatabaseLoaded: "DatabaseLoaded" 161 DatabaseLoaded: "DatabaseLoaded"
150 } 162 }
151 163
152 WebInspector.IndexedDBModel.prototype = { 164 WebInspector.IndexedDBModel.prototype = {
153 enable: function() 165 enable: function()
154 { 166 {
155 if (this._enabled) 167 if (this._enabled)
156 return; 168 return;
157 169
158 this._agent.enable(); 170 this._agent.enable();
171 this._resourceTreeModel.addEventListener(WebInspector.SecurityOriginMana ger.EventTypes.SecurityOriginAdded, this._securityOriginAdded, this);
172 this._resourceTreeModel.addEventListener(WebInspector.SecurityOriginMana ger.EventTypes.SecurityOriginRemoved, this._securityOriginRemoved, this);
159 173
160 this.target().resourceTreeModel.addEventListener(WebInspector.ResourceTr eeModel.EventTypes.SecurityOriginAdded, this._securityOriginAdded, this); 174 var securityOrigins = this._resourceTreeModel.securityOrigins();
161 this.target().resourceTreeModel.addEventListener(WebInspector.ResourceTr eeModel.EventTypes.SecurityOriginRemoved, this._securityOriginRemoved, this);
162
163 var securityOrigins = this.target().resourceTreeModel.securityOrigins();
164 for (var i = 0; i < securityOrigins.length; ++i) 175 for (var i = 0; i < securityOrigins.length; ++i)
165 this._addOrigin(securityOrigins[i]); 176 this._addOrigin(securityOrigins[i]);
166 177
167 this._enabled = true; 178 this._enabled = true;
168 }, 179 },
169 180
170 /** 181 /**
171 * @param {string} origin 182 * @param {string} origin
172 */ 183 */
173 clearForOrigin: function(origin) 184 clearForOrigin: function(origin)
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 * @type {string} 535 * @type {string}
525 */ 536 */
526 get keyPathString() 537 get keyPathString()
527 { 538 {
528 return WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath(this.keyP ath); 539 return WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath(this.keyP ath);
529 } 540 }
530 } 541 }
531 542
532 /** 543 /**
533 * @param {!WebInspector.Target} target 544 * @param {!WebInspector.Target} target
534 * @return {?WebInspector.IndexedDBModel} 545 * @return {!WebInspector.IndexedDBModel}
535 */ 546 */
536 WebInspector.IndexedDBModel.fromTarget = function(target) 547 WebInspector.IndexedDBModel.fromTarget = function(target)
537 { 548 {
538 var model = /** @type {?WebInspector.IndexedDBModel} */ (target.model(WebIns pector.IndexedDBModel)); 549 var model = /** @type {?WebInspector.IndexedDBModel} */ (target.model(WebIns pector.IndexedDBModel));
539 if (!model) 550 if (!model) {
dgozman 2016/07/22 03:27:02 style: unnecessary {}
eostroukhov-old 2016/07/22 23:27:43 Done.
540 model = new WebInspector.IndexedDBModel(target); 551 model = new WebInspector.IndexedDBModel(target, WebInspector.SecurityOri ginManager.fromTarget(target));
552 }
541 return model; 553 return model;
542 } 554 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698