Changeset 95797 in webkit


Ignore:
Timestamp:
Sep 23, 2011 6:17:49 AM (13 years ago)
Author:
podivilov@chromium.org
Message:

Web Inspector: skip overlapping scripts when displaying concatenated content.
https://bugs.webkit.org/show_bug.cgi?id=68144

Source/WebCore:

Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.

Reviewed by Pavel Feldman.

  • inspector/front-end/SourceFile.js:

(WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
(WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):

LayoutTests:

Reviewed by Pavel Feldman.

  • inspector/debugger/content-providers-expected.txt:
  • inspector/debugger/content-providers.html:
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r95796 r95797  
     12011-09-15  Pavel Podivilov  <podivilov@chromium.org>
     2
     3        Web Inspector: skip overlapping scripts when displaying concatenated content.
     4        https://bugs.webkit.org/show_bug.cgi?id=68144
     5
     6        Reviewed by Pavel Feldman.
     7
     8        * inspector/debugger/content-providers-expected.txt:
     9        * inspector/debugger/content-providers.html:
     10
    1112011-09-23  Xan Lopez  <xlopez@igalia.com>
    212
  • trunk/LayoutTests/inspector/debugger/content-providers-expected.txt

    r94571 r95797  
    33
    44Running: testScriptContentProvider
    5 Request foo.js source.
    65
    76Running: testConcatenatedScriptsContentProvider
    8 Request foo.js source.
    9 Request bar.js source.
    10 Request baz.js source.
    11 
    12   <script>function foo() { return 0; }</script>               <script>function bar() { return 0; }</script>
     7  <script>function foo() { return 0; }</script>
     8                                                              <script>function bar() { return 0; }</script>
    139
    1410            <script>
  • trunk/LayoutTests/inspector/debugger/content-providers.html

    r94571 r95797  
    1313            requestSource: function(callback)
    1414            {
    15                 InspectorTest.addResult("Request " + id + " source.");
    1615                callback(source);
    1716            },
     
    3938        {
    4039            var scripts = [];
    41             scripts.push(createMockScript("baz.js", "\nfunction baz()\n{\n  return 0;\n}\n", [3, 20]));
    42             scripts.push(createMockScript("foo.js", "function foo() { return 0; }", [1, 10]));
    43             scripts.push(createMockScript("bar.js", "function bar() { return 0; }", [1, 70]));
     40            scripts.push(createMockScript("1", "\nfunction baz()\n{\n  return 0;\n}\n", [3, 20]));
     41            scripts.push(createMockScript("2", "function foo() { return 0; }", [0, 10]));
     42            scripts.push(createMockScript("3", "function bar() { return 0; }", [1, 70]));
     43            scripts.push(createMockScript("4", "this should not appear in displayed content", [0, 20]));
    4444            var contentProvider = new WebInspector.ConcatenatedScriptsContentProvider(scripts);
    4545            function didRequestContent(mimeType, content)
  • trunk/Source/WebCore/ChangeLog

    r95794 r95797  
     12011-09-15  Pavel Podivilov  <podivilov@chromium.org>
     2
     3        Web Inspector: skip overlapping scripts when displaying concatenated content.
     4        https://bugs.webkit.org/show_bug.cgi?id=68144
     5
     6        Dynamically appended script tags have wrong offsets and cause troubles building concatenated content.
     7
     8        Reviewed by Pavel Feldman.
     9
     10        * inspector/front-end/SourceFile.js:
     11        (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
     12        (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
     13
    1142011-09-23  Ilya Tikhonovsky  <loislo@chromium.org>
    215
  • trunk/Source/WebCore/inspector/front-end/SourceFile.js

    r95522 r95797  
    319319       function appendChunk(chunk)
    320320       {
    321            var start = { lineNumber: lineNumber, columnNumber: columnNumber };
    322321           content += chunk;
    323322           var lineEndings = chunk.lineEndings();
     
    329328               columnNumber = lineEndings[lineCount - 1] - lineEndings[lineCount - 2] - 1;
    330329           }
    331            var end = { lineNumber: lineNumber, columnNumber: columnNumber };
    332330       }
    333331
     
    335333       var scriptCloseTag = "</script>";
    336334       for (var i = 0; i < scripts.length; ++i) {
     335           if (lineNumber > scripts[i].lineOffset || (lineNumber === scripts[i].lineOffset && columnNumber > scripts[i].columnOffset - scriptOpenTag.length))
     336               continue;
     337
    337338           // Fill the gap with whitespace characters.
    338339           while (lineNumber < scripts[i].lineOffset)
Note: See TracChangeset for help on using the changeset viewer.