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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/persistence/Automapping.js

Issue 2784733002: DevTools: prepare tests for Persistence2.0 release (Closed)
Patch Set: address comments + three special tests Created 3 years, 8 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 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 * @unrestricted 5 * @unrestricted
6 */ 6 */
7 Persistence.Automapping = class { 7 Persistence.Automapping = class {
8 /** 8 /**
9 * @param {!Workspace.Workspace} workspace 9 * @param {!Workspace.Workspace} workspace
10 * @param {function(!Persistence.PersistenceBinding)} onBindingCreated 10 * @param {function(!Persistence.PersistenceBinding)} onBindingCreated
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 networkSourceCode[Persistence.Automapping._processingPromise] = createBindin gPromise; 142 networkSourceCode[Persistence.Automapping._processingPromise] = createBindin gPromise;
143 143
144 /** 144 /**
145 * @param {?Persistence.PersistenceBinding} binding 145 * @param {?Persistence.PersistenceBinding} binding
146 * @this {Persistence.Automapping} 146 * @this {Persistence.Automapping}
147 */ 147 */
148 function onBinding(binding) { 148 function onBinding(binding) {
149 if (networkSourceCode[Persistence.Automapping._processingPromise] !== crea teBindingPromise) 149 if (networkSourceCode[Persistence.Automapping._processingPromise] !== crea teBindingPromise)
150 return; 150 return;
151 networkSourceCode[Persistence.Automapping._processingPromise] = null; 151 networkSourceCode[Persistence.Automapping._processingPromise] = null;
152 if (!binding) { 152 if (!binding || this._disposed) {
153 this._onBindingFailedForTest(); 153 this._onBindingFailedForTest();
154 return; 154 return;
155 } 155 }
156 // TODO(lushnikov): remove this check once there's a single uiSourceCode p er url. @see crbug.com/670180 156 // TODO(lushnikov): remove this check once there's a single uiSourceCode p er url. @see crbug.com/670180
157 if (binding.network[Persistence.Automapping._binding] || binding.fileSyste m[Persistence.Automapping._binding]) 157 if (binding.network[Persistence.Automapping._binding] || binding.fileSyste m[Persistence.Automapping._binding])
158 return; 158 return;
159 159
160 this._bindings.add(binding); 160 this._bindings.add(binding);
161 binding.network[Persistence.Automapping._binding] = binding; 161 binding.network[Persistence.Automapping._binding] = binding;
162 binding.fileSystem[Persistence.Automapping._binding] = binding; 162 binding.fileSystem[Persistence.Automapping._binding] = binding;
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 var fileMetadata = file[Persistence.Automapping._metadata]; 270 var fileMetadata = file[Persistence.Automapping._metadata];
271 if (!fileMetadata) 271 if (!fileMetadata)
272 return false; 272 return false;
273 // Allow a second of difference due to network timestamps lack of precisio n. 273 // Allow a second of difference due to network timestamps lack of precisio n.
274 var timeMatches = !networkMetadata.modificationTime || 274 var timeMatches = !networkMetadata.modificationTime ||
275 Math.abs(networkMetadata.modificationTime - fileMetadata.modificationT ime) < 1000; 275 Math.abs(networkMetadata.modificationTime - fileMetadata.modificationT ime) < 1000;
276 var contentMatches = !networkMetadata.contentSize || fileMetadata.contentS ize === networkMetadata.contentSize; 276 var contentMatches = !networkMetadata.contentSize || fileMetadata.contentS ize === networkMetadata.contentSize;
277 return timeMatches && contentMatches; 277 return timeMatches && contentMatches;
278 }); 278 });
279 } 279 }
280
281 dispose() {
282 if (this._disposed)
283 return;
284 this._disposed = true;
285 Common.EventTarget.removeEventListeners(this._eventListeners);
286 for (var binding of this._bindings.valuesArray())
287 this._unbindNetwork(binding.network);
288 }
280 }; 289 };
281 290
282 Persistence.Automapping._binding = Symbol('Automapping.Binding'); 291 Persistence.Automapping._binding = Symbol('Automapping.Binding');
283 Persistence.Automapping._processingPromise = Symbol('Automapping.ProcessingPromi se'); 292 Persistence.Automapping._processingPromise = Symbol('Automapping.ProcessingPromi se');
284 Persistence.Automapping._metadata = Symbol('Automapping.Metadata'); 293 Persistence.Automapping._metadata = Symbol('Automapping.Metadata');
285 294
286 /** 295 /**
287 * @unrestricted 296 * @unrestricted
288 */ 297 */
289 Persistence.Automapping.PathEncoder = class { 298 Persistence.Automapping.PathEncoder = class {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 /** 411 /**
403 * @param {string} path 412 * @param {string} path
404 * @return {string} 413 * @return {string}
405 */ 414 */
406 closestParentFolder(path) { 415 closestParentFolder(path) {
407 var encodedPath = this._encoder.encode(path); 416 var encodedPath = this._encoder.encode(path);
408 var commonPrefix = this._index.longestPrefix(encodedPath, true); 417 var commonPrefix = this._index.longestPrefix(encodedPath, true);
409 return this._encoder.decode(commonPrefix); 418 return this._encoder.decode(commonPrefix);
410 } 419 }
411 }; 420 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698