Bug 1149830 - Remove nsIStackFrame::language. r?mccr8 draft
authorMasatoshi Kimura <VYV03354@nifty.ne.jp>
Thu, 03 Aug 2017 15:50:07 +0900
changeset 620975 3a41cbf3d155f9d22e870e60a04cbf5bd21b5fca
parent 620862 32083f24a1bb2c33050b4c972783f066432194eb
child 620976 4c00a38ce49fb7533aca5a3317714ef63c951cf9
push id72203
push userVYV03354@nifty.ne.jp
push dateFri, 04 Aug 2017 05:48:21 +0000
reviewersmccr8
bugs1149830
milestone57.0a1
Bug 1149830 - Remove nsIStackFrame::language. r?mccr8 MozReview-Commit-ID: LxTiLFzNJ9Y
devtools/client/webconsole/new-console-output/test/fixtures/stubs/consoleApi.js
devtools/client/webconsole/test/browser_webconsole_bug_585956_console_trace.js
devtools/client/webconsole/test/browser_webconsole_console_trace_async.js
dom/bindings/Exceptions.cpp
dom/console/Console.cpp
dom/tests/browser/browser_ConsoleAPITests.js
dom/webidl/Console.webidl
xpcom/base/moz.build
xpcom/base/nsIException.idl
xpcom/base/nsIProgrammingLanguage.idl
--- a/devtools/client/webconsole/new-console-output/test/fixtures/stubs/consoleApi.js
+++ b/devtools/client/webconsole/new-console-output/test/fixtures/stubs/consoleApi.js
@@ -262,17 +262,16 @@ stubPreparedMessages.set("console.assert
     }
   ],
   "repeatId": "{\"frame\":{\"source\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html\",\"line\":1,\"column\":27},\"groupId\":null,\"indent\":0,\"level\":\"error\",\"messageText\":null,\"parameters\":[{\"type\":\"object\",\"actor\":\"server1.conn8.child1/obj31\",\"class\":\"Object\",\"extensible\":true,\"frozen\":false,\"sealed\":false,\"ownPropertyLength\":1,\"preview\":{\"kind\":\"Object\",\"ownProperties\":{\"message\":{\"configurable\":true,\"enumerable\":true,\"writable\":true,\"value\":\"foobar\"}},\"ownSymbols\":[],\"ownPropertiesLength\":1,\"ownSymbolsLength\":0,\"safeGetterValues\":{}}}],\"source\":\"console-api\",\"type\":\"assert\",\"userProvidedStyles\":[]}",
   "stacktrace": [
     {
       "columnNumber": 27,
       "filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
       "functionName": "triggerPacket",
-      "language": 2,
       "lineNumber": 1
     }
   ],
   "frame": {
     "source": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
     "line": 1,
     "column": 27
   },
@@ -661,31 +660,28 @@ stubPreparedMessages.set("console.trace(
   "messageText": null,
   "parameters": [],
   "repeatId": "{\"frame\":{\"source\":\"http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html\",\"line\":3,\"column\":3},\"groupId\":null,\"indent\":0,\"level\":\"log\",\"messageText\":null,\"parameters\":[],\"source\":\"console-api\",\"type\":\"trace\",\"userProvidedStyles\":[]}",
   "stacktrace": [
     {
       "columnNumber": 3,
       "filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
       "functionName": "testStacktraceFiltering",
-      "language": 2,
       "lineNumber": 3
     },
     {
       "columnNumber": 3,
       "filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
       "functionName": "foo",
-      "language": 2,
       "lineNumber": 6
     },
     {
       "columnNumber": 1,
       "filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
       "functionName": "triggerPacket",
-      "language": 2,
       "lineNumber": 9
     }
   ],
   "frame": {
     "source": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
     "line": 3,
     "column": 3
   },
@@ -1457,17 +1453,16 @@ stubPackets.set("console.assert(false, {
     "styles": [],
     "timeStamp": 1479159905182,
     "timer": null,
     "stacktrace": [
       {
         "columnNumber": 27,
         "filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
         "functionName": "triggerPacket",
-        "language": 2,
         "lineNumber": 1
       }
     ],
     "workerType": "none",
     "category": "webdev"
   }
 });
 
