Changeset 117571 in webkit


Ignore:
Timestamp:
May 18, 2012 3:10:52 AM (12 years ago)
Author:
pfeldman@chromium.org
Message:

Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree.
https://bugs.webkit.org/show_bug.cgi?id=86833

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Added ContentProvider::contentType, regactored NavigatorView to use the icon defined by the content type.

  • inspector/front-end/CompilerScriptMapping.js:
  • inspector/front-end/ContentProvider.js:

(WebInspector.ContentProvider.prototype.contentType):

  • inspector/front-end/ContentProviders.js:

(WebInspector.ConcatenatedScriptsContentProvider.prototype.contentType):
(WebInspector.CompilerSourceMappingContentProvider):
(WebInspector.CompilerSourceMappingContentProvider.prototype.contentType):
(WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
(WebInspector.StaticContentProvider):
(WebInspector.StaticContentProvider.prototype.contentType):
(WebInspector.StaticContentProvider.prototype.requestContent):

  • inspector/front-end/NavigatorView.js:

(WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
(WebInspector.NavigatorSourceTreeElement):

  • inspector/front-end/NetworkRequest.js:

(WebInspector.NetworkRequest.prototype.contentType):

  • inspector/front-end/Resource.js:

(WebInspector.Resource.prototype.contentType):
(WebInspector.Resource.prototype.canonicalMimeType):
(WebInspector.ResourceRevision.prototype.contentType):

  • inspector/front-end/ResourceType.js:

(WebInspector.ResourceType.prototype.toString):
(WebInspector.ResourceType.prototype.canonicalMimeType):

  • inspector/front-end/Script.js:

(WebInspector.Script.prototype.contentType):

  • inspector/front-end/ScriptSnippetModel.js:

(WebInspector.SnippetContentProvider):

  • inspector/front-end/StylesPanel.js:
  • inspector/front-end/UISourceCode.js:

(WebInspector.UISourceCode.prototype.contentType):

  • inspector/front-end/navigatorView.css:

(.navigator-stylesheet-tree-item .icon):
(.navigator-document-tree-item .icon):

LayoutTests:

  • http/tests/inspector/search/search-in-static.html:
  • inspector/debugger/scripts-file-selector.html:
  • inspector/debugger/scripts-panel.html:
  • inspector/debugger/scripts-sorting.html:
Location:
trunk
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r117570 r117571  
     12012-05-18  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree.
     4        https://bugs.webkit.org/show_bug.cgi?id=86833
     5
     6        Reviewed by Vsevolod Vlasov.
     7
     8        * http/tests/inspector/search/search-in-static.html:
     9        * inspector/debugger/scripts-file-selector.html:
     10        * inspector/debugger/scripts-panel.html:
     11        * inspector/debugger/scripts-sorting.html:
     12
    1132012-05-18  Ryosuke Niwa  <rniwa@webkit.org>
    214
  • trunk/LayoutTests/http/tests/inspector/search/search-in-static.html

    r97959 r117571  
    1919    function step3()
    2020    {
    21         staticContentProvider = new WebInspector.StaticContentProvider("text/plain", resource.content);
     21        staticContentProvider = new WebInspector.StaticContentProvider(WebInspector.resourceTypes.Script, resource.content);
    2222        InspectorTest.addResult(resource.url);
    2323
  • trunk/LayoutTests/inspector/debugger/scripts-file-selector.html

    r116846 r117571  
    1212    var navigatorFileSelector = new WebInspector.ScriptsNavigator();
    1313
     14    var contentProvider = {
     15        contentType: function()
     16        {
     17            return WebInspector.resourceTypes.Script;
     18        }
     19    }
     20
    1421    function addUISourceCode(url, isContentScript)
    1522    {
    16         var uiSourceCode = new WebInspector.UISourceCode(url, null, null);
     23        var uiSourceCode = new WebInspector.UISourceCode(url, contentProvider, null);
    1724        uiSourceCode.isContentScript = isContentScript;
    1825        navigatorFileSelector.addUISourceCode(uiSourceCode);
  • trunk/LayoutTests/inspector/debugger/scripts-panel.html

    r117302 r117571  
    1919    };
    2020
     21    var contentProvider = {
     22        contentType: function()
     23        {
     24            return WebInspector.resourceTypes.Script;
     25        }
     26    }
     27   
    2128    function createUISourceCodeProviderMock()
    2229    {
     
    4552    function createUISouceCode(url)
    4653    {
    47         var uiSourceCode = new WebInspector.JavaScriptSource(url, null, null, false);
     54        var uiSourceCode = new WebInspector.JavaScriptSource(url, contentProvider, null, false);
    4855        uiSourceCode.requestContent = function(callback)
    4956        {
  • trunk/LayoutTests/inspector/debugger/scripts-sorting.html

    r116846 r117571  
    1212    var navigatorFileSelector = new WebInspector.ScriptsNavigator();
    1313
     14    var contentProvider = {
     15        contentType: function()
     16        {
     17            return WebInspector.resourceTypes.Script;
     18        }
     19    }
     20
    1421    function addUISourceCode(url, isContentScript)
    1522    {
    16         var uiSourceCode = new WebInspector.UISourceCode(url, null, null);
     23        var uiSourceCode = new WebInspector.UISourceCode(url, contentProvider, null);
    1724        uiSourceCode.isContentScript = isContentScript;
    1825        navigatorFileSelector.addUISourceCode(uiSourceCode);
  • trunk/Source/WebCore/ChangeLog

    r117565 r117571  
     12012-05-18  Pavel Feldman  <pfeldman@chromium.org>
     2
     3        Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree.
     4        https://bugs.webkit.org/show_bug.cgi?id=86833
     5
     6        Reviewed by Vsevolod Vlasov.
     7
     8        Added ContentProvider::contentType, regactored NavigatorView to use the icon defined by the content type.
     9
     10        * inspector/front-end/CompilerScriptMapping.js:
     11        * inspector/front-end/ContentProvider.js:
     12        (WebInspector.ContentProvider.prototype.contentType):
     13        * inspector/front-end/ContentProviders.js:
     14        (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentType):
     15        (WebInspector.CompilerSourceMappingContentProvider):
     16        (WebInspector.CompilerSourceMappingContentProvider.prototype.contentType):
     17        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
     18        (WebInspector.StaticContentProvider):
     19        (WebInspector.StaticContentProvider.prototype.contentType):
     20        (WebInspector.StaticContentProvider.prototype.requestContent):
     21        * inspector/front-end/NavigatorView.js:
     22        (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
     23        (WebInspector.NavigatorSourceTreeElement):
     24        * inspector/front-end/NetworkRequest.js:
     25        (WebInspector.NetworkRequest.prototype.contentType):
     26        * inspector/front-end/Resource.js:
     27        (WebInspector.Resource.prototype.contentType):
     28        (WebInspector.Resource.prototype.canonicalMimeType):
     29        (WebInspector.ResourceRevision.prototype.contentType):
     30        * inspector/front-end/ResourceType.js:
     31        (WebInspector.ResourceType.prototype.toString):
     32        (WebInspector.ResourceType.prototype.canonicalMimeType):
     33        * inspector/front-end/Script.js:
     34        (WebInspector.Script.prototype.contentType):
     35        * inspector/front-end/ScriptSnippetModel.js:
     36        (WebInspector.SnippetContentProvider):
     37        * inspector/front-end/StylesPanel.js:
     38        * inspector/front-end/UISourceCode.js:
     39        (WebInspector.UISourceCode.prototype.contentType):
     40        * inspector/front-end/navigatorView.css:
     41        (.navigator-stylesheet-tree-item .icon):
     42        (.navigator-document-tree-item .icon):
     43
    1442012-05-18  Sheriff Bot  <webkit.review.bot@gmail.com>
    245
  • trunk/Source/WebCore/inspector/front-end/CompilerScriptMapping.js

    r117277 r117571  
    116116            var contentProvider;
    117117            if (sourceContent)
    118                 contentProvider = new WebInspector.StaticContentProvider("text/javascript", sourceContent);
     118                contentProvider = new WebInspector.StaticContentProvider(WebInspector.resourceTypes.Script, sourceContent);
    119119            else
    120120                contentProvider = new WebInspector.CompilerSourceMappingContentProvider(sourceURL);
  • trunk/Source/WebCore/inspector/front-end/ContentProvider.js

    r114241 r117571  
    4141
    4242    /**
     43     * @return {WebInspector.ResourceType}
     44     */
     45    contentType: function() { },
     46
     47    /**
    4348     * @param {function(?string,boolean,string)} callback
    4449     */
  • trunk/Source/WebCore/inspector/front-end/ContentProviders.js

    r115979 r117571  
    8282
    8383    /**
     84     * @return {WebInspector.ResourceType}
     85     */
     86    contentType: function()
     87    {
     88        return WebInspector.resourceTypes.Document;
     89    },
     90   
     91    /**
    8492     * @param {function(?string,boolean,string)} callback
    8593     */
     
    181189WebInspector.CompilerSourceMappingContentProvider = function(sourceURL)
    182190{
    183     this._mimeType = "text/javascript";
    184191    this._sourceURL = sourceURL;
    185192}
     
    194201    },
    195202
     203    /**
     204     * @return {WebInspector.ResourceType}
     205     */
     206    contentType: function()
     207    {
     208        return WebInspector.resourceTypes.Script;
     209    },
     210   
    196211    /**
    197212     * @param {function(?string,boolean,string)} callback
     
    206221            console.error(e.message);
    207222        }
    208         callback(sourceCode, false, this._mimeType);
     223        callback(sourceCode, false, "text/javascript");
    209224    },
    210225
     
    226241 * @constructor
    227242 * @implements {WebInspector.ContentProvider}
     243 * @param {WebInspector.ResourceType} contentType
     244 * @param {string} content
    228245 */
    229 WebInspector.StaticContentProvider = function(mimeType, content)
     246WebInspector.StaticContentProvider = function(contentType, content)
    230247{
    231     this._mimeType = mimeType;
    232248    this._content = content;
     249    this._contentType = contentType;
    233250}
    234251
     
    243260
    244261    /**
     262     * @return {WebInspector.ResourceType}
     263     */
     264    contentType: function()
     265    {
     266        return WebInspector.resourceTypes.Script;
     267    },
     268
     269    /**
    245270     * @param {function(?string,boolean,string)} callback
    246271     */
    247272    requestContent: function(callback)
    248273    {
    249         callback(this._content, false, this._mimeType);
     274        callback(this._content, false, this._contentType.canonicalMimeType());
    250275    },
    251276
  • trunk/Source/WebCore/inspector/front-end/NavigatorView.js

    r117306 r117571  
    7474            return;
    7575
    76         var scriptTreeElement = new WebInspector.NavigatorScriptTreeElement(this, uiSourceCode, "");
     76        var scriptTreeElement = new WebInspector.NavigatorSourceTreeElement(this, uiSourceCode, "");
    7777        this._scriptTreeElementsByUISourceCode.put(uiSourceCode, scriptTreeElement);
    7878        this._updateScriptTitle(uiSourceCode);
     
    408408       if (this.children.length) {
    409409           for (var treeElement = this.children[0]; treeElement; treeElement = treeElement.traverseNextTreeElement(false, this, true)) {
    410                if (treeElement instanceof WebInspector.NavigatorScriptTreeElement)
     410               if (treeElement instanceof WebInspector.NavigatorSourceTreeElement)
    411411                   result.push(treeElement.uiSourceCode);
    412412           }
     
    562562 * @param {string} title
    563563 */
    564 WebInspector.NavigatorScriptTreeElement = function(navigatorView, uiSourceCode, title)
     564WebInspector.NavigatorSourceTreeElement = function(navigatorView, uiSourceCode, title)
    565565{
    566     WebInspector.BaseNavigatorTreeElement.call(this, title, ["navigator-script-tree-item"], false);
     566    WebInspector.BaseNavigatorTreeElement.call(this, title, ["navigator-" + uiSourceCode.contentType().name() + "-tree-item"], false);
    567567    this._navigatorView = navigatorView;
    568568    this._uiSourceCode = uiSourceCode;
     
    570570}
    571571
    572 WebInspector.NavigatorScriptTreeElement.prototype = {
     572WebInspector.NavigatorSourceTreeElement.prototype = {
    573573    /**
    574574     * @return {WebInspector.UISourceCode}
     
    620620}
    621621
    622 WebInspector.NavigatorScriptTreeElement.prototype.__proto__ = WebInspector.BaseNavigatorTreeElement.prototype;
     622WebInspector.NavigatorSourceTreeElement.prototype.__proto__ = WebInspector.BaseNavigatorTreeElement.prototype;
  • trunk/Source/WebCore/inspector/front-end/NetworkRequest.js

    r116952 r117571  
    685685
    686686    /**
     687     * @return {WebInspector.ResourceType}
     688     */
     689    contentType: function()
     690    {
     691        return this._type;
     692    },
     693
     694    /**
    687695     * @param {function(?string, boolean, string)} callback
    688696     */
  • trunk/Source/WebCore/inspector/front-end/Resource.js

    r115984 r117571  
    369369
    370370    /**
     371     * @return {WebInspector.ResourceType}
     372     */
     373    contentType: function()
     374    {
     375        return this.type;
     376    },
     377
     378    /**
    371379     * @param {function(?string, boolean, string)} callback
    372380     */
     
    384392    canonicalMimeType: function()
    385393    {
    386         if (this.type === WebInspector.resourceTypes.Document)
    387             return "text/html";
    388         if (this.type === WebInspector.resourceTypes.Script)
    389             return "text/javascript";
    390         if (this.type === WebInspector.resourceTypes.Stylesheet)
    391             return "text/css";
    392         return this.mimeType;
     394        return this.type.canonicalMimeType() || this.mimeType;
    393395    },
    394396
     
    527529
    528530    /**
     531     * @return {WebInspector.ResourceType}
     532     */
     533    contentType: function()
     534    {
     535        return this._resource.contentType();
     536    },
     537
     538    /**
    529539     * @param {function(?string, boolean, string)} callback
    530540     */
  • trunk/Source/WebCore/inspector/front-end/ResourceType.js

    r113587 r117571  
    9292    {
    9393        return this._name;
     94    },
     95
     96    /**
     97     * @return {string}
     98     */
     99    canonicalMimeType: function()
     100    {
     101        if (this === WebInspector.resourceTypes.Document)
     102            return "text/html";
     103        if (this === WebInspector.resourceTypes.Script)
     104            return "text/javascript";
     105        if (this === WebInspector.resourceTypes.Stylesheet)
     106            return "text/css";
     107        return "";
    94108    }
    95109}
  • trunk/Source/WebCore/inspector/front-end/Script.js

    r117277 r117571  
    5959
    6060    /**
     61     * @return {WebInspector.ResourceType}
     62     */
     63    contentType: function()
     64    {
     65        return WebInspector.resourceTypes.Script;
     66    },
     67
     68    /**
    6169     * @param {function(?string,boolean,string)} callback
    6270     */
  • trunk/Source/WebCore/inspector/front-end/ScriptSnippetModel.js

    r117299 r117571  
    423423WebInspector.SnippetContentProvider = function(snippet)
    424424{
    425     WebInspector.StaticContentProvider.call(this, "text/javascript", snippet.content);
     425    WebInspector.StaticContentProvider.call(this, WebInspector.resourceTypes.Script, snippet.content);
    426426}
    427427
  • trunk/Source/WebCore/inspector/front-end/StylesPanel.js

    r117462 r117571  
    100100
    101101WebInspector.StyleSource.prototype = {
    102    
    103102}
    104103
  • trunk/Source/WebCore/inspector/front-end/UISourceCode.js

    r117455 r117571  
    101101
    102102    /**
     103     * @return {WebInspector.ResourceType}
     104     */
     105    contentType: function()
     106    {
     107        return this._contentProvider.contentType();
     108    },
     109
     110    /**
    103111     * @param {function(?string,boolean,string)} callback
    104112     */
  • trunk/Source/WebCore/inspector/front-end/navigatorView.css

    r117055 r117571  
    3939.navigator-script-tree-item .icon {
    4040    content: url(Images/resourceJSIcon.png);
     41}
     42
     43.navigator-stylesheet-tree-item .icon {
     44    content: url(Images/resourceCSSIcon.png);
     45}
     46
     47.navigator-document-tree-item .icon {
     48    content: url(Images/resourceDocumentIcon.png);
    4149}
    4250
Note: See TracChangeset for help on using the changeset viewer.