Title: [133614] trunk
Revision
133614
Author
commit-qu...@webkit.org
Date
2012-11-06 08:14:27 -0800 (Tue, 06 Nov 2012)

Log Message

Added console.clear() method

Web Inspector: add console.clear()
https://bugs.webkit.org/show_bug.cgi?id=101021

Patch by Andrey Lushnikov <lushni...@google.com> on 2012-11-06
Reviewed by Vsevolod Vlasov.

Source/WebCore:

Adds native implementation of console.clear

Test: inspector/console/console-clear-function.html

* English.lproj/localizedStrings.js: Adds 'Console was cleared' string
* inspector/ConsoleMessage.cpp:
(WebCore::messageTypeValue): Adds ClearMessageType
* inspector/Inspector.json:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::addMessageToConsole):
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype._formatMessage): Display strategy for "clear" message
* inspector/front-end/ConsoleModel.js:
* inspector/front-end/inspector.css:
(.console-info): Adds style for the 'console was cleared' message
* page/Console.cpp: backend binging for console.clear()
(WebCore::Console::clear):
(WebCore):
* page/Console.h:
(Console):
* page/Console.idl: Adds 'clear' message to protocol
* page/ConsoleTypes.h:

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.mm:
(stringForMessageType): Added ClearMessageType case to switch

LayoutTests:

* inspector/console/console-clear-function-expected.txt: Added.
* inspector/console/console-clear-function.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (133613 => 133614)


--- trunk/LayoutTests/ChangeLog	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/LayoutTests/ChangeLog	2012-11-06 16:14:27 UTC (rev 133614)
@@ -1,3 +1,15 @@
+2012-11-06  Andrey Lushnikov  <lushni...@google.com>
+
+        Added console.clear() method
+
+        Web Inspector: add console.clear()
+        https://bugs.webkit.org/show_bug.cgi?id=101021
+
+        Reviewed by Vsevolod Vlasov.
+
+        * inspector/console/console-clear-function-expected.txt: Added.
+        * inspector/console/console-clear-function.html: Added.
+
 2012-11-06  Thiago Marcos P. Santos  <thiago.san...@intel.com>
 
         [EFL] fast/images/exif-orientation-image-document.html failing on WK2 bots

Added: trunk/LayoutTests/inspector/console/console-clear-function-expected.txt (0 => 133614)


--- trunk/LayoutTests/inspector/console/console-clear-function-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/inspector/console/console-clear-function-expected.txt	2012-11-06 16:14:27 UTC (rev 133614)
@@ -0,0 +1,13 @@
+CONSOLE MESSAGE: line 10: one
+CONSOLE MESSAGE: line 11: two
+CONSOLE MESSAGE: line 12: three
+Tests that console is cleared via console.clear() method
+
+Bug 101021
+=== Before clear ===
+one console-clear-function.html:10
+two console-clear-function.html:11
+three console-clear-function.html:12
+=== After clear ===
+Console was cleared console-clear-function.html:19
+

Added: trunk/LayoutTests/inspector/console/console-clear-function.html (0 => 133614)


--- trunk/LayoutTests/inspector/console/console-clear-function.html	                        (rev 0)
+++ trunk/LayoutTests/inspector/console/console-clear-function.html	2012-11-06 16:14:27 UTC (rev 133614)
@@ -0,0 +1,47 @@
+<html>
+<head>
+<script src=""
+<script src=""
+<script>
+
+function log()
+{
+    // Fill console.
+    console.log("one");
+    console.log("two");
+    console.log("three");
+}
+
+log();
+
+function foo()
+{
+    console.clear();
+}
+
+function test()
+{
+    InspectorTest.addResult("=== Before clear ===");
+    InspectorTest.dumpConsoleMessages();
+
+    RuntimeAgent.evaluate("foo();", step1);
+
+    function step1()
+    {
+        InspectorTest.addResult("=== After clear ===");
+        InspectorTest.dumpConsoleMessages();
+        InspectorTest.completeTest();
+    };
+}
+
+</script>
+</head>
+
+<body _onload_="runTest()">
+<p>
+Tests that console is cleared via console.clear() method
+</p>
+<a href="" 101021 </a>
+
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (133613 => 133614)


--- trunk/Source/WebCore/ChangeLog	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/ChangeLog	2012-11-06 16:14:27 UTC (rev 133614)
@@ -1,3 +1,35 @@
+2012-11-06  Andrey Lushnikov  <lushni...@google.com>
+
+        Added console.clear() method
+
+        Web Inspector: add console.clear()
+        https://bugs.webkit.org/show_bug.cgi?id=101021
+
+        Reviewed by Vsevolod Vlasov.
+
+        Adds native implementation of console.clear
+
+        Test: inspector/console/console-clear-function.html
+
+        * English.lproj/localizedStrings.js: Adds 'Console was cleared' string
+        * inspector/ConsoleMessage.cpp:
+        (WebCore::messageTypeValue): Adds ClearMessageType
+        * inspector/Inspector.json:
+        * inspector/InspectorConsoleAgent.cpp:
+        (WebCore::InspectorConsoleAgent::addMessageToConsole):
+        * inspector/front-end/ConsoleMessage.js:
+        (WebInspector.ConsoleMessageImpl.prototype._formatMessage): Display strategy for "clear" message
+        * inspector/front-end/ConsoleModel.js:
+        * inspector/front-end/inspector.css:
+        (.console-info): Adds style for the 'console was cleared' message
+        * page/Console.cpp: backend binging for console.clear()
+        (WebCore::Console::clear):
+        (WebCore):
+        * page/Console.h:
+        (Console):
+        * page/Console.idl: Adds 'clear' message to protocol
+        * page/ConsoleTypes.h:
+
 2012-11-06  Aaron Colwell  <acolw...@chromium.org>
 
         Heap-buffer-overflow in WebCore::TextTrackCueList::add

