Web Inspector: 'use strict' exceptions stop in inspector code
authorpfeldman@chromium.org <pfeldman@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 26 Mar 2012 15:30:20 +0000 (15:30 +0000)
committerpfeldman@chromium.org <pfeldman@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 26 Mar 2012 15:30:20 +0000 (15:30 +0000)
https://bugs.webkit.org/show_bug.cgi?id=82199

Reviewed by Yury Semikhatsky.

Source/WebCore:

Accessing callee from within InjectedScript made inspector stop on handled exceptions.
I replaced it with Object.prototype.toString.call(obj) === "[object Arguments]".

* inspector/InjectedScriptSource.js:

LayoutTests:

* inspector/console/console-format-collections-expected.txt:
* inspector/console/console-format-collections.html:
* platform/chromium/inspector/console/console-format-collections-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@112102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/inspector/console/console-format-collections-expected.txt
LayoutTests/inspector/console/console-format-collections.html
LayoutTests/platform/chromium/inspector/console/console-format-collections-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/inspector/InjectedScriptSource.js

index d18e5f91f1f7dd4eda920073748a548e7abc1742..a3f20e5b3070018e2c4fc38eafec3c03b5fa4282 100644 (file)
@@ -1,3 +1,14 @@
+2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
+
+        Web Inspector: 'use strict' exceptions stop in inspector code
+        https://bugs.webkit.org/show_bug.cgi?id=82199
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/console/console-format-collections-expected.txt:
+        * inspector/console/console-format-collections.html:
+        * platform/chromium/inspector/console/console-format-collections-expected.txt:
+
 2012-03-26  Mihai Balan  <mibalan@adobe.com>
 
         [CSS Regions] In region styling (@-webkit-region) the position for CSS rules is incorrectly computed
index 906f914f4c1151f531fed1e8140738e9330a1e44..bdc92df358c3a250809b35182e0d564f8ba9e830 100644 (file)
@@ -6,6 +6,7 @@ CONSOLE MESSAGE: line 31: [object HTMLCollection]
 CONSOLE MESSAGE: line 35: [object NodeList]
 CONSOLE MESSAGE: line 41: 1,2,
 CONSOLE MESSAGE: line 44: [object Object]
+CONSOLE MESSAGE: line 51: [object Arguments]
 Tests that console nicely formats HTML Collections and NodeLists.
 
 [<select id="sel" name="sel">…</select>] console-format-collections.html:15
@@ -18,4 +19,5 @@ Tests that console nicely formats HTML Collections and NodeLists.
 [<input type="radio" name="x" value="x1">, <input type="radio" name="x" value="x2">] console-format-collections.html:35
 [1, Array[2]] console-format-collections.html:41
 NonArrayWithLength console-format-collections.html:44
+[1, "2"] console-format-collections.html:51
 
index 88a09cf231909c79fc14088673ae23c3a0c37638..0beca87b112c7219feb194d79bbf9d2cc041d389 100644 (file)
@@ -43,6 +43,12 @@ function onload()
     var nonArray = new NonArrayWithLength();
     console.log(nonArray);
 
+    // Arguments
+    function generateArguments(foo, bar)
+    {
+        return arguments;
+    }
+    console.log(generateArguments(1, "2"));
     runTest();
 }
 
index 8b3e72344502e78e84b0a06481b7228f71f84a05..6ba014b219737a01d16c3693c4bf1adff798965f 100644 (file)
@@ -6,6 +6,7 @@ CONSOLE MESSAGE: line 31: [object HTMLCollection]
 CONSOLE MESSAGE: line 35: [object NodeList]
 CONSOLE MESSAGE: line 41: 1,2,
 CONSOLE MESSAGE: line 44: [object Object]
+CONSOLE MESSAGE: line 51: [object Arguments]
 Tests that console nicely formats HTML Collections and NodeLists.
 
 [<select id="sel" name="sel">…</select>] console-format-collections.html:15
@@ -18,4 +19,5 @@ Tests that console nicely formats HTML Collections and NodeLists.
 [<input type="radio" name="x" value="x1">, <input type="radio" name="x" value="x2">] console-format-collections.html:35
 [1, Array[2]] console-format-collections.html:41
 NonArrayWithLength console-format-collections.html:44
+[1, "2"] console-format-collections.html:51
 
index b8a6d1bbbfd4081246e9a8dc64e9509b59d52d5a..a598e93fa3d474285686dbec1270e8c13301974f 100644 (file)
@@ -1,3 +1,15 @@
+2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
+
+        Web Inspector: 'use strict' exceptions stop in inspector code
+        https://bugs.webkit.org/show_bug.cgi?id=82199
+
+        Reviewed by Yury Semikhatsky.
+
+        Accessing callee from within InjectedScript made inspector stop on handled exceptions.
+        I replaced it with Object.prototype.toString.call(obj) === "[object Arguments]".
+
+        * inspector/InjectedScriptSource.js:
+
 2012-03-26  Mihai Balan  <mibalan@adobe.com>
 
         [CSS Regions] In region styling (@-webkit-region) the position for CSS rules is incorrectly computed
index 6299f17eda20b985689a6b5c04518641b8813c0e..8869d7a40f02514c257c2f908273b9ce26be6ff7 100644 (file)
@@ -424,7 +424,7 @@ InjectedScript.prototype = {
         try {
             if (typeof obj.splice === "function" && isFinite(obj.length))
                 return "array";
-            if (typeof obj.callee === "function" && isFinite(obj.length)) // arguments.
+            if (Object.prototype.toString.call(obj) === "[object Arguments]" && isFinite(obj.length)) // arguments.
                 return "array";
         } catch (e) {
         }