diff --git a/dom/base/Console.cpp b/dom/base/Console.cpp
index 88b16b999..bea84b48f 100644
--- a/dom/base/Console.cpp
+++ b/dom/base/Console.cpp
@@ -741,6 +741,7 @@ METHOD(Error, "error")
 METHOD(Exception, "exception")
 METHOD(Debug, "debug")
 METHOD(Table, "table")
+METHOD(Clear, "clear")
 
 void
 Console::Trace(JSContext* aCx)
@@ -749,6 +750,13 @@ Console::Trace(JSContext* aCx)
   Method(aCx, MethodTrace, NS_LITERAL_STRING("trace"), data);
 }
 
+/*void
+Console::Clear(JSContext* aCx)
+{
+  const Sequence<JS::Value> data;
+  Method(aCx, MethodClear, NS_LITERAL_STRING("clear"), data);
+}*/
+
 // Displays an interactive listing of all the properties of an object.
 METHOD(Dir, "dir");
 
diff --git a/dom/base/Console.h b/dom/base/Console.h
index 8b284e109..6a56473ee 100644
--- a/dom/base/Console.h
+++ b/dom/base/Console.h
@@ -100,6 +100,9 @@ public:
   void
   Count(JSContext* aCx, const Sequence<JS::Value>& aData);
 
+  void
+  Clear(JSContext* aCx, const Sequence<JS::Value>& aData);
+
   void
   __noSuchMethod__();
 
@@ -121,7 +124,8 @@ private:
     MethodTime,
     MethodTimeEnd,
     MethodAssert,
-    MethodCount
+    MethodCount,
+    MethodClear
   };
 
   void
diff --git a/dom/webidl/Console.webidl b/dom/webidl/Console.webidl
index e38013076..289584860 100644
--- a/dom/webidl/Console.webidl
+++ b/dom/webidl/Console.webidl
@@ -15,6 +15,7 @@ interface Console {
   void debug(any... data);
   void table(any... data);
   void trace();
+  void clear(any... data);
   void dir(any... data);
   void group(any... data);
   void groupCollapsed(any... data);
