Title: [94958] trunk
Revision
94958
Author
[email protected]
Date
2011-09-12 08:24:53 -0700 (Mon, 12 Sep 2011)

Log Message

Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false.
https://bugs.webkit.org/show_bug.cgi?id=67934

Reviewed by Tony Gentilcore.

Source/WebCore:

* inspector/InjectedScriptSource.js:

LayoutTests:

* inspector/runtime/runtime-setPropertyValue.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (94957 => 94958)


--- trunk/LayoutTests/ChangeLog	2011-09-12 15:22:32 UTC (rev 94957)
+++ trunk/LayoutTests/ChangeLog	2011-09-12 15:24:53 UTC (rev 94958)
@@ -1,3 +1,12 @@
+2011-09-12  Pavel Feldman  <[email protected]>
+
+        Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false.
+        https://bugs.webkit.org/show_bug.cgi?id=67934
+
+        Reviewed by Tony Gentilcore.
+
+        * inspector/runtime/runtime-setPropertyValue.html:
+
 2011-09-12  Kentaro Hara  <[email protected]>
 
         Implement a WebKitAnimationEvent constructor for V8

Modified: trunk/LayoutTests/inspector/runtime/runtime-setPropertyValue-expected.txt (94957 => 94958)


--- trunk/LayoutTests/inspector/runtime/runtime-setPropertyValue-expected.txt	2011-09-12 15:22:32 UTC (rev 94957)
+++ trunk/LayoutTests/inspector/runtime/runtime-setPropertyValue-expected.txt	2011-09-12 15:24:53 UTC (rev 94958)
@@ -1,23 +1,27 @@
 CONSOLE MESSAGE: line 11: ===== Initial =====
 CONSOLE MESSAGE: line 12: {"foo":1}
-CONSOLE MESSAGE: line 13: {"bar":2}
-CONSOLE MESSAGE: line 14: 
+CONSOLE MESSAGE: line 13: 
 CONSOLE MESSAGE: line 11: ===== Set primitive =====
 CONSOLE MESSAGE: line 12: {"foo":2}
-CONSOLE MESSAGE: line 13: {"bar":2}
-CONSOLE MESSAGE: line 14: 
+CONSOLE MESSAGE: line 13: 
 CONSOLE MESSAGE: line 11: ===== Set handle =====
 CONSOLE MESSAGE: line 12: {"foo":{"bar":2}}
-CONSOLE MESSAGE: line 13: {"bar":2}
-CONSOLE MESSAGE: line 14: 
+CONSOLE MESSAGE: line 13: 
 CONSOLE MESSAGE: line 11: ===== Set undefined =====
 CONSOLE MESSAGE: line 12: {}
-CONSOLE MESSAGE: line 13: {"bar":2}
-CONSOLE MESSAGE: line 14: 
+CONSOLE MESSAGE: line 13: 
+CONSOLE MESSAGE: line 11: ===== Set zero =====
+CONSOLE MESSAGE: line 12: {"foo":0}
+CONSOLE MESSAGE: line 13: 
+CONSOLE MESSAGE: line 11: ===== Set null =====
+CONSOLE MESSAGE: line 12: {"foo":null}
+CONSOLE MESSAGE: line 13: 
+CONSOLE MESSAGE: line 11: ===== Set empty string =====
+CONSOLE MESSAGE: line 12: {"foo":""}
+CONSOLE MESSAGE: line 13: 
 CONSOLE MESSAGE: line 11: ===== Set exception =====
-CONSOLE MESSAGE: line 12: {}
-CONSOLE MESSAGE: line 13: {"bar":2}
-CONSOLE MESSAGE: line 14: 
+CONSOLE MESSAGE: line 12: {"foo":""}
+CONSOLE MESSAGE: line 13: 
 Tests WebInspector.RemoveObject.setPropertyValue implementation.
 
 
@@ -29,6 +33,12 @@
 
 Running: testSetUndefined
 
