Title: [97621] trunk
Revision
97621
Author
[email protected]
Date
2011-10-17 07:53:37 -0700 (Mon, 17 Oct 2011)

Log Message

Web Inspector: fix handling of source mapping entries with no mapping.
https://bugs.webkit.org/show_bug.cgi?id=69941

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/front-end/CompilerSourceMapping.js:
(WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):

LayoutTests:

* inspector/debugger/compiler-source-mapping-expected.txt:
* inspector/debugger/compiler-source-mapping.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (97620 => 97621)


--- trunk/LayoutTests/ChangeLog	2011-10-17 14:21:10 UTC (rev 97620)
+++ trunk/LayoutTests/ChangeLog	2011-10-17 14:53:37 UTC (rev 97621)
@@ -1,3 +1,13 @@
+2011-10-12  Pavel Podivilov  <[email protected]>
+
+        Web Inspector: fix handling of source mapping entries with no mapping.
+        https://bugs.webkit.org/show_bug.cgi?id=69941
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/debugger/compiler-source-mapping-expected.txt:
+        * inspector/debugger/compiler-source-mapping.html:
+
 2011-10-17  Kent Tamura  <[email protected]>
 
         [Chromium] Update test expectations for r97596 and r97602.

Modified: trunk/LayoutTests/inspector/debugger/compiler-source-mapping-expected.txt (97620 => 97621)


--- trunk/LayoutTests/inspector/debugger/compiler-source-mapping-expected.txt	2011-10-17 14:21:10 UTC (rev 97620)
+++ trunk/LayoutTests/inspector/debugger/compiler-source-mapping-expected.txt	2011-10-17 14:53:37 UTC (rev 97621)
@@ -3,3 +3,5 @@
 
 Running: testSimpleMapping
 
+Running: testNoMappingEntry
+

Modified: trunk/LayoutTests/inspector/debugger/compiler-source-mapping.html (97620 => 97621)


--- trunk/LayoutTests/inspector/debugger/compiler-source-mapping.html	2011-10-17 14:21:10 UTC (rev 97620)
+++ trunk/LayoutTests/inspector/debugger/compiler-source-mapping.html	2011-10-17 14:53:37 UTC (rev 97621)
@@ -61,6 +61,18 @@
             InspectorTest.assertTrue(!mapping.sourceLocationToCompiledLocation("example.js", 6));
 
             next();
+        },
+
+        function testNoMappingEntry(next)
+        {
+            var mappingPayload = {
+                "mappings":"AAAA,C,CAAE;",
+                "sources":["example.js"]
+            };
+            var mapping = new WebInspector.ClosureCompilerSourceMapping(mappingPayload);
+            checkMapping(0, 0, "example.js", 0, 0, mapping);
+            checkMapping(0, 2, "example.js", 0, 2, mapping);
+            next();
         }
     ]);
 };

Modified: trunk/Source/WebCore/ChangeLog (97620 => 97621)


--- trunk/Source/WebCore/ChangeLog	2011-10-17 14:21:10 UTC (rev 97620)
+++ trunk/Source/WebCore/ChangeLog	2011-10-17 14:53:37 UTC (rev 97621)
@@ -1,3 +1,13 @@
+2011-10-12  Pavel Podivilov  <[email protected]>
+
+        Web Inspector: fix handling of source mapping entries with no mapping.
+        https://bugs.webkit.org/show_bug.cgi?id=69941
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/front-end/CompilerSourceMapping.js:
+        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
+
 2011-10-17  Mikhail Naganov  <[email protected]>
 
         Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.

Modified: trunk/Source/WebCore/inspector/front-end/CompilerSourceMapping.js (97620 => 97621)


--- trunk/Source/WebCore/inspector/front-end/CompilerSourceMapping.js	2011-10-17 14:21:10 UTC (rev 97620)
+++ trunk/Source/WebCore/inspector/front-end/CompilerSourceMapping.js	2011-10-17 14:53:37 UTC (rev 97621)
@@ -154,23 +154,23 @@
 
         do {
             columnNumber += this._decodeVLQ(stringCharIterator);
-            if (this._isSeparator(stringCharIterator.peek()))
-                continue;
-            var sourceIndexDelta = this._decodeVLQ(stringCharIterator);
-            if (sourceIndexDelta) {
-                sourceIndex += sourceIndexDelta;
-                sourceURL = this._sources[sourceIndex];
-                reverseMappings = this._reverseMappingsBySourceURL[sourceURL];
+            if (!this._isSeparator(stringCharIterator.peek())) {
+                var sourceIndexDelta = this._decodeVLQ(stringCharIterator);
+                if (sourceIndexDelta) {
+                    sourceIndex += sourceIndexDelta;
+                    sourceURL = this._sources[sourceIndex];
+                    reverseMappings = this._reverseMappingsBySourceURL[sourceURL];
+                }
+                sourceLineNumber += this._decodeVLQ(stringCharIterator);
+                sourceColumnNumber += this._decodeVLQ(stringCharIterator);
+                if (!this._isSeparator(stringCharIterator.peek()))
+                    nameIndex += this._decodeVLQ(stringCharIterator);
+
+                this._mappings.push([lineNumber, columnNumber, sourceURL, sourceLineNumber, sourceColumnNumber]);
+                if (!reverseMappings[sourceLineNumber])
+                    reverseMappings[sourceLineNumber] = [lineNumber, columnNumber];
             }
-            sourceLineNumber += this._decodeVLQ(stringCharIterator);
-            sourceColumnNumber += this._decodeVLQ(stringCharIterator);
-            if (!this._isSeparator(stringCharIterator.peek()))
-                nameIndex += this._decodeVLQ(stringCharIterator);
 
-            this._mappings.push([lineNumber, columnNumber, sourceURL, sourceLineNumber, sourceColumnNumber]);
-            if (!reverseMappings[sourceLineNumber])
-                reverseMappings[sourceLineNumber] = [lineNumber, columnNumber];
-
             if (stringCharIterator.next() === ";") {
                 lineNumber += 1;
                 columnNumber = 0;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to