| Index: chrome_linux/resources/inspector/ScriptsPanel.js
|
| ===================================================================
|
| --- chrome_linux/resources/inspector/ScriptsPanel.js (revision 197568)
|
| +++ chrome_linux/resources/inspector/ScriptsPanel.js (working copy)
|
| @@ -824,6 +824,7 @@
|
| styleElement.textContent = xhr.responseText;
|
|
|
| this._promptElement = this.element.createChild("input", "monospace");
|
| +this._promptElement.addEventListener("input", this._onInput.bind(this), false);
|
| this._promptElement.type = "text";
|
| this._promptElement.setAttribute("spellcheck", "false");
|
|
|
| @@ -1057,9 +1058,16 @@
|
| }
|
| }
|
| this._viewportControl.refresh();
|
| +if (!query)
|
| +this._selectedIndexInFiltered = 0;
|
| this._updateSelection(this._selectedIndexInFiltered, false);
|
| },
|
|
|
| +_onInput: function(event)
|
| +{
|
| +this._scheduleFilter();
|
| +},
|
| +
|
| _onKeyDown: function(event)
|
| {
|
| var newSelectedIndex = this._selectedIndexInFiltered;
|
| @@ -1088,8 +1096,6 @@
|
| event.consume(true);
|
| break;
|
| default:
|
| -if (event.keyIdentifier !== "Shift" && event.keyIdentifier !== "Ctrl" && event.keyIdentifier !== "Meta" && event.keyIdentifier !== "Left" && event.keyIdentifier !== "Right")
|
| -this._scheduleFilter();
|
| }
|
| },
|
|
|
| @@ -1351,7 +1357,7 @@
|
| selectItem: function(itemIndex, promptValue)
|
| {
|
| var lineNumberMatch = promptValue.match(/[^:]+\:([\d]*)$/);
|
| -var lineNumber = lineNumberMatch ? Math.max(parseInt(lineNumberMatch[1], 10) - 1, 0) : 0;
|
| +var lineNumber = lineNumberMatch ? Math.max(parseInt(lineNumberMatch[1], 10) - 1, 0) : undefined;
|
| this.uiSourceCodeSelected(this._uiSourceCodes[itemIndex], lineNumber);
|
| },
|
|
|
| @@ -1407,13 +1413,15 @@
|
| }
|
|
|
|
|
| -WebInspector.OpenResourceDialog.show = function(panel, relativeToElement)
|
| +WebInspector.OpenResourceDialog.show = function(panel, relativeToElement, name)
|
| {
|
| if (WebInspector.Dialog.currentInstance())
|
| return;
|
|
|
| var filteredItemSelectionDialog = new WebInspector.FilteredItemSelectionDialog(new WebInspector.OpenResourceDialog(panel));
|
| filteredItemSelectionDialog.renderAsTwoRows();
|
| +if (name)
|
| +filteredItemSelectionDialog.setQuery(name);
|
| WebInspector.Dialog.show(relativeToElement, filteredItemSelectionDialog);
|
| }
|
|
|
| @@ -1479,6 +1487,7 @@
|
| WebInspector.SourceFrame.prototype.willHide.call(this);
|
| window.removeEventListener("focus", this._boundWindowFocused, false);
|
| delete this._boundWindowFocused;
|
| +this._uiSourceCode.removeWorkingCopyGetter();
|
| },
|
|
|
|
|
| @@ -1505,17 +1514,22 @@
|
| if (!this._uiSourceCode.isDirty())
|
| return;
|
|
|
| -this._isCommittingEditing = true;
|
| +this._muteSourceCodeEvents = true;
|
| this._uiSourceCode.commitWorkingCopy(this._didEditContent.bind(this));
|
| -delete this._isCommittingEditing;
|
| +delete this._muteSourceCodeEvents;
|
| },
|
|
|
| onTextChanged: function(oldRange, newRange)
|
| {
|
| WebInspector.SourceFrame.prototype.onTextChanged.call(this, oldRange, newRange);
|
| -this._isSettingWorkingCopy = true;
|
| -this._uiSourceCode.setWorkingCopy(this._textEditor.text());
|
| -delete this._isSettingWorkingCopy;
|
| +if (this._isSettingContent)
|
| +return;
|
| +this._muteSourceCodeEvents = true;
|
| +if (this._textEditor.isClean())
|
| +this._uiSourceCode.resetWorkingCopy();
|
| +else
|
| +this._uiSourceCode.setWorkingCopyGetter(this._textEditor.text.bind(this._textEditor));
|
| +delete this._muteSourceCodeEvents;
|
| },
|
|
|
| _didEditContent: function(error)
|
| @@ -1531,33 +1545,38 @@
|
| {
|
| var content = (event.data.content);
|
| this._textEditor.setReadOnly(this._uiSourceCode.formatted());
|
| -this.setContent(content, false, this._uiSourceCode.mimeType());
|
| +this._innerSetContent(content);
|
| },
|
|
|
|
|
| _onWorkingCopyChanged: function(event)
|
| {
|
| +if (this._muteSourceCodeEvents)
|
| +return;
|
| this._innerSetContent(this._uiSourceCode.workingCopy());
|
| +this.onUISourceCodeContentChanged();
|
| },
|
|
|
|
|
| _onWorkingCopyCommitted: function(event)
|
| {
|
| +this._textEditor.markClean();
|
| +if (this._muteSourceCodeEvents)
|
| +return;
|
| this._innerSetContent(this._uiSourceCode.workingCopy());
|
| +this.onUISourceCodeContentChanged();
|
| },
|
|
|
| -
|
| -onUISourceCodeContentChanged: function(content)
|
| +onUISourceCodeContentChanged: function()
|
| {
|
| -this.setContent(content, false, this._uiSourceCode.mimeType());
|
| },
|
|
|
|
|
| _innerSetContent: function(content)
|
| {
|
| -if (this._isSettingWorkingCopy || this._isCommittingEditing)
|
| -return;
|
| -this.onUISourceCodeContentChanged(content);
|
| +this._isSettingContent = true;
|
| +this.setContent(content, false, this._uiSourceCode.mimeType());
|
| +delete this._isSettingContent;
|
| },
|
|
|
| populateTextAreaContextMenu: function(contextMenu, lineNumber)
|
| @@ -1621,11 +1640,10 @@
|
| this._popoverHelper.hidePopover();
|
| },
|
|
|
| -
|
| -onUISourceCodeContentChanged: function(content, contentEncoded, mimeType)
|
| +onUISourceCodeContentChanged: function()
|
| {
|
| this._removeAllBreakpoints();
|
| -WebInspector.UISourceCodeFrame.prototype.onUISourceCodeContentChanged.call(this, content);
|
| +WebInspector.UISourceCodeFrame.prototype.onUISourceCodeContentChanged.call(this);
|
| },
|
|
|
| populateLineGutterContextMenu: function(contextMenu, lineNumber)
|
| @@ -2278,12 +2296,9 @@
|
| WebInspector.View.call(this);
|
| this.registerRequiredCSS("navigatorView.css");
|
|
|
| -this._treeSearchBoxElement = document.createElement("div");
|
| -this._treeSearchBoxElement.className = "navigator-tree-search-box";
|
| -this.element.appendChild(this._treeSearchBoxElement);
|
| -
|
| var scriptsTreeElement = document.createElement("ol");
|
| -this._scriptsTree = new WebInspector.NavigatorTreeOutline(this._treeSearchBoxElement, scriptsTreeElement);
|
| +this._scriptsTree = new WebInspector.NavigatorTreeOutline(scriptsTreeElement);
|
| +this._scriptsTree.childrenListElement.addEventListener("keypress", this._treeKeyPress.bind(this), true);
|
|
|
| var scriptsOutlineElement = document.createElement("div");
|
| scriptsOutlineElement.addStyleClass("outline-disclosure");
|
| @@ -2306,6 +2321,7 @@
|
|
|
| WebInspector.NavigatorView.Events = {
|
| ItemSelected: "ItemSelected",
|
| +ItemSearchStarted: "ItemSearchStarted",
|
| FileRenamed: "FileRenamed"
|
| }
|
|
|
| @@ -2465,6 +2481,11 @@
|
| },
|
|
|
|
|
| +handleRename: function(uiSourceCode, callback)
|
| +{
|
| +},
|
| +
|
| +
|
| rename: function(uiSourceCode, callback)
|
| {
|
| var node = this._uiSourceCodeNodes[uiSourceCode.uri()];
|
| @@ -2478,7 +2499,6 @@
|
| for (var uri in this._uiSourceCodeNodes)
|
| this._uiSourceCodeNodes[uri].dispose();
|
|
|
| -this._scriptsTree.stopSearch();
|
| this._scriptsTree.removeChildren();
|
| this._uiSourceCodeNodes = {};
|
| this._rootNode.reset();
|
| @@ -2491,21 +2511,28 @@
|
| contextMenu.show();
|
| },
|
|
|
| +_treeKeyPress: function(event)
|
| +{
|
| +if (WebInspector.isBeingEdited(this._scriptsTree.childrenListElement))
|
| +return;
|
| +
|
| +var searchText = String.fromCharCode(event.charCode);
|
| +if (searchText.trim() !== searchText)
|
| +return;
|
| +this.dispatchEventToListeners(WebInspector.NavigatorView.Events.ItemSearchStarted, searchText);
|
| +event.consume(true);
|
| +},
|
| +
|
| __proto__: WebInspector.View.prototype
|
| }
|
|
|
|
|
| -WebInspector.NavigatorTreeOutline = function(treeSearchBoxElement, element)
|
| +WebInspector.NavigatorTreeOutline = function(element)
|
| {
|
| TreeOutline.call(this, element);
|
| this.element = element;
|
|
|
| -this._treeSearchBoxElement = treeSearchBoxElement;
|
| -
|
| this.comparator = WebInspector.NavigatorTreeOutline._treeElementsCompare;
|
| -
|
| -this.searchable = true;
|
| -this.searchInputElement = document.createElement("input");
|
| }
|
|
|
| WebInspector.NavigatorTreeOutline.Types = {
|
| @@ -2564,18 +2591,6 @@
|
| return result;
|
| },
|
|
|
| -searchStarted: function()
|
| -{
|
| -this._treeSearchBoxElement.appendChild(this.searchInputElement);
|
| -this._treeSearchBoxElement.addStyleClass("visible");
|
| -},
|
| -
|
| -searchFinished: function()
|
| -{
|
| -this._treeSearchBoxElement.removeChild(this.searchInputElement);
|
| -this._treeSearchBoxElement.removeStyleClass("visible");
|
| -},
|
| -
|
| __proto__: TreeOutline.prototype
|
| }
|
|
|
| @@ -2638,12 +2653,6 @@
|
| },
|
|
|
|
|
| -matchesSearchText: function(searchText)
|
| -{
|
| -return this.titleText.match(new RegExp("^" + searchText.escapeForRegExp(), "i"));
|
| -},
|
| -
|
| -
|
| type: function()
|
| {
|
| return this._type;
|
| @@ -2724,6 +2733,28 @@
|
| }
|
| },
|
|
|
| +_shouldRenameOnMouseDown: function()
|
| +{
|
| +var isSelected = this === this.treeOutline.selectedTreeElement;
|
| +var isFocused = this.treeOutline.childrenListElement.isSelfOrAncestor(document.activeElement);
|
| +return isSelected && isFocused && !WebInspector.isBeingEdited(this.treeOutline.element);
|
| +},
|
| +
|
| +selectOnMouseDown: function(event)
|
| +{
|
| +if (!this._shouldRenameOnMouseDown()) {
|
| +TreeElement.prototype.selectOnMouseDown.call(this, event);
|
| +return;
|
| +}
|
| +setTimeout(rename.bind(this), 300);
|
| +
|
| +function rename()
|
| +{
|
| +if (this._shouldRenameOnMouseDown())
|
| +this._navigatorView.handleRename(this._uiSourceCode);
|
| +}
|
| +},
|
| +
|
| _ondragstart: function(event)
|
| {
|
| event.dataTransfer.setData("text/plain", this._warmedUpContent);
|
| @@ -2759,6 +2790,7 @@
|
|
|
| _handleContextMenuEvent: function(event)
|
| {
|
| +this.select();
|
| this._navigatorView.handleContextMenu(event, this._uiSourceCode);
|
| },
|
|
|
| @@ -3587,12 +3619,15 @@
|
|
|
| this._scriptsView = new WebInspector.NavigatorView();
|
| this._scriptsView.addEventListener(WebInspector.NavigatorView.Events.ItemSelected, this._scriptSelected, this);
|
| +this._scriptsView.addEventListener(WebInspector.NavigatorView.Events.ItemSearchStarted, this._itemSearchStarted, this);
|
|
|
| this._contentScriptsView = new WebInspector.NavigatorView();
|
| this._contentScriptsView.addEventListener(WebInspector.NavigatorView.Events.ItemSelected, this._scriptSelected, this);
|
| +this._contentScriptsView.addEventListener(WebInspector.NavigatorView.Events.ItemSearchStarted, this._itemSearchStarted, this);
|
|
|
| this._snippetsView = new WebInspector.SnippetsNavigatorView();
|
| this._snippetsView.addEventListener(WebInspector.NavigatorView.Events.ItemSelected, this._scriptSelected, this);
|
| +this._snippetsView.addEventListener(WebInspector.NavigatorView.Events.ItemSearchStarted, this._itemSearchStarted, this);
|
| this._snippetsView.addEventListener(WebInspector.NavigatorView.Events.FileRenamed, this._fileRenamed, this);
|
| this._snippetsView.addEventListener(WebInspector.SnippetsNavigatorView.Events.SnippetCreationRequested, this._snippetCreationRequested, this);
|
| this._snippetsView.addEventListener(WebInspector.SnippetsNavigatorView.Events.ItemRenamingRequested, this._itemRenamingRequested, this);
|
| @@ -3600,7 +3635,6 @@
|
| this._tabbedPane.appendTab(WebInspector.ScriptsNavigator.ScriptsTab, WebInspector.UIString("Sources"), this._scriptsView);
|
| this._tabbedPane.selectTab(WebInspector.ScriptsNavigator.ScriptsTab);
|
| this._tabbedPane.appendTab(WebInspector.ScriptsNavigator.ContentScriptsTab, WebInspector.UIString("Content scripts"), this._contentScriptsView);
|
| -if (WebInspector.experimentsSettings.snippetsSupport.isEnabled())
|
| this._tabbedPane.appendTab(WebInspector.ScriptsNavigator.SnippetsTab, WebInspector.UIString("Snippets"), this._snippetsView);
|
| }
|
|
|
| @@ -3608,6 +3642,7 @@
|
| ScriptSelected: "ScriptSelected",
|
| SnippetCreationRequested: "SnippetCreationRequested",
|
| ItemRenamingRequested: "ItemRenamingRequested",
|
| +ItemSearchStarted: "ItemSearchStarted",
|
| FileRenamed: "FileRenamed"
|
| }
|
|
|
| @@ -3668,6 +3703,12 @@
|
| },
|
|
|
|
|
| +_itemSearchStarted: function(event)
|
| +{
|
| +this.dispatchEventToListeners(WebInspector.ScriptsNavigator.Events.ItemSearchStarted, event.data);
|
| +},
|
| +
|
| +
|
| _fileRenamed: function(event)
|
| {
|
| this.dispatchEventToListeners(WebInspector.ScriptsNavigator.Events.FileRenamed, event.data);
|
| @@ -3707,7 +3748,7 @@
|
| var contextMenu = new WebInspector.ContextMenu(event);
|
| if (uiSourceCode) {
|
| contextMenu.appendItem(WebInspector.UIString("Run"), this._handleEvaluateSnippet.bind(this, uiSourceCode));
|
| -contextMenu.appendItem(WebInspector.UIString("Rename"), this._handleRenameSnippet.bind(this, uiSourceCode));
|
| +contextMenu.appendItem(WebInspector.UIString("Rename"), this.handleRename.bind(this, uiSourceCode));
|
| contextMenu.appendItem(WebInspector.UIString("Remove"), this._handleRemoveSnippet.bind(this, uiSourceCode));
|
| contextMenu.appendSeparator();
|
| }
|
| @@ -3724,7 +3765,7 @@
|
| },
|
|
|
|
|
| -_handleRenameSnippet: function(uiSourceCode)
|
| +handleRename: function(uiSourceCode)
|
| {
|
| this.dispatchEventToListeners(WebInspector.ScriptsNavigator.Events.ItemRenamingRequested, uiSourceCode);
|
| },
|
| @@ -3852,53 +3893,6 @@
|
|
|
|
|
|
|
| -WebInspector.SnippetJavaScriptSourceFrame = function(scriptsPanel, uiSourceCode)
|
| -{
|
| -WebInspector.JavaScriptSourceFrame.call(this, scriptsPanel, uiSourceCode);
|
| -
|
| -this._uiSourceCode = uiSourceCode;
|
| -this._runButton = new WebInspector.StatusBarButton(WebInspector.UIString("Run"), "evaluate-snippet-status-bar-item");
|
| -this._runButton.addEventListener("click", this._runButtonClicked, this);
|
| -this.textEditor.element.addEventListener("keydown", this._onKeyDown.bind(this), true);
|
| -this._snippetsShortcuts = {};
|
| -var runSnippetShortcutDescriptor = WebInspector.KeyboardShortcut.makeDescriptor(WebInspector.KeyboardShortcut.Keys.Enter, WebInspector.KeyboardShortcut.Modifiers.CtrlOrMeta)
|
| -this._snippetsShortcuts[runSnippetShortcutDescriptor.key] = this._runSnippet.bind(this);
|
| -}
|
| -
|
| -WebInspector.SnippetJavaScriptSourceFrame.prototype = {
|
| -
|
| -statusBarItems: function()
|
| -{
|
| -return [this._runButton.element].concat(WebInspector.JavaScriptSourceFrame.prototype.statusBarItems.call(this));
|
| -},
|
| -
|
| -_runButtonClicked: function()
|
| -{
|
| -this._runSnippet();
|
| -},
|
| -
|
| -_runSnippet: function()
|
| -{
|
| -WebInspector.scriptSnippetModel.evaluateScriptSnippet(this._uiSourceCode);
|
| -},
|
| -
|
| -
|
| -_onKeyDown: function(event)
|
| -{
|
| -var shortcutKey = WebInspector.KeyboardShortcut.makeKeyFromEvent(event);
|
| -var handler = this._snippetsShortcuts[shortcutKey];
|
| -if (handler) {
|
| -handler(event);
|
| -event.handled = true;
|
| -}
|
| -},
|
| -
|
| -__proto__: WebInspector.JavaScriptSourceFrame.prototype
|
| -}
|
| -;
|
| -
|
| -
|
| -
|
| WebInspector.StyleSheetOutlineDialog = function(view, uiSourceCode)
|
| {
|
| WebInspector.SelectionDialogContentProvider.call(this);
|
| @@ -5136,6 +5130,7 @@
|
| this._navigatorController = new WebInspector.NavigatorOverlayController(this.editorView, this._navigator.view, this._editorContainer.view);
|
|
|
| this._navigator.addEventListener(WebInspector.ScriptsNavigator.Events.ScriptSelected, this._scriptSelected, this);
|
| +this._navigator.addEventListener(WebInspector.ScriptsNavigator.Events.ItemSearchStarted, this._itemSearchStarted, this);
|
| this._navigator.addEventListener(WebInspector.ScriptsNavigator.Events.SnippetCreationRequested, this._snippetCreationRequested, this);
|
| this._navigator.addEventListener(WebInspector.ScriptsNavigator.Events.ItemRenamingRequested, this._itemRenamingRequested, this);
|
| this._navigator.addEventListener(WebInspector.ScriptsNavigator.Events.FileRenamed, this._fileRenamed, this);
|
| @@ -5453,6 +5448,11 @@
|
| this._editorContainer.showFile(uiSourceCode);
|
| this._updateScriptViewStatusBarItems();
|
|
|
| +if (this._currentUISourceCode.project().type() === WebInspector.projectTypes.Snippets)
|
| +this._runSnippetButton.element.removeStyleClass("hidden");
|
| +else
|
| +this._runSnippetButton.element.addStyleClass("hidden");
|
| +
|
| return sourceFrame;
|
| },
|
|
|
| @@ -5462,9 +5462,6 @@
|
| var sourceFrame;
|
| switch (uiSourceCode.contentType()) {
|
| case WebInspector.resourceTypes.Script:
|
| -if (uiSourceCode.project().type() === WebInspector.projectTypes.Snippets)
|
| -sourceFrame = new WebInspector.SnippetJavaScriptSourceFrame(this, uiSourceCode);
|
| -else
|
| sourceFrame = new WebInspector.JavaScriptSourceFrame(this, uiSourceCode);
|
| break;
|
| case WebInspector.resourceTypes.Document:
|
| @@ -5564,6 +5561,7 @@
|
| var uiSourceCode = (event.data);
|
| var sourceFrame = this._showFile(uiSourceCode);
|
| this._navigatorController.hideNavigatorOverlay();
|
| +if (!this._navigatorController.isNavigatorPinned())
|
| sourceFrame.focus();
|
| WebInspector.searchController.resetSearch();
|
| },
|
| @@ -5573,10 +5571,16 @@
|
| var uiSourceCode = (event.data.uiSourceCode);
|
| var sourceFrame = this._showFile(uiSourceCode);
|
| this._navigatorController.hideNavigatorOverlay();
|
| -if (sourceFrame && event.data.focusSource)
|
| +if (sourceFrame && (!this._navigatorController.isNavigatorPinned() || event.data.focusSource))
|
| sourceFrame.focus();
|
| },
|
|
|
| +_itemSearchStarted: function(event)
|
| +{
|
| +var searchText = (event.data);
|
| +WebInspector.OpenResourceDialog.show(this, this.editorView.mainElement, searchText);
|
| +},
|
| +
|
| _pauseOnExceptionStateChanged: function()
|
| {
|
| var pauseOnExceptionsState = WebInspector.settings.pauseOnExceptionStateString.get();
|
| @@ -5654,6 +5658,15 @@
|
| },
|
|
|
|
|
| +_runSnippet: function(event)
|
| +{
|
| +if (this._currentUISourceCode.project().type() !== WebInspector.projectTypes.Snippets)
|
| +return false;
|
| +WebInspector.scriptSnippetModel.evaluateScriptSnippet(this._currentUISourceCode);
|
| +return true;
|
| +},
|
| +
|
| +
|
| _togglePause: function(event)
|
| {
|
| if (this._paused) {
|
| @@ -5755,6 +5768,12 @@
|
| var platformSpecificModifier = WebInspector.KeyboardShortcut.Modifiers.CtrlOrMeta;
|
|
|
|
|
| +handler = this._runSnippet.bind(this);
|
| +this._runSnippetButton = this._createButtonAndRegisterShortcuts("scripts-run-snippet", "", handler, WebInspector.ScriptsPanelDescriptor.ShortcutKeys.RunSnippet);
|
| +debugToolbar.appendChild(this._runSnippetButton.element);
|
| +this._runSnippetButton.element.addStyleClass("hidden");
|
| +
|
| +
|
| handler = this._togglePause.bind(this);
|
| this._pauseButton = this._createButtonAndRegisterShortcuts("scripts-pause", "", handler, WebInspector.ScriptsPanelDescriptor.ShortcutKeys.PauseContinue);
|
| debugToolbar.appendChild(this._pauseButton.element);
|
|
|