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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/coverage/CoverageModel.js

Issue 2769843003: DevTools: split text_utils out of common module (Closed)
Patch Set: rebaseline Created 3 years, 9 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 (c) 2017 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2017 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 /** @typedef {{startOffset: number, endOffset: number, count: number}} */ 5 /** @typedef {{startOffset: number, endOffset: number, count: number}} */
6 Coverage.RangeUseCount; 6 Coverage.RangeUseCount;
7 7
8 /** @typedef {{end: number, count: (number|undefined)}} */ 8 /** @typedef {{end: number, count: (number|undefined)}} */
9 Coverage.CoverageSegment; 9 Coverage.CoverageSegment;
10 10
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 } 244 }
245 245
246 /** 246 /**
247 * @return {number} 247 * @return {number}
248 */ 248 */
249 usedSize() { 249 usedSize() {
250 return this._usedSize; 250 return this._usedSize;
251 } 251 }
252 252
253 /** 253 /**
254 * @return {!Promise<!Array<!{range: !Common.TextRange, count: number}>>} 254 * @return {!Promise<!Array<!{range: !TextUtils.TextRange, count: number}>>}
255 */ 255 */
256 async buildTextRanges() { 256 async buildTextRanges() {
257 var textRangePromises = []; 257 var textRangePromises = [];
258 for (var coverageInfo of this._coverageInfoByLocation.values()) 258 for (var coverageInfo of this._coverageInfoByLocation.values())
259 textRangePromises.push(coverageInfo.buildTextRanges()); 259 textRangePromises.push(coverageInfo.buildTextRanges());
260 var allTextRanges = await Promise.all(textRangePromises); 260 var allTextRanges = await Promise.all(textRangePromises);
261 return [].concat(...allTextRanges); 261 return [].concat(...allTextRanges);
262 } 262 }
263 }; 263 };
264 264
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 } 329 }
330 330
331 for (; indexA < segmentsA.length; indexA++) 331 for (; indexA < segmentsA.length; indexA++)
332 result.push(segmentsA[indexA]); 332 result.push(segmentsA[indexA]);
333 for (; indexB < segmentsB.length; indexB++) 333 for (; indexB < segmentsB.length; indexB++)
334 result.push(segmentsB[indexB]); 334 result.push(segmentsB[indexB]);
335 return result; 335 return result;
336 } 336 }
337 337
338 /** 338 /**
339 * @return {!Promise<!Array<!{range: !Common.TextRange, count: number}>>} 339 * @return {!Promise<!Array<!{range: !TextUtils.TextRange, count: number}>>}
340 */ 340 */
341 async buildTextRanges() { 341 async buildTextRanges() {
342 var contents = await this._contentProvider.requestContent(); 342 var contents = await this._contentProvider.requestContent();
343 if (!contents) 343 if (!contents)
344 return []; 344 return [];
345 var text = new Common.Text(contents); 345 var text = new TextUtils.Text(contents);
346 var lastOffset = 0; 346 var lastOffset = 0;
347 var result = []; 347 var result = [];
348 for (var segment of this._segments) { 348 for (var segment of this._segments) {
349 if (!segment.end) 349 if (!segment.end)
350 continue; 350 continue;
351 var startPosition = text.positionFromOffset(lastOffset); 351 var startPosition = text.positionFromOffset(lastOffset);
352 var endPosition = text.positionFromOffset(segment.end); 352 var endPosition = text.positionFromOffset(segment.end);
353 if (!startPosition.lineNumber) 353 if (!startPosition.lineNumber)
354 startPosition.columnNumber += this._columnOffset; 354 startPosition.columnNumber += this._columnOffset;
355 startPosition.lineNumber += this._lineOffset; 355 startPosition.lineNumber += this._lineOffset;
356 if (!endPosition.lineNumber) 356 if (!endPosition.lineNumber)
357 endPosition.columnNumber += this._columnOffset; 357 endPosition.columnNumber += this._columnOffset;
358 endPosition.lineNumber += this._lineOffset; 358 endPosition.lineNumber += this._lineOffset;
359 var range = new Common.TextRange( 359 var range = new TextUtils.TextRange(
360 startPosition.lineNumber, startPosition.columnNumber, endPosition.line Number, endPosition.columnNumber); 360 startPosition.lineNumber, startPosition.columnNumber, endPosition.line Number, endPosition.columnNumber);
361 result.push({count: segment.count || 0, range: range}); 361 result.push({count: segment.count || 0, range: range});
362 lastOffset = segment.end; 362 lastOffset = segment.end;
363 } 363 }
364 return result; 364 return result;
365 } 365 }
366 366
367 _updateStats() { 367 _updateStats() {
368 this._usedSize = 0; 368 this._usedSize = 0;
369 this._unusedSize = 0; 369 this._unusedSize = 0;
370 370
371 var last = 0; 371 var last = 0;
372 for (var segment of this._segments) { 372 for (var segment of this._segments) {
373 if (typeof segment.count === 'number') { 373 if (typeof segment.count === 'number') {
374 if (segment.count) 374 if (segment.count)
375 this._usedSize += segment.end - last; 375 this._usedSize += segment.end - last;
376 else 376 else
377 this._unusedSize += segment.end - last; 377 this._unusedSize += segment.end - last;
378 } 378 }
379 last = segment.end; 379 last = segment.end;
380 } 380 }
381 } 381 }
382 }; 382 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698