@@ -1836,31 +1831,28 @@ stubPackets.set("console.trace()", {
     "private": false,
     "timeStamp": 1479159910198,
     "timer": null,
     "stacktrace": [
       {
         "columnNumber": 3,
         "filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
         "functionName": "testStacktraceFiltering",
-        "language": 2,
         "lineNumber": 3
       },
       {
         "columnNumber": 3,
         "filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
         "functionName": "foo",
-        "language": 2,
         "lineNumber": 6
       },
       {
         "columnNumber": 1,
         "filename": "http://example.com/browser/devtools/client/webconsole/new-console-output/test/fixtures/stub-generators/test-console-api.html",
         "functionName": "triggerPacket",
-        "language": 2,
         "lineNumber": 9
       }
     ],
     "workerType": "none",
     "styles": [],
     "category": "webdev"
   }
 });
--- a/devtools/client/webconsole/test/browser_webconsole_bug_585956_console_trace.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_585956_console_trace.js
@@ -32,38 +32,34 @@ add_task(function* () {
   ok(obj, "console.trace message object");
 
   // The expected stack trace object.
   let stacktrace = [
     {
       columnNumber: 3,
       filename: TEST_URI,
       functionName: "window.foobar585956c",
-      language: 2,
       lineNumber: 9
     },
     {
       columnNumber: 10,
       filename: TEST_URI,
       functionName: "foobar585956b",
-      language: 2,
       lineNumber: 14
     },
     {
       columnNumber: 10,
       filename: TEST_URI,
       functionName: "foobar585956a",
-      language: 2,
       lineNumber: 18
     },
     {
       columnNumber: 1,
       filename: TEST_URI,
       functionName: "",
-      language: 2,
       lineNumber: 21
     }
   ];
 
   ok(obj._stacktrace, "found stacktrace object");
   is(obj._stacktrace.toSource(), stacktrace.toSource(),
      "stacktrace is correct");
   isnot(node.textContent.indexOf("bug-585956"), -1, "found file name");
--- a/devtools/client/webconsole/test/browser_webconsole_console_trace_async.js
+++ b/devtools/client/webconsole/test/browser_webconsole_console_trace_async.js
@@ -41,33 +41,30 @@ add_task(function* runTest() {
      "trace log node includes setTimeout handler");
 
   // The expected stack trace object.
   let stacktrace = [
     {
       columnNumber: 3,
       filename: TEST_URI,
       functionName: "inner",
-      language: 2,
       lineNumber: 9
     },
     {
       asyncCause: "promise callback",
       columnNumber: 3,
       filename: TEST_URI,
       functionName: "time1",
-      language: 2,
       lineNumber: 13,
     },
     {
       asyncCause: "setTimeout handler",
       columnNumber: 1,
       filename: TEST_URI,
       functionName: "",
-      language: 2,
       lineNumber: 18,
     }
   ];
 
   let obj = node._messageObject;
   ok(obj, "console.trace message object");
   ok(obj._stacktrace, "found stacktrace object");
   is(obj._stacktrace.toSource(), stacktrace.toSource(),
--- a/dom/bindings/Exceptions.cpp
+++ b/dom/bindings/Exceptions.cpp
@@ -9,17 +9,16 @@
 #include "js/GCAPI.h"
 #include "js/TypeDecls.h"
 #include "jsapi.h"
 #include "jsprf.h"
 #include "mozilla/CycleCollectedJSContext.h"
 #include "mozilla/dom/BindingUtils.h"
 #include "mozilla/dom/DOMException.h"
 #include "mozilla/dom/ScriptSettings.h"
-#include "nsIProgrammingLanguage.h"
 #include "nsPIDOMWindow.h"
 #include "nsServiceManagerUtils.h"
 #include "nsThreadUtils.h"
 #include "XPCWrapper.h"
 #include "WorkerPrivate.h"
 #include "nsContentUtils.h"
 
 namespace mozilla {
@@ -313,28 +312,16 @@ NS_IMPL_CYCLE_COLLECTION_TRACE_END
 NS_IMPL_CYCLE_COLLECTING_ADDREF(JSStackFrame)
 NS_IMPL_CYCLE_COLLECTING_RELEASE(JSStackFrame)
 
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(JSStackFrame)
   NS_INTERFACE_MAP_ENTRY(nsIStackFrame)
   NS_INTERFACE_MAP_ENTRY(nsISupports)
 NS_INTERFACE_MAP_END
 
-NS_IMETHODIMP JSStackFrame::GetLanguage(uint32_t* aLanguage)
-{
-  *aLanguage = nsIProgrammingLanguage::JAVASCRIPT;
-  return NS_OK;
-}
-
-NS_IMETHODIMP JSStackFrame::GetLanguageName(nsACString& aLanguageName)
-{
-  aLanguageName.AssignLiteral("JavaScript");
-  return NS_OK;
-}
-
 // Helper method to get the value of a stack property, if it's not already
 // cached.  This will make sure we skip the cache if the access is happening
 // over Xrays.
 //
 // @argument aStack the stack we're working with; must be non-null.
 // @argument aPropGetter the getter function to call.
 // @argument aIsCached whether we've cached this property's value before.
 //
--- a/dom/console/Console.cpp
+++ b/dom/console/Console.cpp
@@ -32,17 +32,16 @@
 #include "nsProxyRelease.h"
 #include "mozilla/ConsoleTimelineMarker.h"
 #include "mozilla/TimestampTimelineMarker.h"
 
 #include "nsIConsoleAPIStorage.h"
 #include "nsIDOMWindowUtils.h"
 #include "nsIInterfaceRequestorUtils.h"
 #include "nsILoadContext.h"
-#include "nsIProgrammingLanguage.h"
 #include "nsISensitiveInfoHiddenURI.h"
 #include "nsIServiceManager.h"
 #include "nsISupportsPrimitives.h"
 #include "nsIWebNavigation.h"
 #include "nsIXPConnect.h"
 
 // The maximum allowed number of concurrent timers per page.
 #define MAX_PAGE_TIMERS 10000
@@ -1146,17 +1145,16 @@ StackFrameToStackEntry(JSContext* aCx, n
 
   nsString cause;
   rv = aStackFrame->GetAsyncCause(aCx, cause);
   NS_ENSURE_SUCCESS(rv, rv);
   if (!cause.IsEmpty()) {
     aStackEntry.mAsyncCause.Construct(cause);
   }
 
-  aStackEntry.mLanguage = nsIProgrammingLanguage::JAVASCRIPT;
   return NS_OK;
 }
 
 nsresult
 ReifyStack(JSContext* aCx, nsIStackFrame* aStack,
            nsTArray<ConsoleStackEntry>& aRefiedStack)
 {
   nsCOMPtr<nsIStackFrame> stack(aStack);
--- a/dom/tests/browser/browser_ConsoleAPITests.js
+++ b/dom/tests/browser/browser_ConsoleAPITests.js
@@ -262,20 +262,20 @@ function testTraceConsoleData(aMessageOb
 }
 
 async function startTraceTest(browser) {
   dump("HERE\n");
   await spawnWithObserver(browser, testTraceConsoleData, function(opts) {
     dump("Observer attached\n");
     gLevel = "trace";
     gArgs = [
-      {columnNumber: 9, filename: TEST_URI, functionName: "window.foobar585956c", language: 2, lineNumber: 6},
-      {columnNumber: 16, filename: TEST_URI, functionName: "foobar585956b", language: 2, lineNumber: 11},
-      {columnNumber: 16, filename: TEST_URI, functionName: "foobar585956a", language: 2, lineNumber: 15},
-      {columnNumber: 1, filename: TEST_URI, functionName: "onclick", language: 2, lineNumber: 1}
+      {columnNumber: 9, filename: TEST_URI, functionName: "window.foobar585956c", lineNumber: 6},
+      {columnNumber: 16, filename: TEST_URI, functionName: "foobar585956b", lineNumber: 11},
+      {columnNumber: 16, filename: TEST_URI, functionName: "foobar585956a", lineNumber: 15},
+      {columnNumber: 1, filename: TEST_URI, functionName: "onclick", lineNumber: 1}
     ];
 
   });
 
   BrowserTestUtils.synthesizeMouseAtCenter("#test-trace", {}, browser);
   await waitForResolve(browser);
 }
 
--- a/dom/webidl/Console.webidl
+++ b/dom/webidl/Console.webidl
@@ -80,17 +80,16 @@ dictionary ConsoleProfileEvent {
 };
 
 // This dictionary is used to manage stack trace data.
 dictionary ConsoleStackEntry {
   DOMString filename = "";
   unsigned long lineNumber = 0;
   unsigned long columnNumber = 0;
   DOMString functionName = "";
-  unsigned long language = 0;
   DOMString? asyncCause;
 };
 
 dictionary ConsoleTimerStart {
   DOMString name = "";
 };
 
 dictionary ConsoleTimerEnd {
--- a/xpcom/base/moz.build
+++ b/xpcom/base/moz.build
@@ -14,17 +14,16 @@ XPIDL_SOURCES += [
     'nsIException.idl',
     'nsIGZFileWriter.idl',
     'nsIInterfaceRequestor.idl',
     'nsIMemory.idl',
     'nsIMemoryInfoDumper.idl',
     'nsIMemoryReporter.idl',
     'nsIMessageLoop.idl',
     'nsIMutable.idl',
-    'nsIProgrammingLanguage.idl',
     'nsISecurityConsoleMessage.idl',
     'nsIStatusReporter.idl',
     'nsISupports.idl',
     'nsIUUIDGenerator.idl',
     'nsIVersionComparator.idl',
     'nsIWeakReference.idl',
     'nsrootidl.idl',
 ]
--- a/xpcom/base/nsIException.idl
+++ b/xpcom/base/nsIException.idl
@@ -8,19 +8,16 @@
  */
 
 
 #include "nsISupports.idl"
 
 [scriptable, builtinclass, uuid(28bfb2a2-5ea6-4738-918b-049dc4d51f0b)]
 interface nsIStackFrame : nsISupports
 {
-    // see nsIProgrammingLanguage for list of language consts
-    readonly attribute uint32_t                language;
-    readonly attribute AUTF8String             languageName;
     [implicit_jscontext]
     readonly attribute AString                 filename;
     [implicit_jscontext]
     readonly attribute AString                 name;
     // Valid line numbers begin at '1'. '0' indicates unknown.
     [implicit_jscontext]
     readonly attribute int32_t                 lineNumber;
     [implicit_jscontext]
deleted file mode 100644
--- a/xpcom/base/nsIProgrammingLanguage.idl
+++ /dev/null
@@ -1,25 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsISupports.idl"
-
-/**
- * Legacy constants for specifying programming languages.
- *
- * JAVASCRIPT is needed to avoid breaking addons that use it in nsIClassInfo
- * to define fields that are no longer needed.
- *
- * UNKNOWN and JAVASCRIPT are also used in implementations of
- * nsIStackFrame::language.
- */
-
-[scriptable, uuid(02ad9f22-3c98-46f3-be4e-2f5c9299e29a)]
-interface nsIProgrammingLanguage : nsISupports
-{
-    const uint32_t UNKNOWN     = 0;
-    // 1 is unused.
-    const uint32_t JAVASCRIPT  = 2;
-};