Changeset 96313 in webkit


Ignore:
Timestamp:
Sep 29, 2011 1:44:57 AM (13 years ago)
Author:
podivilov@chromium.org
Message:

Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js.
https://bugs.webkit.org/show_bug.cgi?id=69068

Reviewed by Yury Semikhatsky.

  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js.

(WebInspector.RawSourceCode): Moved from SourceFile.js.
(WebInspector.UILocation): Moved from SourceFile.js.

  • inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js

(WebInspector.ScriptContentProvider):
(WebInspector.ScriptContentProvider.prototype.requestContent):
(WebInspector.ConcatenatedScriptsContentProvider):
(WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
(WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
(WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
(WebInspector.ResourceContentProvider):
(WebInspector.ResourceContentProvider.prototype.requestContent):
(WebInspector.StaticContentProvider):
(WebInspector.StaticContentProvider.prototype.requestContent):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
Location:
trunk
Files:
1 added
1 deleted
5 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r96311 r96313  
     12011-09-29  Pavel Podivilov  <podivilov@chromium.org>
     2
     3        Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js.
     4        https://bugs.webkit.org/show_bug.cgi?id=69068
     5
     6        Reviewed by Yury Semikhatsky.
     7
     8        * WebCore.gypi:
     9        * WebCore.vcproj/WebCore.vcproj:
     10        * inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js.
     11        (WebInspector.RawSourceCode): Moved from SourceFile.js.
     12        (WebInspector.UILocation): Moved from SourceFile.js.
     13        * inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js
     14        (WebInspector.ScriptContentProvider):
     15        (WebInspector.ScriptContentProvider.prototype.requestContent):
     16        (WebInspector.ConcatenatedScriptsContentProvider):
     17        (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
     18        (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
     19        (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
     20        (WebInspector.ResourceContentProvider):
     21        (WebInspector.ResourceContentProvider.prototype.requestContent):
     22        (WebInspector.StaticContentProvider):
     23        (WebInspector.StaticContentProvider.prototype.requestContent):
     24        * inspector/front-end/WebKit.qrc:
     25        * inspector/front-end/inspector.html:
     26
    1272011-09-29  Philippe Normand  <pnormand@igalia.com>
    228
  • trunk/Source/WebCore/WebCore.gypi

    r96215 r96313  
    62266226            'inspector/front-end/ConsoleView.js',
    62276227            'inspector/front-end/JavaScriptContextManager.js',
     6228            'inspector/front-end/ContentProviders.js',
    62286229            'inspector/front-end/ContextMenu.js',
    62296230            'inspector/front-end/CookieItemsView.js',
     
    62896290            'inspector/front-end/PropertiesSection.js',
    62906291            'inspector/front-end/PropertiesSidebarPane.js',
     6292            'inspector/front-end/RawSourceCode.js',
    62916293            'inspector/front-end/RemoteObject.js',
    62926294            'inspector/front-end/Resource.js',
     
    63176319            'inspector/front-end/SoftContextMenu.js',
    63186320            'inspector/front-end/SourceCSSTokenizer.js',
    6319             'inspector/front-end/SourceFile.js',
    63206321            'inspector/front-end/SourceFrame.js',
    63216322            'inspector/front-end/SourceHTMLTokenizer.js',
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r96215 r96313  
    6911869118                                </File>
    6911969119                                <File
     69120                                        RelativePath="..\inspector\front-end\ContentProviders.js"
     69121                                        >
     69122                                </File>
     69123                                <File
    6912069124                                        RelativePath="..\inspector\front-end\ContextMenu.js"
    6912169125                                        >
     
    6943069434                                </File>
    6943169435                                <File
     69436                                        RelativePath="..\inspector\front-end\RawSourceCode.js"
     69437                                        >
     69438                                </File>
     69439                                <File
    6943269440                                        RelativePath="..\inspector\front-end\RemoteObject.js"
    6943369441                                        >
     
    6953969547                                <File
    6954069548                                        RelativePath="..\inspector\front-end\SourceCSSTokenizer.js"
    69541                                         >
    69542                                 </File>
    69543                                 <File
    69544                                         RelativePath="..\inspector\front-end\SourceFile.js"
    6954569549                                        >
    6954669550                                </File>
  • trunk/Source/WebCore/inspector/front-end/RawSourceCode.js

    r96312 r96313  
    237237}
    238238
    239 
    240239/**
    241240 * @constructor
     
    247246    this.columnNumber = columnNumber;
    248247}
    249 
    250 
    251 /**
    252  * @constructor
    253  * @implements {WebInspector.ContentProvider}
    254  */
    255 WebInspector.ScriptContentProvider = function(script)
    256 {
    257     this._mimeType = "text/javascript";
    258     this._script = script;
    259 };
    260 
    261 WebInspector.ScriptContentProvider.prototype = {
    262     requestContent: function(callback)
    263     {
    264         function didRequestSource(source)
    265         {
    266             callback(this._mimeType, source);
    267         }
    268         this._script.requestSource(didRequestSource.bind(this));
    269     }
    270 }
    271 
    272 WebInspector.ScriptContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;
    273 
    274 /**
    275  * @constructor
    276  * @implements {WebInspector.ContentProvider}
    277  */
    278 WebInspector.ConcatenatedScriptsContentProvider = function(scripts)
    279 {
    280     this._mimeType = "text/html";
    281     this._scripts = scripts;
    282 };
    283 
    284 WebInspector.ConcatenatedScriptsContentProvider.prototype = {
    285    requestContent: function(callback)
    286    {
    287        var scripts = this._scripts.slice();
    288        scripts.sort(function(x, y) { return x.lineOffset - y.lineOffset || x.columnOffset - y.columnOffset; });
    289        var sources = [];
    290        function didRequestSource(source)
    291        {
    292            sources.push(source);
    293            if (sources.length == scripts.length)
    294                callback(this._mimeType, this._concatenateScriptsContent(scripts, sources));
    295        }
    296        for (var i = 0; i < scripts.length; ++i)
    297            scripts[i].requestSource(didRequestSource.bind(this));
    298    },
    299 
    300    _concatenateScriptsContent: function(scripts, sources)
    301    {
    302        var content = "";
    303        var lineNumber = 0;
    304        var columnNumber = 0;
    305 
    306        function appendChunk(chunk)
    307        {
    308            content += chunk;
    309            var lineEndings = chunk.lineEndings();
    310            var lineCount = lineEndings.length;
    311            if (lineCount === 1)
    312                columnNumber += chunk.length;
    313            else {
    314                lineNumber += lineCount - 1;
    315                columnNumber = lineEndings[lineCount - 1] - lineEndings[lineCount - 2] - 1;
    316            }
    317        }
    318 
    319        var scriptOpenTag = "<script>";
    320        var scriptCloseTag = "</script>";
    321        for (var i = 0; i < scripts.length; ++i) {
    322            if (lineNumber > scripts[i].lineOffset || (lineNumber === scripts[i].lineOffset && columnNumber > scripts[i].columnOffset - scriptOpenTag.length))
    323                continue;
    324 
    325            // Fill the gap with whitespace characters.
    326            while (lineNumber < scripts[i].lineOffset)
    327                appendChunk("\n");
    328            while (columnNumber < scripts[i].columnOffset - scriptOpenTag.length)
    329                appendChunk(" ");
    330 
    331            // Add script tag.
    332            appendChunk(scriptOpenTag);
    333            appendChunk(sources[i]);
    334            appendChunk(scriptCloseTag);
    335        }
    336 
    337        return content;
    338    }
    339 }
    340 
    341 WebInspector.ConcatenatedScriptsContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;
    342 
    343 /**
    344  * @constructor
    345  * @implements {WebInspector.ContentProvider}
    346  */
    347 WebInspector.ResourceContentProvider = function(resource)
    348 {
    349     this._mimeType = resource.type === WebInspector.Resource.Type.Script ? "text/javascript" : "text/html";
    350     this._resource = resource;
    351 };
    352 
    353 WebInspector.ResourceContentProvider.prototype = {
    354     requestContent: function(callback)
    355     {
    356         function didRequestContent(content)
    357         {
    358             callback(this._mimeType, content);
    359         }
    360         this._resource.requestContent(didRequestContent.bind(this));
    361     },
    362    
    363     searchInContent: function(query, callback)
    364     {
    365         this._resource.searchInContent(query, callback);
    366     }   
    367 }
    368 
    369 WebInspector.ResourceContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;
    370 
    371 
    372 WebInspector.StaticContentProvider = function(mimeType, content)
    373 {
    374     this._mimeType = mimeType;
    375     this._content = content;
    376 };
    377 
    378 WebInspector.StaticContentProvider.prototype = {
    379     requestContent: function(callback)
    380     {
    381         callback(this._mimeType, this._content);
    382     }
    383 }
    384 
    385 WebInspector.StaticContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;
  • trunk/Source/WebCore/inspector/front-end/WebKit.qrc

    r95942 r96313  
    2121    <file>ConsolePanel.js</file>
    2222    <file>ConsoleView.js</file>
     23    <file>ContentProviders.js</file>
    2324    <file>ContextMenu.js</file>
    2425    <file>CookieItemsView.js</file>
     
    3637    <file>DebuggerModel.js</file>
    3738    <file>DebuggerPresentationModel.js</file>
    38     <file>SourceFile.js</file>
    3939    <file>DOMAgent.js</file>
    4040    <file>DOMBreakpointsSidebarPane.js</file>
     
    8787    <file>PropertiesSection.js</file>
    8888    <file>PropertiesSidebarPane.js</file>
     89    <file>RawSourceCode.js</file>
    8990    <file>RemoteObject.js</file>
    9091    <file>Resource.js</file>
  • trunk/Source/WebCore/inspector/front-end/inspector.html

    r95942 r96313  
    161161    <script type="text/javascript" src="BreakpointManager.js"></script>
    162162    <script type="text/javascript" src="UISourceCode.js"></script>
    163     <script type="text/javascript" src="SourceFile.js"></script>
     163    <script type="text/javascript" src="ContentProviders.js"></script>
     164    <script type="text/javascript" src="RawSourceCode.js"></script>
    164165    <script type="text/javascript" src="CompilerSourceMapping.js"></script>
    165166    <script type="text/javascript" src="DOMAgent.js"></script>
Note: See TracChangeset for help on using the changeset viewer.