Modified: trunk/Source/WebCore/English.lproj/localizedStrings.js (133613 => 133614)


--- trunk/Source/WebCore/English.lproj/localizedStrings.js	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/English.lproj/localizedStrings.js	2012-11-06 16:14:27 UTC (rev 133614)
@@ -114,6 +114,7 @@
 localizedStrings["Computed Style"] = "Computed Style";
 localizedStrings["Connecting"] = "Connecting";
 localizedStrings["Console"] = "Console";
+localizedStrings["Console was cleared"] = "Console was cleared";
 localizedStrings["Constructor"] = "Constructor";
 localizedStrings["Continue to Here"] = "Continue to Here";
 localizedStrings["Continue to here"] = "Continue to here";

Modified: trunk/Source/WebCore/inspector/ConsoleMessage.cpp (133613 => 133614)


--- trunk/Source/WebCore/inspector/ConsoleMessage.cpp	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/inspector/ConsoleMessage.cpp	2012-11-06 16:14:27 UTC (rev 133614)
@@ -112,6 +112,7 @@
 {
     switch (type) {
     case LogMessageType: return TypeBuilder::Console::ConsoleMessage::Type::Log;
+    case ClearMessageType: return TypeBuilder::Console::ConsoleMessage::Type::Clear;
     case DirMessageType: return TypeBuilder::Console::ConsoleMessage::Type::Dir;
     case DirXMLMessageType: return TypeBuilder::Console::ConsoleMessage::Type::Dirxml;
     case TraceMessageType: return TypeBuilder::Console::ConsoleMessage::Type::Trace;

Modified: trunk/Source/WebCore/inspector/Inspector.json (133613 => 133614)


--- trunk/Source/WebCore/inspector/Inspector.json	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/inspector/Inspector.json	2012-11-06 16:14:27 UTC (rev 133614)
@@ -659,7 +659,7 @@
                     { "name": "source", "type": "string", "enum": ["html", "wml", "xml", "_javascript_", "network", "console-api", "other"], "description": "Message source." },
                     { "name": "level", "type": "string", "enum": ["tip", "log", "warning", "error", "debug"], "description": "Message severity." },
                     { "name": "text", "type": "string", "description": "Message text." },
-                    { "name": "type", "type": "string", "optional": true, "enum": ["log", "dir", "dirxml", "trace", "startGroup", "startGroupCollapsed", "endGroup", "assert"], "description": "Console message type." },
+                    { "name": "type", "type": "string", "optional": true, "enum": ["log", "dir", "dirxml", "trace", "clear", "startGroup", "startGroupCollapsed", "endGroup", "assert"], "description": "Console message type." },
                     { "name": "url", "type": "string", "optional": true, "description": "URL of the message origin." },
                     { "name": "line", "type": "integer", "optional": true, "description": "Line number in the resource that generated this message." },
                     { "name": "repeatCount", "type": "integer", "optional": true, "description": "Repeat count for repeated messages." },

Modified: trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp (133613 => 133614)


--- trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp	2012-11-06 16:14:27 UTC (rev 133614)
@@ -155,6 +155,12 @@
 {
     if (!developerExtrasEnabled())
         return;
+
+    if (type == ClearMessageType) {
+        ErrorString error;
+        clearMessages(&error);
+    }
+
     addConsoleMessage(adoptPtr(new ConsoleMessage(source, type, level, message, arguments, callStack, requestIdentifier)));
 }
 

Modified: trunk/Source/WebCore/inspector/front-end/ConsoleMessage.js (133613 => 133614)


--- trunk/Source/WebCore/inspector/front-end/ConsoleMessage.js	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/inspector/front-end/ConsoleMessage.js	2012-11-06 16:14:27 UTC (rev 133614)
@@ -76,6 +76,10 @@
                 case WebInspector.ConsoleMessage.MessageType.Trace:
                     this._messageElement = document.createTextNode("console.trace()");
                     break;
+                case WebInspector.ConsoleMessage.MessageType.Clear:
+                    this._messageElement = document.createTextNode(WebInspector.UIString("Console was cleared"));
+                    this._formattedMessage.addStyleClass("console-info");
+                    break;
                 case WebInspector.ConsoleMessage.MessageType.Assert:
                     var args = [WebInspector.UIString("Assertion failed:")];
                     if (this._parameters)

Modified: trunk/Source/WebCore/inspector/front-end/ConsoleModel.js (133613 => 133614)


--- trunk/Source/WebCore/inspector/front-end/ConsoleModel.js	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/inspector/front-end/ConsoleModel.js	2012-11-06 16:14:27 UTC (rev 133614)
@@ -231,6 +231,7 @@
     Dir: "dir",
     DirXML: "dirxml",
     Trace: "trace",
+    Clear: "clear",
     StartGroup: "startGroup",
     StartGroupCollapsed: "startGroupCollapsed",
     EndGroup: "endGroup",

Modified: trunk/Source/WebCore/inspector/front-end/inspector.css (133613 => 133614)


--- trunk/Source/WebCore/inspector/front-end/inspector.css	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/inspector/front-end/inspector.css	2012-11-06 16:14:27 UTC (rev 133614)
@@ -968,6 +968,11 @@
     -webkit-flex: 1;
 }
 
+.console-info {
+    color: rgb(128, 128, 128);
+    font-style: italic;
+}
+
 .console-group .console-group > .console-group-messages {
     margin-left: 16px;
 }

Modified: trunk/Source/WebCore/page/Console.cpp (133613 => 133614)


--- trunk/Source/WebCore/page/Console.cpp	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/page/Console.cpp	2012-11-06 16:14:27 UTC (rev 133614)
@@ -232,6 +232,11 @@
     addMessage(DirXMLMessageType, LogMessageLevel, arguments, callStack);
 }
 
