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

Side by Side Diff: Source/devtools/front_end/SourcesPanel.js

Issue 145583007: Revert of Make pause-on-exceptions toggle/tri-state button. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 11 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.
3 * Copyright (C) 2011 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
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 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 return; 207 return;
208 208
209 event.returnValue = WebInspector.UIString("DevTools have unsaved changes that will be permanently lost."); 209 event.returnValue = WebInspector.UIString("DevTools have unsaved changes that will be permanently lost.");
210 WebInspector.showPanel("sources"); 210 WebInspector.showPanel("sources");
211 for (var i = 0; i < unsavedSourceCodes.length; ++i) 211 for (var i = 0; i < unsavedSourceCodes.length; ++i)
212 WebInspector.panels.sources.showUISourceCode(unsavedSourceCodes[i]); 212 WebInspector.panels.sources.showUISourceCode(unsavedSourceCodes[i]);
213 } 213 }
214 window.addEventListener("beforeunload", handleBeforeUnload.bind(this), true) ; 214 window.addEventListener("beforeunload", handleBeforeUnload.bind(this), true) ;
215 } 215 }
216 216
217 /** @type {!Array.<!WebInspector.DebuggerModel.PauseOnExceptionsState>} */
218 WebInspector.SourcesPanel.PauseOnExceptionsStates = [
219 WebInspector.DebuggerModel.PauseOnExceptionsState.DontPauseOnExceptions,
220 WebInspector.DebuggerModel.PauseOnExceptionsState.PauseOnUncaughtExceptions,
221 WebInspector.DebuggerModel.PauseOnExceptionsState.PauseOnAllExceptions
222 ];
223
224 WebInspector.SourcesPanel.prototype = { 217 WebInspector.SourcesPanel.prototype = {
225 /** 218 /**
226 * @return {!Element} 219 * @return {!Element}
227 */ 220 */
228 defaultFocusedElement: function() 221 defaultFocusedElement: function()
229 { 222 {
230 return this._editorContainer.view.defaultFocusedElement() || this._navig ator.view.defaultFocusedElement(); 223 return this._editorContainer.view.defaultFocusedElement() || this._navig ator.view.defaultFocusedElement();
231 }, 224 },
232 225
233 get paused() 226 get paused()
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 if (sourceFrame && (!this._navigatorController.isNavigatorPinned() || ev ent.data.focusSource)) 716 if (sourceFrame && (!this._navigatorController.isNavigatorPinned() || ev ent.data.focusSource))
724 sourceFrame.focus(); 717 sourceFrame.focus();
725 }, 718 },
726 719
727 _itemSearchStarted: function(event) 720 _itemSearchStarted: function(event)
728 { 721 {
729 var searchText = /** @type {string} */ (event.data); 722 var searchText = /** @type {string} */ (event.data);
730 WebInspector.OpenResourceDialog.show(this, this.editorView.mainElement() , searchText); 723 WebInspector.OpenResourceDialog.show(this, this.editorView.mainElement() , searchText);
731 }, 724 },
732 725
733 /**
734 * @return {!Array.<!WebInspector.StatusBarButton>}
735 */
736 _createPauseOnExceptionOptions: function()
737 {
738 this._pauseOnExceptionButton.title = this._pauseOnExceptionStateTitle(th is._pauseOnExceptionButton.state);
739 var excludedOption = this._pauseOnExceptionButton.state;
740 var pauseStates = WebInspector.SourcesPanel.PauseOnExceptionsStates.slic e(0);
741 var options = [];
742 for (var i = 0; i < pauseStates.length; ++i) {
743 if (pauseStates[i] === excludedOption)
744 continue;
745 var button = new WebInspector.StatusBarButton("", "scripts-pause-on- exceptions-status-bar-item", 3);
746 button.addEventListener("click", this._togglePauseOnExceptions, this );
747 button.state = pauseStates[i];
748 button.title = this._pauseOnExceptionStateTitle(pauseStates[i]);
749 options.push(button);
750 }
751 return options;
752 },
753
754 _pauseOnExceptionStateChanged: function() 726 _pauseOnExceptionStateChanged: function()
755 { 727 {
756 var state = WebInspector.settings.pauseOnExceptionStateString.get(); 728 var pauseOnExceptionsState = WebInspector.settings.pauseOnExceptionState String.get();
757 var nextState; 729 switch (pauseOnExceptionsState) {
758 if (state === WebInspector.DebuggerModel.PauseOnExceptionsState.DontPaus eOnExceptions) 730 case WebInspector.DebuggerModel.PauseOnExceptionsState.DontPauseOnExcept ions:
759 nextState = WebInspector.settings.lastPauseOnExceptionState.get(); 731 this._pauseOnExceptionButton.title = WebInspector.UIString("Don't pa use on exceptions.\nClick to Pause on all exceptions.");
760 else 732 break;
761 nextState = WebInspector.DebuggerModel.PauseOnExceptionsState.DontPa useOnExceptions; 733 case WebInspector.DebuggerModel.PauseOnExceptionsState.PauseOnAllExcepti ons:
762 this._pauseOnExceptionButton.title = this._pauseOnExceptionStateTitle(st ate, nextState); 734 this._pauseOnExceptionButton.title = WebInspector.UIString("Pause on all exceptions.\nClick to Pause on uncaught exceptions.");
763 this._pauseOnExceptionButton.state = state; 735 break;
764 }, 736 case WebInspector.DebuggerModel.PauseOnExceptionsState.PauseOnUncaughtEx ceptions:
765 737 this._pauseOnExceptionButton.title = WebInspector.UIString("Pause on uncaught exceptions.\nClick to Not pause on exceptions.");
766 /** 738 break;
767 * @param {!WebInspector.DebuggerModel.PauseOnExceptionsState} state
768 * @param {!WebInspector.DebuggerModel.PauseOnExceptionsState=} nextState
769 * @return {string}
770 */
771 _pauseOnExceptionStateTitle: function(state, nextState)
772 {
773 var states = WebInspector.DebuggerModel.PauseOnExceptionsState;
774 var stateDescription;
775 if (state === states.DontPauseOnExceptions) {
776 stateDescription = WebInspector.UIString("Don't pause on exceptions. ");
777 } else if (state === states.PauseOnAllExceptions) {
778 stateDescription = WebInspector.UIString("Pause on exceptions, inclu ding caught exceptions.");
779 } else if (state === states.PauseOnUncaughtExceptions) {
780 stateDescription = WebInspector.UIString("Pause on exceptions.");
781 } else {
782 throw "Unexpected state: " + state;
783 } 739 }
784 var nextStateDescription; 740 this._pauseOnExceptionButton.state = pauseOnExceptionsState;
785 if (nextState === states.DontPauseOnExceptions) {
786 nextStateDescription = WebInspector.UIString("Click to Not pause on exceptions.");
787 } else if (nextState === states.PauseOnAllExceptions) {
788 nextStateDescription = WebInspector.UIString("Click to Pause on exce ptions, including caught exceptions.");
789 } else if (nextState === states.PauseOnUncaughtExceptions) {
790 nextStateDescription = WebInspector.UIString("Click to Pause on exce ptions.");
791 }
792 return nextState ? String.sprintf("%s\n%s", stateDescription, nextStateD escription) : stateDescription;
793 }, 741 },
794 742
795 _updateDebuggerButtons: function() 743 _updateDebuggerButtons: function()
796 { 744 {
797 if (this._paused) { 745 if (this._paused) {
798 this._updateButtonTitle(this._pauseButton, WebInspector.UIString("Re sume script execution (%s).")) 746 this._updateButtonTitle(this._pauseButton, WebInspector.UIString("Re sume script execution (%s)."))
799 this._pauseButton.state = true; 747 this._pauseButton.state = true;
800 this._pauseButton.setLongClickOptionsEnabled((function() { return [ this._longResumeButton ] }).bind(this)); 748 this._pauseButton.setLongClickOptionsEnabled((function() { return [ this._longResumeButton ] }).bind(this));
801 749
802 this._pauseButton.setEnabled(true); 750 this._pauseButton.setEnabled(true);
(...skipping 18 matching lines...) Expand all
821 this.sidebarPanes.scopechain.update(null); 769 this.sidebarPanes.scopechain.update(null);
822 this.sidebarPanes.jsBreakpoints.clearBreakpointHighlight(); 770 this.sidebarPanes.jsBreakpoints.clearBreakpointHighlight();
823 WebInspector.domBreakpointsSidebarPane.clearBreakpointHighlight(); 771 WebInspector.domBreakpointsSidebarPane.clearBreakpointHighlight();
824 this.sidebarPanes.eventListenerBreakpoints.clearBreakpointHighlight(); 772 this.sidebarPanes.eventListenerBreakpoints.clearBreakpointHighlight();
825 this.sidebarPanes.xhrBreakpoints.clearBreakpointHighlight(); 773 this.sidebarPanes.xhrBreakpoints.clearBreakpointHighlight();
826 774
827 this._clearCurrentExecutionLine(); 775 this._clearCurrentExecutionLine();
828 this._updateDebuggerButtons(); 776 this._updateDebuggerButtons();
829 }, 777 },
830 778
831 /** 779 _togglePauseOnExceptions: function()
832 * @param {!WebInspector.Event} e
833 */
834 _togglePauseOnExceptions: function(e)
835 { 780 {
836 var target = /** @type {!WebInspector.StatusBarButton} */ (e.target); 781 var nextStateMap = {};
837 var state = /** @type {!WebInspector.DebuggerModel.PauseOnExceptionsStat e} */ (target.state);
838 var toggle = !e.data;
839 var stateEnum = WebInspector.DebuggerModel.PauseOnExceptionsState; 782 var stateEnum = WebInspector.DebuggerModel.PauseOnExceptionsState;
840 if (toggle) { 783 nextStateMap[stateEnum.DontPauseOnExceptions] = stateEnum.PauseOnAllExce ptions;
841 if (state !== stateEnum.DontPauseOnExceptions) 784 nextStateMap[stateEnum.PauseOnAllExceptions] = stateEnum.PauseOnUncaught Exceptions;
842 state = stateEnum.DontPauseOnExceptions 785 nextStateMap[stateEnum.PauseOnUncaughtExceptions] = stateEnum.DontPauseO nExceptions;
843 else 786 WebInspector.settings.pauseOnExceptionStateString.set(nextStateMap[this. _pauseOnExceptionButton.state]);
844 state = WebInspector.settings.lastPauseOnExceptionState.get();
845 }
846 if (state !== stateEnum.DontPauseOnExceptions)
847 WebInspector.settings.lastPauseOnExceptionState.set(state);
848 WebInspector.settings.pauseOnExceptionStateString.set(state);
849 }, 787 },
850 788
851 /** 789 /**
852 * @return {boolean} 790 * @return {boolean}
853 */ 791 */
854 _runSnippet: function() 792 _runSnippet: function()
855 { 793 {
856 if (this._currentUISourceCode.project().type() !== WebInspector.projectT ypes.Snippets) 794 if (this._currentUISourceCode.project().type() !== WebInspector.projectT ypes.Snippets)
857 return false; 795 return false;
858 WebInspector.scriptSnippetModel.evaluateScriptSnippet(this._currentUISou rceCode); 796 WebInspector.scriptSnippetModel.evaluateScriptSnippet(this._currentUISou rceCode);
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1077 1015
1078 // Toggle Breakpoints 1016 // Toggle Breakpoints
1079 this._toggleBreakpointsButton = new WebInspector.StatusBarButton(WebInsp ector.UIString("Deactivate breakpoints."), "scripts-toggle-breakpoints"); 1017 this._toggleBreakpointsButton = new WebInspector.StatusBarButton(WebInsp ector.UIString("Deactivate breakpoints."), "scripts-toggle-breakpoints");
1080 this._toggleBreakpointsButton.toggled = false; 1018 this._toggleBreakpointsButton.toggled = false;
1081 this._toggleBreakpointsButton.addEventListener("click", this._toggleBrea kpointsClicked, this); 1019 this._toggleBreakpointsButton.addEventListener("click", this._toggleBrea kpointsClicked, this);
1082 debugToolbar.appendChild(this._toggleBreakpointsButton.element); 1020 debugToolbar.appendChild(this._toggleBreakpointsButton.element);
1083 1021
1084 // Pause on Exception 1022 // Pause on Exception
1085 this._pauseOnExceptionButton = new WebInspector.StatusBarButton("", "scr ipts-pause-on-exceptions-status-bar-item", 3); 1023 this._pauseOnExceptionButton = new WebInspector.StatusBarButton("", "scr ipts-pause-on-exceptions-status-bar-item", 3);
1086 this._pauseOnExceptionButton.addEventListener("click", this._togglePause OnExceptions, this); 1024 this._pauseOnExceptionButton.addEventListener("click", this._togglePause OnExceptions, this);
1087 this._pauseOnExceptionButton.setLongClickOptionsEnabled(this._createPaus eOnExceptionOptions.bind(this));
1088 debugToolbar.appendChild(this._pauseOnExceptionButton.element); 1025 debugToolbar.appendChild(this._pauseOnExceptionButton.element);
1089 1026
1090 return debugToolbar; 1027 return debugToolbar;
1091 }, 1028 },
1092 1029
1093 /** 1030 /**
1094 * @param {!WebInspector.StatusBarButton} button 1031 * @param {!WebInspector.StatusBarButton} button
1095 * @param {string} buttonTitle 1032 * @param {string} buttonTitle
1096 */ 1033 */
1097 _updateButtonTitle: function(button, buttonTitle) 1034 _updateButtonTitle: function(button, buttonTitle)
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after
1789 WebInspector.DrawerEditorView = function() 1726 WebInspector.DrawerEditorView = function()
1790 { 1727 {
1791 WebInspector.View.call(this); 1728 WebInspector.View.call(this);
1792 this.element.id = "drawer-editor-view"; 1729 this.element.id = "drawer-editor-view";
1793 this.element.classList.add("vbox"); 1730 this.element.classList.add("vbox");
1794 } 1731 }
1795 1732
1796 WebInspector.DrawerEditorView.prototype = { 1733 WebInspector.DrawerEditorView.prototype = {
1797 __proto__: WebInspector.View.prototype 1734 __proto__: WebInspector.View.prototype
1798 } 1735 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/DebuggerModel.js ('k') | Source/devtools/front_end/StatusBarButton.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698