+Running: testSetZero
+
+Running: testSetNull
+
+Running: testSetEmptyString
+
 Running: testSetException
 {
     type : "string"

Modified: trunk/LayoutTests/inspector/runtime/runtime-setPropertyValue.html (94957 => 94958)


--- trunk/LayoutTests/inspector/runtime/runtime-setPropertyValue.html	2011-09-12 15:22:32 UTC (rev 94957)
+++ trunk/LayoutTests/inspector/runtime/runtime-setPropertyValue.html	2011-09-12 15:24:53 UTC (rev 94958)
@@ -6,11 +6,10 @@
 var object1 = { foo: 1 };
 var object2 = { bar: 2 };
 
-function dumpObjects(label)
+function dumpObject(label)
 {
     console.log("===== " + label + " =====");
     console.log(JSON.stringify(object1));
-    console.log(JSON.stringify(object2));
     console.log("");
 }
 
@@ -21,7 +20,7 @@
     InspectorTest.runTestSuite([
         function testSetUp(next)
         {
-            InspectorTest.evaluateInPage("dumpObjects('Initial')", step0);
+            InspectorTest.evaluateInPage("dumpObject('Initial')", step0);
 
             function step0()
             {
@@ -47,7 +46,7 @@
 
             function step1()
             {
-                InspectorTest.evaluateInPage("dumpObjects('Set primitive')", next);
+                InspectorTest.evaluateInPage("dumpObject('Set primitive')", next);
             }
         },
 
@@ -57,7 +56,7 @@
 
             function step1()
             {
-                InspectorTest.evaluateInPage("dumpObjects('Set handle')", next);
+                InspectorTest.evaluateInPage("dumpObject('Set handle')", next);
             }
         },
 
@@ -67,10 +66,40 @@
 
             function step1()
             {
-                InspectorTest.evaluateInPage("dumpObjects('Set undefined')", next);
+                InspectorTest.evaluateInPage("dumpObject('Set undefined')", next);
             }
         },
 
+        function testSetZero(next)
+        {
+            obj1.setPropertyValue("foo", "0", step1);
+
+            function step1()
+            {
+                InspectorTest.evaluateInPage("dumpObject('Set zero')", next);
+            }
+        },
+
+        function testSetNull(next)
+        {
+            obj1.setPropertyValue("foo", "null", step1);
+
+            function step1()
+            {
+                InspectorTest.evaluateInPage("dumpObject('Set null')", next);
+            }
+        },
+
+        function testSetEmptyString(next)
+        {
+            obj1.setPropertyValue("foo", "\"\"", step1);
+
+            function step1()
+            {
+                InspectorTest.evaluateInPage("dumpObject('Set empty string')", next);
+            }
+        },
+
         function testSetException(next)
         {
             obj1.setPropertyValue("foo", "throw 'exception'", step1);
@@ -78,7 +107,7 @@
             function step1(error)
             {
                 InspectorTest.dump(error);
-                InspectorTest.evaluateInPage("dumpObjects('Set exception')", next);
+                InspectorTest.evaluateInPage("dumpObject('Set exception')", next);
             }
         }
     ]);

Modified: trunk/Source/WebCore/ChangeLog (94957 => 94958)


--- trunk/Source/WebCore/ChangeLog	2011-09-12 15:22:32 UTC (rev 94957)
+++ trunk/Source/WebCore/ChangeLog	2011-09-12 15:24:53 UTC (rev 94958)
@@ -1,5 +1,14 @@
 2011-09-12  Pavel Feldman  <[email protected]>
 
+        Web Inspector: Runtime.callFunctionOn does not accept arguments that evaluate to false.
+        https://bugs.webkit.org/show_bug.cgi?id=67934
+
+        Reviewed by Tony Gentilcore.
+
+        * inspector/InjectedScriptSource.js:
+
+2011-09-12  Pavel Feldman  <[email protected]>
+
         Web Inspector: event dividers do not update timeline boundaries.
         https://bugs.webkit.org/show_bug.cgi?id=67932
 

Modified: trunk/Source/WebCore/inspector/InjectedScriptSource.js (94957 => 94958)


--- trunk/Source/WebCore/inspector/InjectedScriptSource.js	2011-09-12 15:22:32 UTC (rev 94957)
+++ trunk/Source/WebCore/inspector/InjectedScriptSource.js	2011-09-12 15:24:53 UTC (rev 94958)
@@ -275,7 +275,7 @@
                         return "Could not find object with given id";
 
                     resolvedArgs.push(resolvedArg);
-                } else if (args[i].value)
+                } else if ("value" in args[i])
                     resolvedArgs.push(args[i].value);
                 else
                     resolvedArgs.push(undefined);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to