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

Side by Side Diff: Source/devtools/front_end/ui/ViewportControl.js

Issue 354013002: DevTools: [Console] fix search to reveal matched messages (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebaseline one more test Created 6 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 | Annotate | Revision Log
« no previous file with comments | « Source/devtools/front_end/console/ConsoleViewMessage.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 // Tolerate 1-pixel error due to double-to-integer rounding errors. 360 // Tolerate 1-pixel error due to double-to-integer rounding errors.
361 if (this._cumulativeHeights && Math.abs(this._cachedItemHeight(this. _firstVisibleIndex + i) - this._provider.fastHeight(i + this._firstVisibleIndex) ) > 1) 361 if (this._cumulativeHeights && Math.abs(this._cachedItemHeight(this. _firstVisibleIndex + i) - this._provider.fastHeight(i + this._firstVisibleIndex) ) > 1)
362 delete this._cumulativeHeights; 362 delete this._cumulativeHeights;
363 } 363 }
364 this._rebuildCumulativeHeightsIfNeeded(); 364 this._rebuildCumulativeHeightsIfNeeded();
365 if (shouldStickToBottom) { 365 if (shouldStickToBottom) {
366 this._lastVisibleIndex = itemCount - 1; 366 this._lastVisibleIndex = itemCount - 1;
367 this._firstVisibleIndex = Math.max(Array.prototype.lowerBound.call(t his._cumulativeHeights, this._cumulativeHeights[this._cumulativeHeights.length - 1] - clientHeight), 0); 367 this._firstVisibleIndex = Math.max(Array.prototype.lowerBound.call(t his._cumulativeHeights, this._cumulativeHeights[this._cumulativeHeights.length - 1] - clientHeight), 0);
368 } else { 368 } else {
369 this._firstVisibleIndex = Math.max(Array.prototype.lowerBound.call(t his._cumulativeHeights, visibleFrom), 0); 369 this._firstVisibleIndex = Math.max(Array.prototype.lowerBound.call(t his._cumulativeHeights, visibleFrom), 0);
370 this._lastVisibleIndex = Math.min(Array.prototype.upperBound.call(th is._cumulativeHeights, visibleFrom + clientHeight), itemCount - 1); 370 this._lastVisibleIndex = Math.min(Array.prototype.upperBound.call(th is._cumulativeHeights, visibleFrom + clientHeight - 1), itemCount - 1);
371 } 371 }
372 var topGapHeight = this._cumulativeHeights[this._firstVisibleIndex - 1] || 0; 372 var topGapHeight = this._cumulativeHeights[this._firstVisibleIndex - 1] || 0;
373 var bottomGapHeight = this._cumulativeHeights[this._cumulativeHeights.le ngth - 1] - this._cumulativeHeights[this._lastVisibleIndex]; 373 var bottomGapHeight = this._cumulativeHeights[this._cumulativeHeights.le ngth - 1] - this._cumulativeHeights[this._lastVisibleIndex];
374 374
375 this._topGapElement.style.height = topGapHeight + "px"; 375 this._topGapElement.style.height = topGapHeight + "px";
376 this._bottomGapElement.style.height = bottomGapHeight + "px"; 376 this._bottomGapElement.style.height = bottomGapHeight + "px";
377 this._topGapElement._active = !!topGapHeight; 377 this._topGapElement._active = !!topGapHeight;
378 this._bottomGapElement._active = !!bottomGapHeight; 378 this._bottomGapElement._active = !!bottomGapHeight;
379 379
380 this._contentElement.style.setProperty("height", "10000000px"); 380 this._contentElement.style.setProperty("height", "10000000px");
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 /** 491 /**
492 * @param {number} index 492 * @param {number} index
493 * @param {boolean=} makeLast 493 * @param {boolean=} makeLast
494 */ 494 */
495 scrollItemIntoView: function(index, makeLast) 495 scrollItemIntoView: function(index, makeLast)
496 { 496 {
497 if (index > this._firstVisibleIndex && index < this._lastVisibleIndex) 497 if (index > this._firstVisibleIndex && index < this._lastVisibleIndex)
498 return; 498 return;
499 if (makeLast) 499 if (makeLast)
500 this.forceScrollItemToBeLast(index); 500 this.forceScrollItemToBeLast(index);
501 else 501 else if (index <= this._firstVisibleIndex)
502 this.forceScrollItemToBeFirst(index); 502 this.forceScrollItemToBeFirst(index);
503 else if (index >= this._lastVisibleIndex)
504 this.forceScrollItemToBeLast(index);
503 }, 505 },
504 506
505 /** 507 /**
506 * @param {number} index 508 * @param {number} index
507 */ 509 */
508 forceScrollItemToBeFirst: function(index) 510 forceScrollItemToBeFirst: function(index)
509 { 511 {
510 this._rebuildCumulativeHeightsIfNeeded(); 512 this._rebuildCumulativeHeightsIfNeeded();
511 this.element.scrollTop = index > 0 ? this._cumulativeHeights[index - 1] : 0; 513 this.element.scrollTop = index > 0 ? this._cumulativeHeights[index - 1] : 0;
512 }, 514 },
513 515
514 /** 516 /**
515 * @param {number} index 517 * @param {number} index
516 */ 518 */
517 forceScrollItemToBeLast: function(index) 519 forceScrollItemToBeLast: function(index)
518 { 520 {
519 this._rebuildCumulativeHeightsIfNeeded(); 521 this._rebuildCumulativeHeightsIfNeeded();
520 this.element.scrollTop = this._cumulativeHeights[index] - this.element.c lientHeight; 522 this.element.scrollTop = this._cumulativeHeights[index] - this.element.c lientHeight;
521 } 523 }
522 } 524 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/console/ConsoleViewMessage.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698