Title: [199793] trunk
Revision
199793
Author
[email protected]
Date
2016-04-20 15:45:04 -0700 (Wed, 20 Apr 2016)

Log Message

Web Inspector: console.table(navigator) throws exception about `rowPreview.propertyPreviews.length`
https://bugs.webkit.org/show_bug.cgi?id=156698
<rdar://problem/25778244>

Patch by Joseph Pecoraro <[email protected]> on 2016-04-20
Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

* UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
Handle a row with a value preview but no sub-property previews (a function).

LayoutTests:

* inspector/console/console-table-expected.txt:
* inspector/console/console-table.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (199792 => 199793)


--- trunk/LayoutTests/ChangeLog	2016-04-20 22:24:32 UTC (rev 199792)
+++ trunk/LayoutTests/ChangeLog	2016-04-20 22:45:04 UTC (rev 199793)
@@ -1,3 +1,14 @@
+2016-04-20  Joseph Pecoraro  <[email protected]>
+
+        Web Inspector: console.table(navigator) throws exception about `rowPreview.propertyPreviews.length`
+        https://bugs.webkit.org/show_bug.cgi?id=156698
+        <rdar://problem/25778244>
+
+        Reviewed by Timothy Hatcher.
+
+        * inspector/console/console-table-expected.txt:
+        * inspector/console/console-table.html:
+
 2016-04-20  Ryan Haddad  <[email protected]>
 
         Remove flaky expectation for imported/mozilla/svg/image/image-filter-01.svg on ios-simulator-wk2

Modified: trunk/LayoutTests/inspector/console/console-table-expected.txt (199792 => 199793)


--- trunk/LayoutTests/inspector/console/console-table-expected.txt	2016-04-20 22:24:32 UTC (rev 199792)
+++ trunk/LayoutTests/inspector/console/console-table-expected.txt	2016-04-20 22:45:04 UTC (rev 199793)
@@ -1,6 +1,7 @@
 CONSOLE MESSAGE: line 3: 
 CONSOLE MESSAGE: line 3: apple,orange,banana
 CONSOLE MESSAGE: line 3: [object Object]
+CONSOLE MESSAGE: line 3: [object Object]
 CONSOLE MESSAGE: line 3: John,Smith,Jane,Doe,Emily,Jones
 CONSOLE MESSAGE: line 3: [object Object],[object Object],[object Object]
 CONSOLE MESSAGE: line 3: [object Object],[object Object],[object Object]
@@ -141,6 +142,59 @@
   "_request": null
 }
 
+STEP: console.table({f: function(){}, x: 10})
+{
+  "_listeners": null,
+  "_source": "console-api",
+  "_level": "log",
+  "_messageText": "[object Object]",
+  "_type": "table",
+  "_url": null,
+  "_line": 3,
+  "_column": 14,
+  "_repeatCount": 1,
+  "_parameters": [
+    {
+      "_type": "object",
+      "_objectId": "<filtered>",
+      "_description": "Object",
+      "_hasChildren": true,
+      "_preview": {
+        "_listeners": null,
+        "_type": "object",
+        "_description": "Object",
+        "_lossless": true,
+        "_overflow": false,
+        "_properties": [
+          {
+            "_listeners": null,
+            "_name": "f",
+            "_type": "function",
+            "_valuePreview": {
+              "_listeners": null,
+              "_type": "function",
+              "_description": "function (){}",
+              "_lossless": true,
+              "_overflow": false,
+              "_properties": null,
+              "_entries": null
+            }
+          },
+          {
+            "_listeners": null,
+            "_name": "x",
+            "_type": "number",
+            "_value": "10"
+          }
+        ],
+        "_entries": null
+      }
+    }
+  ],
+  "_stackTrace": "<filtered>",
+  "_request": null
+}
+
 STEP: console.table([['John', 'Smith'], ['Jane', 'Doe'], ['Emily', 'Jones']])
 {
   "_listeners": null,

Modified: trunk/LayoutTests/inspector/console/console-table.html (199792 => 199793)


--- trunk/LayoutTests/inspector/console/console-table.html	2016-04-20 22:24:32 UTC (rev 199792)
+++ trunk/LayoutTests/inspector/console/console-table.html	2016-04-20 22:45:04 UTC (rev 199793)
@@ -20,6 +20,7 @@
         "console.table([])", // Empty.
         "console.table(['apple', 'orange', 'banana'])", // Index (array index), Value
         "console.table({firstName: 'John', lastName: 'Smith'})", // Index (property name), Value (property value)
+        "console.table({f: function(){}, x: 10})", // Index (property name), Value (property value)
         "console.table([['John', 'Smith'], ['Jane', 'Doe'], ['Emily', 'Jones']])", // Index, 0, 1
         "console.table([john, jane, emily])", // Index, firstName, lastName
         "console.table([john, jane, emily], ['firstName'])", // Index, firstName (at least).

Modified: trunk/Source/WebInspectorUI/ChangeLog (199792 => 199793)


--- trunk/Source/WebInspectorUI/ChangeLog	2016-04-20 22:24:32 UTC (rev 199792)
+++ trunk/Source/WebInspectorUI/ChangeLog	2016-04-20 22:45:04 UTC (rev 199793)
@@ -1,3 +1,15 @@
+2016-04-20  Joseph Pecoraro  <[email protected]>
+
+        Web Inspector: console.table(navigator) throws exception about `rowPreview.propertyPreviews.length`
+        https://bugs.webkit.org/show_bug.cgi?id=156698
+        <rdar://problem/25778244>
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Views/ConsoleMessageView.js:
+        (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
+        Handle a row with a value preview but no sub-property previews (a function).
+
 2016-04-19  Timothy Hatcher  <[email protected]>
 
         Web Inspector: Use debounce proxies in a couple more places

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js (199792 => 199793)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js	2016-04-20 22:24:32 UTC (rev 199792)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageView.js	2016-04-20 22:45:04 UTC (rev 199793)
@@ -742,7 +742,7 @@
             for (var i = 0; i < preview.propertyPreviews.length; ++i) {
                 var rowProperty = preview.propertyPreviews[i];
                 var rowPreview = rowProperty.valuePreview;
-                if (!rowPreview)
+                if (!rowPreview || !rowPreview.propertyPreviews)
                     continue;
 
                 var rowValue = {};
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to