+void Console::clear(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> callStack)
+{
+    addMessage(ClearMessageType, LogMessageLevel, arguments, callStack, true);
+}
+
 void Console::trace(PassRefPtr<ScriptArguments> arguments, PassRefPtr<ScriptCallStack> prpCallStack)
 {
     RefPtr<ScriptCallStack> callStack = prpCallStack;

Modified: trunk/Source/WebCore/page/Console.h (133613 => 133614)


--- trunk/Source/WebCore/page/Console.h	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/page/Console.h	2012-11-06 16:14:27 UTC (rev 133614)
@@ -62,6 +62,7 @@
     void error(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
     void info(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
     void log(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
+    void clear(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
     void warn(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
     void dir(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);
     void dirxml(PassRefPtr<ScriptArguments>, PassRefPtr<ScriptCallStack>);

Modified: trunk/Source/WebCore/page/Console.idl (133613 => 133614)


--- trunk/Source/WebCore/page/Console.idl	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/page/Console.idl	2012-11-06 16:14:27 UTC (rev 133614)
@@ -58,6 +58,7 @@
     [CallWith=ScriptArguments|CallStack] void group();
     [CallWith=ScriptArguments|CallStack] void groupCollapsed();
     void groupEnd();
+    [CallWith=ScriptArguments|CallStack] void clear();
 
     [V8CustomGetter] readonly attribute MemoryInfo memory;
 };

Modified: trunk/Source/WebCore/page/ConsoleTypes.h (133613 => 133614)


--- trunk/Source/WebCore/page/ConsoleTypes.h	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebCore/page/ConsoleTypes.h	2012-11-06 16:14:27 UTC (rev 133614)
@@ -47,6 +47,7 @@
     StartGroupMessageType,
     StartGroupCollapsedMessageType,
     EndGroupMessageType,
+    ClearMessageType,
     AssertMessageType
 };
 

Modified: trunk/Source/WebKit/mac/ChangeLog (133613 => 133614)


--- trunk/Source/WebKit/mac/ChangeLog	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebKit/mac/ChangeLog	2012-11-06 16:14:27 UTC (rev 133614)
@@ -1,3 +1,15 @@
+2012-11-06  Andrey Lushnikov  <lushni...@google.com>
+
+        Added console.clear() method
+
+        Web Inspector: add console.clear()
+        https://bugs.webkit.org/show_bug.cgi?id=101021
+
+        Reviewed by Vsevolod Vlasov.
+
+        * WebCoreSupport/WebChromeClient.mm:
+        (stringForMessageType): Added ClearMessageType case to switch
+
 2012-11-05  Alexey Proskuryakov  <a...@apple.com>
 
         Get rid of setCookieStoragePrivateBrowsingEnabled.

Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm (133613 => 133614)


--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm	2012-11-06 16:11:03 UTC (rev 133613)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm	2012-11-06 16:14:27 UTC (rev 133614)
@@ -99,6 +99,7 @@
 
 NSString *WebConsoleMessageLogMessageType = @"LogMessageType";
 NSString *WebConsoleMessageDirMessageType = @"DirMessageType";
+NSString *WebConsoleMessageClearMessageType = @"ClearMessageType";
 NSString *WebConsoleMessageDirXMLMessageType = @"DirXMLMessageType";
 NSString *WebConsoleMessageTraceMessageType = @"TraceMessageType";
 NSString *WebConsoleMessageStartGroupMessageType = @"StartGroupMessageType";
@@ -360,6 +361,8 @@
     switch (type) {
     case LogMessageType:
         return WebConsoleMessageLogMessageType;
+    case ClearMessageType:
+        return WebConsoleMessageClearMessageType;
     case DirMessageType:
         return WebConsoleMessageDirMessageType;
     case DirXMLMessageType:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to