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 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * | 10 * |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 | 68 |
69 /** | 69 /** |
70 * @return {!Promise<?string>} | 70 * @return {!Promise<?string>} |
71 */ | 71 */ |
72 function workingCopy() | 72 function workingCopy() |
73 { | 73 { |
74 if (uiSourceCode.isDirty()) | 74 if (uiSourceCode.isDirty()) |
75 return /** @type {!Promise<?string>} */(Promise.resolve(uiSourceCode
.workingCopy())); | 75 return /** @type {!Promise<?string>} */(Promise.resolve(uiSourceCode
.workingCopy())); |
76 return uiSourceCode.requestContent(); | 76 return uiSourceCode.requestContent(); |
77 } | 77 } |
78 } | 78 }; |
79 | 79 |
80 WebInspector.UISourceCodeFrame.prototype = { | 80 WebInspector.UISourceCodeFrame.prototype = { |
81 /** | 81 /** |
82 * @return {!WebInspector.UISourceCode} | 82 * @return {!WebInspector.UISourceCode} |
83 */ | 83 */ |
84 uiSourceCode: function() | 84 uiSourceCode: function() |
85 { | 85 { |
86 return this._uiSourceCode; | 86 return this._uiSourceCode; |
87 }, | 87 }, |
88 | 88 |
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 }); | 432 }); |
433 }, | 433 }, |
434 | 434 |
435 _decorateAllTypes: function() | 435 _decorateAllTypes: function() |
436 { | 436 { |
437 var extensions = self.runtime.extensions(WebInspector.UISourceCodeFrame.
LineDecorator); | 437 var extensions = self.runtime.extensions(WebInspector.UISourceCodeFrame.
LineDecorator); |
438 extensions.forEach(extension => this._decorateTypeThrottled(extension.de
scriptor()["decoratorType"])); | 438 extensions.forEach(extension => this._decorateTypeThrottled(extension.de
scriptor()["decoratorType"])); |
439 }, | 439 }, |
440 | 440 |
441 __proto__: WebInspector.SourceFrame.prototype | 441 __proto__: WebInspector.SourceFrame.prototype |
442 } | 442 }; |
443 | 443 |
444 WebInspector.UISourceCodeFrame._iconClassPerLevel = {}; | 444 WebInspector.UISourceCodeFrame._iconClassPerLevel = {}; |
445 WebInspector.UISourceCodeFrame._iconClassPerLevel[WebInspector.UISourceCode.Mess
age.Level.Error] = "error-icon"; | 445 WebInspector.UISourceCodeFrame._iconClassPerLevel[WebInspector.UISourceCode.Mess
age.Level.Error] = "error-icon"; |
446 WebInspector.UISourceCodeFrame._iconClassPerLevel[WebInspector.UISourceCode.Mess
age.Level.Warning] = "warning-icon"; | 446 WebInspector.UISourceCodeFrame._iconClassPerLevel[WebInspector.UISourceCode.Mess
age.Level.Warning] = "warning-icon"; |
447 | 447 |
448 WebInspector.UISourceCodeFrame._bubbleTypePerLevel = {}; | 448 WebInspector.UISourceCodeFrame._bubbleTypePerLevel = {}; |
449 WebInspector.UISourceCodeFrame._bubbleTypePerLevel[WebInspector.UISourceCode.Mes
sage.Level.Error] = "error"; | 449 WebInspector.UISourceCodeFrame._bubbleTypePerLevel[WebInspector.UISourceCode.Mes
sage.Level.Error] = "error"; |
450 WebInspector.UISourceCodeFrame._bubbleTypePerLevel[WebInspector.UISourceCode.Mes
sage.Level.Warning] = "warning"; | 450 WebInspector.UISourceCodeFrame._bubbleTypePerLevel[WebInspector.UISourceCode.Mes
sage.Level.Warning] = "warning"; |
451 | 451 |
452 WebInspector.UISourceCodeFrame._lineClassPerLevel = {}; | 452 WebInspector.UISourceCodeFrame._lineClassPerLevel = {}; |
453 WebInspector.UISourceCodeFrame._lineClassPerLevel[WebInspector.UISourceCode.Mess
age.Level.Error] = "text-editor-line-with-error"; | 453 WebInspector.UISourceCodeFrame._lineClassPerLevel[WebInspector.UISourceCode.Mess
age.Level.Error] = "text-editor-line-with-error"; |
454 WebInspector.UISourceCodeFrame._lineClassPerLevel[WebInspector.UISourceCode.Mess
age.Level.Warning] = "text-editor-line-with-warning"; | 454 WebInspector.UISourceCodeFrame._lineClassPerLevel[WebInspector.UISourceCode.Mess
age.Level.Warning] = "text-editor-line-with-warning"; |
455 | 455 |
456 /** | 456 /** |
457 * @interface | 457 * @interface |
458 */ | 458 */ |
459 WebInspector.UISourceCodeFrame.LineDecorator = function() { } | 459 WebInspector.UISourceCodeFrame.LineDecorator = function() { }; |
460 | 460 |
461 WebInspector.UISourceCodeFrame.LineDecorator.prototype = { | 461 WebInspector.UISourceCodeFrame.LineDecorator.prototype = { |
462 /** | 462 /** |
463 * @param {!WebInspector.UISourceCode} uiSourceCode | 463 * @param {!WebInspector.UISourceCode} uiSourceCode |
464 * @param {!WebInspector.CodeMirrorTextEditor} textEditor | 464 * @param {!WebInspector.CodeMirrorTextEditor} textEditor |
465 */ | 465 */ |
466 decorate: function(uiSourceCode, textEditor) { } | 466 decorate: function(uiSourceCode, textEditor) { } |
467 } | 467 }; |
468 | 468 |
469 /** | 469 /** |
470 * @constructor | 470 * @constructor |
471 * @param {!WebInspector.UISourceCode.Message} message | 471 * @param {!WebInspector.UISourceCode.Message} message |
472 */ | 472 */ |
473 WebInspector.UISourceCodeFrame.RowMessage = function(message) | 473 WebInspector.UISourceCodeFrame.RowMessage = function(message) |
474 { | 474 { |
475 this._message = message; | 475 this._message = message; |
476 this._repeatCount = 1; | 476 this._repeatCount = 1; |
477 this.element = createElementWithClass("div", "text-editor-row-message"); | 477 this.element = createElementWithClass("div", "text-editor-row-message"); |
478 this._icon = this.element.createChild("label", "", "dt-icon-label"); | 478 this._icon = this.element.createChild("label", "", "dt-icon-label"); |
479 this._icon.type = WebInspector.UISourceCodeFrame._iconClassPerLevel[message.
level()]; | 479 this._icon.type = WebInspector.UISourceCodeFrame._iconClassPerLevel[message.
level()]; |
480 this._repeatCountElement = this.element.createChild("label", "message-repeat
-count hidden", "dt-small-bubble"); | 480 this._repeatCountElement = this.element.createChild("label", "message-repeat
-count hidden", "dt-small-bubble"); |
481 this._repeatCountElement.type = WebInspector.UISourceCodeFrame._bubbleTypePe
rLevel[message.level()]; | 481 this._repeatCountElement.type = WebInspector.UISourceCodeFrame._bubbleTypePe
rLevel[message.level()]; |
482 var linesContainer = this.element.createChild("div", "text-editor-row-messag
e-lines"); | 482 var linesContainer = this.element.createChild("div", "text-editor-row-messag
e-lines"); |
483 var lines = this._message.text().split("\n"); | 483 var lines = this._message.text().split("\n"); |
484 for (var i = 0; i < lines.length; ++i) { | 484 for (var i = 0; i < lines.length; ++i) { |
485 var messageLine = linesContainer.createChild("div"); | 485 var messageLine = linesContainer.createChild("div"); |
486 messageLine.textContent = lines[i]; | 486 messageLine.textContent = lines[i]; |
487 } | 487 } |
488 } | 488 }; |
489 | 489 |
490 WebInspector.UISourceCodeFrame.RowMessage.prototype = { | 490 WebInspector.UISourceCodeFrame.RowMessage.prototype = { |
491 /** | 491 /** |
492 * @return {!WebInspector.UISourceCode.Message} | 492 * @return {!WebInspector.UISourceCode.Message} |
493 */ | 493 */ |
494 message: function() | 494 message: function() |
495 { | 495 { |
496 return this._message; | 496 return this._message; |
497 }, | 497 }, |
498 | 498 |
(...skipping 13 matching lines...) Expand all Loading... |
512 this._updateMessageRepeatCount(); | 512 this._updateMessageRepeatCount(); |
513 }, | 513 }, |
514 | 514 |
515 _updateMessageRepeatCount: function() | 515 _updateMessageRepeatCount: function() |
516 { | 516 { |
517 this._repeatCountElement.textContent = this._repeatCount; | 517 this._repeatCountElement.textContent = this._repeatCount; |
518 var showRepeatCount = this._repeatCount > 1; | 518 var showRepeatCount = this._repeatCount > 1; |
519 this._repeatCountElement.classList.toggle("hidden", !showRepeatCount); | 519 this._repeatCountElement.classList.toggle("hidden", !showRepeatCount); |
520 this._icon.classList.toggle("hidden", showRepeatCount); | 520 this._icon.classList.toggle("hidden", showRepeatCount); |
521 } | 521 } |
522 } | 522 }; |
523 | 523 |
524 /** | 524 /** |
525 * @constructor | 525 * @constructor |
526 * @param {!WebInspector.UISourceCodeFrame} sourceFrame | 526 * @param {!WebInspector.UISourceCodeFrame} sourceFrame |
527 * @param {!WebInspector.CodeMirrorTextEditor} textEditor | 527 * @param {!WebInspector.CodeMirrorTextEditor} textEditor |
528 * @param {number} lineNumber | 528 * @param {number} lineNumber |
529 */ | 529 */ |
530 WebInspector.UISourceCodeFrame.RowMessageBucket = function(sourceFrame, textEdit
or, lineNumber) | 530 WebInspector.UISourceCodeFrame.RowMessageBucket = function(sourceFrame, textEdit
or, lineNumber) |
531 { | 531 { |
532 this._sourceFrame = sourceFrame; | 532 this._sourceFrame = sourceFrame; |
533 this._textEditor = textEditor; | 533 this._textEditor = textEditor; |
534 this._lineHandle = textEditor.textEditorPositionHandle(lineNumber, 0); | 534 this._lineHandle = textEditor.textEditorPositionHandle(lineNumber, 0); |
535 this._decoration = createElementWithClass("div", "text-editor-line-decoratio
n"); | 535 this._decoration = createElementWithClass("div", "text-editor-line-decoratio
n"); |
536 this._decoration._messageBucket = this; | 536 this._decoration._messageBucket = this; |
537 this._wave = this._decoration.createChild("div", "text-editor-line-decoratio
n-wave"); | 537 this._wave = this._decoration.createChild("div", "text-editor-line-decoratio
n-wave"); |
538 this._icon = this._wave.createChild("label", "text-editor-line-decoration-ic
on", "dt-icon-label"); | 538 this._icon = this._wave.createChild("label", "text-editor-line-decoration-ic
on", "dt-icon-label"); |
539 this._hasDecoration = false; | 539 this._hasDecoration = false; |
540 | 540 |
541 this._messagesDescriptionElement = createElementWithClass("div", "text-edito
r-messages-description-container"); | 541 this._messagesDescriptionElement = createElementWithClass("div", "text-edito
r-messages-description-container"); |
542 /** @type {!Array.<!WebInspector.UISourceCodeFrame.RowMessage>} */ | 542 /** @type {!Array.<!WebInspector.UISourceCodeFrame.RowMessage>} */ |
543 this._messages = []; | 543 this._messages = []; |
544 | 544 |
545 this._level = null; | 545 this._level = null; |
546 } | 546 }; |
547 | 547 |
548 WebInspector.UISourceCodeFrame.RowMessageBucket.prototype = { | 548 WebInspector.UISourceCodeFrame.RowMessageBucket.prototype = { |
549 /** | 549 /** |
550 * @param {number} lineNumber | 550 * @param {number} lineNumber |
551 * @param {number} columnNumber | 551 * @param {number} columnNumber |
552 */ | 552 */ |
553 _updateWavePosition: function(lineNumber, columnNumber) | 553 _updateWavePosition: function(lineNumber, columnNumber) |
554 { | 554 { |
555 lineNumber = Math.min(lineNumber, this._textEditor.linesCount - 1); | 555 lineNumber = Math.min(lineNumber, this._textEditor.linesCount - 1); |
556 var lineText = this._textEditor.line(lineNumber); | 556 var lineText = this._textEditor.line(lineNumber); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
654 if (this._level) { | 654 if (this._level) { |
655 this._textEditor.toggleLineClass(lineNumber, WebInspector.UISourceCo
deFrame._lineClassPerLevel[this._level], false); | 655 this._textEditor.toggleLineClass(lineNumber, WebInspector.UISourceCo
deFrame._lineClassPerLevel[this._level], false); |
656 this._icon.type = ""; | 656 this._icon.type = ""; |
657 } | 657 } |
658 this._level = maxMessage.level(); | 658 this._level = maxMessage.level(); |
659 if (!this._level) | 659 if (!this._level) |
660 return; | 660 return; |
661 this._textEditor.toggleLineClass(lineNumber, WebInspector.UISourceCodeFr
ame._lineClassPerLevel[this._level], true); | 661 this._textEditor.toggleLineClass(lineNumber, WebInspector.UISourceCodeFr
ame._lineClassPerLevel[this._level], true); |
662 this._icon.type = WebInspector.UISourceCodeFrame._iconClassPerLevel[this
._level]; | 662 this._icon.type = WebInspector.UISourceCodeFrame._iconClassPerLevel[this
._level]; |
663 } | 663 } |
664 } | 664 }; |
665 | 665 |
666 WebInspector.UISourceCode.Message._messageLevelPriority = { | 666 WebInspector.UISourceCode.Message._messageLevelPriority = { |
667 "Warning": 3, | 667 "Warning": 3, |
668 "Error": 4 | 668 "Error": 4 |
669 }; | 669 }; |
670 | 670 |
671 /** | 671 /** |
672 * @param {!WebInspector.UISourceCode.Message} a | 672 * @param {!WebInspector.UISourceCode.Message} a |
673 * @param {!WebInspector.UISourceCode.Message} b | 673 * @param {!WebInspector.UISourceCode.Message} b |
674 * @return {number} | 674 * @return {number} |
675 */ | 675 */ |
676 WebInspector.UISourceCode.Message.messageLevelComparator = function(a, b) | 676 WebInspector.UISourceCode.Message.messageLevelComparator = function(a, b) |
677 { | 677 { |
678 return WebInspector.UISourceCode.Message._messageLevelPriority[a.level()] -
WebInspector.UISourceCode.Message._messageLevelPriority[b.level()]; | 678 return WebInspector.UISourceCode.Message._messageLevelPriority[a.level()] -
WebInspector.UISourceCode.Message._messageLevelPriority[b.level()]; |
679 } | 679 }; |
OLD | NEW |