Changeset 112416 in webkit


Ignore:
Timestamp:
Mar 28, 2012 11:23:00 AM (12 years ago)
Author:
vsevik@chromium.org
Message:

Web Inspector: Implement snippets renaming in scripts navigator.
https://bugs.webkit.org/show_bug.cgi?id=82477

Reviewed by Pavel Feldman.

Snippets renaming is implemented as editing of snippet name in scripts navigator.

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
(WebInspector.ScriptsNavigator.prototype._fileRenamed):
(WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
(WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
(WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
(WebInspector.BaseNavigatorTreeElement.prototype.set titleText):

  • inspector/front-end/scriptsPanel.css:

(#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r112414 r112416  
     12012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
     2
     3        Web Inspector: Implement snippets renaming in scripts navigator.
     4        https://bugs.webkit.org/show_bug.cgi?id=82477
     5
     6        Reviewed by Pavel Feldman.
     7
     8        Snippets renaming is implemented as editing of snippet name in scripts navigator.
     9
     10        * inspector/front-end/ScriptsNavigator.js:
     11        (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
     12        (WebInspector.ScriptsNavigator.prototype._fileRenamed):
     13        (WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
     14        (WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
     15        (WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
     16        (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
     17        * inspector/front-end/scriptsPanel.css:
     18        (#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):
     19
    1202012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
    221
  • trunk/Source/WebCore/inspector/front-end/ScriptsNavigator.js

    r112414 r112416  
    136136            return;
    137137       
    138         var scriptTitle = uiSourceCode.fileName || WebInspector.UIString("(program)");
    139         var scriptTreeElement = new WebInspector.NavigatorScriptTreeElement(this, uiSourceCode, scriptTitle);
     138        var scriptTreeElement = new WebInspector.NavigatorScriptTreeElement(this, uiSourceCode, "");
    140139        this._scriptTreeElementsByUISourceCode.put(uiSourceCode, scriptTreeElement);
     140        this._updateScriptTitle(uiSourceCode);
    141141
    142142        var folderTreeElement = this._getOrCreateFolderTreeElement(uiSourceCode);
    143143        folderTreeElement.appendChild(scriptTreeElement);
     144    },
     145
     146    /**
     147     * @param {WebInspector.UISourceCode} uiSourceCode
     148     */
     149    _updateScriptTitle: function(uiSourceCode)
     150    {
     151        var scriptTreeElement = this._scriptTreeElementsByUISourceCode.get(uiSourceCode);
     152        if (!scriptTreeElement)
     153            return;
     154        var scriptTitle = uiSourceCode.fileName || WebInspector.UIString("(program)");
     155        scriptTreeElement.titleText = scriptTitle;
    144156    },
    145157
     
    318330    _handleRenameSnippet: function(uiSourceCode, event)
    319331    {
     332        this.rename(uiSourceCode);
     333    },
     334
     335    /**
     336     * @param {WebInspector.UISourceCode} uiSourceCode
     337     * @param {Event} event
     338     */
     339    _handleRemoveSnippet: function(uiSourceCode, event)
     340    {
    320341        // FIXME: To be implemented.
    321342    },
    322343
    323344    /**
    324      * @param {WebInspector.UISourceCode} uiSourceCode
    325345     * @param {Event} event
    326346     */
    327     _handleRemoveSnippet: function(uiSourceCode, event)
     347    _handleCreateSnippet: function(event)
    328348    {
    329349        // FIXME: To be implemented.
    330350    },
    331351
    332     /**
    333      * @param {Event} event
    334      */
    335     _handleCreateSnippet: function(event)
     352    _fileRenamed: function(uiSourceCode, newTitle)
    336353    {
    337354        // FIXME: To be implemented.
     355    },
     356
     357    /**
     358     * @param {WebInspector.UISourceCode} uiSourceCode
     359     */
     360    rename: function(uiSourceCode, callback)
     361    {
     362        var scriptTreeElement = this._scriptTreeElementsByUISourceCode.get(uiSourceCode);
     363        if (!scriptTreeElement)
     364            return;
     365
     366        // Tree outline should be marked as edited as well as the tree element to prevent search from starting.
     367        WebInspector.markBeingEdited(scriptTreeElement.treeOutline.element, true);
     368
     369        function commitHandler(element, newTitle, oldTitle)
     370        {
     371            if (newTitle && newTitle !== oldTitle)
     372                this._fileRenamed(uiSourceCode, newTitle);
     373            else
     374                this._updateScriptTitle(uiSourceCode);
     375            afterEditing();
     376        }
     377
     378        function cancelHandler()
     379        {
     380            afterEditing();
     381        }
     382
     383        function afterEditing()
     384        {
     385            WebInspector.markBeingEdited(scriptTreeElement.treeOutline.element, false);
     386            callback();
     387        }
     388
     389        var editingConfig = new WebInspector.EditingConfig(commitHandler.bind(this), cancelHandler.bind(this));
     390        WebInspector.startEditing(scriptTreeElement.titleElement, editingConfig);
     391        window.getSelection().setBaseAndExtent(scriptTreeElement.titleElement, 0, scriptTreeElement.titleElement, 1);
    338392    },
    339393
     
    565619    {
    566620        this._titleText = titleText || "";
    567         this._titleTextNode.textContent = this._titleText;
     621        if (this.titleElement)
     622            this.titleElement.textContent = this._titleText;
    568623    },
    569624   
  • trunk/Source/WebCore/inspector/front-end/scriptsPanel.css

    r112413 r112416  
    363363}
    364364
     365#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing {
     366    margin: auto;
     367}
     368
    365369.function-location-link {
    366370    float: right;
Note: See TracChangeset for help on using the changeset viewer.