Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
authorBirunthan Mohanathas <birunthan@mohanathas.com>
Tue, 04 Aug 2015 16:17:36 -0700
changeset 287907 65f68419dbfcefe79421876936e62c7b0a58a9df
parent 287906 2a0e43caef9b8edbf03fc20d1a220c63f0164f5d
child 287908 c8c81a51b3fcd57307f74deb41b58395517a3dd5
push id5067
push userraliiev@mozilla.com
push dateMon, 21 Sep 2015 14:04:52 +0000
treeherdermozilla-beta@14221ffe5b2f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersehsan
bugs1191100
milestone42.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan Comment-only so DONTBUILD.
docshell/base/nsDefaultURIFixup.cpp
docshell/base/nsDocShell.cpp
docshell/base/nsDocShellEnumerator.cpp
docshell/base/nsDocShellLoadInfo.cpp
dom/audiochannel/AudioChannelAgent.cpp
dom/base/DOMException.cpp
dom/base/NodeIterator.cpp
dom/base/ProcessGlobal.cpp
dom/base/TreeWalker.cpp
dom/base/nsGlobalWindowCommands.cpp
dom/base/nsInProcessTabChildGlobal.cpp
dom/base/nsJSEnvironment.cpp
dom/base/nsOpenURIInFrameParams.cpp
dom/base/nsXMLHttpRequest.cpp
dom/bindings/Exceptions.cpp
dom/canvas/WebGLContext.cpp
dom/events/FocusEvent.cpp
dom/events/SimpleGestureEvent.cpp
dom/gamepad/GamepadServiceTest.cpp
dom/html/HTMLMediaElement.cpp
dom/html/UndoManager.cpp
dom/html/nsHTMLDocument.cpp
dom/ipc/TabChild.cpp
dom/svg/SVGGradientElement.cpp
dom/svg/SVGSVGElement.cpp
dom/svg/nsSVGElement.cpp
dom/system/gonk/nsVolumeMountLock.cpp
dom/system/gonk/nsVolumeStat.cpp
dom/xul/nsXULControllers.cpp
dom/xul/templates/nsXULTreeBuilder.cpp
editor/composer/nsEditorSpellCheck.cpp
editor/libeditor/nsEditor.cpp
editor/txmgr/nsTransactionList.cpp
embedding/components/printingui/mac/nsPrintProgress.cpp
embedding/components/printingui/mac/nsPrintProgressParams.cpp
embedding/components/printingui/unixshared/nsPrintProgress.cpp
embedding/components/printingui/unixshared/nsPrintProgressParams.cpp
embedding/components/printingui/unixshared/nsPrintingPromptService.cpp
embedding/components/printingui/win/nsPrintProgress.cpp
embedding/components/printingui/win/nsPrintProgressParams.cpp
embedding/components/printingui/win/nsPrintingPromptService.cpp
embedding/components/webbrowserpersist/nsWebBrowserPersist.cpp
extensions/spellcheck/hunspell/src/mozHunspell.cpp
extensions/spellcheck/src/mozEnglishWordUtils.cpp
extensions/spellcheck/src/mozGenericWordUtils.cpp
extensions/spellcheck/src/mozPersonalDictionary.cpp
extensions/spellcheck/src/mozSpellI18NManager.cpp
image/RasterImage.cpp
image/SVGDocumentWrapper.cpp
image/VectorImage.cpp
image/encoders/jpeg/nsJPEGEncoder.cpp
image/encoders/png/nsPNGEncoder.cpp
image/imgLoader.cpp
image/imgRequest.cpp
image/imgRequestProxy.cpp
intl/lwbrk/nsSemanticUnitScanner.cpp
intl/strres/nsStringBundle.cpp
intl/uconv/nsScriptableUConv.cpp
js/xpconnect/loader/mozJSComponentLoader.cpp
js/xpconnect/public/xpc_map_end.h
js/xpconnect/src/XPCCallContext.cpp
js/xpconnect/src/XPCComponents.cpp
js/xpconnect/src/XPCJSID.cpp
js/xpconnect/src/XPCRuntimeService.cpp
js/xpconnect/src/XPCShellImpl.cpp
js/xpconnect/src/XPCVariant.cpp
js/xpconnect/src/XPCWrappedJS.cpp
js/xpconnect/src/XPCWrappedJSClass.cpp
js/xpconnect/src/XPCWrappedNative.cpp
js/xpconnect/src/nsXPConnect.cpp
js/xpconnect/tests/components/native/xpctest_params.cpp
js/xpconnect/tests/components/native/xpctest_returncode.cpp
layout/base/nsDocumentViewer.cpp
layout/inspector/nsFontFace.cpp
layout/inspector/nsFontFaceList.cpp
layout/printing/nsPrintEngine.cpp
layout/xul/ScrollBoxObject.cpp
layout/xul/nsImageBoxFrame.cpp
modules/libjar/zipwriter/nsDeflateConverter.cpp
modules/libjar/zipwriter/nsZipDataStream.cpp
modules/libjar/zipwriter/nsZipHeader.cpp
modules/libjar/zipwriter/nsZipWriter.cpp
modules/libpref/nsPrefBranch.cpp
netwerk/base/SchedulingContextService.cpp
netwerk/base/nsLoadGroup.cpp
netwerk/base/nsMIMEInputStream.cpp
netwerk/base/nsNetAddr.cpp
netwerk/base/nsSocketTransport2.cpp
netwerk/base/nsStreamLoader.cpp
netwerk/base/nsUDPSocket.cpp
netwerk/base/nsUnicharStreamLoader.cpp
netwerk/cache/nsDiskCacheDevice.cpp
netwerk/dns/nsIDNService.cpp
netwerk/protocol/http/HttpChannelChild.cpp
netwerk/protocol/rtsp/controller/RtspMetaData.cpp
netwerk/protocol/wyciwyg/WyciwygChannelChild.cpp
netwerk/sctp/src/netinet/sctp_pcb.h
security/manager/pki/nsASN1Tree.cpp
security/manager/pki/nsNSSDialogs.cpp
security/manager/pki/nsPKIParamBlock.cpp
security/manager/ssl/TransportSecurityInfo.cpp
security/manager/ssl/nsCertTree.cpp
security/manager/ssl/nsCryptoHash.cpp
security/manager/ssl/nsKeyModule.cpp
security/manager/ssl/nsNSSASN1Object.cpp
security/manager/ssl/nsNSSCertValidity.cpp
security/manager/ssl/nsNSSCertificateDB.cpp
security/manager/ssl/nsPK11TokenDB.cpp
security/manager/ssl/nsPKCS11Slot.cpp
security/manager/ssl/nsSDR.cpp
toolkit/components/diskspacewatcher/DiskSpaceWatcher.cpp
toolkit/components/find/nsFindService.cpp
toolkit/components/perfmonitoring/nsPerformanceStats.cpp
toolkit/components/places/nsNavHistoryQuery.cpp
uriloader/exthandler/nsDBusHandlerApp.cpp
uriloader/exthandler/nsLocalHandlerApp.cpp
widget/GfxInfoBase.cpp
widget/GfxInfoX11.cpp
widget/android/AndroidBridge.cpp
widget/android/GfxInfo.cpp
widget/android/nsIMEPicker.cpp
widget/gonk/GfxInfo.cpp
widget/gtk/nsColorPicker.cpp
widget/gtk/nsDeviceContextSpecG.cpp
widget/gtk/nsPrintOptionsGTK.cpp
widget/gtk/nsPrintSettingsGTK.cpp
widget/nsColorPickerProxy.cpp
widget/nsFilePickerProxy.cpp
widget/nsPrintSettingsImpl.cpp
widget/qt/GfxInfo.cpp
widget/uikit/GfxInfo.cpp
widget/windows/GfxInfo.cpp
widget/windows/JumpListBuilder.cpp
widget/windows/JumpListItem.cpp
widget/windows/WinTaskbar.cpp
widget/windows/nsDeviceContextSpecWin.cpp
widget/windows/nsPrintOptionsWin.cpp
widget/windows/nsPrintSettingsWin.cpp
xpcom/base/nsMacUtilsImpl.cpp
xpcom/ds/nsVariant.cpp
xpcom/io/nsLocalFileWin.cpp
xpcom/io/nsMultiplexInputStream.cpp
xpcom/io/nsScriptableBase64Encoder.cpp
xpcom/reflect/xptinfo/xptiInterfaceInfo.cpp
xpcom/reflect/xptinfo/xptiInterfaceInfoManager.cpp
xpcom/threads/TimerThread.cpp
xpfe/components/windowds/nsWindowDataSource.cpp
--- a/docshell/base/nsDefaultURIFixup.cpp
+++ b/docshell/base/nsDefaultURIFixup.cpp
@@ -42,17 +42,16 @@ static bool sFixupKeywords = true;
 nsDefaultURIFixup::nsDefaultURIFixup()
 {
 }
 
 nsDefaultURIFixup::~nsDefaultURIFixup()
 {
 }
 
-/* nsIURI createExposableURI (in nsIURI aURI); */
 NS_IMETHODIMP
 nsDefaultURIFixup::CreateExposableURI(nsIURI* aURI, nsIURI** aReturn)
 {
   NS_ENSURE_ARG_POINTER(aURI);
   NS_ENSURE_ARG_POINTER(aReturn);
 
   bool isWyciwyg = false;
   aURI->SchemeIs("wyciwyg", &isWyciwyg);
@@ -106,17 +105,16 @@ nsDefaultURIFixup::CreateExposableURI(ns
   if (Preferences::GetBool("browser.fixup.hide_user_pass", true)) {
     uri->SetUserPass(EmptyCString());
   }
 
   uri.forget(aReturn);
   return NS_OK;
 }
 
-/* nsIURI createFixupURI (in nsAUTF8String aURIText, in unsigned long aFixupFlags); */
 NS_IMETHODIMP
 nsDefaultURIFixup::CreateFixupURI(const nsACString& aStringURI,
                                   uint32_t aFixupFlags,
                                   nsIInputStream** aPostData, nsIURI** aURI)
 {
   nsCOMPtr<nsIURIFixupInfo> fixupInfo;
   nsresult rv = GetFixupURIInfo(aStringURI, aFixupFlags, aPostData,
                                 getter_AddRefs(fixupInfo));
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -1983,17 +1983,16 @@ NS_IMETHODIMP
 nsDocShell::GetChromeEventHandler(nsIDOMEventTarget** aChromeEventHandler)
 {
   NS_ENSURE_ARG_POINTER(aChromeEventHandler);
   nsCOMPtr<EventTarget> handler = mChromeEventHandler;
   handler.forget(aChromeEventHandler);
   return NS_OK;
 }
 
-/* void setCurrentURI (in nsIURI uri); */
 NS_IMETHODIMP
 nsDocShell::SetCurrentURI(nsIURI* aURI)
 {
   // Note that securityUI will set STATE_IS_INSECURE, even if
   // the scheme of |aURI| is "https".
   SetCurrentURI(aURI, nullptr, true, 0);
   return NS_OK;
 }
@@ -7113,17 +7112,16 @@ nsDocShell::Embed(nsIContentViewer* aCon
 
   if (!updateHistory) {
     SetLayoutHistoryState(nullptr);
   }
 
   return NS_OK;
 }
 
-/* void setIsPrinting (in boolean aIsPrinting); */
 NS_IMETHODIMP
 nsDocShell::SetIsPrinting(bool aIsPrinting)
 {
   mIsPrintingOrPP = aIsPrinting;
   return NS_OK;
 }
 
 //*****************************************************************************
@@ -12803,17 +12801,16 @@ nsDocShell::EnsureFind()
 bool
 nsDocShell::IsFrame()
 {
   nsCOMPtr<nsIDocShellTreeItem> parent;
   GetSameTypeParent(getter_AddRefs(parent));
   return !!parent;
 }
 
-/* boolean IsBeingDestroyed (); */
 NS_IMETHODIMP
 nsDocShell::IsBeingDestroyed(bool* aDoomed)
 {
   NS_ENSURE_ARG(aDoomed);
   *aDoomed = mIsBeingDestroyed;
   return NS_OK;
 }
 
--- a/docshell/base/nsDocShellEnumerator.cpp
+++ b/docshell/base/nsDocShellEnumerator.cpp
@@ -18,17 +18,16 @@ nsDocShellEnumerator::nsDocShellEnumerat
 }
 
 nsDocShellEnumerator::~nsDocShellEnumerator()
 {
 }
 
 NS_IMPL_ISUPPORTS(nsDocShellEnumerator, nsISimpleEnumerator)
 
-/* nsISupports getNext (); */
 NS_IMETHODIMP
 nsDocShellEnumerator::GetNext(nsISupports** aResult)
 {
   NS_ENSURE_ARG_POINTER(aResult);
   *aResult = nullptr;
 
   nsresult rv = EnsureDocShellArray();
   if (NS_FAILED(rv)) {
@@ -40,17 +39,16 @@ nsDocShellEnumerator::GetNext(nsISupport
   }
 
   // post-increment is important here
   nsCOMPtr<nsISupports> item = do_QueryReferent(mItemArray[mCurIndex++], &rv);
   item.forget(aResult);
   return rv;
 }
 
-/* boolean hasMoreElements (); */
 NS_IMETHODIMP
 nsDocShellEnumerator::HasMoreElements(bool* aResult)
 {
   NS_ENSURE_ARG_POINTER(aResult);
   *aResult = false;
 
   nsresult rv = EnsureDocShellArray();
   if (NS_FAILED(rv)) {
--- a/docshell/base/nsDocShellLoadInfo.cpp
+++ b/docshell/base/nsDocShellLoadInfo.cpp
@@ -160,17 +160,16 @@ nsDocShellLoadInfo::GetPostDataStream(ns
 
 NS_IMETHODIMP
 nsDocShellLoadInfo::SetPostDataStream(nsIInputStream* aStream)
 {
   mPostDataStream = aStream;
   return NS_OK;
 }
 
-/* attribute nsIInputStream headersStream; */
 NS_IMETHODIMP
 nsDocShellLoadInfo::GetHeadersStream(nsIInputStream** aHeadersStream)
 {
   NS_ENSURE_ARG_POINTER(aHeadersStream);
   *aHeadersStream = mHeadersStream;
   NS_IF_ADDREF(*aHeadersStream);
   return NS_OK;
 }
--- a/dom/audiochannel/AudioChannelAgent.cpp
+++ b/dom/audiochannel/AudioChannelAgent.cpp
@@ -48,17 +48,16 @@ AudioChannelAgent::~AudioChannelAgent()
 void
 AudioChannelAgent::Shutdown()
 {
   if (mIsRegToService) {
     NotifyStoppedPlaying();
   }
 }
 
-/* readonly attribute long audioChannelType; */
 NS_IMETHODIMP AudioChannelAgent::GetAudioChannelType(int32_t *aAudioChannelType)
 {
   *aAudioChannelType = mAudioChannelType;
   return NS_OK;
 }
 
 /* boolean init (in nsIDOMWindow window, in long channelType,
  *               in nsIAudioChannelAgentCallback callback); */
@@ -123,17 +122,16 @@ AudioChannelAgent::InitInternal(nsIDOMWi
     mWeakCallback = do_GetWeakReference(aCallback);
   } else {
     mCallback = aCallback;
   }
 
   return NS_OK;
 }
 
-/* boolean notifyStartedPlaying (); */
 NS_IMETHODIMP AudioChannelAgent::NotifyStartedPlaying(float *aVolume,
                                                       bool* aMuted)
 {
   MOZ_ASSERT(aVolume);
   MOZ_ASSERT(aMuted);
 
   nsRefPtr<AudioChannelService> service = AudioChannelService::GetOrCreate();
   if (mAudioChannelType == AUDIO_AGENT_CHANNEL_ERROR ||
@@ -145,17 +143,16 @@ NS_IMETHODIMP AudioChannelAgent::NotifyS
     static_cast<AudioChannel>(mAudioChannelType));
 
   service->GetState(mWindow, mAudioChannelType, aVolume, aMuted);
 
   mIsRegToService = true;
   return NS_OK;
 }
 
-/* void notifyStoppedPlaying (); */
 NS_IMETHODIMP AudioChannelAgent::NotifyStoppedPlaying(void)
 {
   if (mAudioChannelType == AUDIO_AGENT_CHANNEL_ERROR ||
       !mIsRegToService) {
     return NS_ERROR_FAILURE;
   }
 
   nsRefPtr<AudioChannelService> service = AudioChannelService::GetOrCreate();
--- a/dom/base/DOMException.cpp
+++ b/dom/base/DOMException.cpp
@@ -289,38 +289,35 @@ Exception::StowJSVal(JS::Value& aVp)
 
   mThrownJSVal = aVp;
   if (!mHoldingJSVal) {
     mozilla::HoldJSObjects(this);
     mHoldingJSVal = true;
   }
 }
 
-/* readonly attribute AUTF8String message; */
 NS_IMETHODIMP
 Exception::GetMessageMoz(nsACString& aMessage)
 {
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   aMessage.Assign(mMessage);
   return NS_OK;
 }
 
-/* readonly attribute nsresult result; */
 NS_IMETHODIMP
 Exception::GetResult(nsresult* aResult)
 {
   NS_ENSURE_ARG_POINTER(aResult);
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   *aResult = mResult;
   return NS_OK;
 }
 
-/* readonly attribute AUTF8String name; */
 NS_IMETHODIMP
 Exception::GetName(nsACString& aName)
 {
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   if (!mName.IsEmpty()) {
     aName.Assign(mName);
   } else {
@@ -332,31 +329,29 @@ Exception::GetName(nsACString& aName)
     if (name) {
       aName.Assign(name);
     }
   }
 
   return NS_OK;
 }
 
-/* readonly attribute AString filename; */
 NS_IMETHODIMP
 Exception::GetFilename(nsAString& aFilename)
 {
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   if (mLocation) {
     return mLocation->GetFilename(aFilename);
   }
 
   aFilename.Assign(mFilename);
   return NS_OK;
 }
 
-/* readonly attribute uint32_t lineNumber; */
 NS_IMETHODIMP
 Exception::GetLineNumber(uint32_t *aLineNumber)
 {
   NS_ENSURE_ARG_POINTER(aLineNumber);
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   if (mLocation) {
     int32_t lineno;
@@ -364,64 +359,59 @@ Exception::GetLineNumber(uint32_t *aLine
     *aLineNumber = lineno;
     return rv;
   }
 
   *aLineNumber = mLineNumber;
   return NS_OK;
 }
 
-/* readonly attribute uint32_t columnNumber; */
 NS_IMETHODIMP
 Exception::GetColumnNumber(uint32_t* aColumnNumber)
 {
   NS_ENSURE_ARG_POINTER(aColumnNumber);
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   *aColumnNumber = 0;
   return NS_OK;
 }
 
-/* readonly attribute nsIStackFrame location; */
 NS_IMETHODIMP
 Exception::GetLocation(nsIStackFrame** aLocation)
 {
   NS_ENSURE_ARG_POINTER(aLocation);
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   nsCOMPtr<nsIStackFrame> location = mLocation;
   location.forget(aLocation);
   return NS_OK;
 }
 
-/* readonly attribute nsISupports data; */
 NS_IMETHODIMP
 Exception::GetData(nsISupports** aData)
 {
   NS_ENSURE_ARG_POINTER(aData);
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   nsCOMPtr<nsISupports> data = mData;
   data.forget(aData);
   return NS_OK;
 }
 
-/* readonly attribute nsIException inner; */
 NS_IMETHODIMP
 Exception::GetInner(nsIException** aException)
 {
   NS_ENSURE_ARG_POINTER(aException);
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   nsCOMPtr<nsIException> inner = mInner;
   inner.forget(aException);
   return NS_OK;
 }
 
-/* AUTF8String toString (); */
 NS_IMETHODIMP
 Exception::ToString(nsACString& _retval)
 {
   NS_ENSURE_TRUE(mInitialized, NS_ERROR_NOT_INITIALIZED);
 
   static const char defaultMsg[] = "<no message>";
   static const char defaultLocation[] = "<unknown>";
   static const char format[] =
--- a/dom/base/NodeIterator.cpp
+++ b/dom/base/NodeIterator.cpp
@@ -174,47 +174,42 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(
     NS_INTERFACE_MAP_ENTRY(nsIDOMNodeIterator)
     NS_INTERFACE_MAP_ENTRY(nsIMutationObserver)
     NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMNodeIterator)
 NS_INTERFACE_MAP_END
 
 NS_IMPL_CYCLE_COLLECTING_ADDREF(NodeIterator)
 NS_IMPL_CYCLE_COLLECTING_RELEASE(NodeIterator)
 
-/* readonly attribute nsIDOMNode root; */
 NS_IMETHODIMP NodeIterator::GetRoot(nsIDOMNode * *aRoot)
 {
     NS_ADDREF(*aRoot = Root()->AsDOMNode());
     return NS_OK;
 }
 
-/* readonly attribute unsigned long whatToShow; */
 NS_IMETHODIMP NodeIterator::GetWhatToShow(uint32_t *aWhatToShow)
 {
     *aWhatToShow = WhatToShow();
     return NS_OK;
 }
 
-/* readonly attribute nsIDOMNodeFilter filter; */
 NS_IMETHODIMP NodeIterator::GetFilter(nsIDOMNodeFilter **aFilter)
 {
     NS_ENSURE_ARG_POINTER(aFilter);
 
     *aFilter = mFilter.ToXPCOMCallback().take();
 
     return NS_OK;
 }
 
-/* nsIDOMNode nextNode ()  raises (DOMException); */
 NS_IMETHODIMP NodeIterator::NextNode(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&NodeIterator::NextNode, _retval);
 }
 
-/* nsIDOMNode previousNode ()  raises (DOMException); */
 NS_IMETHODIMP NodeIterator::PreviousNode(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&NodeIterator::PreviousNode, _retval);
 }
 
 already_AddRefed<nsINode>
 NodeIterator::NextOrPrevNode(NodePointer::MoveToMethodType aMove,
                              ErrorResult& aResult)
@@ -243,34 +238,31 @@ NodeIterator::NextOrPrevNode(NodePointer
             mPointer = mWorkingPointer;
             return testNode.forget();
         }
     }
 
     return nullptr;
 }
 
-/* void detach (); */
 NS_IMETHODIMP NodeIterator::Detach(void)
 {
     if (mRoot) {
         mRoot->OwnerDoc()->WarnOnceAbout(nsIDocument::eNodeIteratorDetach);
     }
     return NS_OK;
 }
 
-/* readonly attribute nsIDOMNode referenceNode; */
 NS_IMETHODIMP NodeIterator::GetReferenceNode(nsIDOMNode * *aRefNode)
 {
     nsCOMPtr<nsIDOMNode> node(do_QueryInterface(GetReferenceNode()));
     node.forget(aRefNode);
     return NS_OK;
 }
 
-/* readonly attribute boolean pointerBeforeReferenceNode; */
 NS_IMETHODIMP NodeIterator::GetPointerBeforeReferenceNode(bool *aBeforeNode)
 {
     *aBeforeNode = PointerBeforeReferenceNode();
     return NS_OK;
 }
 
 /*
  * nsIMutationObserver interface
--- a/dom/base/ProcessGlobal.cpp
+++ b/dom/base/ProcessGlobal.cpp
@@ -32,17 +32,16 @@ ProcessGlobal::Get()
 {
   nsCOMPtr<nsISyncMessageSender> service = do_GetService(NS_CHILDPROCESSMESSAGEMANAGER_CONTRACTID);
   if (!service) {
     return nullptr;
   }
   return static_cast<ProcessGlobal*>(service.get());
 }
 
-/* [notxpcom] boolean markForCC (); */
 // This method isn't automatically forwarded safely because it's notxpcom, so
 // the IDL binding doesn't know what value to return.
 NS_IMETHODIMP_(bool)
 ProcessGlobal::MarkForCC()
 {
   MarkScopesForCC();
   return mMessageManager ? mMessageManager->MarkForCC() : false;
 }
--- a/dom/base/TreeWalker.cpp
+++ b/dom/base/TreeWalker.cpp
@@ -56,41 +56,37 @@ NS_IMPL_CYCLE_COLLECTING_ADDREF(dom::Tre
 NS_IMPL_CYCLE_COLLECTING_RELEASE(dom::TreeWalker)
 
 
 
 /*
  * nsIDOMTreeWalker Getters/Setters
  */
 
-/* readonly attribute nsIDOMNode root; */
 NS_IMETHODIMP TreeWalker::GetRoot(nsIDOMNode * *aRoot)
 {
     NS_ADDREF(*aRoot = Root()->AsDOMNode());
     return NS_OK;
 }
 
-/* readonly attribute unsigned long whatToShow; */
 NS_IMETHODIMP TreeWalker::GetWhatToShow(uint32_t *aWhatToShow)
 {
     *aWhatToShow = WhatToShow();
     return NS_OK;
 }
 
-/* readonly attribute nsIDOMNodeFilter filter; */
 NS_IMETHODIMP TreeWalker::GetFilter(nsIDOMNodeFilter * *aFilter)
 {
     NS_ENSURE_ARG_POINTER(aFilter);
 
     *aFilter = mFilter.ToXPCOMCallback().take();
 
     return NS_OK;
 }
 
-/* attribute nsIDOMNode currentNode; */
 NS_IMETHODIMP TreeWalker::GetCurrentNode(nsIDOMNode * *aCurrentNode)
 {
     if (mCurrentNode) {
         return CallQueryInterface(mCurrentNode, aCurrentNode);
     }
 
     *aCurrentNode = nullptr;
 
@@ -119,17 +115,16 @@ TreeWalker::SetCurrentNode(nsINode& aNod
 
     mCurrentNode = &aNode;
 }
 
 /*
  * nsIDOMTreeWalker functions
  */
 
-/* nsIDOMNode parentNode (); */
 NS_IMETHODIMP TreeWalker::ParentNode(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&TreeWalker::ParentNode, _retval);
 }
 
 already_AddRefed<nsINode>
 TreeWalker::ParentNode(ErrorResult& aResult)
 {
@@ -148,65 +143,60 @@ TreeWalker::ParentNode(ErrorResult& aRes
                 return node.forget();
             }
         }
     }
 
     return nullptr;
 }
 
-/* nsIDOMNode firstChild (); */
 NS_IMETHODIMP TreeWalker::FirstChild(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&TreeWalker::FirstChild, _retval);
 }
 
 already_AddRefed<nsINode>
 TreeWalker::FirstChild(ErrorResult& aResult)
 {
     return FirstChildInternal(false, aResult);
 }
 
-/* nsIDOMNode lastChild (); */
 NS_IMETHODIMP TreeWalker::LastChild(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&TreeWalker::LastChild, _retval);
 }
 
 already_AddRefed<nsINode>
 TreeWalker::LastChild(ErrorResult& aResult)
 {
     return FirstChildInternal(true, aResult);
 }
 
-/* nsIDOMNode previousSibling (); */
 NS_IMETHODIMP TreeWalker::PreviousSibling(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&TreeWalker::PreviousSibling, _retval);
 }
 
 already_AddRefed<nsINode>
 TreeWalker::PreviousSibling(ErrorResult& aResult)
 {
     return NextSiblingInternal(true, aResult);
 }
 
-/* nsIDOMNode nextSibling (); */
 NS_IMETHODIMP TreeWalker::NextSibling(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&TreeWalker::NextSibling, _retval);
 }
 
 already_AddRefed<nsINode>
 TreeWalker::NextSibling(ErrorResult& aResult)
 {
     return NextSiblingInternal(false, aResult);
 }
 
-/* nsIDOMNode previousNode (); */
 NS_IMETHODIMP TreeWalker::PreviousNode(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&TreeWalker::PreviousNode, _retval);
 }
 
 already_AddRefed<nsINode>
 TreeWalker::PreviousNode(ErrorResult& aResult)
 {
@@ -255,17 +245,16 @@ TreeWalker::PreviousNode(ErrorResult& aR
             mCurrentNode = node;
             return node.forget();
         }
     }
 
     return nullptr;
 }
 
-/* nsIDOMNode nextNode (); */
 NS_IMETHODIMP TreeWalker::NextNode(nsIDOMNode **_retval)
 {
     return ImplNodeGetter(&TreeWalker::NextNode, _retval);
 }
 
 already_AddRefed<nsINode>
 TreeWalker::NextNode(ErrorResult& aResult)
 {
--- a/dom/base/nsGlobalWindowCommands.cpp
+++ b/dom/base/nsGlobalWindowCommands.cpp
@@ -169,38 +169,35 @@ public:
 
 #if 0
 #pragma mark -
 #endif
 
 
 NS_IMPL_ISUPPORTS(nsSelectionCommandsBase, nsIControllerCommand)
 
-/* boolean isCommandEnabled (in string aCommandName, in nsISupports aCommandContext); */
 NS_IMETHODIMP
 nsSelectionCommandsBase::IsCommandEnabled(const char * aCommandName,
                                       nsISupports *aCommandContext,
                                       bool *outCmdEnabled)
 {
   // XXX this needs fixing. e.g. you can't scroll up if you're already at the top of
   // the document.
   *outCmdEnabled = true;
   return NS_OK;
 }
 
-/* void getCommandStateParams (in string aCommandName, in nsICommandParams aParams, in nsISupports aCommandContext); */
 NS_IMETHODIMP
 nsSelectionCommandsBase::GetCommandStateParams(const char *aCommandName,
                                             nsICommandParams *aParams, nsISupports *aCommandContext)
 {
   // XXX we should probably return the enabled state
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void doCommandParams (in string aCommandName, in nsICommandParams aParams, in nsISupports aCommandContext); */
 NS_IMETHODIMP
 nsSelectionCommandsBase::DoCommandParams(const char *aCommandName,
                                        nsICommandParams *aParams, nsISupports *aCommandContext)
 {
   return DoCommand(aCommandName, aCommandContext);
 }
 
 // protected methods
@@ -840,17 +837,16 @@ nsWebNavigationBaseCommand::DoCommand(co
 {
   nsCOMPtr<nsIWebNavigation> webNav;
   GetWebNavigationFromContext(aCommandContext, getter_AddRefs(webNav));
   NS_ENSURE_TRUE(webNav, NS_ERROR_INVALID_ARG);
   
   return DoWebNavCommand(aCommandName, webNav);
 }
 
-/* void doCommandParams (in string aCommandName, in nsICommandParams aParams, in nsISupports aCommandContext); */
 NS_IMETHODIMP
 nsWebNavigationBaseCommand::DoCommandParams(const char *aCommandName,
                                        nsICommandParams *aParams, nsISupports *aCommandContext)
 {
   return DoCommand(aCommandName, aCommandContext);
 }
 
 nsresult
--- a/dom/base/nsInProcessTabChildGlobal.cpp
+++ b/dom/base/nsInProcessTabChildGlobal.cpp
@@ -108,17 +108,16 @@ nsInProcessTabChildGlobal::nsInProcessTa
 }
 
 nsInProcessTabChildGlobal::~nsInProcessTabChildGlobal()
 {
   mAnonymousGlobalScopes.Clear();
   mozilla::DropJSObjects(this);
 }
 
-/* [notxpcom] boolean markForCC (); */
 // This method isn't automatically forwarded safely because it's notxpcom, so
 // the IDL binding doesn't know what value to return.
 NS_IMETHODIMP_(bool)
 nsInProcessTabChildGlobal::MarkForCC()
 {
   MarkScopesForCC();
   return mMessageManager ? mMessageManager->MarkForCC() : false;
 }
--- a/dom/base/nsJSEnvironment.cpp
+++ b/dom/base/nsJSEnvironment.cpp
@@ -3040,40 +3040,37 @@ nsJSArgArray::GetArgs(uint32_t *argc, vo
 
 // nsIArray impl
 NS_IMETHODIMP nsJSArgArray::GetLength(uint32_t *aLength)
 {
   *aLength = mArgc;
   return NS_OK;
 }
 
-/* void queryElementAt (in unsigned long index, in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */
 NS_IMETHODIMP nsJSArgArray::QueryElementAt(uint32_t index, const nsIID & uuid, void * *result)
 {
   *result = nullptr;
   if (index >= mArgc)
     return NS_ERROR_INVALID_ARG;
 
   if (uuid.Equals(NS_GET_IID(nsIVariant)) || uuid.Equals(NS_GET_IID(nsISupports))) {
     // Have to copy a Heap into a Rooted to work with it.
     JS::Rooted<JS::Value> val(mContext, mArgv[index]);
     return nsContentUtils::XPConnect()->JSToVariant(mContext, val,
                                                     (nsIVariant **)result);
   }
   NS_WARNING("nsJSArgArray only handles nsIVariant");
   return NS_ERROR_NO_INTERFACE;
 }
 
-/* unsigned long indexOf (in unsigned long startIndex, in nsISupports element); */
 NS_IMETHODIMP nsJSArgArray::IndexOf(uint32_t startIndex, nsISupports *element, uint32_t *_retval)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* nsISimpleEnumerator enumerate (); */
 NS_IMETHODIMP nsJSArgArray::Enumerate(nsISimpleEnumerator **_retval)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
 // The factory function
 nsresult NS_CreateJSArgv(JSContext *aContext, uint32_t argc,
                          const JS::Value* argv, nsIJSArgArray **aArray)
--- a/dom/base/nsOpenURIInFrameParams.cpp
+++ b/dom/base/nsOpenURIInFrameParams.cpp
@@ -11,31 +11,29 @@ NS_IMPL_ISUPPORTS(nsOpenURIInFrameParams
 nsOpenURIInFrameParams::nsOpenURIInFrameParams() :
   mIsPrivate(false)
 {
 }
 
 nsOpenURIInFrameParams::~nsOpenURIInFrameParams() {
 }
 
-/* attribute DOMString referrer; */
 NS_IMETHODIMP
 nsOpenURIInFrameParams::GetReferrer(nsAString& aReferrer)
 {
   aReferrer = mReferrer;
   return NS_OK;
 }
 NS_IMETHODIMP
 nsOpenURIInFrameParams::SetReferrer(const nsAString& aReferrer)
 {
   mReferrer = aReferrer;
   return NS_OK;
 }
 
-/* attribute boolean isPrivate; */
 NS_IMETHODIMP
 nsOpenURIInFrameParams::GetIsPrivate(bool* aIsPrivate)
 {
   NS_ENSURE_ARG_POINTER(aIsPrivate);
   *aIsPrivate = mIsPrivate;
   return NS_OK;
 }
 NS_IMETHODIMP
--- a/dom/base/nsXMLHttpRequest.cpp
+++ b/dom/base/nsXMLHttpRequest.cpp
@@ -575,17 +575,16 @@ nsXMLHttpRequest::SizeOfEventTargetInclu
 
   return n;
 
   // Measurement of the following members may be added later if DMD finds it is
   // worthwhile:
   // - lots
 }
 
-/* readonly attribute nsIChannel channel; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetChannel(nsIChannel **aChannel)
 {
   NS_ENSURE_ARG_POINTER(aChannel);
   NS_IF_ADDREF(*aChannel = mChannel);
 
   return NS_OK;
 }
@@ -597,17 +596,16 @@ static void LogMessage(const char* aWarn
     doc = aWindow->GetExtantDoc();
   }
   nsContentUtils::ReportToConsole(nsIScriptError::warningFlag,
                                   NS_LITERAL_CSTRING("DOM"), doc,
                                   nsContentUtils::eDOM_PROPERTIES,
                                   aWarning);
 }
 
-/* readonly attribute nsIDOMDocument responseXML; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetResponseXML(nsIDOMDocument **aResponseXML)
 {
   ErrorResult rv;
   nsIDocument* responseXML = GetResponseXML(rv);
   if (rv.Failed()) {
     return rv.StealNSResult();
   }
@@ -711,17 +709,16 @@ nsXMLHttpRequest::AppendToResponseText(c
   if (!totalChars.isValid()) {
     return NS_ERROR_OUT_OF_MEMORY;
   }
 
   mResponseText.SetLength(totalChars.value());
   return NS_OK;
 }
 
-/* readonly attribute AString responseText; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetResponseText(nsAString& aResponseText)
 {
   ErrorResult rv;
   nsString responseText;
   GetResponseText(responseText, rv);
   aResponseText = responseText;
   return rv.StealNSResult();
@@ -829,17 +826,16 @@ nsXMLHttpRequest::CreatePartialBlob()
   nsAutoCString contentType;
   if (mLoadTotal == mLoadTransferred) {
     mChannel->GetContentType(contentType);
   }
 
   mResponseBlob = mBlobSet->GetBlobInternal(GetOwner(), contentType);
 }
 
-/* attribute AString responseType; */
 NS_IMETHODIMP nsXMLHttpRequest::GetResponseType(nsAString& aResponseType)
 {
   switch (mResponseType) {
   case XML_HTTP_RESPONSE_TYPE_DEFAULT:
     aResponseType.Truncate();
     break;
   case XML_HTTP_RESPONSE_TYPE_ARRAYBUFFER:
     aResponseType.AssignLiteral("arraybuffer");
@@ -890,17 +886,16 @@ nsXMLHttpRequest::StaticAssertions()
   ASSERT_ENUM_EQUAL(Text, TEXT);
   ASSERT_ENUM_EQUAL(Moz_chunked_text, CHUNKED_TEXT);
   ASSERT_ENUM_EQUAL(Moz_chunked_arraybuffer, CHUNKED_ARRAYBUFFER);
   ASSERT_ENUM_EQUAL(Moz_blob, MOZ_BLOB);
 #undef ASSERT_ENUM_EQUAL
 }
 #endif
 
-/* attribute AString responseType; */
 NS_IMETHODIMP nsXMLHttpRequest::SetResponseType(const nsAString& aResponseType)
 {
   nsXMLHttpRequest::ResponseTypeEnum responseType;
   if (aResponseType.IsEmpty()) {
     responseType = XML_HTTP_RESPONSE_TYPE_DEFAULT;
   } else if (aResponseType.EqualsLiteral("arraybuffer")) {
     responseType = XML_HTTP_RESPONSE_TYPE_ARRAYBUFFER;
   } else if (aResponseType.EqualsLiteral("blob")) {
@@ -959,17 +954,16 @@ nsXMLHttpRequest::SetResponseType(nsXMLH
     return;
   }
 
   // Set the responseType attribute's value to the given value.
   mResponseType = aResponseType;
 
 }
 
-/* readonly attribute jsval response; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetResponse(JSContext *aCx, JS::MutableHandle<JS::Value> aResult)
 {
   ErrorResult rv;
   GetResponse(aCx, aResult, rv);
   return rv.StealNSResult();
 }
 
@@ -1088,17 +1082,16 @@ nsXMLHttpRequest::IsDeniedCrossSiteReque
     mChannel->GetStatus(&rv);
     if (NS_FAILED(rv)) {
       return true;
     }
   }
   return false;
 }
 
-/* readonly attribute AString responseURL; */
 void
 nsXMLHttpRequest::GetResponseURL(nsAString& aUrl)
 {
   aUrl.Truncate();
 
   uint16_t readyState = ReadyState();
   if ((readyState == UNSENT || readyState == OPENED) || !mChannel) {
     return;
@@ -1117,17 +1110,16 @@ nsXMLHttpRequest::GetResponseURL(nsAStri
     return;
   }
 
   nsAutoCString temp;
   responseUrl->GetSpecIgnoringRef(temp);
   CopyUTF8toUTF16(temp, aUrl);
 }
 
-/* readonly attribute unsigned long status; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetStatus(uint32_t *aStatus)
 {
   *aStatus = Status();
   return NS_OK;
 }
 
 uint32_t
@@ -1254,17 +1246,16 @@ nsXMLHttpRequest::CloseRequestWithError(
   // the abort state bit. If this occurs we're not uninitialized (bug 361773).
   if (mState & XML_HTTP_REQUEST_ABORTED) {
     ChangeState(XML_HTTP_REQUEST_UNSENT, false);  // IE seems to do it
   }
 
   mState &= ~XML_HTTP_REQUEST_SYNCLOOPING;
 }
 
-/* void abort (); */
 void
 nsXMLHttpRequest::Abort()
 {
   CloseRequestWithError(NS_LITERAL_STRING(ABORT_STR), XML_HTTP_REQUEST_ABORTED);
 }
 
 NS_IMETHODIMP
 nsXMLHttpRequest::SlowAbort()
@@ -1324,17 +1315,16 @@ nsXMLHttpRequest::IsSafeHeader(const nsA
     }
     if (header.Equals(token, nsCaseInsensitiveCStringComparator())) {
       isSafe = true;
     }
   }
   return isSafe;
 }
 
-/* ByteString getAllResponseHeaders(); */
 IMPL_CSTRING_GETTER(GetAllResponseHeaders)
 void
 nsXMLHttpRequest::GetAllResponseHeaders(nsCString& aResponseHeaders)
 {
   aResponseHeaders.Truncate();
 
   // If the state is UNSENT or OPENED,
   // return the empty string and terminate these steps.
@@ -1979,17 +1969,16 @@ nsXMLHttpRequest::OnDataAvailable(nsIReq
 
   ChangeState(XML_HTTP_REQUEST_LOADING);
   
   MaybeDispatchProgressEvents(false);
 
   return NS_OK;
 }
 
-/* void onStartRequest (in nsIRequest request, in nsISupports ctxt); */
 NS_IMETHODIMP
 nsXMLHttpRequest::OnStartRequest(nsIRequest *request, nsISupports *ctxt)
 {
   PROFILER_LABEL("nsXMLHttpRequest", "OnStartRequest",
     js::ProfileEntry::Category::NETWORK);
 
   nsresult rv = NS_OK;
   if (!mFirstStartRequestSeen && mRequestObserver) {
@@ -2214,17 +2203,16 @@ nsXMLHttpRequest::OnStartRequest(nsIRequ
       (mState & XML_HTTP_REQUEST_ASYNC) &&
       HasListenersFor(nsGkAtoms::onprogress)) {
     StartProgressEventTimer();
   }
 
   return NS_OK;
 }
 
-/* void onStopRequest (in nsIRequest request, in nsISupports ctxt, in nsresult status, in wstring statusArg); */
 NS_IMETHODIMP
 nsXMLHttpRequest::OnStopRequest(nsIRequest *request, nsISupports *ctxt, nsresult status)
 {
   PROFILER_LABEL("nsXMLHttpRequest", "OnStopRequest",
     js::ProfileEntry::Category::NETWORK);
 
   if (request != mChannel) {
     // Can this still happen?
@@ -2629,17 +2617,16 @@ nsXMLHttpRequest::GetRequestBody(nsIVari
       return NS_ERROR_FAILURE;
     }
   }
 
   NS_NOTREACHED("Default cases exist for a reason");
   return NS_OK;
 }
 
-/* void send (in nsIVariant aBody); */
 NS_IMETHODIMP
 nsXMLHttpRequest::Send(nsIVariant *aBody)
 {
   return Send(aBody, Nullable<RequestBody>());
 }
 
 nsresult
 nsXMLHttpRequest::Send(nsIVariant* aVariant, const Nullable<RequestBody>& aBody)
@@ -3033,17 +3020,16 @@ nsXMLHttpRequest::Send(nsIVariant* aVari
 
   if (!mChannel) {
     return NS_ERROR_FAILURE;
   }
 
   return rv;
 }
 
-/* void setRequestHeader (in ByteString header, in ByteString value); */
 // http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-setrequestheader
 NS_IMETHODIMP
 nsXMLHttpRequest::SetRequestHeader(const nsACString& header,
                                    const nsACString& value)
 {
   // Step 1 and 2
   if (!(mState & XML_HTTP_REQUEST_OPENED)) {
     return NS_ERROR_DOM_INVALID_STATE_ERR;
@@ -3139,17 +3125,16 @@ nsXMLHttpRequest::SetRequestHeader(const
     RequestHeader reqHeader = {
       nsCString(header), nsCString(value)
     };
     mModifiedRequestHeaders.AppendElement(reqHeader);
   }
   return rv;
 }
 
-/* attribute unsigned long timeout; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetTimeout(uint32_t *aTimeout)
 {
   *aTimeout = Timeout();
   return NS_OK;
 }
 
 NS_IMETHODIMP
@@ -3203,17 +3188,16 @@ nsXMLHttpRequest::StartTimeoutTimer()
     (uint32_t)((PR_Now() - mRequestSentTime) / PR_USEC_PER_MSEC);
   mTimeoutTimer->InitWithCallback(
     this,
     mTimeoutMilliseconds > elapsed ? mTimeoutMilliseconds - elapsed : 0,
     nsITimer::TYPE_ONE_SHOT
   );
 }
 
-/* readonly attribute unsigned short readyState; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetReadyState(uint16_t *aState)
 {
   *aState = ReadyState();
   return NS_OK;
 }
 
 uint16_t
@@ -3231,25 +3215,23 @@ nsXMLHttpRequest::ReadyState()
   }
   if (mState & XML_HTTP_REQUEST_LOADING) {
     return LOADING;
   }
   MOZ_ASSERT(mState & XML_HTTP_REQUEST_DONE);
   return DONE;
 }
 
-/* void overrideMimeType(in DOMString mimetype); */
 NS_IMETHODIMP
 nsXMLHttpRequest::SlowOverrideMimeType(const nsAString& aMimeType)
 {
   OverrideMimeType(aMimeType);
   return NS_OK;
 }
 
-/* attribute boolean mozBackgroundRequest; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetMozBackgroundRequest(bool *_retval)
 {
   *_retval = MozBackgroundRequest();
   return NS_OK;
 }
 
 bool
@@ -3282,17 +3264,16 @@ nsXMLHttpRequest::SetMozBackgroundReques
 
   if (aMozBackgroundRequest) {
     mState |= XML_HTTP_REQUEST_BACKGROUND;
   } else {
     mState &= ~XML_HTTP_REQUEST_BACKGROUND;
   }
 }
 
-/* attribute boolean withCredentials; */
 NS_IMETHODIMP
 nsXMLHttpRequest::GetWithCredentials(bool *_retval)
 {
   *_retval = WithCredentials();
   return NS_OK;
 }
 
 bool
--- a/dom/bindings/Exceptions.cpp
+++ b/dom/bindings/Exceptions.cpp
@@ -347,24 +347,22 @@ NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INH
 NS_IMPL_CYCLE_COLLECTION_TRACE_END
 
 NS_IMPL_ADDREF_INHERITED(JSStackFrame, StackFrame)
 NS_IMPL_RELEASE_INHERITED(JSStackFrame, StackFrame)
 
 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(JSStackFrame)
 NS_INTERFACE_MAP_END_INHERITING(StackFrame)
 
-/* readonly attribute uint32_t language; */
 NS_IMETHODIMP StackFrame::GetLanguage(uint32_t* aLanguage)
 {
   *aLanguage = mLanguage;
   return NS_OK;
 }
 
-/* readonly attribute string languageName; */
 NS_IMETHODIMP StackFrame::GetLanguageName(nsACString& aLanguageName)
 {
   aLanguageName.AssignLiteral("C++");
   return NS_OK;
 }
 
 NS_IMETHODIMP JSStackFrame::GetLanguageName(nsACString& aLanguageName)
 {
@@ -404,17 +402,16 @@ GetValueIfNotCached(JSContext* aCx, JSOb
   }
 
   *aUseCachedValue = false;
   JS::ExposeObjectToActiveJS(stack);
 
   aPropGetter(aCx, stack, aValue);
 }
 
-/* readonly attribute AString filename; */
 NS_IMETHODIMP JSStackFrame::GetFilename(nsAString& aFilename)
 {
   if (!mStack) {
     aFilename.Truncate();
     return NS_OK;
   }
 
   ThreadsafeAutoJSContext cx;
@@ -449,17 +446,16 @@ NS_IMETHODIMP StackFrame::GetFilename(ns
     aFilename.SetIsVoid(true);
   } else {
     aFilename.Assign(mFilename);
   }
 
   return NS_OK;
 }
 
-/* readonly attribute AString name; */
 NS_IMETHODIMP JSStackFrame::GetName(nsAString& aFunction)
 {
   if (!mStack) {
     aFunction.Truncate();
     return NS_OK;
   }
 
   ThreadsafeAutoJSContext cx;
@@ -526,17 +522,16 @@ JSStackFrame::GetLineno()
   if (canCache) {
     mLineno = line;
     mLinenoInitialized = true;
   }
 
   return line;
 }
 
-/* readonly attribute int32_t lineNumber; */
 NS_IMETHODIMP StackFrame::GetLineNumber(int32_t* aLineNumber)
 {
   *aLineNumber = GetLineno();
   return NS_OK;
 }
 
 // virtual
 int32_t
@@ -559,31 +554,28 @@ JSStackFrame::GetColNo()
   if (canCache) {
     mColNo = col;
     mColNoInitialized = true;
   }
 
   return col;
 }
 
-/* readonly attribute int32_t columnNumber; */
 NS_IMETHODIMP StackFrame::GetColumnNumber(int32_t* aColumnNumber)
 {
   *aColumnNumber = GetColNo();
   return NS_OK;
 }
 
-/* readonly attribute AUTF8String sourceLine; */
 NS_IMETHODIMP StackFrame::GetSourceLine(nsACString& aSourceLine)
 {
   aSourceLine.Truncate();
   return NS_OK;
 }
 
-/* readonly attribute AString asyncCause; */
 NS_IMETHODIMP JSStackFrame::GetAsyncCause(nsAString& aAsyncCause)
 {
   if (!mStack) {
     aAsyncCause.Truncate();
     return NS_OK;
   }
 
   ThreadsafeAutoJSContext cx;
@@ -624,17 +616,16 @@ NS_IMETHODIMP StackFrame::GetAsyncCause(
     aAsyncCause.SetIsVoid(true);
   } else {
     aAsyncCause.Assign(mAsyncCause);
   }
 
   return NS_OK;
 }
 
-/* readonly attribute nsIStackFrame asyncCaller; */
 NS_IMETHODIMP JSStackFrame::GetAsyncCaller(nsIStackFrame** aAsyncCaller)
 {
   if (!mStack) {
     *aAsyncCaller = nullptr;
     return NS_OK;
   }
 
   ThreadsafeAutoJSContext cx;
@@ -661,17 +652,16 @@ NS_IMETHODIMP JSStackFrame::GetAsyncCall
 }
 
 NS_IMETHODIMP StackFrame::GetAsyncCaller(nsIStackFrame** aAsyncCaller)
 {
   NS_IF_ADDREF(*aAsyncCaller = mAsyncCaller);
   return NS_OK;
 }
 
-/* readonly attribute nsIStackFrame caller; */
 NS_IMETHODIMP JSStackFrame::GetCaller(nsIStackFrame** aCaller)
 {
   if (!mStack) {
     *aCaller = nullptr;
     return NS_OK;
   }
 
   ThreadsafeAutoJSContext cx;
@@ -759,30 +749,28 @@ NS_IMETHODIMP JSStackFrame::GetFormatted
 }
 
 NS_IMETHODIMP StackFrame::GetFormattedStack(nsAString& aStack)
 {
   aStack.Truncate();
   return NS_OK;
 }
 
-/* readonly attribute jsval nativeSavedFrame; */
 NS_IMETHODIMP JSStackFrame::GetNativeSavedFrame(JS::MutableHandle<JS::Value> aSavedFrame)
 {
   aSavedFrame.setObjectOrNull(mStack);
   return NS_OK;
 }
 
 NS_IMETHODIMP StackFrame::GetNativeSavedFrame(JS::MutableHandle<JS::Value> aSavedFrame)
 {
   aSavedFrame.setNull();
   return NS_OK;
 }
 
-/* AUTF8String toString (); */
 NS_IMETHODIMP StackFrame::ToString(nsACString& _retval)
 {
   _retval.Truncate();
 
   const char* frametype = IsJSFrame() ? "JS" : "native";
 
   nsString filename;
   nsresult rv = GetFilename(filename);
--- a/dom/canvas/WebGLContext.cpp
+++ b/dom/canvas/WebGLContext.cpp
@@ -1303,17 +1303,16 @@ WebGLContext::GetContextAttributes(dom::
     result.mDepth = mOptions.depth;
     result.mStencil = mOptions.stencil;
     result.mAntialias = mOptions.antialias;
     result.mPremultipliedAlpha = mOptions.premultipliedAlpha;
     result.mPreserveDrawingBuffer = mOptions.preserveDrawingBuffer;
     result.mFailIfMajorPerformanceCaveat = mOptions.failIfMajorPerformanceCaveat;
 }
 
-/* [noscript] DOMString mozGetUnderlyingParamString(in GLenum pname); */
 NS_IMETHODIMP
 WebGLContext::MozGetUnderlyingParamString(uint32_t pname, nsAString& retval)
 {
     if (IsContextLost())
         return NS_OK;
 
     retval.SetIsVoid(true);
 
--- a/dom/events/FocusEvent.cpp
+++ b/dom/events/FocusEvent.cpp
@@ -22,17 +22,16 @@ FocusEvent::FocusEvent(EventTarget* aOwn
   if (aEvent) {
     mEventIsInternal = false;
   } else {
     mEventIsInternal = true;
     mEvent->time = PR_Now();
   }
 }
 
-/* readonly attribute nsIDOMEventTarget relatedTarget; */
 NS_IMETHODIMP
 FocusEvent::GetRelatedTarget(nsIDOMEventTarget** aRelatedTarget)
 {
   NS_ENSURE_ARG_POINTER(aRelatedTarget);
   NS_IF_ADDREF(*aRelatedTarget = GetRelatedTarget());
   return NS_OK;
 }
 
--- a/dom/events/SimpleGestureEvent.cpp
+++ b/dom/events/SimpleGestureEvent.cpp
@@ -34,17 +34,16 @@ SimpleGestureEvent::SimpleGestureEvent(E
 
 NS_IMPL_ADDREF_INHERITED(SimpleGestureEvent, MouseEvent)
 NS_IMPL_RELEASE_INHERITED(SimpleGestureEvent, MouseEvent)
 
 NS_INTERFACE_MAP_BEGIN(SimpleGestureEvent)
   NS_INTERFACE_MAP_ENTRY(nsIDOMSimpleGestureEvent)
 NS_INTERFACE_MAP_END_INHERITING(MouseEvent)
 
-/* attribute unsigned long allowedDirections; */
 uint32_t
 SimpleGestureEvent::AllowedDirections()
 {
   return mEvent->AsSimpleGestureEvent()->allowedDirections;
 }
 
 NS_IMETHODIMP
 SimpleGestureEvent::GetAllowedDirections(uint32_t* aAllowedDirections)
@@ -56,47 +55,44 @@ SimpleGestureEvent::GetAllowedDirections
 
 NS_IMETHODIMP
 SimpleGestureEvent::SetAllowedDirections(uint32_t aAllowedDirections)
 {
   mEvent->AsSimpleGestureEvent()->allowedDirections = aAllowedDirections;
   return NS_OK;
 }
 
-/* readonly attribute unsigned long direction; */
 uint32_t
 SimpleGestureEvent::Direction()
 {
   return mEvent->AsSimpleGestureEvent()->direction;
 }
 
 NS_IMETHODIMP
 SimpleGestureEvent::GetDirection(uint32_t* aDirection)
 {
   NS_ENSURE_ARG_POINTER(aDirection);
   *aDirection = Direction();
   return NS_OK;
 }
 
-/* readonly attribute float delta; */
 double
 SimpleGestureEvent::Delta()
 {
   return mEvent->AsSimpleGestureEvent()->delta;
 }
 
 NS_IMETHODIMP
 SimpleGestureEvent::GetDelta(double* aDelta)
 {
   NS_ENSURE_ARG_POINTER(aDelta);
   *aDelta = Delta();
   return NS_OK;
 }
 
-/* readonly attribute unsigned long clickCount; */
 uint32_t
 SimpleGestureEvent::ClickCount()
 {
   return mEvent->AsSimpleGestureEvent()->clickCount;
 }
 
 NS_IMETHODIMP
 SimpleGestureEvent::GetClickCount(uint32_t* aClickCount)
--- a/dom/gamepad/GamepadServiceTest.cpp
+++ b/dom/gamepad/GamepadServiceTest.cpp
@@ -34,32 +34,30 @@ GamepadServiceTest::GamepadServiceTest()
   mService(GamepadService::GetService())
 {
 }
 
 GamepadServiceTest::~GamepadServiceTest()
 {
 }
 
-/* uint32_t addGamepad(in unsigned long index, in string id, in unsigned long mapping, in unsigned long numButtons, in unsigned long numAxes); */
 NS_IMETHODIMP
 GamepadServiceTest::AddGamepad(const char* aID,
                                uint32_t aMapping,
                                uint32_t aNumButtons,
                                uint32_t aNumAxes,
                                uint32_t* aGamepadIndex)
 {
   *aGamepadIndex = GamepadFunctions::AddGamepad(aID,
                                                 static_cast<GamepadMappingType>(aMapping),
                                                 aNumButtons,
                                                 aNumAxes);
   return NS_OK;
 }
 
-/* void removeGamepad (in uint32_t index); */
 NS_IMETHODIMP GamepadServiceTest::RemoveGamepad(uint32_t aIndex)
 {
   GamepadFunctions::RemoveGamepad(aIndex);
   return NS_OK;
 }
 
 /* void newButtonEvent (in uint32_t index, in uint32_t button,
    in boolean pressed); */
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -568,33 +568,30 @@ HTMLMediaElement::SetMozSrcObject(DOMMed
 
 void
 HTMLMediaElement::SetMozSrcObject(DOMMediaStream* aValue)
 {
   mSrcAttrStream = aValue;
   DoLoad();
 }
 
-/* readonly attribute nsIDOMHTMLMediaElement mozAutoplayEnabled; */
 NS_IMETHODIMP HTMLMediaElement::GetMozAutoplayEnabled(bool *aAutoplayEnabled)
 {
   *aAutoplayEnabled = mAutoplayEnabled;
 
   return NS_OK;
 }
 
-/* readonly attribute nsIDOMMediaError error; */
 NS_IMETHODIMP HTMLMediaElement::GetError(nsIDOMMediaError * *aError)
 {
   NS_IF_ADDREF(*aError = mError);
 
   return NS_OK;
 }
 
-/* readonly attribute boolean ended; */
 bool
 HTMLMediaElement::Ended()
 {
   if (mSrcStream) {
     return GetSrcMediaStream()->IsFinished();
   }
 
   if (mDecoder) {
@@ -605,26 +602,24 @@ HTMLMediaElement::Ended()
 }
 
 NS_IMETHODIMP HTMLMediaElement::GetEnded(bool* aEnded)
 {
   *aEnded = Ended();
   return NS_OK;
 }
 
-/* readonly attribute DOMString currentSrc; */
 NS_IMETHODIMP HTMLMediaElement::GetCurrentSrc(nsAString & aCurrentSrc)
 {
   nsAutoCString src;
   GetCurrentSpec(src);
   aCurrentSrc = NS_ConvertUTF8toUTF16(src);
   return NS_OK;
 }
 
-/* readonly attribute unsigned short networkState; */
 NS_IMETHODIMP HTMLMediaElement::GetNetworkState(uint16_t* aNetworkState)
 {
   *aNetworkState = NetworkState();
   return NS_OK;
 }
 
 nsresult
 HTMLMediaElement::OnChannelRedirect(nsIChannel* aChannel,
@@ -806,17 +801,16 @@ void HTMLMediaElement::QueueSelectResour
   if (mHaveQueuedSelectResource)
     return;
   mHaveQueuedSelectResource = true;
   ChangeNetworkState(nsIDOMHTMLMediaElement::NETWORK_NO_SOURCE);
   RunInStableState(
     NS_NewRunnableMethod(this, &HTMLMediaElement::SelectResourceWrapper));
 }
 
-/* void load (); */
 NS_IMETHODIMP HTMLMediaElement::Load()
 {
   if (mIsRunningLoadMethod) {
     return NS_OK;
   }
 
   mIsDoingExplicitLoad = true;
   DoLoad();
@@ -1342,38 +1336,35 @@ nsresult HTMLMediaElement::LoadWithChann
   }
 
   SetPlaybackRate(mDefaultPlaybackRate);
   DispatchAsyncEvent(NS_LITERAL_STRING("loadstart"));
 
   return NS_OK;
 }
 
-/* readonly attribute unsigned short readyState; */
 NS_IMETHODIMP HTMLMediaElement::GetReadyState(uint16_t* aReadyState)
 {
   *aReadyState = ReadyState();
 
   return NS_OK;
 }
 
-/* readonly attribute boolean seeking; */
 bool
 HTMLMediaElement::Seeking() const
 {
   return mDecoder && mDecoder->IsSeeking();
 }
 
 NS_IMETHODIMP HTMLMediaElement::GetSeeking(bool* aSeeking)
 {
   *aSeeking = Seeking();
   return NS_OK;
 }
 
-/* attribute double currentTime; */
 double
 HTMLMediaElement::CurrentTime() const
 {
   if (mSrcStream) {
     MediaStream* stream = GetSrcMediaStream();
     if (stream) {
       return stream->StreamTimeToSeconds(stream->GetCurrentTime());
     }
@@ -1585,17 +1576,16 @@ NS_IMETHODIMP HTMLMediaElement::SetCurre
     return NS_ERROR_FAILURE;
   }
 
   ErrorResult rv;
   SetCurrentTime(aCurrentTime, rv);
   return rv.StealNSResult();
 }
 
-/* readonly attribute double duration; */
 double
 HTMLMediaElement::Duration() const
 {
   if (mSrcStream) {
     return std::numeric_limits<double>::infinity();
   }
 
   if (mDecoder) {
@@ -1616,25 +1606,23 @@ HTMLMediaElement::Seekable() const
 {
   nsRefPtr<TimeRanges> ranges = new TimeRanges();
   if (mDecoder && mReadyState > nsIDOMHTMLMediaElement::HAVE_NOTHING) {
     mDecoder->GetSeekable().ToTimeRanges(ranges);
   }
   return ranges.forget();
 }
 
-/* readonly attribute nsIDOMHTMLTimeRanges seekable; */
 NS_IMETHODIMP HTMLMediaElement::GetSeekable(nsIDOMTimeRanges** aSeekable)
 {
   nsRefPtr<TimeRanges> ranges = Seekable();
   ranges.forget(aSeekable);
   return NS_OK;
 }
 
-/* readonly attribute boolean paused; */
 NS_IMETHODIMP HTMLMediaElement::GetPaused(bool* aPaused)
 {
   *aPaused = Paused();
 
   return NS_OK;
 }
 
 already_AddRefed<TimeRanges>
@@ -1660,25 +1648,23 @@ HTMLMediaElement::Played()
       ranges->Add(mCurrentPlayRangeStart, now);
     }
   }
 
   ranges->Normalize();
   return ranges.forget();
 }
 
-/* readonly attribute nsIDOMHTMLTimeRanges played; */
 NS_IMETHODIMP HTMLMediaElement::GetPlayed(nsIDOMTimeRanges** aPlayed)
 {
   nsRefPtr<TimeRanges> ranges = Played();
   ranges.forget(aPlayed);
   return NS_OK;
 }
 
-/* void pause (); */
 void
 HTMLMediaElement::Pause(ErrorResult& aRv)
 {
   if (mNetworkState == nsIDOMHTMLMediaElement::NETWORK_EMPTY) {
     LOG(LogLevel::Debug, ("Loading due to Pause()"));
     DoLoad();
   } else if (mDecoder) {
     mDecoder->Pause();
@@ -1704,17 +1690,16 @@ HTMLMediaElement::Pause(ErrorResult& aRv
 
 NS_IMETHODIMP HTMLMediaElement::Pause()
 {
   ErrorResult rv;
   Pause(rv);
   return rv.StealNSResult();
 }
 
-/* attribute double volume; */
 NS_IMETHODIMP HTMLMediaElement::GetVolume(double* aVolume)
 {
   *aVolume = Volume();
   return NS_OK;
 }
 
 void
 HTMLMediaElement::SetVolume(double aVolume, ErrorResult& aRv)
@@ -1783,17 +1768,16 @@ HTMLMediaElement::MozGetMetadata(JSConte
   if (!rv.Failed()) {
     MOZ_ASSERT(obj);
     aValue.setObject(*obj);
   }
 
   return rv.StealNSResult();
 }
 
-/* attribute boolean muted; */
 NS_IMETHODIMP HTMLMediaElement::GetMuted(bool* aMuted)
 {
   *aMuted = Muted();
   return NS_OK;
 }
 
 void HTMLMediaElement::SetMutedInternal(uint32_t aMuted)
 {
@@ -4332,17 +4316,16 @@ void HTMLMediaElement::GetCurrentSpec(ns
 {
   if (mLoadingSrc) {
     mLoadingSrc->GetSpec(aString);
   } else {
     aString.Truncate();
   }
 }
 
-/* attribute double mozFragmentEnd; */
 double
 HTMLMediaElement::MozFragmentEnd()
 {
   double duration = Duration();
 
   // If there is no end fragment, or the fragment end is greater than the
   // duration, return the duration.
   return (mFragmentEnd < 0.0 || mFragmentEnd > duration) ? duration : mFragmentEnd;
@@ -4363,17 +4346,16 @@ static double ClampPlaybackRate(double a
     return aPlaybackRate < 0 ? -MIN_PLAYBACKRATE : MIN_PLAYBACKRATE;
   }
   if (Abs(aPlaybackRate) > MAX_PLAYBACKRATE) {
     return aPlaybackRate < 0 ? -MAX_PLAYBACKRATE : MAX_PLAYBACKRATE;
   }
   return aPlaybackRate;
 }
 
-/* attribute double defaultPlaybackRate; */
 NS_IMETHODIMP HTMLMediaElement::GetDefaultPlaybackRate(double* aDefaultPlaybackRate)
 {
   *aDefaultPlaybackRate = DefaultPlaybackRate();
   return NS_OK;
 }
 
 void
 HTMLMediaElement::SetDefaultPlaybackRate(double aDefaultPlaybackRate, ErrorResult& aRv)
@@ -4389,17 +4371,16 @@ HTMLMediaElement::SetDefaultPlaybackRate
 
 NS_IMETHODIMP HTMLMediaElement::SetDefaultPlaybackRate(double aDefaultPlaybackRate)
 {
   ErrorResult rv;
   SetDefaultPlaybackRate(aDefaultPlaybackRate, rv);
   return rv.StealNSResult();
 }
 
-/* attribute double playbackRate; */
 NS_IMETHODIMP HTMLMediaElement::GetPlaybackRate(double* aPlaybackRate)
 {
   *aPlaybackRate = PlaybackRate();
   return NS_OK;
 }
 
 void
 HTMLMediaElement::SetPlaybackRate(double aPlaybackRate, ErrorResult& aRv)
@@ -4429,17 +4410,16 @@ HTMLMediaElement::SetPlaybackRate(double
 
 NS_IMETHODIMP HTMLMediaElement::SetPlaybackRate(double aPlaybackRate)
 {
   ErrorResult rv;
   SetPlaybackRate(aPlaybackRate, rv);
   return rv.StealNSResult();
 }
 
-/* attribute bool mozPreservesPitch; */
 NS_IMETHODIMP HTMLMediaElement::GetMozPreservesPitch(bool* aPreservesPitch)
 {
   *aPreservesPitch = MozPreservesPitch();
   return NS_OK;
 }
 
 NS_IMETHODIMP HTMLMediaElement::SetMozPreservesPitch(bool aPreservesPitch)
 {
@@ -4761,17 +4741,16 @@ HTMLMediaElement::VideoTracks()
 {
   if (!mVideoTrackList) {
     nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(OwnerDoc()->GetParentObject());
     mVideoTrackList = new VideoTrackList(window, this);
   }
   return mVideoTrackList;
 }
 
-/* readonly attribute TextTrackList? textTracks; */
 TextTrackList*
 HTMLMediaElement::GetTextTracks()
 {
   return GetOrCreateTextTrackManager()->GetTextTracks();
 }
 
 already_AddRefed<TextTrack>
 HTMLMediaElement::AddTextTrack(TextTrackKind aKind,
--- a/dom/html/UndoManager.cpp
+++ b/dom/html/UndoManager.cpp
@@ -52,48 +52,43 @@ using namespace mozilla::dom;
  * UndoManager transactions.
  */
 class UndoTxn : public nsITransaction {
   NS_DECL_NSITRANSACTION
 protected:
   virtual ~UndoTxn() {}
 };
 
-/* void doTransaction (); */
 NS_IMETHODIMP
 UndoTxn::DoTransaction()
 {
   // Do not do anything the first time we apply this transaction,
   // changes should already have been applied.
   return NS_OK;
 }
 
-/* void doTransaction (); */
 NS_IMETHODIMP
 UndoTxn::RedoTransaction()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void doTransaction (); */
 NS_IMETHODIMP
 UndoTxn::UndoTransaction()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* readonly attribute boolean isTransient; */
 NS_IMETHODIMP
 UndoTxn::GetIsTransient(bool* aIsTransient)
 {
   *aIsTransient = false;
   return NS_OK;
 }
 
-/* boolean merge (in nsITransaction aTransaction); */
 NS_IMETHODIMP
 UndoTxn::Merge(nsITransaction* aTransaction, bool* aResult)
 {
   *aResult = false;
   return NS_OK;
 }
 
 /////////////////////////////////////////////////
--- a/dom/html/nsHTMLDocument.cpp
+++ b/dom/html/nsHTMLDocument.cpp
@@ -2471,17 +2471,16 @@ nsHTMLDocument::GenerateParserKey(void)
       // participate in the context of the script that document.open()ed
       // this document.
       return nullptr;
     }
   }
   return script;
 }
 
-/* attribute DOMString designMode; */
 NS_IMETHODIMP
 nsHTMLDocument::GetDesignMode(nsAString & aDesignMode)
 {
   if (HasFlag(NODE_IS_EDITABLE)) {
     aDesignMode.AssignLiteral("on");
   }
   else {
     aDesignMode.AssignLiteral("off");
@@ -3324,17 +3323,16 @@ nsHTMLDocument::ExecCommand(const nsAStr
       return false;
     }
     rv = cmdMgr->DoCommand(cmdToDispatch.get(), cmdParams, window);
   }
 
   return !rv.Failed();
 }
 
-/* boolean queryCommandEnabled(in DOMString commandID); */
 NS_IMETHODIMP
 nsHTMLDocument::QueryCommandEnabled(const nsAString& commandID,
                                     bool* _retval)
 {
   ErrorResult rv;
   *_retval = QueryCommandEnabled(commandID, rv);
   return rv.StealNSResult();
 }
@@ -3379,17 +3377,16 @@ nsHTMLDocument::QueryCommandEnabled(cons
     return false;
   }
 
   bool retval;
   rv = cmdMgr->IsCommandEnabled(cmdToDispatch.get(), window, &retval);
   return retval;
 }
 
-/* boolean queryCommandIndeterm (in DOMString commandID); */
 NS_IMETHODIMP
 nsHTMLDocument::QueryCommandIndeterm(const nsAString & commandID,
                                      bool *_retval)
 {
   ErrorResult rv;
   *_retval = QueryCommandIndeterm(commandID, rv);
   return rv.StealNSResult();
 }
@@ -3437,17 +3434,16 @@ nsHTMLDocument::QueryCommandIndeterm(con
   // If command does not have a state_mixed value, this call fails and sets
   // retval to false.  This is fine -- we want to return false in that case
   // anyway (bug 738385), so we just don't throw regardless.
   bool retval = false;
   cmdParams->GetBooleanValue("state_mixed", &retval);
   return retval;
 }
 
-/* boolean queryCommandState(in DOMString commandID); */
 NS_IMETHODIMP
 nsHTMLDocument::QueryCommandState(const nsAString & commandID, bool *_retval)
 {
   ErrorResult rv;
   *_retval = QueryCommandState(commandID, rv);
   return rv.StealNSResult();
 }
 
@@ -3521,17 +3517,16 @@ nsHTMLDocument::QueryCommandState(const 
   // If command does not have a state_all value, this call fails and sets
   // retval to false.  This is fine -- we want to return false in that case
   // anyway (bug 738385), so we just succeed and return false regardless.
   bool retval = false;
   cmdParams->GetBooleanValue("state_all", &retval);
   return retval;
 }
 
-/* boolean queryCommandSupported(in DOMString commandID); */
 NS_IMETHODIMP
 nsHTMLDocument::QueryCommandSupported(const nsAString & commandID,
                                       bool *_retval)
 {
   *_retval = QueryCommandSupported(commandID);
   return NS_OK;
 }
 
@@ -3556,17 +3551,16 @@ nsHTMLDocument::QueryCommandSupported(co
     }
   }
 
   // commandID is supported if it can be converted to a Midas command
   nsAutoCString cmdToDispatch;
   return ConvertToMidasInternalCommand(commandID, cmdToDispatch);
 }
 
-/* DOMString queryCommandValue(in DOMString commandID); */
 NS_IMETHODIMP
 nsHTMLDocument::QueryCommandValue(const nsAString & commandID,
                                   nsAString &_retval)
 {
   ErrorResult rv;
   QueryCommandValue(commandID, _retval, rv);
   return rv.StealNSResult();
 }
--- a/dom/ipc/TabChild.cpp
+++ b/dom/ipc/TabChild.cpp
@@ -3041,17 +3041,16 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_
   NS_INTERFACE_MAP_ENTRY(nsIGlobalObject)
   NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference)
   NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO(ContentFrameMessageManager)
 NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper)
 
 NS_IMPL_ADDREF_INHERITED(TabChildGlobal, DOMEventTargetHelper)
 NS_IMPL_RELEASE_INHERITED(TabChildGlobal, DOMEventTargetHelper)
 
-/* [notxpcom] boolean markForCC (); */
 // This method isn't automatically forwarded safely because it's notxpcom, so
 // the IDL binding doesn't know what value to return.
 NS_IMETHODIMP_(bool)
 TabChildGlobal::MarkForCC()
 {
   if (mTabChild) {
     mTabChild->MarkScopesForCC();
   }
--- a/dom/svg/SVGGradientElement.cpp
+++ b/dom/svg/SVGGradientElement.cpp
@@ -72,17 +72,16 @@ SVGGradientElement::GetStringInfo()
 }
 
 already_AddRefed<SVGAnimatedEnumeration>
 SVGGradientElement::GradientUnits()
 {
   return mEnumAttributes[GRADIENTUNITS].ToDOMAnimatedEnum(this);
 }
 
-/* readonly attribute SVGAnimatedTransformList gradientTransform; */
 already_AddRefed<SVGAnimatedTransformList>
 SVGGradientElement::GradientTransform()
 {
   // We're creating a DOM wrapper, so we must tell GetAnimatedTransformList
   // to allocate the SVGAnimatedTransformList if it hasn't already done so:
   return SVGAnimatedTransformList::GetDOMWrapper(
            GetAnimatedTransformList(DO_ALLOCATE), this);
 }
--- a/dom/svg/SVGSVGElement.cpp
+++ b/dom/svg/SVGSVGElement.cpp
@@ -286,24 +286,22 @@ SVGSVGElement::CurrentTranslate()
 uint32_t
 SVGSVGElement::SuspendRedraw(uint32_t max_wait_milliseconds)
 {
   // suspendRedraw is a no-op in Mozilla, so it doesn't matter what
   // we return
   return 1;
 }
 
-/* void unsuspendRedraw (in unsigned long suspend_handle_id); */
 void
 SVGSVGElement::UnsuspendRedraw(uint32_t suspend_handle_id)
 {
   // no-op
 }
 
-/* void unsuspendRedrawAll (); */
 void
 SVGSVGElement::UnsuspendRedrawAll()
 {
   // no-op
 }
 
 void
 SVGSVGElement::ForceRedraw()
--- a/dom/svg/nsSVGElement.cpp
+++ b/dom/svg/nsSVGElement.cpp
@@ -96,25 +96,23 @@ nsSVGElement::nsSVGElement(already_AddRe
 JSObject*
 nsSVGElement::WrapNode(JSContext *aCx, JS::Handle<JSObject*> aGivenProto)
 {
   return SVGElementBinding::Wrap(aCx, this, aGivenProto);
 }
 
 //----------------------------------------------------------------------
 
-/* readonly attribute SVGAnimatedString className; */
 NS_IMETHODIMP
 nsSVGElement::GetSVGClassName(nsISupports** aClassName)
 {
   *aClassName = ClassName().take();
   return NS_OK;
 }
 
-/* readonly attribute nsIDOMCSSStyleDeclaration style; */
 NS_IMETHODIMP
 nsSVGElement::GetStyle(nsIDOMCSSStyleDeclaration** aStyle)
 {
   NS_ADDREF(*aStyle = Style());
   return NS_OK;
 }
 
 //----------------------------------------------------------------------
@@ -1079,31 +1077,29 @@ nsSVGElement::sMaskMap[] = {
 // nsIDOMElement methods
 
 // forwarded to Element implementations
 
 
 //----------------------------------------------------------------------
 // nsIDOMSVGElement methods
 
-/* readonly attribute nsIDOMSVGSVGElement ownerSVGElement; */
 NS_IMETHODIMP
 nsSVGElement::GetOwnerSVGElement(nsIDOMSVGElement * *aOwnerSVGElement)
 {
   NS_IF_ADDREF(*aOwnerSVGElement = GetOwnerSVGElement());
   return NS_OK;
 }
 
 SVGSVGElement*
 nsSVGElement::GetOwnerSVGElement()
 {
   return GetCtx(); // this may return nullptr
 }
 
-/* readonly attribute nsIDOMSVGElement viewportElement; */
 NS_IMETHODIMP
 nsSVGElement::GetViewportElement(nsIDOMSVGElement * *aViewportElement)
 {
   nsSVGElement* elem = GetViewportElement();
   NS_ADDREF(*aViewportElement = elem);
   return NS_OK;
 }
 
--- a/dom/system/gonk/nsVolumeMountLock.cpp
+++ b/dom/system/gonk/nsVolumeMountLock.cpp
@@ -76,17 +76,16 @@ nsresult nsVolumeMountLock::Init()
     return rv;
   }
   rv = vol->GetMountGeneration(&mVolumeGeneration);
   NS_ENSURE_SUCCESS(rv, rv);
 
   return Lock(vol);
 }
 
-/* void unlock (); */
 NS_IMETHODIMP nsVolumeMountLock::Unlock()
 {
   LOG("nsVolumeMountLock released for '%s'",
       NS_LossyConvertUTF16toASCII(mVolumeName).get());
 
   mUnlocked = true;
   mWakeLock = nullptr;
 
--- a/dom/system/gonk/nsVolumeStat.cpp
+++ b/dom/system/gonk/nsVolumeStat.cpp
@@ -12,24 +12,22 @@ NS_IMPL_ISUPPORTS(nsVolumeStat, nsIVolum
 
 nsVolumeStat::nsVolumeStat(const nsAString& aPath)
 {
   if (statfs(NS_ConvertUTF16toUTF8(aPath).get(), &mStat) != 0) {
     memset(&mStat, 0, sizeof(mStat));
   }
 }
 
-/* readonly attribute long long totalBytes; */
 NS_IMETHODIMP nsVolumeStat::GetTotalBytes(int64_t* aTotalBytes)
 {
   *aTotalBytes = mStat.f_blocks * mStat.f_bsize;
   return NS_OK;
 }
 
-/* readonly attribute long long freeBytes; */
 NS_IMETHODIMP nsVolumeStat::GetFreeBytes(int64_t* aFreeBytes)
 {
   *aFreeBytes = mStat.f_bfree * mStat.f_bsize;
   return NS_OK;
 }
 
 } // system
 } // mozilla
--- a/dom/xul/nsXULControllers.cpp
+++ b/dom/xul/nsXULControllers.cpp
@@ -196,17 +196,16 @@ nsXULControllers::RemoveController(nsICo
         delete controllerData;
         return NS_OK;
       }
     }
   }
   return NS_ERROR_FAILURE;      // right thing to return if no controller found?
 }
     
-/* unsigned long getControllerId (in nsIController controller); */
 NS_IMETHODIMP
 nsXULControllers::GetControllerId(nsIController *controller, uint32_t *_retval)
 {
   NS_ENSURE_ARG_POINTER(_retval);
 
   uint32_t count = mControllers.Length();
   for (uint32_t i = 0; i < count; i++)
   {
@@ -220,17 +219,16 @@ nsXULControllers::GetControllerId(nsICon
         *_retval = controllerData->GetControllerID();
         return NS_OK;
       }
     }
   }
   return NS_ERROR_FAILURE;  // none found
 }
 
-/* nsIController getControllerById (in unsigned long controllerID); */
 NS_IMETHODIMP
 nsXULControllers::GetControllerById(uint32_t controllerID, nsIController **_retval)
 {
   NS_ENSURE_ARG_POINTER(_retval);
     
   uint32_t count = mControllers.Length();
   for (uint32_t i = 0; i < count; i++)
   {
--- a/dom/xul/templates/nsXULTreeBuilder.cpp
+++ b/dom/xul/templates/nsXULTreeBuilder.cpp
@@ -1835,17 +1835,16 @@ nsXULTreeBuilder::SortSubtree(nsTreeRows
         if (child)
             SortSubtree(child);
     }
 
     return NS_OK;
 }
 
 
-/* boolean canDrop (in long index, in long orientation); */
 NS_IMETHODIMP
 nsXULTreeBuilder::CanDrop(int32_t index, int32_t orientation,
                           nsIDOMDataTransfer* dataTransfer, bool *_retval)
 {
     *_retval = false;
     uint32_t count = mObservers.Count();
     for (uint32_t i = 0; i < count; ++i) {
         nsCOMPtr<nsIXULTreeBuilderObserver> observer = mObservers.SafeObjectAt(i);
--- a/editor/composer/nsEditorSpellCheck.cpp
+++ b/editor/composer/nsEditorSpellCheck.cpp
@@ -661,17 +661,16 @@ nsEditorSpellCheck::UninitSpellChecker()
   DeleteSuggestedWordList();
   mDictionaryList.Clear();
   mDictionaryIndex = 0;
   mSpellChecker = 0;
   return NS_OK;
 }
 
 
-/* void setFilter (in nsITextServicesFilter filter); */
 NS_IMETHODIMP
 nsEditorSpellCheck::SetFilter(nsITextServicesFilter *filter)
 {
   mTxtSrvFilter = filter;
   return NS_OK;
 }
 
 nsresult
--- a/editor/libeditor/nsEditor.cpp
+++ b/editor/libeditor/nsEditor.cpp
@@ -595,17 +595,16 @@ nsEditor::GetWidget()
   NS_ENSURE_TRUE(ps, nullptr);
   nsPresContext* pc = ps->GetPresContext();
   NS_ENSURE_TRUE(pc, nullptr);
   nsCOMPtr<nsIWidget> widget = pc->GetRootWidget();
   NS_ENSURE_TRUE(widget.get(), nullptr);
   return widget.forget();
 }
 
-/* attribute string contentsMIMEType; */
 NS_IMETHODIMP
 nsEditor::GetContentsMIMEType(char * *aContentsMIMEType)
 {
   NS_ENSURE_ARG_POINTER(aContentsMIMEType);
   *aContentsMIMEType = ToNewCString(mContentMIMEType);
   return NS_OK;
 }
 
--- a/editor/txmgr/nsTransactionList.cpp
+++ b/editor/txmgr/nsTransactionList.cpp
@@ -34,17 +34,16 @@ nsTransactionList::nsTransactionList(nsI
 }
 
 nsTransactionList::~nsTransactionList()
 {
   mTxnStack = 0;
   mTxnItem  = 0;
 }
 
-/* readonly attribute long numItems; */
 NS_IMETHODIMP nsTransactionList::GetNumItems(int32_t *aNumItems)
 {
   NS_ENSURE_TRUE(aNumItems, NS_ERROR_NULL_POINTER);
 
   *aNumItems = 0;
 
   nsCOMPtr<nsITransactionManager> txMgr = do_QueryReferent(mTxnMgr);
 
@@ -55,17 +54,16 @@ NS_IMETHODIMP nsTransactionList::GetNumI
   if (mTxnStack)
     *aNumItems = mTxnStack->GetSize();
   else if (mTxnItem)
     result = mTxnItem->GetNumberOfChildren(aNumItems);
 
   return result;
 }
 
-/* boolean itemIsBatch (in long aIndex); */
 NS_IMETHODIMP nsTransactionList::ItemIsBatch(int32_t aIndex, bool *aIsBatch)
 {
   NS_ENSURE_TRUE(aIsBatch, NS_ERROR_NULL_POINTER);
 
   *aIsBatch = false;
 
   nsCOMPtr<nsITransactionManager> txMgr = do_QueryReferent(mTxnMgr);
 
@@ -118,17 +116,16 @@ NS_IMETHODIMP nsTransactionList::GetData
   }
 
   *aLength = data.Count();
   *aData = ret;
 
   return NS_OK;
 }
 
-/* nsITransaction getItem (in long aIndex); */
 NS_IMETHODIMP nsTransactionList::GetItem(int32_t aIndex, nsITransaction **aItem)
 {
   NS_ENSURE_TRUE(aItem, NS_ERROR_NULL_POINTER);
 
   *aItem = 0;
 
   nsCOMPtr<nsITransactionManager> txMgr = do_QueryReferent(mTxnMgr);
 
@@ -147,17 +144,16 @@ NS_IMETHODIMP nsTransactionList::GetItem
 
   NS_ENSURE_TRUE(item, NS_ERROR_FAILURE);
 
   *aItem = item->GetTransaction().take();
 
   return NS_OK;
 }
 
-/* long getNumChildrenForItem (in long aIndex); */
 NS_IMETHODIMP nsTransactionList::GetNumChildrenForItem(int32_t aIndex, int32_t *aNumChildren)
 {
   NS_ENSURE_TRUE(aNumChildren, NS_ERROR_NULL_POINTER);
 
   *aNumChildren = 0;
 
   nsCOMPtr<nsITransactionManager> txMgr = do_QueryReferent(mTxnMgr);
 
@@ -174,17 +170,16 @@ NS_IMETHODIMP nsTransactionList::GetNumC
 
   NS_ENSURE_SUCCESS(result, result);
 
   NS_ENSURE_TRUE(item, NS_ERROR_FAILURE);
 
   return item->GetNumberOfChildren(aNumChildren);
 }
 
-/* nsITransactionList getChildListForItem (in long aIndex); */
 NS_IMETHODIMP nsTransactionList::GetChildListForItem(int32_t aIndex, nsITransactionList **aTxnList)
 {
   NS_ENSURE_TRUE(aTxnList, NS_ERROR_NULL_POINTER);
 
   *aTxnList = 0;
 
   nsCOMPtr<nsITransactionManager> txMgr = do_QueryReferent(mTxnMgr);
 
--- a/embedding/components/printingui/mac/nsPrintProgress.cpp
+++ b/embedding/components/printingui/mac/nsPrintProgress.cpp
@@ -30,67 +30,62 @@ nsPrintProgress::nsPrintProgress()
   m_pendingStateValue = NS_OK;
 }
 
 nsPrintProgress::~nsPrintProgress()
 {
   (void)ReleaseListeners();
 }
 
-/* void openProgressDialog (in nsIDOMWindow parent, in string dialogURL, in nsISupports parameters); */
 NS_IMETHODIMP nsPrintProgress::OpenProgressDialog(nsIDOMWindow *parent,
                                                   const char *dialogURL,
                                                   nsISupports *parameters, 
                                                   nsIObserver *openDialogObserver,
                                                   bool *notifyOnOpen)
 {
   MOZ_ASSERT_UNREACHABLE("The nsPrintingPromptService::ShowProgress "
                          "implementation for OS X returns "
                          "NS_ERROR_NOT_IMPLEMENTED, so we should never get "
                          "here.");
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void closeProgressDialog (in boolean forceClose); */
 NS_IMETHODIMP nsPrintProgress::CloseProgressDialog(bool forceClose)
 {
   MOZ_ASSERT_UNREACHABLE("The nsPrintingPromptService::ShowProgress "
                          "implementation for OS X returns "
                          "NS_ERROR_NOT_IMPLEMENTED, so we should never get "
                          "here.");
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* nsIPrompt GetPrompter (); */
 NS_IMETHODIMP nsPrintProgress::GetPrompter(nsIPrompt **_retval)
 {
   NS_ENSURE_ARG_POINTER(_retval);
   *_retval = nullptr;
 
   if (! m_closeProgress && m_dialog)
     return m_dialog->GetPrompter(_retval);
     
   return NS_ERROR_FAILURE;
 }
 
-/* attribute boolean processCanceledByUser; */
 NS_IMETHODIMP nsPrintProgress::GetProcessCanceledByUser(bool *aProcessCanceledByUser)
 {
   NS_ENSURE_ARG_POINTER(aProcessCanceledByUser);
   *aProcessCanceledByUser = m_processCanceled;
   return NS_OK;
 }
 NS_IMETHODIMP nsPrintProgress::SetProcessCanceledByUser(bool aProcessCanceledByUser)
 {
   m_processCanceled = aProcessCanceledByUser;
   OnStateChange(nullptr, nullptr, nsIWebProgressListener::STATE_STOP, NS_OK);
   return NS_OK;
 }
 
-/* void RegisterListener (in nsIWebProgressListener listener); */
 NS_IMETHODIMP nsPrintProgress::RegisterListener(nsIWebProgressListener * listener)
 {
   if (!listener) //Nothing to do with a null listener!
     return NS_OK;
   
   m_listenerList.AppendObject(listener);
   if (m_closeProgress || m_processCanceled)
     listener->OnStateChange(nullptr, nullptr,
@@ -100,127 +95,115 @@ NS_IMETHODIMP nsPrintProgress::RegisterL
     listener->OnStatusChange(nullptr, nullptr, NS_OK, m_pendingStatus.get());
     if (m_pendingStateFlags != -1)
       listener->OnStateChange(nullptr, nullptr, m_pendingStateFlags, m_pendingStateValue);
   }
     
   return NS_OK;
 }
 
-/* void UnregisterListener (in nsIWebProgressListener listener); */
 NS_IMETHODIMP nsPrintProgress::UnregisterListener(nsIWebProgressListener *listener)
 {
   if (listener)
     m_listenerList.RemoveObject(listener);
   
   return NS_OK;
 }
 
-/* void doneIniting (); */
 NS_IMETHODIMP nsPrintProgress::DoneIniting()
 {
   if (m_observer) {
     m_observer->Observe(nullptr, nullptr, nullptr);
   }
   return NS_OK;
 }
 
-/* void onStateChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aStateFlags, in nsresult aStatus); */
 NS_IMETHODIMP nsPrintProgress::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t aStateFlags, nsresult aStatus)
 {
   m_pendingStateFlags = aStateFlags;
   m_pendingStateValue = aStatus;
   
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus);
   }
   
   return NS_OK;
 }
 
-/* void onProgressChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long aCurSelfProgress, in long aMaxSelfProgress, in long aCurTotalProgress, in long aMaxTotalProgress); */
 NS_IMETHODIMP nsPrintProgress::OnProgressChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, int32_t aCurSelfProgress, int32_t aMaxSelfProgress, int32_t aCurTotalProgress, int32_t aMaxTotalProgress)
 {
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnProgressChange(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
   }
   
   return NS_OK;
 }
 
-/* void onLocationChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI location, in unsigned long aFlags); */
 NS_IMETHODIMP nsPrintProgress::OnLocationChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsIURI *location, uint32_t aFlags)
 {
     return NS_OK;
 }
 
-/* void onStatusChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsresult aStatus, in wstring aMessage); */
 NS_IMETHODIMP nsPrintProgress::OnStatusChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsresult aStatus, const char16_t *aMessage)
 {
   if (aMessage && *aMessage)
   m_pendingStatus = aMessage;
 
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnStatusChange(aWebProgress, aRequest, aStatus, aMessage);
   }
   
   return NS_OK;
 }
 
-/* void onSecurityChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long state); */
 NS_IMETHODIMP nsPrintProgress::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t state)
 {
     return NS_OK;
 }
 
 nsresult nsPrintProgress::ReleaseListeners()
 {
   m_listenerList.Clear();
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPrintProgress::ShowStatusString(const char16_t *status)
 {
   return OnStatusChange(nullptr, nullptr, NS_OK, status);
 }
 
-/* void startMeteors (); */
 NS_IMETHODIMP nsPrintProgress::StartMeteors()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void stopMeteors (); */
 NS_IMETHODIMP nsPrintProgress::StopMeteors()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void showProgress (in long percent); */
 NS_IMETHODIMP nsPrintProgress::ShowProgress(int32_t percent)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* [noscript] void setDocShell (in nsIDocShell shell, in nsIDOMWindow window); */
 NS_IMETHODIMP nsPrintProgress::SetDocShell(nsIDocShell *shell, nsIDOMWindow *window)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void closeWindow (); */
 NS_IMETHODIMP nsPrintProgress::CloseWindow()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
--- a/embedding/components/printingui/mac/nsPrintProgressParams.cpp
+++ b/embedding/components/printingui/mac/nsPrintProgressParams.cpp
@@ -12,32 +12,30 @@ NS_IMPL_ISUPPORTS(nsPrintProgressParams,
 nsPrintProgressParams::nsPrintProgressParams()
 {
 }
 
 nsPrintProgressParams::~nsPrintProgressParams()
 {
 }
 
-/* attribute wstring docTitle; */
 NS_IMETHODIMP nsPrintProgressParams::GetDocTitle(char16_t * *aDocTitle)
 {
   NS_ENSURE_ARG(aDocTitle);
   
   *aDocTitle = ToNewUnicode(mDocTitle);
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPrintProgressParams::SetDocTitle(const char16_t * aDocTitle)
 {
   mDocTitle = aDocTitle;
   return NS_OK;
 }
 
-/* attribute wstring docURL; */
 NS_IMETHODIMP nsPrintProgressParams::GetDocURL(char16_t * *aDocURL)
 {
   NS_ENSURE_ARG(aDocURL);
   
   *aDocURL = ToNewUnicode(mDocURL);
   return NS_OK;
 }
 
--- a/embedding/components/printingui/unixshared/nsPrintProgress.cpp
+++ b/embedding/components/printingui/unixshared/nsPrintProgress.cpp
@@ -37,17 +37,16 @@ nsPrintProgress::nsPrintProgress(nsIPrin
   m_PrintSetting = aPrintSettings;
 }
 
 nsPrintProgress::~nsPrintProgress()
 {
   (void)ReleaseListeners();
 }
 
-/* void openProgressDialog (in nsIDOMWindow parent, in string dialogURL, in nsISupports parameters); */
 NS_IMETHODIMP nsPrintProgress::OpenProgressDialog(nsIDOMWindow *parent,
                                                   const char *dialogURL,
                                                   nsISupports *parameters, 
                                                   nsIObserver *openDialogObserver,
                                                   bool *notifyOnOpen)
 {
   *notifyOnOpen = true;
   m_observer = openDialogObserver;
@@ -100,54 +99,50 @@ NS_IMETHODIMP nsPrintProgress::OpenProgr
                                  NS_LITERAL_STRING("_blank"),
                                  NS_LITERAL_STRING("chrome,titlebar,dependent,centerscreen"),
                                  array, getter_AddRefs(newWindow));
   }
 
   return rv;
 }
 
-/* void closeProgressDialog (in boolean forceClose); */
 NS_IMETHODIMP nsPrintProgress::CloseProgressDialog(bool forceClose)
 {
   m_closeProgress = true;
   // XXX Invalid cast of bool to nsresult (bug 778106)
   return OnStateChange(nullptr, nullptr, nsIWebProgressListener::STATE_STOP,
                        (nsresult)forceClose);
 }
 
-/* nsIPrompt GetPrompter (); */
 NS_IMETHODIMP nsPrintProgress::GetPrompter(nsIPrompt **_retval)
 {
   NS_ENSURE_ARG_POINTER(_retval);
   *_retval = nullptr;
 
   if (! m_closeProgress && m_dialog)
     return m_dialog->GetPrompter(_retval);
     
   return NS_ERROR_FAILURE;
 }
 
-/* attribute boolean processCanceledByUser; */
 NS_IMETHODIMP nsPrintProgress::GetProcessCanceledByUser(bool *aProcessCanceledByUser)
 {
   NS_ENSURE_ARG_POINTER(aProcessCanceledByUser);
   *aProcessCanceledByUser = m_processCanceled;
   return NS_OK;
 }
 NS_IMETHODIMP nsPrintProgress::SetProcessCanceledByUser(bool aProcessCanceledByUser)
 {
   if(m_PrintSetting)
     m_PrintSetting->SetIsCancelled(true);
   m_processCanceled = aProcessCanceledByUser;
   OnStateChange(nullptr, nullptr, nsIWebProgressListener::STATE_STOP, NS_OK);
   return NS_OK;
 }
 
-/* void RegisterListener (in nsIWebProgressListener listener); */
 NS_IMETHODIMP nsPrintProgress::RegisterListener(nsIWebProgressListener * listener)
 {
   if (!listener) //Nothing to do with a null listener!
     return NS_OK;
   
   m_listenerList.AppendObject(listener);
   if (m_closeProgress || m_processCanceled)
     listener->OnStateChange(nullptr, nullptr, nsIWebProgressListener::STATE_STOP, NS_OK);
@@ -156,89 +151,82 @@ NS_IMETHODIMP nsPrintProgress::RegisterL
     listener->OnStatusChange(nullptr, nullptr, NS_OK, m_pendingStatus.get());
     if (m_pendingStateFlags != -1)
       listener->OnStateChange(nullptr, nullptr, m_pendingStateFlags, m_pendingStateValue);
   }
     
   return NS_OK;
 }
 
-/* void UnregisterListener (in nsIWebProgressListener listener); */
 NS_IMETHODIMP nsPrintProgress::UnregisterListener(nsIWebProgressListener *listener)
 {
   if (listener)
     m_listenerList.RemoveObject(listener);
   
   return NS_OK;
 }
 
-/* void doneIniting (); */
 NS_IMETHODIMP nsPrintProgress::DoneIniting()
 {
   if (m_observer) {
     m_observer->Observe(nullptr, nullptr, nullptr);
   }
   return NS_OK;
 }
 
-/* void onStateChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aStateFlags, in nsresult aStatus); */
 NS_IMETHODIMP nsPrintProgress::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t aStateFlags, nsresult aStatus)
 {
   m_pendingStateFlags = aStateFlags;
   m_pendingStateValue = aStatus;
   
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus);
   }
   
   return NS_OK;
 }
 
-/* void onProgressChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long aCurSelfProgress, in long aMaxSelfProgress, in long aCurTotalProgress, in long aMaxTotalProgress); */
 NS_IMETHODIMP nsPrintProgress::OnProgressChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, int32_t aCurSelfProgress, int32_t aMaxSelfProgress, int32_t aCurTotalProgress, int32_t aMaxTotalProgress)
 {
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnProgressChange(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
   }
   
   return NS_OK;
 }
 
-/* void onLocationChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI location, in unsigned long aFlags); */
 NS_IMETHODIMP nsPrintProgress::OnLocationChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsIURI *location, uint32_t aFlags)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void onStatusChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsresult aStatus, in wstring aMessage); */
 NS_IMETHODIMP nsPrintProgress::OnStatusChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsresult aStatus, const char16_t *aMessage)
 {
   if (aMessage && *aMessage)
   m_pendingStatus = aMessage;
 
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnStatusChange(aWebProgress, aRequest, aStatus, aMessage);
   }
   
   return NS_OK;
 }
 
-/* void onSecurityChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long state); */
 NS_IMETHODIMP nsPrintProgress::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t state)
 {
     return NS_OK;
 }
 
 nsresult nsPrintProgress::ReleaseListeners()
 {
   m_listenerList.Clear();
@@ -246,38 +234,33 @@ nsresult nsPrintProgress::ReleaseListene
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPrintProgress::ShowStatusString(const char16_t *status)
 {
   return OnStatusChange(nullptr, nullptr, NS_OK, status);
 }
 
-/* void startMeteors (); */
 NS_IMETHODIMP nsPrintProgress::StartMeteors()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void stopMeteors (); */
 NS_IMETHODIMP nsPrintProgress::StopMeteors()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void showProgress (in long percent); */
 NS_IMETHODIMP nsPrintProgress::ShowProgress(int32_t percent)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* [noscript] void setDocShell (in nsIDocShell shell, in nsIDOMWindow window); */
 NS_IMETHODIMP nsPrintProgress::SetDocShell(nsIDocShell *shell, nsIDOMWindow *window)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void closeWindow (); */
 NS_IMETHODIMP nsPrintProgress::CloseWindow()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
--- a/embedding/components/printingui/unixshared/nsPrintProgressParams.cpp
+++ b/embedding/components/printingui/unixshared/nsPrintProgressParams.cpp
@@ -12,32 +12,30 @@ NS_IMPL_ISUPPORTS(nsPrintProgressParams,
 nsPrintProgressParams::nsPrintProgressParams()
 {
 }
 
 nsPrintProgressParams::~nsPrintProgressParams()
 {
 }
 
-/* attribute wstring docTitle; */
 NS_IMETHODIMP nsPrintProgressParams::GetDocTitle(char16_t * *aDocTitle)
 {
   NS_ENSURE_ARG(aDocTitle);
   
   *aDocTitle = ToNewUnicode(mDocTitle);
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPrintProgressParams::SetDocTitle(const char16_t * aDocTitle)
 {
   mDocTitle = aDocTitle;
   return NS_OK;
 }
 
-/* attribute wstring docURL; */
 NS_IMETHODIMP nsPrintProgressParams::GetDocURL(char16_t * *aDocURL)
 {
   NS_ENSURE_ARG(aDocURL);
   
   *aDocURL = ToNewUnicode(mDocURL);
   return NS_OK;
 }
 
--- a/embedding/components/printingui/unixshared/nsPrintingPromptService.cpp
+++ b/embedding/components/printingui/unixshared/nsPrintingPromptService.cpp
@@ -66,17 +66,16 @@ nsPrintingPromptService::~nsPrintingProm
 nsresult
 nsPrintingPromptService::Init()
 {
     nsresult rv;
     mWatcher = do_GetService(NS_WINDOWWATCHER_CONTRACTID, &rv);
     return rv;
 }
 
-/* void showPrintDialog (in nsIDOMWindow parent, in nsIWebBrowserPrint webBrowserPrint, in nsIPrintSettings printSettings); */
 NS_IMETHODIMP 
 nsPrintingPromptService::ShowPrintDialog(nsIDOMWindow *parent, nsIWebBrowserPrint *webBrowserPrint, nsIPrintSettings *printSettings)
 {
     NS_ENSURE_ARG(webBrowserPrint);
     NS_ENSURE_ARG(printSettings);
 
     // Try to access a component dialog
     nsCOMPtr<nsIPrintDialogService> dlgPrint(do_GetService(
@@ -89,17 +88,16 @@ nsPrintingPromptService::ShowPrintDialog
     nsresult rv = block.Init();
     if (NS_FAILED(rv))
       return rv;
 
     block->SetInt(0, 0);
     return DoDialog(parent, block, webBrowserPrint, printSettings, kPrintDialogURL);
 }
 
-/* void showProgress (in nsIDOMWindow parent, in nsIWebBrowserPrint webBrowserPrint, in nsIPrintSettings printSettings, in nsIObserver openDialogObserver, in boolean isForPrinting, out nsIWebProgressListener webProgressListener, out nsIPrintProgressParams printProgressParams, out boolean notifyOnOpen); */
 NS_IMETHODIMP 
 nsPrintingPromptService::ShowProgress(nsIDOMWindow*            parent, 
                                       nsIWebBrowserPrint*      webBrowserPrint,    // ok to be null
                                       nsIPrintSettings*        printSettings,      // ok to be null
                                       nsIObserver*             openDialogObserver, // ok to be null
                                       bool                     isForPrinting,
                                       nsIWebProgressListener** webProgressListener,
                                       nsIPrintProgressParams** printProgressParams, 
@@ -130,17 +128,16 @@ nsPrintingPromptService::ShowProgress(ns
     }
 
     prtProgressParams.forget(printProgressParams);
     NS_ADDREF(*webProgressListener = this);
 
     return NS_OK;
 }
 
-/* void showPageSetup (in nsIDOMWindow parent, in nsIPrintSettings printSettings); */
 NS_IMETHODIMP 
 nsPrintingPromptService::ShowPageSetup(nsIDOMWindow *parent, nsIPrintSettings *printSettings, nsIObserver *aObs)
 {
     NS_ENSURE_ARG(printSettings);
 
     // Try to access a component dialog
     nsCOMPtr<nsIPrintDialogService> dlgPrint(do_GetService(
                                              NS_PRINTDIALOGSERVICE_CONTRACTID));
@@ -151,17 +148,16 @@ nsPrintingPromptService::ShowPageSetup(n
     nsresult rv = block.Init();
     if (NS_FAILED(rv))
       return rv;
 
     block->SetInt(0, 0);
     return DoDialog(parent, block, nullptr, printSettings, kPageSetupDialogURL);
 }
 
-/* void showPrinterProperties (in nsIDOMWindow parent, in wstring printerName, in nsIPrintSettings printSettings); */
 NS_IMETHODIMP 
 nsPrintingPromptService::ShowPrinterProperties(nsIDOMWindow *parent, const char16_t *printerName, nsIPrintSettings *printSettings)
 {
     /* fixme: We simply ignore the |aPrinter| argument here
      * We should get the supported printer attributes from the printer and 
      * populate the print job options dialog with these data instead of using 
      * the "default set" here.
      * However, this requires changes on all platforms and is another big chunk
@@ -246,62 +242,57 @@ nsPrintingPromptService::DoDialog(nsIDOM
 
     return rv;
 }
 
 //////////////////////////////////////////////////////////////////////
 // nsIWebProgressListener
 //////////////////////////////////////////////////////////////////////
 
-/* void onStateChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aStateFlags, in nsresult aStatus); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t aStateFlags, nsresult aStatus)
 {
   if ((aStateFlags & STATE_STOP) && mWebProgressListener) {
     mWebProgressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus);
     if (mPrintProgress) {
       mPrintProgress->CloseProgressDialog(true);
     }
     mPrintProgress       = nullptr;
     mWebProgressListener = nullptr;
   }
   return NS_OK;
 }
 
-/* void onProgressChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long aCurSelfProgress, in long aMaxSelfProgress, in long aCurTotalProgress, in long aMaxTotalProgress); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnProgressChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, int32_t aCurSelfProgress, int32_t aMaxSelfProgress, int32_t aCurTotalProgress, int32_t aMaxTotalProgress)
 {
   if (mWebProgressListener) {
     return mWebProgressListener->OnProgressChange(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
   }
   return NS_OK;
 }
 
-/* void onLocationChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI location, in unsigned long aFlags); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnLocationChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsIURI *location, uint32_t aFlags)
 {
   if (mWebProgressListener) {
     return mWebProgressListener->OnLocationChange(aWebProgress, aRequest, location, aFlags);
   }
   return NS_OK;
 }
 
-/* void onStatusChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsresult aStatus, in wstring aMessage); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnStatusChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsresult aStatus, const char16_t *aMessage)
 {
   if (mWebProgressListener) {
     return mWebProgressListener->OnStatusChange(aWebProgress, aRequest, aStatus, aMessage);
   }
   return NS_OK;
 }
 
-/* void onSecurityChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long state); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t state)
 {
   if (mWebProgressListener) {
     return mWebProgressListener->OnSecurityChange(aWebProgress, aRequest, state);
   }
   return NS_OK;
 }
--- a/embedding/components/printingui/win/nsPrintProgress.cpp
+++ b/embedding/components/printingui/win/nsPrintProgress.cpp
@@ -64,17 +64,16 @@ nsPrintProgress::nsPrintProgress()
   m_pendingStateValue = NS_OK;
 }
 
 nsPrintProgress::~nsPrintProgress()
 {
   (void)ReleaseListeners();
 }
 
-/* void openProgressDialog (in nsIDOMWindow parent, in string dialogURL, in nsISupports parameters); */
 NS_IMETHODIMP nsPrintProgress::OpenProgressDialog(nsIDOMWindow *parent,
                                                   const char *dialogURL,
                                                   nsISupports *parameters, 
                                                   nsIObserver *openDialogObserver, 
                                                   bool *notifyOnOpen)
 {
   *notifyOnOpen = true;
   m_observer = openDialogObserver;
@@ -127,52 +126,48 @@ NS_IMETHODIMP nsPrintProgress::OpenProgr
                                  NS_LITERAL_STRING("_blank"),
                                  NS_LITERAL_STRING("chrome,titlebar,dependent,centerscreen"),
                                  array, getter_AddRefs(newWindow));
   }
 
   return rv;
 }
 
-/* void closeProgressDialog (in boolean forceClose); */
 NS_IMETHODIMP nsPrintProgress::CloseProgressDialog(bool forceClose)
 {
   m_closeProgress = true;
   // XXX Casting from bool to nsresult
   return OnStateChange(nullptr, nullptr, nsIWebProgressListener::STATE_STOP,
                        static_cast<nsresult>(forceClose));
 }
 
-/* nsIPrompt GetPrompter (); */
 NS_IMETHODIMP nsPrintProgress::GetPrompter(nsIPrompt **_retval)
 {
   NS_ENSURE_ARG_POINTER(_retval);
   *_retval = nullptr;
 
   if (! m_closeProgress && m_dialog)
     return m_dialog->GetPrompter(_retval);
     
   return NS_ERROR_FAILURE;
 }
 
-/* attribute boolean processCanceledByUser; */
 NS_IMETHODIMP nsPrintProgress::GetProcessCanceledByUser(bool *aProcessCanceledByUser)
 {
   NS_ENSURE_ARG_POINTER(aProcessCanceledByUser);
   *aProcessCanceledByUser = m_processCanceled;
   return NS_OK;
 }
 NS_IMETHODIMP nsPrintProgress::SetProcessCanceledByUser(bool aProcessCanceledByUser)
 {
   m_processCanceled = aProcessCanceledByUser;
   OnStateChange(nullptr, nullptr, nsIWebProgressListener::STATE_STOP, NS_OK);
   return NS_OK;
 }
 
-/* void RegisterListener (in nsIWebProgressListener listener); */
 NS_IMETHODIMP nsPrintProgress::RegisterListener(nsIWebProgressListener * listener)
 {
   if (!listener) //Nothing to do with a null listener!
     return NS_OK;
   
   m_listenerList.AppendObject(listener);
   if (m_closeProgress || m_processCanceled)
     listener->OnStateChange(nullptr, nullptr,
@@ -182,126 +177,114 @@ NS_IMETHODIMP nsPrintProgress::RegisterL
     listener->OnStatusChange(nullptr, nullptr, NS_OK, m_pendingStatus.get());
     if (m_pendingStateFlags != -1)
       listener->OnStateChange(nullptr, nullptr, m_pendingStateFlags, m_pendingStateValue);
   }
     
   return NS_OK;
 }
 
-/* void UnregisterListener (in nsIWebProgressListener listener); */
 NS_IMETHODIMP nsPrintProgress::UnregisterListener(nsIWebProgressListener *listener)
 {
   if (listener)
     m_listenerList.RemoveObject(listener);
   
   return NS_OK;
 }
 
-/* void doneIniting (); */
 NS_IMETHODIMP nsPrintProgress::DoneIniting()
 {
   if (m_observer) {
     m_observer->Observe(nullptr, nullptr, nullptr);
   }
   return NS_OK;
 }
 
-/* void onStateChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long aStateFlags, in nsresult aStatus); */
 NS_IMETHODIMP nsPrintProgress::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t aStateFlags, nsresult aStatus)
 {
   m_pendingStateFlags = aStateFlags;
   m_pendingStateValue = aStatus;
   
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus);
   }
   
   return NS_OK;
 }
 
-/* void onProgressChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long aCurSelfProgress, in long aMaxSelfProgress, in long aCurTotalProgress, in long aMaxTotalProgress); */
 NS_IMETHODIMP nsPrintProgress::OnProgressChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, int32_t aCurSelfProgress, int32_t aMaxSelfProgress, int32_t aCurTotalProgress, int32_t aMaxTotalProgress)
 {
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnProgressChange(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
   }
   
   return NS_OK;
 }
 
-/* void onLocationChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI location, in unsigned long aFlags); */
 NS_IMETHODIMP nsPrintProgress::OnLocationChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsIURI *location, uint32_t aFlags)
 {
     return NS_OK;
 }
 
-/* void onStatusChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsresult aStatus, in wstring aMessage); */
 NS_IMETHODIMP nsPrintProgress::OnStatusChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsresult aStatus, const char16_t *aMessage)
 {
   if (aMessage && *aMessage)
   m_pendingStatus = aMessage;
 
   uint32_t count = m_listenerList.Count();
   for (uint32_t i = count - 1; i < count; i --)
   {
     nsCOMPtr<nsIWebProgressListener> progressListener = m_listenerList.SafeObjectAt(i);
     if (progressListener)
       progressListener->OnStatusChange(aWebProgress, aRequest, aStatus, aMessage);
   }
   
   return NS_OK;
 }
 
-/* void onSecurityChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long state); */
 NS_IMETHODIMP nsPrintProgress::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t state)
 {
     return NS_OK;
 }
 
 nsresult nsPrintProgress::ReleaseListeners()
 {
   m_listenerList.Clear();
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPrintProgress::ShowStatusString(const char16_t *status)
 {
   return OnStatusChange(nullptr, nullptr, NS_OK, status);
 }
 
-/* void startMeteors (); */
 NS_IMETHODIMP nsPrintProgress::StartMeteors()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void stopMeteors (); */
 NS_IMETHODIMP nsPrintProgress::StopMeteors()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void showProgress (in long percent); */
 NS_IMETHODIMP nsPrintProgress::ShowProgress(int32_t percent)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* [noscript] void setDocShell (in nsIDocShell shell, in nsIDOMWindow window); */
 NS_IMETHODIMP nsPrintProgress::SetDocShell(nsIDocShell *shell, nsIDOMWindow *window)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void closeWindow (); */
 NS_IMETHODIMP nsPrintProgress::CloseWindow()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
--- a/embedding/components/printingui/win/nsPrintProgressParams.cpp
+++ b/embedding/components/printingui/win/nsPrintProgressParams.cpp
@@ -12,32 +12,30 @@ NS_IMPL_ISUPPORTS(nsPrintProgressParams,
 nsPrintProgressParams::nsPrintProgressParams()
 {
 }
 
 nsPrintProgressParams::~nsPrintProgressParams()
 {
 }
 
-/* attribute wstring docTitle; */
 NS_IMETHODIMP nsPrintProgressParams::GetDocTitle(char16_t * *aDocTitle)
 {
   NS_ENSURE_ARG(aDocTitle);
   
   *aDocTitle = ToNewUnicode(mDocTitle);
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPrintProgressParams::SetDocTitle(const char16_t * aDocTitle)
 {
   mDocTitle = aDocTitle;
   return NS_OK;
 }
 
-/* attribute wstring docURL; */
 NS_IMETHODIMP nsPrintProgressParams::GetDocURL(char16_t * *aDocURL)
 {
   NS_ENSURE_ARG(aDocURL);
   
   *aDocURL = ToNewUnicode(mDocURL);
   return NS_OK;
 }
 
--- a/embedding/components/printingui/win/nsPrintingPromptService.cpp
+++ b/embedding/components/printingui/win/nsPrintingPromptService.cpp
@@ -152,17 +152,16 @@ nsPrintingPromptService::ShowPrintDialog
 
     HWND hWnd = GetHWNDForDOMWindow(parent);
     NS_ASSERTION(hWnd, "Couldn't get native window for PRint Dialog!");
 
     return NativeShowPrintDialog(hWnd, webBrowserPrint, printSettings);
 }
 
 
-/* void showProgress (in nsIDOMWindow parent, in nsIWebBrowserPrint webBrowserPrint, in nsIPrintSettings printSettings, in nsIObserver openDialogObserver, in boolean isForPrinting, out nsIWebProgressListener webProgressListener, out nsIPrintProgressParams printProgressParams, out boolean notifyOnOpen); */
 NS_IMETHODIMP 
 nsPrintingPromptService::ShowProgress(nsIDOMWindow*            parent, 
                                       nsIWebBrowserPrint*      webBrowserPrint,    // ok to be null
                                       nsIPrintSettings*        printSettings,      // ok to be null
                                       nsIObserver*             openDialogObserver, // ok to be null
                                       bool                     isForPrinting,
                                       nsIWebProgressListener** webProgressListener,
                                       nsIPrintProgressParams** printProgressParams,
@@ -198,17 +197,16 @@ nsPrintingPromptService::ShowProgress(ns
     }
 
     prtProgressParams.forget(printProgressParams);
     NS_ADDREF(*webProgressListener = this);
 
     return NS_OK;
 }
 
-/* void showPageSetup (in nsIDOMWindow parent, in nsIPrintSettings printSettings); */
 NS_IMETHODIMP 
 nsPrintingPromptService::ShowPageSetup(nsIDOMWindow *parent, nsIPrintSettings *printSettings, nsIObserver *aObs)
 {
     NS_ENSURE_ARG(printSettings);
 
     ParamBlock block;
     nsresult rv = block.Init();
     if (NS_FAILED(rv))
@@ -224,17 +222,16 @@ nsPrintingPromptService::ShowPageSetup(n
       int32_t status;
       block->GetInt(0, &status);
       return status == 0?NS_ERROR_ABORT:NS_OK;
     }
 
     return rv;
 }
 
-/* void showPrinterProperties (in nsIDOMWindow parent, in wstring printerName, in nsIPrintSettings printSettings); */
 NS_IMETHODIMP 
 nsPrintingPromptService::ShowPrinterProperties(nsIDOMWindow *parent, const char16_t *printerName, nsIPrintSettings *printSettings)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
 //-----------------------------------------------------------
 // Helper to Fly XP Dialog
@@ -288,67 +285,62 @@ nsPrintingPromptService::DoDialog(nsIDOM
 
     return rv;
 }
 
 //////////////////////////////////////////////////////////////////////
 // nsIWebProgressListener
 //////////////////////////////////////////////////////////////////////
 
-/* void onStateChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long aStateFlags, in nsresult aStatus); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t aStateFlags, nsresult aStatus)
 {
     if ((aStateFlags & STATE_STOP) && mWebProgressListener) 
     {
         mWebProgressListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus);
         if (mPrintProgress) 
         {
             mPrintProgress->CloseProgressDialog(true);
         }
         mPrintProgress       = nullptr;
         mWebProgressListener = nullptr;
     }
     return NS_OK;
 }
 
-/* void onProgressChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in long aCurSelfProgress, in long aMaxSelfProgress, in long aCurTotalProgress, in long aMaxTotalProgress); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnProgressChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, int32_t aCurSelfProgress, int32_t aMaxSelfProgress, int32_t aCurTotalProgress, int32_t aMaxTotalProgress)
 {
   if (mWebProgressListener) 
   {
       return mWebProgressListener->OnProgressChange(aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
   }
   return NS_ERROR_FAILURE;
 }
 
-/* void onLocationChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsIURI location, in unsigned long aFlags); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnLocationChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsIURI *location, uint32_t aFlags)
 {
   if (mWebProgressListener) 
   {
       return mWebProgressListener->OnLocationChange(aWebProgress, aRequest, location, aFlags);
   }
   return NS_ERROR_FAILURE;
 }
 
-/* void onStatusChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in nsresult aStatus, in wstring aMessage); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnStatusChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, nsresult aStatus, const char16_t *aMessage)
 {
   if (mWebProgressListener) 
   {
       return mWebProgressListener->OnStatusChange(aWebProgress, aRequest, aStatus, aMessage);
   }
   return NS_ERROR_FAILURE;
 }
 
-/* void onSecurityChange (in nsIWebProgress aWebProgress, in nsIRequest aRequest, in unsigned long state); */
 NS_IMETHODIMP 
 nsPrintingPromptService::OnSecurityChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, uint32_t state)
 {
   if (mWebProgressListener) 
   {
       return mWebProgressListener->OnSecurityChange(aWebProgress, aRequest, state);
   }
   return NS_ERROR_FAILURE;
--- a/embedding/components/webbrowserpersist/nsWebBrowserPersist.cpp
+++ b/embedding/components/webbrowserpersist/nsWebBrowserPersist.cpp
@@ -265,32 +265,30 @@ NS_IMETHODIMP nsWebBrowserPersist::GetIn
     return NS_ERROR_NO_INTERFACE;
 }
 
 
 //*****************************************************************************
 // nsWebBrowserPersist::nsIWebBrowserPersist
 //*****************************************************************************
 
-/* attribute unsigned long persistFlags; */
 NS_IMETHODIMP nsWebBrowserPersist::GetPersistFlags(uint32_t *aPersistFlags)
 {
     NS_ENSURE_ARG_POINTER(aPersistFlags);
     *aPersistFlags = mPersistFlags;
     return NS_OK;
 }
 NS_IMETHODIMP nsWebBrowserPersist::SetPersistFlags(uint32_t aPersistFlags)
 {
     mPersistFlags = aPersistFlags;
     mReplaceExisting = (mPersistFlags & PERSIST_FLAGS_REPLACE_EXISTING_FILES) ? true : false;
     mSerializingOutput = (mPersistFlags & PERSIST_FLAGS_SERIALIZE_OUTPUT) ? true : false;
     return NS_OK;
 }
 
-/* readonly attribute unsigned long currentState; */
 NS_IMETHODIMP nsWebBrowserPersist::GetCurrentState(uint32_t *aCurrentState)
 {
     NS_ENSURE_ARG_POINTER(aCurrentState);
     if (mCompleted)
     {
         *aCurrentState = PERSIST_STATE_FINISHED;
     }
     else if (mFirstAndOnlyUse)
@@ -299,25 +297,23 @@ NS_IMETHODIMP nsWebBrowserPersist::GetCu
     }
     else
     {
         *aCurrentState = PERSIST_STATE_READY;
     }
     return NS_OK;
 }
 
-/* readonly attribute unsigned long result; */
 NS_IMETHODIMP nsWebBrowserPersist::GetResult(nsresult *aResult)
 {
     NS_ENSURE_ARG_POINTER(aResult);
     *aResult = mPersistResult;
     return NS_OK;
 }
 
-/* attribute nsIWebBrowserPersistProgress progressListener; */
 NS_IMETHODIMP nsWebBrowserPersist::GetProgressListener(
     nsIWebProgressListener * *aProgressListener)
 {
     NS_ENSURE_ARG_POINTER(aProgressListener);
     *aProgressListener = mProgressListener;
     NS_IF_ADDREF(*aProgressListener);
     return NS_OK;
 }
@@ -361,17 +357,16 @@ NS_IMETHODIMP nsWebBrowserPersist::SaveP
 
     // SaveURI doesn't like broken uris.
     mPersistFlags |= PERSIST_FLAGS_FAIL_ON_BROKEN_LINKS;
     rv = SaveURIInternal(aURI, aCacheKey, aReferrer, aReferrerPolicy,
                          aPostData, aExtraHeaders, fileAsURI, false, aIsPrivate);
     return NS_FAILED(rv) ? rv : NS_OK;
 }
 
-/* void saveChannel (in nsIChannel aChannel, in nsISupports aFile); */
 NS_IMETHODIMP nsWebBrowserPersist::SaveChannel(
     nsIChannel *aChannel, nsISupports *aFile)
 {
     NS_ENSURE_TRUE(mFirstAndOnlyUse, NS_ERROR_FAILURE);
     mFirstAndOnlyUse = false; // Stop people from reusing this object!
 
     nsCOMPtr<nsIURI> fileAsURI;
     nsresult rv;
@@ -475,26 +470,24 @@ NS_IMETHODIMP nsWebBrowserPersist::SaveD
                                          nsIWebProgressListener::STATE_STOP |
                                          nsIWebProgressListener::STATE_IS_NETWORK,
                                          rv);
     }
 
     return rv;
 }
 
-/* void cancel(nsresult aReason); */
 NS_IMETHODIMP nsWebBrowserPersist::Cancel(nsresult aReason)
 {
     mCancel = true;
     EndDownload(aReason);
     return NS_OK;
 }
 
 
-/* void cancelSave(); */
 NS_IMETHODIMP nsWebBrowserPersist::CancelSave()
 {
     return Cancel(NS_BINDING_ABORTED);
 }
 
 
 nsresult
 nsWebBrowserPersist::StartUpload(nsIStorageStream *storStream,
--- a/extensions/spellcheck/hunspell/src/mozHunspell.cpp
+++ b/extensions/spellcheck/hunspell/src/mozHunspell.cpp
@@ -131,17 +131,16 @@ mozHunspell::Init()
 mozHunspell::~mozHunspell()
 {
   mozilla::UnregisterWeakMemoryReporter(this);
 
   mPersonalDictionary = nullptr;
   delete mHunspell;
 }
 
-/* attribute wstring dictionary; */
 NS_IMETHODIMP mozHunspell::GetDictionary(char16_t **aDictionary)
 {
   NS_ENSURE_ARG_POINTER(aDictionary);
 
   *aDictionary = ToNewUnicode(mDictionary);
   return *aDictionary ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
@@ -232,59 +231,53 @@ NS_IMETHODIMP mozHunspell::SetDictionary
     obs->NotifyObservers(nullptr,
                          SPELLCHECK_DICTIONARY_UPDATE_NOTIFICATION,
                          nullptr);
   }
 
   return NS_OK;
 }
 
-/* readonly attribute wstring language; */
 NS_IMETHODIMP mozHunspell::GetLanguage(char16_t **aLanguage)
 {
   NS_ENSURE_ARG_POINTER(aLanguage);
 
   if (mDictionary.IsEmpty())
     return NS_ERROR_NOT_INITIALIZED;
 
   *aLanguage = ToNewUnicode(mLanguage);
   return *aLanguage ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute boolean providesPersonalDictionary; */
 NS_IMETHODIMP mozHunspell::GetProvidesPersonalDictionary(bool *aProvidesPersonalDictionary)
 {
   NS_ENSURE_ARG_POINTER(aProvidesPersonalDictionary);
 
   *aProvidesPersonalDictionary = false;
   return NS_OK;
 }
 
-/* readonly attribute boolean providesWordUtils; */
 NS_IMETHODIMP mozHunspell::GetProvidesWordUtils(bool *aProvidesWordUtils)
 {
   NS_ENSURE_ARG_POINTER(aProvidesWordUtils);
 
   *aProvidesWordUtils = false;
   return NS_OK;
 }
 
-/* readonly attribute wstring name; */
 NS_IMETHODIMP mozHunspell::GetName(char16_t * *aName)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* readonly attribute wstring copyright; */
 NS_IMETHODIMP mozHunspell::GetCopyright(char16_t * *aCopyright)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* attribute mozIPersonalDictionary personalDictionary; */
 NS_IMETHODIMP mozHunspell::GetPersonalDictionary(mozIPersonalDictionary * *aPersonalDictionary)
 {
   *aPersonalDictionary = mPersonalDictionary;
   NS_IF_ADDREF(*aPersonalDictionary);
   return NS_OK;
 }
 
 NS_IMETHODIMP mozHunspell::SetPersonalDictionary(mozIPersonalDictionary * aPersonalDictionary)
@@ -309,17 +302,16 @@ AppendNewString(const nsAString& aString
     ans->failed = true;
     return PL_DHASH_STOP;
   }
 
   ++ans->count;
   return PL_DHASH_NEXT;
 }
 
-/* void GetDictionaryList ([array, size_is (count)] out wstring dictionaries, out uint32_t count); */
 NS_IMETHODIMP mozHunspell::GetDictionaryList(char16_t ***aDictionaries,
                                             uint32_t *aCount)
 {
   if (!aDictionaries || !aCount)
     return NS_ERROR_NULL_POINTER;
 
   AppendNewStruct ans = {
     (char16_t**) moz_xmalloc(sizeof(char16_t*) * mDictionaries.Count()),
@@ -514,17 +506,16 @@ nsresult mozHunspell::ConvertCharset(con
 
   rv = mEncoder->Convert(aStr, &inLength, *aDst, &outLength);
   if (NS_SUCCEEDED(rv))
     (*aDst)[outLength] = '\0';
 
   return rv;
 }
 
-/* boolean Check (in wstring word); */
 NS_IMETHODIMP mozHunspell::Check(const char16_t *aWord, bool *aResult)
 {
   NS_ENSURE_ARG_POINTER(aWord);
   NS_ENSURE_ARG_POINTER(aResult);
   NS_ENSURE_TRUE(mHunspell, NS_ERROR_FAILURE);
 
   nsXPIDLCString charsetWord;
   nsresult rv = ConvertCharset(aWord, getter_Copies(charsetWord));
@@ -534,17 +525,16 @@ NS_IMETHODIMP mozHunspell::Check(const c
 
 
   if (!*aResult && mPersonalDictionary)
     rv = mPersonalDictionary->Check(aWord, mLanguage.get(), aResult);
 
   return rv;
 }
 
-/* void Suggest (in wstring word, [array, size_is (count)] out wstring suggestions, out uint32_t count); */
 NS_IMETHODIMP mozHunspell::Suggest(const char16_t *aWord, char16_t ***aSuggestions, uint32_t *aSuggestionCount)
 {
   NS_ENSURE_ARG_POINTER(aSuggestions);
   NS_ENSURE_ARG_POINTER(aSuggestionCount);
   NS_ENSURE_TRUE(mHunspell, NS_ERROR_FAILURE);
 
   nsresult rv;
   *aSuggestionCount = 0;
@@ -598,23 +588,21 @@ mozHunspell::Observe(nsISupports* aSubj,
                || !strcmp(aTopic, "profile-after-change"),
                "Unexpected observer topic");
 
   LoadDictionaryList(false);
 
   return NS_OK;
 }
 
-/* void addDirectory(in nsIFile dir); */
 NS_IMETHODIMP mozHunspell::AddDirectory(nsIFile *aDir)
 {
   mDynamicDirectories.AppendObject(aDir);
   LoadDictionaryList(true);
   return NS_OK;
 }
 
-/* void removeDirectory(in nsIFile dir); */
 NS_IMETHODIMP mozHunspell::RemoveDirectory(nsIFile *aDir)
 {
   mDynamicDirectories.RemoveObject(aDir);
   LoadDictionaryList(true);
   return NS_OK;
 }
--- a/extensions/spellcheck/src/mozEnglishWordUtils.cpp
+++ b/extensions/spellcheck/src/mozEnglishWordUtils.cpp
@@ -31,28 +31,26 @@ mozEnglishWordUtils::mozEnglishWordUtils
   nsresult rv;
   mURLDetector = do_CreateInstance(MOZ_TXTTOHTMLCONV_CONTRACTID, &rv);
 }
 
 mozEnglishWordUtils::~mozEnglishWordUtils()
 {
 }
 
-/* attribute wstring language; */
 NS_IMETHODIMP mozEnglishWordUtils::GetLanguage(char16_t * *aLanguage)
 {
   nsresult rv = NS_OK;
   NS_ENSURE_ARG_POINTER(aLanguage);
 
   *aLanguage = ToNewUnicode(mLanguage);
   if(!aLanguage) rv = NS_ERROR_OUT_OF_MEMORY;
   return rv;
  }
 
-/* void GetRootForm (in wstring aWord, in uint32_t type, [array, size_is (count)] out wstring words, out uint32_t count); */
 // return the possible root forms of aWord.
 NS_IMETHODIMP mozEnglishWordUtils::GetRootForm(const char16_t *aWord, uint32_t type, char16_t ***words, uint32_t *count)
 {
   nsAutoString word(aWord);
   char16_t **tmpPtr;
   int32_t length = word.Length();
 
   *count = 0;
@@ -133,17 +131,16 @@ NS_IMETHODIMP mozEnglishWordUtils::GetRo
 
 // This needs vast improvement
 bool mozEnglishWordUtils::ucIsAlpha(char16_t aChar)
 {
   // XXX we have to fix callers to handle the full Unicode range
   return nsIUGenCategory::kLetter == mozilla::unicode::GetGenCategory(aChar);
 }
 
-/* void FindNextWord (in wstring word, in uint32_t length, in uint32_t offset, out uint32_t begin, out uint32_t end); */
 NS_IMETHODIMP mozEnglishWordUtils::FindNextWord(const char16_t *word, uint32_t length, uint32_t offset, int32_t *begin, int32_t *end)
 {
   const char16_t *p = word + offset;
   const char16_t *endbuf = word + length;
   const char16_t *startWord=p;
   if(p<endbuf){
     // XXX These loops should be modified to handle non-BMP characters.
     // if previous character is a word character, need to advance out of the word
--- a/extensions/spellcheck/src/mozGenericWordUtils.cpp
+++ b/extensions/spellcheck/src/mozGenericWordUtils.cpp
@@ -13,32 +13,28 @@ mozGenericWordUtils::mozGenericWordUtils
   /* member initializers and constructor code */
 }
 
 mozGenericWordUtils::~mozGenericWordUtils()
 {
   /* destructor code */
 }
 
-/* readonly attribute wstring language; */
 NS_IMETHODIMP mozGenericWordUtils::GetLanguage(char16_t * *aLanguage)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void GetRootForm (in wstring word, in uint32_t type, [array, size_is (count)] out wstring words, out uint32_t count); */
 NS_IMETHODIMP mozGenericWordUtils::GetRootForm(const char16_t *word, uint32_t type, char16_t ***words, uint32_t *count)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void FromRootForm (in wstring word, [array, size_is (icount)] in wstring iwords, in uint32_t icount, [array, size_is (ocount)] out wstring owords, out uint32_t ocount); */
 NS_IMETHODIMP mozGenericWordUtils::FromRootForm(const char16_t *word, const char16_t **iwords, uint32_t icount, char16_t ***owords, uint32_t *ocount)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void FindNextWord (in wstring word, in uint32_t length, in uint32_t offset, out uint32_t begin, out uint32_t end); */
 NS_IMETHODIMP mozGenericWordUtils::FindNextWord(const char16_t *word, uint32_t length, uint32_t offset, int32_t *begin, int32_t *end)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
--- a/extensions/spellcheck/src/mozPersonalDictionary.cpp
+++ b/extensions/spellcheck/src/mozPersonalDictionary.cpp
@@ -384,17 +384,16 @@ NS_IMETHODIMP mozPersonalDictionary::Sav
     new mozPersonalDictionarySave(this, theFile, mozilla::Move(array));
   res = target->Dispatch(runnable, NS_DISPATCH_NORMAL);
   if (NS_WARN_IF(NS_FAILED(res))) {
     return res;
   }
   return res;
 }
 
-/* readonly attribute nsIStringEnumerator GetWordList() */
 NS_IMETHODIMP mozPersonalDictionary::GetWordList(nsIStringEnumerator **aWords)
 {
   NS_ENSURE_ARG_POINTER(aWords);
   *aWords = nullptr;
 
   WaitForLoad();
 
   nsTArray<nsString> *array = new nsTArray<nsString>(mDictionaryTable.Count());
@@ -402,88 +401,79 @@ NS_IMETHODIMP mozPersonalDictionary::Get
     array->AppendElement(nsDependentString(iter.Get()->GetKey()));
   }
 
   array->Sort();
 
   return NS_NewAdoptingStringEnumerator(aWords, array);
 }
 
-/* boolean Check (in wstring word, in wstring language); */
 NS_IMETHODIMP mozPersonalDictionary::Check(const char16_t *aWord, const char16_t *aLanguage, bool *aResult)
 {
   NS_ENSURE_ARG_POINTER(aWord);
   NS_ENSURE_ARG_POINTER(aResult);
 
   WaitForLoad();
 
   *aResult = (mDictionaryTable.GetEntry(aWord) || mIgnoreTable.GetEntry(aWord));
   return NS_OK;
 }
 
-/* void AddWord (in wstring word); */
 NS_IMETHODIMP mozPersonalDictionary::AddWord(const char16_t *aWord, const char16_t *aLang)
 {
   nsresult res;
   WaitForLoad();
 
   mDictionaryTable.PutEntry(aWord);
   res = Save();
   return res;
 }
 
-/* void RemoveWord (in wstring word); */
 NS_IMETHODIMP mozPersonalDictionary::RemoveWord(const char16_t *aWord, const char16_t *aLang)
 {
   nsresult res;
   WaitForLoad();
 
   mDictionaryTable.RemoveEntry(aWord);
   res = Save();
   return res;
 }
 
-/* void IgnoreWord (in wstring word); */
 NS_IMETHODIMP mozPersonalDictionary::IgnoreWord(const char16_t *aWord)
 {
   // avoid adding duplicate words to the ignore list
   if (aWord && !mIgnoreTable.GetEntry(aWord)) 
     mIgnoreTable.PutEntry(aWord);
   return NS_OK;
 }
 
-/* void EndSession (); */
 NS_IMETHODIMP mozPersonalDictionary::EndSession()
 {
   WaitForLoad();
 
   WaitForSave();
   mIgnoreTable.Clear();
   return NS_OK;
 }
 
-/* void AddCorrection (in wstring word, in wstring correction); */
 NS_IMETHODIMP mozPersonalDictionary::AddCorrection(const char16_t *word, const char16_t *correction, const char16_t *lang)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void RemoveCorrection (in wstring word, in wstring correction); */
 NS_IMETHODIMP mozPersonalDictionary::RemoveCorrection(const char16_t *word, const char16_t *correction, const char16_t *lang)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void GetCorrection (in wstring word, [array, size_is (count)] out wstring words, out uint32_t count); */
 NS_IMETHODIMP mozPersonalDictionary::GetCorrection(const char16_t *word, char16_t ***words, uint32_t *count)
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void observe (in nsISupports aSubject, in string aTopic, in wstring aData); */
 NS_IMETHODIMP mozPersonalDictionary::Observe(nsISupports *aSubject, const char *aTopic, const char16_t *aData)
 {
   if (!nsCRT::strcmp(aTopic, "profile-do-change")) {
     // The observer is registered in Init() which calls Load and in turn
     // LoadInternal(); i.e. Observe() can't be called before Load().
     WaitForLoad();
     mIsLoaded = false;
     Load(); // load automatically clears out the existing dictionary table
--- a/extensions/spellcheck/src/mozSpellI18NManager.cpp
+++ b/extensions/spellcheck/src/mozSpellI18NManager.cpp
@@ -15,17 +15,16 @@ mozSpellI18NManager::mozSpellI18NManager
   /* member initializers and constructor code */
 }
 
 mozSpellI18NManager::~mozSpellI18NManager()
 {
   /* destructor code */
 }
 
-/* mozISpellI18NUtil GetUtil (in wstring language); */
 NS_IMETHODIMP mozSpellI18NManager::GetUtil(const char16_t *aLanguage, mozISpellI18NUtil **_retval)
 {
  if( nullptr == _retval) {
    return NS_ERROR_NULL_POINTER;
  }
  *_retval = nullptr;
  nsAutoString lang;
  lang.Assign(aLanguage);
--- a/image/RasterImage.cpp
+++ b/image/RasterImage.cpp
@@ -336,63 +336,59 @@ RasterImage::RequestRefresh(const TimeSt
 
   if (res.animationFinished) {
     mAnimationFinished = true;
     EvaluateAnimation();
   }
 }
 
 //******************************************************************************
-/* readonly attribute int32_t width; */
 NS_IMETHODIMP
 RasterImage::GetWidth(int32_t* aWidth)
 {
   NS_ENSURE_ARG_POINTER(aWidth);
 
   if (mError) {
     *aWidth = 0;
     return NS_ERROR_FAILURE;
   }
 
   *aWidth = mSize.width;
   return NS_OK;
 }
 
 //******************************************************************************
-/* readonly attribute int32_t height; */
 NS_IMETHODIMP
 RasterImage::GetHeight(int32_t* aHeight)
 {
   NS_ENSURE_ARG_POINTER(aHeight);
 
   if (mError) {
     *aHeight = 0;
     return NS_ERROR_FAILURE;
   }
 
   *aHeight = mSize.height;
   return NS_OK;
 }
 
 //******************************************************************************
-/* [noscript] readonly attribute nsSize intrinsicSize; */
 NS_IMETHODIMP
 RasterImage::GetIntrinsicSize(nsSize* aSize)
 {
   if (mError) {
     return NS_ERROR_FAILURE;
   }
 
   *aSize = nsSize(nsPresContext::CSSPixelsToAppUnits(mSize.width),
                   nsPresContext::CSSPixelsToAppUnits(mSize.height));
   return NS_OK;
 }
 
 //******************************************************************************
-/* [noscript] readonly attribute nsSize intrinsicRatio; */
 NS_IMETHODIMP
 RasterImage::GetIntrinsicRatio(nsSize* aRatio)
 {
   if (mError) {
     return NS_ERROR_FAILURE;
   }
 
   *aRatio = nsSize(mSize.width, mSize.height);
@@ -401,17 +397,16 @@ RasterImage::GetIntrinsicRatio(nsSize* a
 
 NS_IMETHODIMP_(Orientation)
 RasterImage::GetOrientation()
 {
   return mOrientation;
 }
 
 //******************************************************************************
-/* unsigned short GetType(); */
 NS_IMETHODIMP
 RasterImage::GetType(uint16_t* aType)
 {
   NS_ENSURE_ARG_POINTER(aType);
 
   *aType = imgIContainer::TYPE_RASTER;
   return NS_OK;
 }
@@ -565,17 +560,16 @@ RasterImage::OnSurfaceDiscarded()
   MOZ_ASSERT(mProgressTracker);
 
   nsCOMPtr<nsIRunnable> runnable =
     NS_NewRunnableMethod(mProgressTracker, &ProgressTracker::OnDiscard);
   NS_DispatchToMainThread(runnable);
 }
 
 //******************************************************************************
-/* readonly attribute boolean animated; */
 NS_IMETHODIMP
 RasterImage::GetAnimated(bool* aAnimated)
 {
   if (mError) {
     return NS_ERROR_FAILURE;
   }
 
   NS_ENSURE_ARG_POINTER(aAnimated);
@@ -594,17 +588,16 @@ RasterImage::GetAnimated(bool* aAnimated
 
   // We know for sure
   *aAnimated = false;
 
   return NS_OK;
 }
 
 //******************************************************************************
-/* [notxpcom] int32_t getFirstFrameDelay (); */
 NS_IMETHODIMP_(int32_t)
 RasterImage::GetFirstFrameDelay()
 {
   if (mError) {
     return -1;
   }
 
   bool animated = false;
@@ -986,17 +979,17 @@ RasterImage::SetAnimationMode(uint16_t a
 {
   if (mAnim) {
     mAnim->SetAnimationMode(aAnimationMode);
   }
   return SetAnimationModeInternal(aAnimationMode);
 }
 
 //******************************************************************************
-/* void StartAnimation () */
+
 nsresult
 RasterImage::StartAnimation()
 {
   if (mError) {
     return NS_ERROR_FAILURE;
   }
 
   MOZ_ASSERT(ShouldAnimate(), "Should not animate!");
@@ -1018,17 +1011,16 @@ RasterImage::StartAnimation()
   // We need to set the time that this initial frame was first displayed, as
   // this is used in AdvanceFrame().
   mAnim->InitAnimationFrameTimeIfNecessary();
 
   return NS_OK;
 }
 
 //******************************************************************************
-/* void stopAnimation (); */
 nsresult
 RasterImage::StopAnimation()
 {
   MOZ_ASSERT(mAnimating, "Should be animating!");
 
   nsresult rv = NS_OK;
   if (mError) {
     rv = NS_ERROR_FAILURE;
@@ -1036,17 +1028,16 @@ RasterImage::StopAnimation()
     mAnim->SetAnimationFrameTime(TimeStamp());
   }
 
   mAnimating = false;
   return rv;
 }
 
 //******************************************************************************
-/* void resetAnimation (); */
 NS_IMETHODIMP
 RasterImage::ResetAnimation()
 {
   if (mError) {
     return NS_ERROR_FAILURE;
     }
 
   mPendingAnimation = false;
@@ -1279,24 +1270,24 @@ RasterImage::Discard()
 
 bool
 RasterImage::CanDiscard() {
   return mHasSourceData &&       // ...have the source data...
          !mAnim;                 // Can never discard animated images
 }
 
 //******************************************************************************
-/* void requestDecode() */
+
 NS_IMETHODIMP
 RasterImage::RequestDecode()
 {
   return RequestDecodeForSize(mSize, DECODE_FLAGS_DEFAULT);
 }
 
-/* void startDecode() */
+
 NS_IMETHODIMP
 RasterImage::StartDecoding()
 {
   return RequestDecodeForSize(mSize, FLAG_SYNC_DECODE_IF_FAST);
 }
 
 NS_IMETHODIMP
 RasterImage::RequestDecodeForSize(const IntSize& aSize, uint32_t aFlags)
@@ -1769,17 +1760,17 @@ RasterImage::Draw(gfxContext* aContext,
                             int32_t(drawLatency.ToMicroseconds()));
       mDrawStartTime = TimeStamp();
   }
 
   return result;
 }
 
 //******************************************************************************
-/* void lockImage() */
+
 NS_IMETHODIMP
 RasterImage::LockImage()
 {
   MOZ_ASSERT(NS_IsMainThread(),
              "Main thread to encourage serialization with UnlockImage");
   if (mError) {
     return NS_ERROR_FAILURE;
   }
@@ -1791,17 +1782,17 @@ RasterImage::LockImage()
   if (mLockCount == 1) {
     SurfaceCache::LockImage(ImageKey(this));
   }
 
   return NS_OK;
 }
 
 //******************************************************************************
-/* void unlockImage() */
+
 NS_IMETHODIMP
 RasterImage::UnlockImage()
 {
   MOZ_ASSERT(NS_IsMainThread(),
              "Main thread to encourage serialization with LockImage");
   if (mError) {
     return NS_ERROR_FAILURE;
   }
@@ -1820,17 +1811,17 @@ RasterImage::UnlockImage()
   if (mLockCount == 0 ) {
     SurfaceCache::UnlockImage(ImageKey(this));
   }
 
   return NS_OK;
 }
 
 //******************************************************************************
-/* void requestDiscard() */
+
 NS_IMETHODIMP
 RasterImage::RequestDiscard()
 {
   if (mDiscardable &&      // Enabled at creation time...
       mLockCount == 0 &&   // ...not temporarily disabled...
       CanDiscard()) {
     Discard();
   }
@@ -1900,17 +1891,16 @@ RasterImage::HandleErrorWorker::Run()
 
 bool
 RasterImage::ShouldAnimate()
 {
   return ImageResource::ShouldAnimate() && GetNumFrames() >= 2 &&
          !mAnimationFinished;
 }
 
-/* readonly attribute uint32_t framesNotified; */
 #ifdef DEBUG
 NS_IMETHODIMP
 RasterImage::GetFramesNotified(uint32_t* aFramesNotified)
 {
   NS_ENSURE_ARG_POINTER(aFramesNotified);
 
   *aFramesNotified = mFramesNotified;
 
--- a/image/SVGDocumentWrapper.cpp
+++ b/image/SVGDocumentWrapper.cpp
@@ -209,17 +209,16 @@ SVGDocumentWrapper::OnDataAvailable(nsIR
                                     uint32_t count)
 {
   return mListener->OnDataAvailable(aRequest, ctxt, inStr,
                                     sourceOffset, count);
 }
 
 /** nsIRequestObserver methods **/
 
-/* void onStartRequest (in nsIRequest request, in nsISupports ctxt); */
 NS_IMETHODIMP
 SVGDocumentWrapper::OnStartRequest(nsIRequest* aRequest, nsISupports* ctxt)
 {
   nsresult rv = SetupViewer(aRequest,
                             getter_AddRefs(mViewer),
                             getter_AddRefs(mLoadGroup));
 
   if (NS_SUCCEEDED(rv) &&
--- a/image/VectorImage.cpp
+++ b/image/VectorImage.cpp
@@ -487,33 +487,31 @@ VectorImage::SetAnimationStartTime(const
 {
   // We don't care about animation start time.
 }
 
 //------------------------------------------------------------------------------
 // imgIContainer methods
 
 //******************************************************************************
-/* readonly attribute int32_t width; */
 NS_IMETHODIMP
 VectorImage::GetWidth(int32_t* aWidth)
 {
   if (mError || !mIsFullyLoaded) {
     *aWidth = -1;
   } else {
     SVGSVGElement* rootElem = mSVGDocumentWrapper->GetRootSVGElem();
     MOZ_ASSERT(rootElem, "Should have a root SVG elem, since we finished "
                          "loading without errors");
     *aWidth = rootElem->GetIntrinsicWidth();
   }
   return *aWidth >= 0 ? NS_OK : NS_ERROR_FAILURE;
 }
 
 //******************************************************************************
-/* [notxpcom] void requestRefresh ([const] in TimeStamp aTime); */
 NS_IMETHODIMP_(void)
 VectorImage::RequestRefresh(const TimeStamp& aTime)
 {
   if (HadRecentRefresh(aTime)) {
     return;
   }
 
   EvaluateAnimation();
@@ -553,33 +551,31 @@ VectorImage::SendInvalidationNotificatio
 
 NS_IMETHODIMP_(IntRect)
 VectorImage::GetImageSpaceInvalidationRect(const IntRect& aRect)
 {
   return aRect;
 }
 
 //******************************************************************************
-/* readonly attribute int32_t height; */
 NS_IMETHODIMP
 VectorImage::GetHeight(int32_t* aHeight)
 {
   if (mError || !mIsFullyLoaded) {
     *aHeight = -1;
   } else {
     SVGSVGElement* rootElem = mSVGDocumentWrapper->GetRootSVGElem();
     MOZ_ASSERT(rootElem, "Should have a root SVG elem, since we finished "
                          "loading without errors");
     *aHeight = rootElem->GetIntrinsicHeight();
   }
   return *aHeight >= 0 ? NS_OK : NS_ERROR_FAILURE;
 }
 
 //******************************************************************************
-/* [noscript] readonly attribute nsSize intrinsicSize; */
 NS_IMETHODIMP
 VectorImage::GetIntrinsicSize(nsSize* aSize)
 {
   if (mError || !mIsFullyLoaded) {
     return NS_ERROR_FAILURE;
   }
 
   nsIFrame* rootFrame = mSVGDocumentWrapper->GetRootLayoutFrame();
@@ -595,17 +591,16 @@ VectorImage::GetIntrinsicSize(nsSize* aS
   if (rfSize.height.GetUnit() == eStyleUnit_Coord) {
     aSize->height = rfSize.height.GetCoordValue();
   }
 
   return NS_OK;
 }
 
 //******************************************************************************
-/* [noscript] readonly attribute nsSize intrinsicRatio; */
 NS_IMETHODIMP
 VectorImage::GetIntrinsicRatio(nsSize* aRatio)
 {
   if (mError || !mIsFullyLoaded) {
     return NS_ERROR_FAILURE;
   }
 
   nsIFrame* rootFrame = mSVGDocumentWrapper->GetRootLayoutFrame();
@@ -619,41 +614,38 @@ VectorImage::GetIntrinsicRatio(nsSize* a
 
 NS_IMETHODIMP_(Orientation)
 VectorImage::GetOrientation()
 {
   return Orientation();
 }
 
 //******************************************************************************
-/* readonly attribute unsigned short type; */
 NS_IMETHODIMP
 VectorImage::GetType(uint16_t* aType)
 {
   NS_ENSURE_ARG_POINTER(aType);
 
   *aType = imgIContainer::TYPE_VECTOR;
   return NS_OK;
 }
 
 //******************************************************************************
-/* readonly attribute boolean animated; */
 NS_IMETHODIMP
 VectorImage::GetAnimated(bool* aAnimated)
 {
   if (mError || !mIsFullyLoaded) {
     return NS_ERROR_FAILURE;
   }
 
   *aAnimated = mSVGDocumentWrapper->IsAnimated();
   return NS_OK;
 }
 
 //******************************************************************************
-/* [notxpcom] int32_t getFirstFrameDelay (); */
 int32_t
 VectorImage::GetFirstFrameDelay()
 {
   if (mError) {
     return -1;
   }
 
   if (!mSVGDocumentWrapper->IsAnimated()) {
@@ -725,17 +717,16 @@ VectorImage::GetFrame(uint32_t aWhichFra
 
 NS_IMETHODIMP_(bool)
 VectorImage::IsImageContainerAvailable(LayerManager* aManager, uint32_t aFlags)
 {
   return false;
 }
 
 //******************************************************************************
-/* [noscript] ImageContainer getImageContainer(); */
 NS_IMETHODIMP_(already_AddRefed<ImageContainer>)
 VectorImage::GetImageContainer(LayerManager* aManager, uint32_t aFlags)
 {
   return nullptr;
 }
 
 struct SVGDrawingParameters
 {
@@ -953,17 +944,17 @@ VectorImage::RecoverFromLossOfSurfaces()
 {
   NS_WARNING("An imgFrame became invalid. Attempting to recover...");
 
   // Discard all existing frames, since they're probably all now invalid.
   SurfaceCache::RemoveImage(ImageKey(this));
 }
 
 //******************************************************************************
-/* void requestDecode() */
+
 NS_IMETHODIMP
 VectorImage::RequestDecode()
 {
   // Nothing to do for SVG images
   return NS_OK;
 }
 
 NS_IMETHODIMP
@@ -978,17 +969,17 @@ VectorImage::RequestDecodeForSize(const 
 {
   // Nothing to do for SVG images, though in theory we could rasterize to the
   // provided size ahead of time if we supported off-main-thread SVG
   // rasterization...
   return NS_OK;
 }
 
 //******************************************************************************
-/* void lockImage() */
+
 NS_IMETHODIMP
 VectorImage::LockImage()
 {
   MOZ_ASSERT(NS_IsMainThread());
 
   if (mError) {
     return NS_ERROR_FAILURE;
   }
@@ -999,17 +990,17 @@ VectorImage::LockImage()
     // Lock this image's surfaces in the SurfaceCache.
     SurfaceCache::LockImage(ImageKey(this));
   }
 
   return NS_OK;
 }
 
 //******************************************************************************
-/* void unlockImage() */
+
 NS_IMETHODIMP
 VectorImage::UnlockImage()
 {
   MOZ_ASSERT(NS_IsMainThread());
 
   if (mError) {
     return NS_ERROR_FAILURE;
   }
@@ -1025,17 +1016,17 @@ VectorImage::UnlockImage()
     // Unlock this image's surfaces in the SurfaceCache.
     SurfaceCache::UnlockImage(ImageKey(this));
   }
 
   return NS_OK;
 }
 
 //******************************************************************************
-/* void requestDiscard() */
+
 NS_IMETHODIMP
 VectorImage::RequestDiscard()
 {
   MOZ_ASSERT(NS_IsMainThread());
 
   if (mDiscardable && mLockCount == 0) {
     SurfaceCache::RemoveImage(ImageKey(this));
     mProgressTracker->OnDiscard();
@@ -1050,17 +1041,16 @@ VectorImage::OnSurfaceDiscarded()
   MOZ_ASSERT(mProgressTracker);
 
   nsCOMPtr<nsIRunnable> runnable =
     NS_NewRunnableMethod(mProgressTracker, &ProgressTracker::OnDiscard);
   NS_DispatchToMainThread(runnable);
 }
 
 //******************************************************************************
-/* void resetAnimation (); */
 NS_IMETHODIMP
 VectorImage::ResetAnimation()
 {
   if (mError) {
     return NS_ERROR_FAILURE;
   }
 
   if (!mIsFullyLoaded || !mHaveAnimations) {
@@ -1080,17 +1070,16 @@ VectorImage::GetFrameIndex(uint32_t aWhi
          ? 0.0f
          : mSVGDocumentWrapper->GetCurrentTime();
 }
 
 //------------------------------------------------------------------------------
 // nsIRequestObserver methods
 
 //******************************************************************************
-/* void onStartRequest(in nsIRequest request, in nsISupports ctxt); */
 NS_IMETHODIMP
 VectorImage::OnStartRequest(nsIRequest* aRequest, nsISupports* aCtxt)
 {
   MOZ_ASSERT(!mSVGDocumentWrapper,
              "Repeated call to OnStartRequest -- can this happen?");
 
   mSVGDocumentWrapper = new SVGDocumentWrapper();
   nsresult rv = mSVGDocumentWrapper->OnStartRequest(aRequest, aCtxt);
--- a/image/encoders/jpeg/nsJPEGEncoder.cpp
+++ b/image/encoders/jpeg/nsJPEGEncoder.cpp
@@ -233,43 +233,40 @@ nsJPEGEncoder::AddImageFrame(const uint8
 
 NS_IMETHODIMP
 nsJPEGEncoder::EndImageEncode()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
 
-/* void close (); */
 NS_IMETHODIMP
 nsJPEGEncoder::Close()
 {
   if (mImageBuffer != nullptr) {
     free(mImageBuffer);
     mImageBuffer = nullptr;
     mImageBufferSize = 0;
     mImageBufferUsed = 0;
     mImageBufferReadPoint = 0;
   }
   return NS_OK;
 }
 
-/* unsigned long available (); */
 NS_IMETHODIMP
 nsJPEGEncoder::Available(uint64_t* _retval)
 {
   if (!mImageBuffer) {
     return NS_BASE_STREAM_CLOSED;
   }
 
   *_retval = mImageBufferUsed - mImageBufferReadPoint;
   return NS_OK;
 }
 
-/* [noscript] unsigned long read (in charPtr aBuf, in unsigned long aCount); */
 NS_IMETHODIMP
 nsJPEGEncoder::Read(char* aBuf, uint32_t aCount, uint32_t* _retval)
 {
   return ReadSegments(NS_CopySegmentToBuffer, aBuf, aCount, _retval);
 }
 
 /* [noscript] unsigned long readSegments (in nsWriteSegmentFun aWriter, in
    voidPtr aClosure, in unsigned long aCount); */
@@ -297,17 +294,16 @@ nsJPEGEncoder::ReadSegments(nsWriteSegme
     NS_ASSERTION(*_retval <= aCount, "bad write count");
     mImageBufferReadPoint += *_retval;
   }
 
   // errors returned from the writer end here!
   return NS_OK;
 }
 
-/* boolean isNonBlocking (); */
 NS_IMETHODIMP
 nsJPEGEncoder::IsNonBlocking(bool* _retval)
 {
   *_retval = true;
   return NS_OK;
 }
 
 NS_IMETHODIMP
--- a/image/encoders/png/nsPNGEncoder.cpp
+++ b/image/encoders/png/nsPNGEncoder.cpp
@@ -519,31 +519,29 @@ nsPNGEncoder::ParseOptions(const nsAStri
     }
   }
 
 #endif
   return NS_OK;
 }
 
 
-/* void close (); */
 NS_IMETHODIMP
 nsPNGEncoder::Close()
 {
   if (mImageBuffer != nullptr) {
     free(mImageBuffer);
     mImageBuffer = nullptr;
     mImageBufferSize = 0;
     mImageBufferUsed = 0;
     mImageBufferReadPoint = 0;
   }
   return NS_OK;
 }
 
-/* unsigned long available (); */
 NS_IMETHODIMP
 nsPNGEncoder::Available(uint64_t* _retval)
 {
   if (!mImageBuffer) {
     return NS_BASE_STREAM_CLOSED;
     }
 
   *_retval = mImageBufferUsed - mImageBufferReadPoint;
@@ -587,17 +585,16 @@ nsPNGEncoder::ReadSegments(nsWriteSegmen
     NS_ASSERTION(*_retval <= aCount, "bad write count");
     mImageBufferReadPoint += *_retval;
   }
 
   // errors returned from the writer end here!
   return NS_OK;
 }
 
-/* boolean isNonBlocking (); */
 NS_IMETHODIMP
 nsPNGEncoder::IsNonBlocking(bool* _retval)
 {
   *_retval = true;
   return NS_OK;
 }
 
 NS_IMETHODIMP
--- a/image/imgLoader.cpp
+++ b/image/imgLoader.cpp
@@ -1311,39 +1311,36 @@ void imgLoader::ReadAcceptHeaderPref()
   if (accept) {
     mAcceptHeader = accept;
   } else {
     mAcceptHeader =
         IMAGE_PNG "," IMAGE_WILDCARD ";q=0.8," ANY_WILDCARD ";q=0.5";
   }
 }
 
-/* void clearCache (in boolean chrome); */
 NS_IMETHODIMP
 imgLoader::ClearCache(bool chrome)
 {
   if (chrome) {
     return ClearChromeImageCache();
   } else {
     return ClearImageCache();
   }
 }
 
-/* void removeEntry(in nsIURI uri); */
 NS_IMETHODIMP
 imgLoader::RemoveEntry(nsIURI* aURI)
 {
   if (aURI && RemoveFromCache(ImageCacheKey(aURI))) {
     return NS_OK;
   }
 
   return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* imgIRequest findEntry(in nsIURI uri); */
 NS_IMETHODIMP
 imgLoader::FindEntryProperties(nsIURI* uri, nsIProperties** _retval)
 {
   *_retval = nullptr;
 
   ImageCacheKey key(uri);
   imgCacheTable& cache = GetCache(key);
 
@@ -2574,17 +2571,16 @@ ProxyListener::ProxyListener(nsIStreamLi
 ProxyListener::~ProxyListener()
 {
   /* destructor code */
 }
 
 
 /** nsIRequestObserver methods **/
 
-/* void onStartRequest (in nsIRequest request, in nsISupports ctxt); */
 NS_IMETHODIMP
 ProxyListener::OnStartRequest(nsIRequest* aRequest, nsISupports* ctxt)
 {
   if (!mDestListener) {
     return NS_ERROR_FAILURE;
   }
 
   nsCOMPtr<nsIChannel> channel(do_QueryInterface(aRequest));
@@ -2721,17 +2717,16 @@ imgCacheValidator::AddProxy(imgRequestPr
   // the network.
   aProxy->AddToLoadGroup();
 
   mProxies.AppendObject(aProxy);
 }
 
 /** nsIRequestObserver methods **/
 
-/* void onStartRequest (in nsIRequest request, in nsISupports ctxt); */
 NS_IMETHODIMP
 imgCacheValidator::OnStartRequest(nsIRequest* aRequest, nsISupports* ctxt)
 {
   // We may be holding on to a document, so ensure that it's released.
   nsCOMPtr<nsISupports> context = mContext.forget();
 
   // If for some reason we don't still have an existing request (probably
   // because OnStartRequest got delivered more than once), just bail.
--- a/image/imgRequest.cpp
+++ b/image/imgRequest.cpp
@@ -705,17 +705,16 @@ bool
 imgRequest::HadInsecureRedirect() const
 {
   MutexAutoLock lock(mMutex);
   return mHadInsecureRedirect;
 }
 
 /** nsIRequestObserver methods **/
 
-/* void onStartRequest (in nsIRequest request, in nsISupports ctxt); */
 NS_IMETHODIMP
 imgRequest::OnStartRequest(nsIRequest* aRequest, nsISupports* ctxt)
 {
   LOG_SCOPE(GetImgLog(), "imgRequest::OnStartRequest");
 
   nsRefPtr<Image> image;
 
   // Figure out if we're multipart.
--- a/image/imgRequestProxy.cpp
+++ b/image/imgRequestProxy.cpp
@@ -276,44 +276,40 @@ imgRequestProxy::RemoveFromLoadGroup(boo
     // We're done with the loadgroup, release it.
     mLoadGroup = nullptr;
   }
 }
 
 
 /**  nsIRequest / imgIRequest methods **/
 
-/* readonly attribute wstring name; */
 NS_IMETHODIMP
 imgRequestProxy::GetName(nsACString& aName)
 {
   aName.Truncate();
 
   if (mURI) {
     mURI->GetSpec(aName);
   }
 
   return NS_OK;
 }
 
-/* boolean isPending (); */
 NS_IMETHODIMP
 imgRequestProxy::IsPending(bool* _retval)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* readonly attribute nsresult status; */
 NS_IMETHODIMP
 imgRequestProxy::GetStatus(nsresult* aStatus)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void cancel (in nsresult status); */
 NS_IMETHODIMP
 imgRequestProxy::Cancel(nsresult status)
 {
   if (mCanceled) {
     return NS_ERROR_FAILURE;
   }
 
   LOG_SCOPE(GetImgLog(), "imgRequestProxy::Cancel");
@@ -329,17 +325,16 @@ imgRequestProxy::DoCancel(nsresult statu
 {
   if (GetOwner()) {
     GetOwner()->RemoveProxy(this, status);
   }
 
   NullOutListener();
 }
 
-/* void cancelAndForgetObserver (in nsresult aStatus); */
 NS_IMETHODIMP
 imgRequestProxy::CancelAndForgetObserver(nsresult aStatus)
 {
   // If mCanceled is true but mListener is non-null, that means
   // someone called Cancel() on us but the imgCancelRunnable is still
   // pending.  We still need to null out mListener before returning
   // from this function in this case.  That means we want to do the
   // RemoveProxy call right now, because we need to deliver the
@@ -368,17 +363,16 @@ imgRequestProxy::CancelAndForgetObserver
     NS_DispatchToCurrentThread(ev);
   }
 
   NullOutListener();
 
   return NS_OK;
 }
 
-/* void startDecode (); */
 NS_IMETHODIMP
 imgRequestProxy::StartDecoding()
 {
   // Flag this, so we know to transfer the request if our owner changes
   mDecodeRequested = true;
 
   nsRefPtr<Image> image = GetImage();
   if (image) {
@@ -387,17 +381,16 @@ imgRequestProxy::StartDecoding()
 
   if (GetOwner()) {
     GetOwner()->RequestDecode();
   }
 
   return NS_OK;
 }
 
-/* void requestDecode (); */
 NS_IMETHODIMP
 imgRequestProxy::RequestDecode()
 {
   // Flag this, so we know to transfer the request if our owner changes
   mDecodeRequested = true;
 
   nsRefPtr<Image> image = GetImage();
   if (image) {
@@ -407,43 +400,40 @@ imgRequestProxy::RequestDecode()
   if (GetOwner()) {
     GetOwner()->RequestDecode();
   }
 
   return NS_OK;
 }
 
 
-/* void lockImage (); */
 NS_IMETHODIMP
 imgRequestProxy::LockImage()
 {
   mLockCount++;
   nsRefPtr<Image> image = GetImage();
   if (image) {
     return image->LockImage();
   }
   return NS_OK;
 }
 
-/* void unlockImage (); */
 NS_IMETHODIMP
 imgRequestProxy::UnlockImage()
 {
   MOZ_ASSERT(mLockCount > 0, "calling unlock but no locks!");
 
   mLockCount--;
   nsRefPtr<Image> image = GetImage();
   if (image) {
     return image->UnlockImage();
   }
   return NS_OK;
 }
 
-/* void requestDiscard (); */
 NS_IMETHODIMP
 imgRequestProxy::RequestDiscard()
 {
   nsRefPtr<Image> image = GetImage();
   if (image) {
     return image->RequestDiscard();
   }
   return NS_OK;
@@ -482,61 +472,56 @@ imgRequestProxy::DecrementAnimationConsu
 void
 imgRequestProxy::ClearAnimationConsumers()
 {
   while (mAnimationConsumers > 0) {
     DecrementAnimationConsumers();
   }
 }
 
-/* void suspend (); */
 NS_IMETHODIMP
 imgRequestProxy::Suspend()
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void resume (); */
 NS_IMETHODIMP
 imgRequestProxy::Resume()
 {
     return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* attribute nsILoadGroup loadGroup */
 NS_IMETHODIMP
 imgRequestProxy::GetLoadGroup(nsILoadGroup** loadGroup)
 {
   NS_IF_ADDREF(*loadGroup = mLoadGroup.get());
   return NS_OK;
 }
 NS_IMETHODIMP
 imgRequestProxy::SetLoadGroup(nsILoadGroup* loadGroup)
 {
   mLoadGroup = loadGroup;
   return NS_OK;
 }
 
-/* attribute nsLoadFlags loadFlags */
 NS_IMETHODIMP
 imgRequestProxy::GetLoadFlags(nsLoadFlags* flags)
 {
   *flags = mLoadFlags;
   return NS_OK;
 }
 NS_IMETHODIMP
 imgRequestProxy::SetLoadFlags(nsLoadFlags flags)
 {
   mLoadFlags = flags;
   return NS_OK;
 }
 
 /**  imgIRequest methods **/
 
-/* attribute imgIContainer image; */
 NS_IMETHODIMP
 imgRequestProxy::GetImage(imgIContainer** aImage)
 {
   NS_ENSURE_TRUE(aImage, NS_ERROR_NULL_POINTER);
   // It's possible that our owner has an image but hasn't notified us of it -
   // that'll happen if we get Canceled before the owner instantiates its image
   // (because Canceling unregisters us as a listener on mOwner). If we're
   // in that situation, just grab the image off of mOwner.
@@ -552,40 +537,37 @@ imgRequestProxy::GetImage(imgIContainer*
     return NS_ERROR_FAILURE;
   }
 
   imageToReturn.swap(*aImage);
 
   return NS_OK;
 }
 
-/* readonly attribute unsigned long imageStatus; */
 NS_IMETHODIMP
 imgRequestProxy::GetImageStatus(uint32_t* aStatus)
 {
   nsRefPtr<ProgressTracker> progressTracker = GetProgressTracker();
   *aStatus = progressTracker->GetImageStatus();
 
   return NS_OK;
 }
 
-/* readonly attribute nresult imageErrorCode; */
 NS_IMETHODIMP
 imgRequestProxy::GetImageErrorCode(nsresult* aStatus)
 {
   if (!GetOwner()) {
     return NS_ERROR_FAILURE;
   }
 
   *aStatus = GetOwner()->GetImageErrorCode();
 
   return NS_OK;
 }
 
-/* readonly attribute nsIURI URI; */
 NS_IMETHODIMP
 imgRequestProxy::GetURI(nsIURI** aURI)
 {
   MOZ_ASSERT(NS_IsMainThread(), "Must be on main thread to convert URI");
   nsCOMPtr<nsIURI> uri = mURI->ToIURI();
   uri.forget(aURI);
   return NS_OK;
 }
@@ -607,26 +589,24 @@ imgRequestProxy::GetURI(ImageURL** aURI)
     return NS_ERROR_FAILURE;
   }
 
   NS_ADDREF(*aURI = mURI);
 
   return NS_OK;
 }
 
-/* readonly attribute imgINotificationObserver notificationObserver; */
 NS_IMETHODIMP
 imgRequestProxy::GetNotificationObserver(imgINotificationObserver** aObserver)
 {
   *aObserver = mListener;
   NS_IF_ADDREF(*aObserver);
   return NS_OK;
 }
 
-/* readonly attribute string mimeType; */
 NS_IMETHODIMP
 imgRequestProxy::GetMimeType(char** aMimeType)
 {
   if (!GetOwner()) {
     return NS_ERROR_FAILURE;
   }
 
   const char* type = GetOwner()->GetMimeType();
@@ -706,42 +686,39 @@ imgRequestProxy::PerformClone(imgINotifi
 
   // This is wrong!!! We need to notify asynchronously, but there's code that
   // assumes that we don't. This will be fixed in bug 580466.
   clone->SyncNotifyListener();
 
   return NS_OK;
 }
 
-/* readonly attribute nsIPrincipal imagePrincipal; */
 NS_IMETHODIMP
 imgRequestProxy::GetImagePrincipal(nsIPrincipal** aPrincipal)
 {
   if (!GetOwner()) {
     return NS_ERROR_FAILURE;
   }
 
   NS_ADDREF(*aPrincipal = GetOwner()->GetPrincipal());
   return NS_OK;
 }
 
-/* readonly attribute bool multipart; */
 NS_IMETHODIMP
 imgRequestProxy::GetMultipart(bool* aMultipart)
 {
   if (!GetOwner()) {
     return NS_ERROR_FAILURE;
   }
 
   *aMultipart = GetOwner()->GetMultipart();
 
   return NS_OK;
 }
 
-/* readonly attribute int32_t CORSMode; */
 NS_IMETHODIMP
 imgRequestProxy::GetCORSMode(int32_t* aCorsMode)
 {
   if (!GetOwner()) {
     return NS_ERROR_FAILURE;
   }
 
   *aCorsMode = GetOwner()->GetCORSMode();
--- a/intl/lwbrk/nsSemanticUnitScanner.cpp
+++ b/intl/lwbrk/nsSemanticUnitScanner.cpp
@@ -13,24 +13,22 @@ nsSemanticUnitScanner::nsSemanticUnitSca
 }
 
 nsSemanticUnitScanner::~nsSemanticUnitScanner()
 {
   /* destructor code */
 }
 
 
-/* void start (in string characterSet); */
 NS_IMETHODIMP nsSemanticUnitScanner::Start(const char *characterSet)
 {
     // do nothing for now.
     return NS_OK;
 }
 
-/* void next (in wstring text, in long length, in long pos, out boolean hasMoreUnits, out long begin, out long end); */
 NS_IMETHODIMP nsSemanticUnitScanner::Next(const char16_t *text, int32_t length, int32_t pos, bool isLastBuffer, int32_t *begin, int32_t *end, bool *_retval)
 {
     // xxx need to bullet proff and check input pointer 
     //  make sure begin, end and _retval is not nullptr here
 
     // if we reach the end, just return
     if (pos >= length) {
        *begin = pos;
--- a/intl/strres/nsStringBundle.cpp
+++ b/intl/strres/nsStringBundle.cpp
@@ -186,17 +186,16 @@ nsStringBundle::FormatStringFromName(con
   if (NS_FAILED(rv)) return rv;
 
   return FormatString(formatStr.get(), aParams, aLength, aResult);
 }
 
 
 NS_IMPL_ISUPPORTS(nsStringBundle, nsIStringBundle)
 
-/* void GetStringFromID (in long aID, out wstring aResult); */
 NS_IMETHODIMP
 nsStringBundle::GetStringFromID(int32_t aID, char16_t **aResult)
 {
   nsresult rv;
   rv = LoadProperties();
   if (NS_FAILED(rv)) return rv;
 
   *aResult = nullptr;
@@ -206,17 +205,16 @@ nsStringBundle::GetStringFromID(int32_t 
   NS_ENSURE_SUCCESS(rv, rv);
 
   *aResult = ToNewUnicode(tmpstr);
   NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY);
 
   return NS_OK;
 }
 
-/* void GetStringFromName (in wstring aName, out wstring aResult); */
 NS_IMETHODIMP
 nsStringBundle::GetStringFromName(const char16_t *aName, char16_t **aResult)
 {
   NS_ENSURE_ARG_POINTER(aName);
   NS_ENSURE_ARG_POINTER(aResult);
 
   nsresult rv;
   rv = LoadProperties();
--- a/intl/uconv/nsScriptableUConv.cpp
+++ b/intl/uconv/nsScriptableUConv.cpp
@@ -50,17 +50,16 @@ nsScriptableUnicodeConverter::ConvertFro
       return NS_OK;
     }
     free(*_retval);
   }
   *_retval = nullptr;
   return NS_ERROR_FAILURE;
 }
 
-/* ACString ConvertFromUnicode (in AString src); */
 NS_IMETHODIMP
 nsScriptableUnicodeConverter::ConvertFromUnicode(const nsAString& aSrc,
                                                  nsACString& _retval)
 {
   int32_t len;
   char* str;
   nsresult rv = ConvertFromUnicodeWithLength(aSrc, &len, &str);
   if (NS_SUCCEEDED(rv)) {
@@ -90,17 +89,16 @@ nsScriptableUnicodeConverter::FinishWith
     *aLength = finLength;
   else
     free(*_retval);
 
   return rv;
 
 }
 
-/* ACString Finish(); */
 NS_IMETHODIMP
 nsScriptableUnicodeConverter::Finish(nsACString& _retval)
 {
   // The documentation for this method says it should be called after
   // ConvertFromUnicode(). However, our own tests called it after
   // convertFromByteArray(), i.e. when *decoding*.
   // Assuming that there exists extensions that similarly call
   // this at the wrong time, let's deal. In general, it is a design
@@ -117,17 +115,16 @@ nsScriptableUnicodeConverter::Finish(nsA
     if (!_retval.Assign(str, len, mozilla::fallible)) {
       rv = NS_ERROR_OUT_OF_MEMORY;
     }
     free(str);
   }
   return rv;
 }
 
-/* AString ConvertToUnicode (in ACString src); */
 NS_IMETHODIMP
 nsScriptableUnicodeConverter::ConvertToUnicode(const nsACString& aSrc, nsAString& _retval)
 {
   nsACString::const_iterator i;
   aSrc.BeginReading(i);
   return ConvertFromByteArray(reinterpret_cast<const uint8_t*>(i.get()),
                               aSrc.Length(),
                               _retval);
@@ -198,17 +195,16 @@ nsScriptableUnicodeConverter::ConvertToB
   *_aData = reinterpret_cast<uint8_t*>(malloc(str.Length()));
   if (!*_aData)
     return NS_ERROR_OUT_OF_MEMORY;
   memcpy(*_aData, str.get(), str.Length());
   *aLen = str.Length();
   return NS_OK;
 }
 
-/* nsIInputStream convertToInputStream(in AString aString); */
 NS_IMETHODIMP
 nsScriptableUnicodeConverter::ConvertToInputStream(const nsAString& aString,
                                                    nsIInputStream** _retval)
 {
   nsresult rv;
   nsCOMPtr<nsIStringInputStream> inputStream =
     do_CreateInstance("@mozilla.org/io/string-input-stream;1", &rv);
   if (NS_FAILED(rv))
@@ -225,17 +221,16 @@ nsScriptableUnicodeConverter::ConvertToI
     free(data);
     return rv;
   }
 
   NS_ADDREF(*_retval = inputStream);
   return rv;
 }
 
-/* attribute string charset; */
 NS_IMETHODIMP
 nsScriptableUnicodeConverter::GetCharset(char * *aCharset)
 {
   *aCharset = ToNewCString(mCharset);
   if (!*aCharset)
     return NS_ERROR_OUT_OF_MEMORY;
 
   return NS_OK;
--- a/js/xpconnect/loader/mozJSComponentLoader.cpp
+++ b/js/xpconnect/loader/mozJSComponentLoader.cpp
@@ -1046,17 +1046,16 @@ mozJSComponentLoader::ImportInto(const n
     RootedObject targetObject(callercx, aTargetObj);
     RootedObject global(callercx);
     rv = ImportInto(aLocation, targetObject, callercx, &global);
     NS_ENSURE_SUCCESS(rv, rv);
     *_retval = global;
     return NS_OK;
 }
 
-/* boolean isModuleLoaded (in AUTF8String registryLocation); */
 NS_IMETHODIMP
 mozJSComponentLoader::IsModuleLoaded(const nsACString& aLocation,
                                      bool* retval)
 {
     MOZ_ASSERT(nsContentUtils::IsCallerChrome());
 
     nsresult rv;
     if (!mInitialized) {
--- a/js/xpconnect/public/xpc_map_end.h
+++ b/js/xpconnect/public/xpc_map_end.h
@@ -68,17 +68,16 @@ XPC_MAP_CLASSNAME::GetScriptableFlags()
     XPC_MAP_FLAGS |
 #endif
     0;
 }
 
 /**************************************************************/
 
 #ifndef XPC_MAP_WANT_PRECREATE
-/* void preCreate (in nsISupports nativeObj, in JSContextPtr cx, in JSObjectPtr globalObj, out JSObjectPtr parentObj); */
 NS_IMETHODIMP XPC_MAP_CLASSNAME::PreCreate(nsISupports* nativeObj, JSContext * cx, JSObject * globalObj, JSObject * *parentObj)
     {NS_ERROR("never called"); return NS_ERROR_NOT_IMPLEMENTED;}
 #endif
 
 #ifndef XPC_MAP_WANT_ADDPROPERTY
 NS_IMETHODIMP XPC_MAP_CLASSNAME::AddProperty(nsIXPConnectWrappedNative* wrapper, JSContext * cx, JSObject * obj, jsid id, JS::HandleValue val, bool* _retval)
     {NS_ERROR("never called"); return NS_ERROR_NOT_IMPLEMENTED;}
 #endif
--- a/js/xpconnect/src/XPCCallContext.cpp
+++ b/js/xpconnect/src/XPCCallContext.cpp
@@ -228,69 +228,62 @@ XPCCallContext::~XPCCallContext()
     if (mXPCContext) {
         mXPCContext->SetCallingLangType(mPrevCallerLanguage);
 
         DebugOnly<XPCCallContext*> old = XPCJSRuntime::Get()->SetCallContext(mPrevCallContext);
         MOZ_ASSERT(old == this, "bad pop from per thread data");
     }
 }
 
-/* readonly attribute nsISupports Callee; */
 NS_IMETHODIMP
 XPCCallContext::GetCallee(nsISupports * *aCallee)
 {
     nsCOMPtr<nsISupports> rval = mWrapper ? mWrapper->GetIdentityObject() : nullptr;
     rval.forget(aCallee);
     return NS_OK;
 }
 
-/* readonly attribute uint16_t CalleeMethodIndex; */
 NS_IMETHODIMP
 XPCCallContext::GetCalleeMethodIndex(uint16_t* aCalleeMethodIndex)
 {
     *aCalleeMethodIndex = mMethodIndex;
     return NS_OK;
 }
 
-/* readonly attribute XPCNativeInterface CalleeInterface; */
 NS_IMETHODIMP
 XPCCallContext::GetCalleeInterface(nsIInterfaceInfo * *aCalleeInterface)
 {
     nsCOMPtr<nsIInterfaceInfo> rval = mInterface->GetInterfaceInfo();
     rval.forget(aCalleeInterface);
     return NS_OK;
 }
 
-/* readonly attribute nsIClassInfo CalleeClassInfo; */
 NS_IMETHODIMP
 XPCCallContext::GetCalleeClassInfo(nsIClassInfo * *aCalleeClassInfo)
 {
     nsCOMPtr<nsIClassInfo> rval = mWrapper ? mWrapper->GetClassInfo() : nullptr;
     rval.forget(aCalleeClassInfo);
     return NS_OK;
 }
 
-/* readonly attribute JSContextPtr JSContext; */
 NS_IMETHODIMP
 XPCCallContext::GetJSContext(JSContext * *aJSContext)
 {
     JS_AbortIfWrongThread(JS_GetRuntime(mJSContext));
     *aJSContext = mJSContext;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t Argc; */
 NS_IMETHODIMP
 XPCCallContext::GetArgc(uint32_t* aArgc)
 {
     *aArgc = (uint32_t) mArgc;
     return NS_OK;
 }
 
-/* readonly attribute JSValPtr ArgvPtr; */
 NS_IMETHODIMP
 XPCCallContext::GetArgvPtr(Value** aArgvPtr)
 {
     *aArgvPtr = mArgv;
     return NS_OK;
 }
 
 NS_IMETHODIMP
--- a/js/xpconnect/src/XPCComponents.cpp
+++ b/js/xpconnect/src/XPCComponents.cpp
@@ -144,60 +144,54 @@ nsXPCComponents_Interfaces::GetInterface
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCComponents_Interfaces::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCComponents_Interfaces::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCComponents_Interfaces::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCComponents_Interfaces";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCComponents_Interfaces::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCComponents_Interfaces::GetFlags(uint32_t* aFlags)
 {
     // Mark ourselves as a DOM object so that instances may be created in
     // unprivileged scopes.
     *aFlags = nsIClassInfo::DOM_OBJECT;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCComponents_Interfaces::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCComponents_Interfaces::nsXPCComponents_Interfaces()
 {
@@ -377,60 +371,54 @@ nsXPCComponents_InterfacesByID::GetInter
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCComponents_InterfacesByID::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCComponents_InterfacesByID::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCComponents_InterfacesByID::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCComponents_InterfacesByID";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCComponents_InterfacesByID::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCComponents_InterfacesByID::GetFlags(uint32_t* aFlags)
 {
     // Mark ourselves as a DOM object so that instances may be created in
     // unprivileged scopes.
     *aFlags = nsIClassInfo::DOM_OBJECT;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCComponents_InterfacesByID::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCComponents_InterfacesByID::nsXPCComponents_InterfacesByID()
 {
@@ -612,58 +600,52 @@ nsXPCComponents_Classes::GetInterfaces(u
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCComponents_Classes::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCComponents_Classes::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCComponents_Classes::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCComponents_Classes";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCComponents_Classes::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCComponents_Classes::GetFlags(uint32_t* aFlags)
 {
     *aFlags = 0;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCComponents_Classes::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCComponents_Classes::nsXPCComponents_Classes()
 {
@@ -827,58 +809,52 @@ nsXPCComponents_ClassesByID::GetInterfac
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCComponents_ClassesByID::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCComponents_ClassesByID::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCComponents_ClassesByID::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCComponents_ClassesByID";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCComponents_ClassesByID::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCComponents_ClassesByID::GetFlags(uint32_t* aFlags)
 {
     *aFlags = 0;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCComponents_ClassesByID::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCComponents_ClassesByID::nsXPCComponents_ClassesByID()
 {
@@ -1065,60 +1041,54 @@ nsXPCComponents_Results::GetInterfaces(u
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCComponents_Results::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCComponents_Results::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCComponents_Results::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCComponents_Results";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCComponents_Results::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCComponents_Results::GetFlags(uint32_t* aFlags)
 {
     // Mark ourselves as a DOM object so that instances may be created in
     // unprivileged scopes.
     *aFlags = nsIClassInfo::DOM_OBJECT;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCComponents_Results::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCComponents_Results::nsXPCComponents_Results()
 {
@@ -1263,58 +1233,52 @@ nsXPCComponents_ID::GetInterfaces(uint32
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCComponents_ID::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCComponents_ID::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCComponents_ID::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCComponents_ID";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCComponents_ID::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCComponents_ID::GetFlags(uint32_t* aFlags)
 {
     *aFlags = 0;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCComponents_ID::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCComponents_ID::nsXPCComponents_ID()
 {
@@ -1340,26 +1304,24 @@ NS_IMPL_RELEASE(nsXPCComponents_ID)
 #define XPC_MAP_QUOTED_CLASSNAME   "nsXPCComponents_ID"
 #define                             XPC_MAP_WANT_CALL
 #define                             XPC_MAP_WANT_CONSTRUCT
 #define                             XPC_MAP_WANT_HASINSTANCE
 #define XPC_MAP_FLAGS               nsIXPCScriptable::ALLOW_PROP_MODS_DURING_RESOLVE
 #include "xpc_map_end.h" /* This will #undef the above */
 
 
-/* bool call (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsXPCComponents_ID::Call(nsIXPConnectWrappedNative* wrapper, JSContext* cx, JSObject* objArg,
                          const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     return CallOrConstruct(wrapper, cx, obj, args, _retval);
 }
 
-/* bool construct (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsXPCComponents_ID::Construct(nsIXPConnectWrappedNative* wrapper, JSContext* cx, JSObject* objArg,
                               const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     return CallOrConstruct(wrapper, cx, obj, args, _retval);
 }
 
@@ -1399,17 +1361,16 @@ nsXPCComponents_ID::CallOrConstruct(nsIX
     JSObject* newobj = xpc_NewIDObject(cx, obj, id);
     if (!newobj)
         return NS_ERROR_UNEXPECTED;
 
     args.rval().setObject(*newobj);
     return NS_OK;
 }
 
-/* bool hasInstance (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val, out bool bp); */
 NS_IMETHODIMP
 nsXPCComponents_ID::HasInstance(nsIXPConnectWrappedNative* wrapper,
                                 JSContext* cx, JSObject* obj,
                                 HandleValue val, bool* bp, bool* _retval)
 {
     if (bp)
         *bp = JSValIsInterfaceOfType(cx, val, NS_GET_IID(nsIJSID));
     return NS_OK;
@@ -1471,58 +1432,52 @@ nsXPCComponents_Exception::GetInterfaces
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCComponents_Exception::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCComponents_Exception::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCComponents_Exception::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCComponents_Exception";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCComponents_Exception::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCComponents_Exception::GetFlags(uint32_t* aFlags)
 {
     *aFlags = 0;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCComponents_Exception::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCComponents_Exception::nsXPCComponents_Exception()
 {
@@ -1548,26 +1503,24 @@ NS_IMPL_RELEASE(nsXPCComponents_Exceptio
 #define XPC_MAP_QUOTED_CLASSNAME   "nsXPCComponents_Exception"
 #define                             XPC_MAP_WANT_CALL
 #define                             XPC_MAP_WANT_CONSTRUCT
 #define                             XPC_MAP_WANT_HASINSTANCE
 #define XPC_MAP_FLAGS               nsIXPCScriptable::ALLOW_PROP_MODS_DURING_RESOLVE
 #include "xpc_map_end.h" /* This will #undef the above */
 
 
-/* bool call (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsXPCComponents_Exception::Call(nsIXPConnectWrappedNative* wrapper, JSContext* cx, JSObject* objArg,
                                 const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     return CallOrConstruct(wrapper, cx, obj, args, _retval);
 }
 
-/* bool construct (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsXPCComponents_Exception::Construct(nsIXPConnectWrappedNative* wrapper, JSContext* cx,
                                      JSObject* objArg, const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     return CallOrConstruct(wrapper, cx, obj, args, _retval);
 }
 
@@ -1751,17 +1704,16 @@ nsXPCComponents_Exception::CallOrConstru
     if (NS_FAILED(xpc->WrapNative(cx, obj, e, NS_GET_IID(nsIXPCException), newObj.address())) || !newObj) {
         return ThrowAndFail(NS_ERROR_XPC_CANT_CREATE_WN, cx, _retval);
     }
 
     args.rval().setObject(*newObj);
     return NS_OK;
 }
 
-/* bool hasInstance (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val, out bool bp); */
 NS_IMETHODIMP
 nsXPCComponents_Exception::HasInstance(nsIXPConnectWrappedNative* wrapper,
                                        JSContext * cx, JSObject * obj,
                                        HandleValue val, bool* bp,
                                        bool* _retval)
 {
     using namespace mozilla::dom;
 
@@ -1847,58 +1799,52 @@ nsXPCConstructor::GetInterfaces(uint32_t
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCConstructor::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCConstructor::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCConstructor::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCConstructor";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCConstructor::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCConstructor::GetFlags(uint32_t* aFlags)
 {
     *aFlags = 0;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCConstructor::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCConstructor::nsXPCConstructor(nsIJSCID* aClassID,
                                    nsIJSIID* aInterfaceID,
@@ -1912,35 +1858,32 @@ nsXPCConstructor::nsXPCConstructor(nsIJS
 }
 
 nsXPCConstructor::~nsXPCConstructor()
 {
     if (mInitializer)
         free(mInitializer);
 }
 
-/* readonly attribute nsIJSCID classID; */
 NS_IMETHODIMP
 nsXPCConstructor::GetClassID(nsIJSCID * *aClassID)
 {
     nsRefPtr<nsIJSCID> rval = mClassID;
     rval.forget(aClassID);
     return NS_OK;
 }
 
-/* readonly attribute nsIJSIID interfaceID; */
 NS_IMETHODIMP
 nsXPCConstructor::GetInterfaceID(nsIJSIID * *aInterfaceID)
 {
     nsRefPtr<nsIJSIID> rval = mInterfaceID;
     rval.forget(aInterfaceID);
     return NS_OK;
 }
 
-/* readonly attribute string initializer; */
 NS_IMETHODIMP
 nsXPCConstructor::GetInitializer(char * *aInitializer)
 {
     XPC_STRING_GETTER_BODY(aInitializer, mInitializer);
 }
 
 NS_INTERFACE_MAP_BEGIN(nsXPCConstructor)
   NS_INTERFACE_MAP_ENTRY(nsIXPCConstructor)
@@ -1956,27 +1899,25 @@ NS_IMPL_RELEASE(nsXPCConstructor)
 #define XPC_MAP_CLASSNAME           nsXPCConstructor
 #define XPC_MAP_QUOTED_CLASSNAME   "nsXPCConstructor"
 #define                             XPC_MAP_WANT_CALL
 #define                             XPC_MAP_WANT_CONSTRUCT
 #define XPC_MAP_FLAGS               0
 #include "xpc_map_end.h" /* This will #undef the above */
 
 
-/* bool call (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsXPCConstructor::Call(nsIXPConnectWrappedNative* wrapper, JSContext* cx, JSObject* objArg,
                        const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     return CallOrConstruct(wrapper, cx, obj, args, _retval);
 
 }
 
-/* bool construct (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsXPCConstructor::Construct(nsIXPConnectWrappedNative* wrapper, JSContext* cx, JSObject* objArg,
                             const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     return CallOrConstruct(wrapper, cx, obj, args, _retval);
 }
 
@@ -2085,58 +2026,52 @@ nsXPCComponents_Constructor::GetInterfac
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper(); */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     *retval = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "XPCComponents_Constructor";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::GetFlags(uint32_t* aFlags)
 {
     *aFlags = 0;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 nsXPCComponents_Constructor::nsXPCComponents_Constructor()
 {
@@ -2162,26 +2097,24 @@ NS_IMPL_RELEASE(nsXPCComponents_Construc
 #define XPC_MAP_QUOTED_CLASSNAME   "nsXPCComponents_Constructor"
 #define                             XPC_MAP_WANT_CALL
 #define                             XPC_MAP_WANT_CONSTRUCT
 #define                             XPC_MAP_WANT_HASINSTANCE
 #define XPC_MAP_FLAGS               nsIXPCScriptable::ALLOW_PROP_MODS_DURING_RESOLVE
 #include "xpc_map_end.h" /* This will #undef the above */
 
 
-/* bool call (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::Call(nsIXPConnectWrappedNative* wrapper, JSContext* cx,
                                   JSObject* objArg, const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     return CallOrConstruct(wrapper, cx, obj, args, _retval);
 }
 
-/* bool construct (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::Construct(nsIXPConnectWrappedNative* wrapper, JSContext* cx,
                                        JSObject* objArg, const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     return CallOrConstruct(wrapper, cx, obj, args, _retval);
 }
 
@@ -2312,17 +2245,16 @@ nsXPCComponents_Constructor::CallOrConst
     if (NS_FAILED(xpc->WrapNative(cx, obj, ctor, NS_GET_IID(nsIXPCConstructor), newObj.address())) || !newObj) {
         return ThrowAndFail(NS_ERROR_XPC_CANT_CREATE_WN, cx, _retval);
     }
 
     args.rval().setObject(*newObj);
     return NS_OK;
 }
 
-/* bool hasInstance (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val, out bool bp); */
 NS_IMETHODIMP
 nsXPCComponents_Constructor::HasInstance(nsIXPConnectWrappedNative* wrapper,
                                          JSContext * cx, JSObject * obj,
                                          HandleValue val, bool* bp,
                                          bool* _retval)
 {
     if (bp)
         *bp = JSValIsInterfaceOfType(cx, val, NS_GET_IID(nsIXPCConstructor));
@@ -2369,17 +2301,16 @@ nsXPCComponents_Utils::GetSandbox(nsIXPC
     if (!mSandbox)
         mSandbox = NewSandboxConstructor();
 
     nsCOMPtr<nsIXPCComponents_utils_Sandbox> rval = mSandbox;
     rval.forget(aSandbox);
     return NS_OK;
 }
 
-/* void reportError (); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::ReportError(HandleValue error, JSContext* cx)
 {
     // This function shall never fail! Silently eat any failure conditions.
 
     nsCOMPtr<nsIConsoleService> console(do_GetService(NS_CONSOLESERVICE_CONTRACTID));
 
     nsCOMPtr<nsIScriptError> scripterr(do_CreateInstance(NS_SCRIPTERROR_CONTRACTID));
@@ -2439,17 +2370,16 @@ nsXPCComponents_Utils::ReportError(Handl
             msg, fileName, EmptyString(), lineNo, 0, 0,
             "XPConnect JavaScript", innerWindowID);
     NS_ENSURE_SUCCESS(rv, NS_OK);
 
     console->LogMessage(scripterr);
     return NS_OK;
 }
 
-/* void evalInSandbox(in AString source, in nativeobj sandbox); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::EvalInSandbox(const nsAString& source,
                                      HandleValue sandboxVal,
                                      HandleValue version,
                                      const nsACString& filenameArg,
                                      int32_t lineNumber,
                                      JSContext* cx,
                                      uint8_t optionalArgc,
@@ -2621,79 +2551,71 @@ nsXPCComponents_Utils::ImportGlobalPrope
         !options.Define(cx, global))
     {
         return NS_ERROR_FAILURE;
     }
 
     return NS_OK;
 }
 
-/* xpcIJSWeakReference getWeakReference (); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::GetWeakReference(HandleValue object, JSContext* cx,
                                         xpcIJSWeakReference** _retval)
 {
     nsRefPtr<xpcJSWeakReference> ref = new xpcJSWeakReference();
     nsresult rv = ref->Init(cx, object);
     NS_ENSURE_SUCCESS(rv, rv);
     ref.forget(_retval);
     return NS_OK;
 }
 
-/* void forceGC (); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::ForceGC()
 {
     JSRuntime* rt = nsXPConnect::GetRuntimeInstance()->Runtime();
     PrepareForFullGC(rt);
     GCForReason(rt, GC_NORMAL, gcreason::COMPONENT_UTILS);
     return NS_OK;
 }
 
-/* void forceCC (); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::ForceCC(nsICycleCollectorListener* listener)
 {
     nsJSContext::CycleCollectNow(listener);
     return NS_OK;
 }
 
-/* void finishCC(); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::FinishCC()
 {
     nsCycleCollector_finishAnyCurrentCollection();
     return NS_OK;
 }
 
-/* void ccSlice(in long long budget); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::CcSlice(int64_t budget)
 {
     nsJSContext::RunCycleCollectorWorkSlice(budget);
     return NS_OK;
 }
 
-/* long getMaxCCSliceTimeSinceClear(); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::GetMaxCCSliceTimeSinceClear(int32_t* out)
 {
     *out = nsJSContext::GetMaxCCSliceTimeSinceClear();
     return NS_OK;
 }
 
-/* void clearMaxCCTime(); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::ClearMaxCCTime()
 {
     nsJSContext::ClearMaxCCSliceTime();
     return NS_OK;
 }
 
-/* void forceShrinkingGC (); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::ForceShrinkingGC()
 {
     JSRuntime* rt = nsXPConnect::GetRuntimeInstance()->Runtime();
     PrepareForFullGC(rt);
     GCForReason(rt, GC_SHRINK, gcreason::COMPONENT_UTILS);
     return NS_OK;
 }
@@ -2726,45 +2648,41 @@ class PreciseGCRunnable : public nsRunna
         return NS_OK;
     }
 
   private:
     nsRefPtr<ScheduledGCCallback> mCallback;
     bool mShrinking;
 };
 
-/* void schedulePreciseGC(in ScheduledGCCallback callback); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::SchedulePreciseGC(ScheduledGCCallback* aCallback)
 {
     nsRefPtr<PreciseGCRunnable> event = new PreciseGCRunnable(aCallback, false);
     return NS_DispatchToMainThread(event);
 }
 
-/* void schedulePreciseShrinkingGC(in ScheduledGCCallback callback); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::SchedulePreciseShrinkingGC(ScheduledGCCallback* aCallback)
 {
     nsRefPtr<PreciseGCRunnable> event = new PreciseGCRunnable(aCallback, true);
     return NS_DispatchToMainThread(event);
 }
 
-/* void unlinkGhostWindows(); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::UnlinkGhostWindows()
 {
 #ifdef DEBUG
     nsWindowMemoryReporter::UnlinkGhostWindows();
     return NS_OK;
 #else
     return NS_ERROR_NOT_IMPLEMENTED;
 #endif
 }
 
-/* [implicit_jscontext] jsval nondeterministicGetWeakMapKeys(in jsval aMap); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::NondeterministicGetWeakMapKeys(HandleValue aMap,
                                                       JSContext* aCx,
                                                       MutableHandleValue aKeys)
 {
     if (!aMap.isObject()) {
         aKeys.setUndefined();
         return NS_OK;
@@ -2772,17 +2690,16 @@ nsXPCComponents_Utils::NondeterministicG
     RootedObject objRet(aCx);
     RootedObject mapObj(aCx, &aMap.toObject());
     if (!JS_NondeterministicGetWeakMapKeys(aCx, mapObj, &objRet))
         return NS_ERROR_OUT_OF_MEMORY;
      aKeys.set(objRet ? ObjectValue(*objRet) : UndefinedValue());
     return NS_OK;
 }
 
-/* [implicit_jscontext] jsval getJSTestingFunctions(); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::GetJSTestingFunctions(JSContext* cx,
                                              MutableHandleValue retval)
 {
     JSObject* obj = js::GetTestingFunctions(cx);
     if (!obj)
         return NS_ERROR_XPC_JAVASCRIPT_ERROR;
     retval.setObject(*obj);
@@ -2826,17 +2743,16 @@ nsXPCComponents_Utils::CallFunctionWithA
                               JS::HandleValueArray::empty(), retval))
     {
         return NS_ERROR_XPC_JAVASCRIPT_ERROR;
     }
 
     return NS_OK;
 }
 
-/* void getGlobalForObject(); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::GetGlobalForObject(HandleValue object,
                                           JSContext* cx,
                                           MutableHandleValue retval)
 {
     // First argument must be an object.
     if (object.isPrimitive())
         return NS_ERROR_XPC_BAD_CONVERT_JS;
@@ -2859,45 +2775,42 @@ nsXPCComponents_Utils::GetGlobalForObjec
     // Outerize if necessary.
     if (js::ObjectOp outerize = js::GetObjectClass(obj)->ext.outerObject)
       obj = outerize(cx, obj);
 
     retval.setObject(*obj);
     return NS_OK;
 }
 
-/* boolean isProxy(in value vobj); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::IsProxy(HandleValue vobj, JSContext* cx, bool* rval)
 {
     if (!vobj.isObject()) {
         *rval = false;
         return NS_OK;
     }
 
     RootedObject obj(cx, &vobj.toObject());
     obj = js::CheckedUnwrap(obj, /* stopAtOuter = */ false);
     NS_ENSURE_TRUE(obj, NS_ERROR_FAILURE);
 
     *rval = js::IsScriptedProxy(obj);
     return NS_OK;
 }
 
-/* jsval exportFunction(in jsval vfunction, in jsval vscope, in jsval voptions); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::ExportFunction(HandleValue vfunction, HandleValue vscope,
                                       HandleValue voptions, JSContext* cx,
                                       MutableHandleValue rval)
 {
     if (!xpc::ExportFunction(cx, vfunction, vscope, voptions, rval))
         return NS_ERROR_FAILURE;
     return NS_OK;
 }
 
-/* jsval createObjectIn(in jsval vobj, [optional] in jsval voptions); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::CreateObjectIn(HandleValue vobj, HandleValue voptions,
                                       JSContext* cx, MutableHandleValue rval)
 {
     RootedObject optionsObject(cx, voptions.isObject() ? &voptions.toObject()
                                                        : nullptr);
     CreateObjectInOptions options(cx, optionsObject);
     if (voptions.isObject() &&
@@ -2906,17 +2819,16 @@ nsXPCComponents_Utils::CreateObjectIn(Ha
         return NS_ERROR_FAILURE;
     }
 
     if (!xpc::CreateObjectIn(cx, vobj, options, rval))
         return NS_ERROR_FAILURE;
     return NS_OK;
 }
 
-/* void makeObjectPropsNormal(jsval vobj); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::MakeObjectPropsNormal(HandleValue vobj, JSContext* cx)
 {
     if (!cx)
         return NS_ERROR_FAILURE;
 
     // first argument must be an object
     if (vobj.isPrimitive())
@@ -2983,17 +2895,16 @@ nsXPCComponents_Utils::GetCrossProcessWr
 {
     if (obj.isPrimitive() || !jsipc::IsWrappedCPOW(&obj.toObject()))
         return NS_ERROR_INVALID_ARG;
 
     jsipc::GetWrappedCPOWTag(&obj.toObject(), out);
     return NS_OK;
 }
 
-/* void recomputerWrappers(jsval vobj); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::RecomputeWrappers(HandleValue vobj, JSContext* cx)
 {
     // Determine the compartment of the given object, if any.
     JSCompartment* c = vobj.isObject()
                        ? js::GetObjectCompartment(js::UncheckedUnwrap(&vobj.toObject()))
                        : nullptr;
 
@@ -3003,63 +2914,58 @@ nsXPCComponents_Utils::RecomputeWrappers
     // Otherwise, recompute wrappers for the given compartment.
     else
         js::RecomputeWrappers(cx, js::SingleCompartment(c), js::AllCompartments()) &&
         js::RecomputeWrappers(cx, js::AllCompartments(), js::SingleCompartment(c));
 
     return NS_OK;
 }
 
-/* jsval setWantXrays(jsval vscope); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::SetWantXrays(HandleValue vscope, JSContext* cx)
 {
     if (!vscope.isObject())
         return NS_ERROR_INVALID_ARG;
     JSObject* scopeObj = js::UncheckedUnwrap(&vscope.toObject());
     JSCompartment* compartment = js::GetObjectCompartment(scopeObj);
     CompartmentPrivate::Get(scopeObj)->wantXrays = true;
     bool ok = js::RecomputeWrappers(cx, js::SingleCompartment(compartment),
                                     js::AllCompartments());
     NS_ENSURE_TRUE(ok, NS_ERROR_FAILURE);
     return NS_OK;
 }
 
-/* jsval forcePermissiveCOWs(); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::ForcePermissiveCOWs(JSContext* cx)
 {
     CrashIfNotInAutomation();
     CompartmentPrivate::Get(CurrentGlobalOrNull(cx))->forcePermissiveCOWs = true;
     return NS_OK;
 }
 
-/* jsval skipCOWCallableChecks(); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::SkipCOWCallableChecks(JSContext* cx)
 {
     CompartmentPrivate::Get(CurrentGlobalOrNull(cx))->skipCOWCallableChecks = true;
     return NS_OK;
 }
 
-/* jsval forcePrivilegedComponentsForScope(jsval vscope); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::ForcePrivilegedComponentsForScope(HandleValue vscope,
                                                          JSContext* cx)
 {
     if (!vscope.isObject())
         return NS_ERROR_INVALID_ARG;
     CrashIfNotInAutomation();
     JSObject* scopeObj = js::UncheckedUnwrap(&vscope.toObject());
     XPCWrappedNativeScope* scope = ObjectScope(scopeObj);
     scope->ForcePrivilegedComponents();
     return NS_OK;
 }
 
-/* jsval getComponentsForScope(jsval vscope); */
 NS_IMETHODIMP
 nsXPCComponents_Utils::GetComponentsForScope(HandleValue vscope, JSContext* cx,
                                              MutableHandleValue rval)
 {
     if (!vscope.isObject())
         return NS_ERROR_INVALID_ARG;
     JSObject* scopeObj = js::UncheckedUnwrap(&vscope.toObject());
     XPCWrappedNativeScope* scope = ObjectScope(scopeObj);
@@ -3607,17 +3513,16 @@ nsXPCComponents::SetReturnCode(JSContext
     if (!ToUint32(aCx, aCode, (uint32_t*)&rv))
         return NS_ERROR_FAILURE;
     xpcc->SetPendingResult(rv);
     xpcc->SetLastResult(rv);
     return NS_OK;
 }
 
 // static
-/* void reportError (); */
 NS_IMETHODIMP nsXPCComponents::ReportError(HandleValue error, JSContext* cx)
 {
     NS_WARNING("Components.reportError deprecated, use Components.utils.reportError");
 
     nsCOMPtr<nsIXPCComponents_Utils> utils;
     nsresult rv = GetUtils(getter_AddRefs(utils));
     if (NS_FAILED(rv))
         return rv;
--- a/js/xpconnect/src/XPCJSID.cpp
+++ b/js/xpconnect/src/XPCJSID.cpp
@@ -403,17 +403,16 @@ nsJSIID::Resolve(nsIXPConnectWrappedNati
         *_retval = JS_DefinePropertyById(cx, obj, id, val,
                                          JSPROP_ENUMERATE | JSPROP_READONLY |
                                          JSPROP_PERMANENT | JSPROP_RESOLVING);
     }
 
     return NS_OK;
 }
 
-/* bool enumerate (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj); */
 NS_IMETHODIMP
 nsJSIID::Enumerate(nsIXPConnectWrappedNative* wrapper,
                    JSContext * cx, JSObject * objArg, bool* _retval)
 {
     // In this case, let's just eagerly resolve...
 
     RootedObject obj(cx, objArg);
     XPCCallContext ccx(JS_CALLER, cx);
@@ -500,17 +499,16 @@ xpc::HasInstance(JSContext* cx, HandleOb
     // preserve that behavior. This is just a compatibility hack, so we don't
     // really care if it fails.
     if (IS_WN_REFLECTOR(obj))
         (void) XPCWrappedNative::Get(obj)->FindTearOff(*iid);
 
     return NS_OK;
 }
 
-/* bool hasInstance (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val, out bool bp); */
 NS_IMETHODIMP
 nsJSIID::HasInstance(nsIXPConnectWrappedNative* wrapper,
                      JSContext* cx, JSObject * /* unused */,
                      HandleValue val, bool* bp, bool* _retval)
 {
     *bp = false;
 
     if (val.isPrimitive())
@@ -619,17 +617,16 @@ GetIIDArg(uint32_t argc, const JS::Value
             return nullptr;
         }
     } else
         iid = &NS_GET_IID(nsISupports);
 
     return iid;
 }
 
-/* nsISupports createInstance (); */
 NS_IMETHODIMP
 nsJSCID::CreateInstance(HandleValue iidval, JSContext* cx,
                         uint8_t optionalArgc, MutableHandleValue retval)
 {
     if (!mDetails->IsValid())
         return NS_ERROR_XPC_BAD_CID;
 
     if (NS_FAILED(nsXPConnect::SecurityManager()->CanCreateInstance(cx, mDetails->ID()))) {
@@ -655,17 +652,16 @@ nsJSCID::CreateInstance(HandleValue iidv
         return NS_ERROR_XPC_CI_RETURNED_FAILURE;
 
     rv = nsContentUtils::WrapNative(cx, inst, iid, retval);
     if (NS_FAILED(rv) || retval.isPrimitive())
         return NS_ERROR_XPC_CANT_CREATE_WN;
     return NS_OK;
 }
 
-/* nsISupports getService (); */
 NS_IMETHODIMP
 nsJSCID::GetService(HandleValue iidval, JSContext* cx, uint8_t optionalArgc,
                     MutableHandleValue retval)
 {
     if (!mDetails->IsValid())
         return NS_ERROR_XPC_BAD_CID;
 
     if (NS_FAILED(nsXPConnect::SecurityManager()->CanCreateInstance(cx, mDetails->ID()))) {
@@ -694,17 +690,16 @@ nsJSCID::GetService(HandleValue iidval, 
     rv = nsContentUtils::WrapNative(cx, srvc, iid, &v);
     if (NS_FAILED(rv) || !v.isObject())
         return NS_ERROR_XPC_CANT_CREATE_WN;
 
     retval.set(v);
     return NS_OK;
 }
 
-/* bool construct (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in uint32_t argc, in JSValPtr argv, in JSValPtr vp); */
 NS_IMETHODIMP
 nsJSCID::Construct(nsIXPConnectWrappedNative* wrapper,
                    JSContext* cx, JSObject* objArg,
                    const CallArgs& args, bool* _retval)
 {
     RootedObject obj(cx, objArg);
     XPCJSRuntime* rt = nsXPConnect::GetRuntimeInstance();
     if (!rt)
@@ -714,17 +709,16 @@ nsJSCID::Construct(nsIXPConnectWrappedNa
     RootedId name(cx, rt->GetStringID(XPCJSRuntime::IDX_CREATE_INSTANCE));
     XPCCallContext ccx(JS_CALLER, cx, obj, nullptr, name, args.length(), args.array(),
                        args.rval().address());
 
     *_retval = XPCWrappedNative::CallMethod(ccx);
     return NS_OK;
 }
 
-/* bool hasInstance (in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in jsval val, out bool bp); */
 NS_IMETHODIMP
 nsJSCID::HasInstance(nsIXPConnectWrappedNative* wrapper,
                      JSContext* cx, JSObject * /* unused */,
                      HandleValue val, bool* bp, bool* _retval)
 {
     *bp = false;
     nsresult rv = NS_OK;
 
--- a/js/xpconnect/src/XPCRuntimeService.cpp
+++ b/js/xpconnect/src/XPCRuntimeService.cpp
@@ -108,59 +108,53 @@ BackstagePass::GetInterfaces(uint32_t* a
 oom:
     while (index)
         free(array[--index]);
     free(array);
     *aArray = nullptr;
     return NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* nsIXPCScriptable getScriptableHelper (); */
 NS_IMETHODIMP
 BackstagePass::GetScriptableHelper(nsIXPCScriptable** retval)
 {
     nsCOMPtr<nsIXPCScriptable> scriptable = this;
     scriptable.forget(retval);
     return NS_OK;
 }
 
-/* readonly attribute string contractID; */
 NS_IMETHODIMP
 BackstagePass::GetContractID(char * *aContractID)
 {
     *aContractID = nullptr;
     return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* readonly attribute string classDescription; */
 NS_IMETHODIMP
 BackstagePass::GetClassDescription(char * *aClassDescription)
 {
     static const char classDescription[] = "BackstagePass";
     *aClassDescription = (char*)nsMemory::Clone(classDescription, sizeof(classDescription));
     return *aClassDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute nsCIDPtr classID; */
 NS_IMETHODIMP
 BackstagePass::GetClassID(nsCID * *aClassID)
 {
     *aClassID = nullptr;
     return NS_OK;
 }
 
-/* readonly attribute uint32_t flags; */
 NS_IMETHODIMP
 BackstagePass::GetFlags(uint32_t* aFlags)
 {
     *aFlags = nsIClassInfo::MAIN_THREAD_ONLY;
     return NS_OK;
 }
 
-/* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
 NS_IMETHODIMP
 BackstagePass::GetClassIDNoAlloc(nsCID* aClassIDNoAlloc)
 {
     return NS_ERROR_NOT_AVAILABLE;
 }
 
 NS_IMETHODIMP
 BackstagePass::Finalize(nsIXPConnectWrappedNative* wrapper, JSFreeOp * fop, JSObject * obj)
--- a/js/xpconnect/src/XPCShellImpl.cpp
+++ b/js/xpconnect/src/XPCShellImpl.cpp
@@ -1184,17 +1184,16 @@ NS_IMPL_ISUPPORTS(nsXPCFunctionThisTrans
 nsXPCFunctionThisTranslator::nsXPCFunctionThisTranslator()
 {
 }
 
 nsXPCFunctionThisTranslator::~nsXPCFunctionThisTranslator()
 {
 }
 
-/* nsISupports TranslateThis (in nsISupports aInitialThis); */
 NS_IMETHODIMP
 nsXPCFunctionThisTranslator::TranslateThis(nsISupports* aInitialThis,
                                            nsISupports** _retval)
 {
     nsCOMPtr<nsISupports> temp = aInitialThis;
     temp.forget(_retval);
     return NS_OK;
 }
--- a/js/xpconnect/src/XPCVariant.cpp
+++ b/js/xpconnect/src/XPCVariant.cpp
@@ -635,167 +635,141 @@ XPCVariant::VariantDataToJS(nsIVariant* 
 }
 
 /***************************************************************************/
 /***************************************************************************/
 // XXX These default implementations need to be improved to allow for
 // some more interesting conversions.
 
 
-/* readonly attribute uint16_t dataType; */
 NS_IMETHODIMP XPCVariant::GetDataType(uint16_t* aDataType)
 {
     *aDataType = mData.GetType();
     return NS_OK;
 }
 
-/* uint8_t getAsInt8 (); */
 NS_IMETHODIMP XPCVariant::GetAsInt8(uint8_t* _retval)
 {
     return mData.ConvertToInt8(_retval);
 }
 
-/* int16_t getAsInt16 (); */
 NS_IMETHODIMP XPCVariant::GetAsInt16(int16_t* _retval)
 {
     return mData.ConvertToInt16(_retval);
 }
 
-/* int32_t getAsInt32 (); */
 NS_IMETHODIMP XPCVariant::GetAsInt32(int32_t* _retval)
 {
     return mData.ConvertToInt32(_retval);
 }
 
-/* int64_t getAsInt64 (); */
 NS_IMETHODIMP XPCVariant::GetAsInt64(int64_t* _retval)
 {
     return mData.ConvertToInt64(_retval);
 }
 
-/* uint8_t getAsUint8 (); */
 NS_IMETHODIMP XPCVariant::GetAsUint8(uint8_t* _retval)
 {
     return mData.ConvertToUint8(_retval);
 }
 
-/* uint16_t getAsUint16 (); */
 NS_IMETHODIMP XPCVariant::GetAsUint16(uint16_t* _retval)
 {
     return mData.ConvertToUint16(_retval);
 }
 
-/* uint32_t getAsUint32 (); */
 NS_IMETHODIMP XPCVariant::GetAsUint32(uint32_t* _retval)
 {
     return mData.ConvertToUint32(_retval);
 }
 
-/* uint64_t getAsUint64 (); */
 NS_IMETHODIMP XPCVariant::GetAsUint64(uint64_t* _retval)
 {
     return mData.ConvertToUint64(_retval);
 }
 
-/* float getAsFloat (); */
 NS_IMETHODIMP XPCVariant::GetAsFloat(float* _retval)
 {
     return mData.ConvertToFloat(_retval);
 }
 
-/* double getAsDouble (); */
 NS_IMETHODIMP XPCVariant::GetAsDouble(double* _retval)
 {
     return mData.ConvertToDouble(_retval);
 }
 
-/* bool getAsBool (); */
 NS_IMETHODIMP XPCVariant::GetAsBool(bool* _retval)
 {
     return mData.ConvertToBool(_retval);
 }
 
-/* char getAsChar (); */
 NS_IMETHODIMP XPCVariant::GetAsChar(char* _retval)
 {
     return mData.ConvertToChar(_retval);
 }
 
-/* wchar getAsWChar (); */
 NS_IMETHODIMP XPCVariant::GetAsWChar(char16_t* _retval)
 {
     return mData.ConvertToWChar(_retval);
 }
 
-/* [notxpcom] nsresult getAsID (out nsID retval); */
 NS_IMETHODIMP_(nsresult) XPCVariant::GetAsID(nsID* retval)
 {
     return mData.ConvertToID(retval);
 }
 
-/* AString getAsAString (); */
 NS_IMETHODIMP XPCVariant::GetAsAString(nsAString & _retval)
 {
     return mData.ConvertToAString(_retval);
 }
 
-/* DOMString getAsDOMString (); */
 NS_IMETHODIMP XPCVariant::GetAsDOMString(nsAString & _retval)
 {
     // A DOMString maps to an AString internally, so we can re-use
     // ConvertToAString here.
     return mData.ConvertToAString(_retval);
 }
 
-/* ACString getAsACString (); */
 NS_IMETHODIMP XPCVariant::GetAsACString(nsACString & _retval)
 {
     return mData.ConvertToACString(_retval);
 }
 
-/* AUTF8String getAsAUTF8String (); */
 NS_IMETHODIMP XPCVariant::GetAsAUTF8String(nsAUTF8String & _retval)
 {
     return mData.ConvertToAUTF8String(_retval);
 }
 
-/* string getAsString (); */
 NS_IMETHODIMP XPCVariant::GetAsString(char** _retval)
 {
     return mData.ConvertToString(_retval);
 }
 
-/* wstring getAsWString (); */
 NS_IMETHODIMP XPCVariant::GetAsWString(char16_t** _retval)
 {
     return mData.ConvertToWString(_retval);
 }
 
-/* nsISupports getAsISupports (); */
 NS_IMETHODIMP XPCVariant::GetAsISupports(nsISupports** _retval)
 {
     return mData.ConvertToISupports(_retval);
 }
 
-/* void getAsInterface (out nsIIDPtr iid, [iid_is (iid), retval] out nsQIResult iface); */
 NS_IMETHODIMP XPCVariant::GetAsInterface(nsIID** iid, void** iface)
 {
     return mData.ConvertToInterface(iid, iface);
 }
 
 
-/* [notxpcom] nsresult getAsArray (out uint16_t type, out nsIID iid, out uint32_t count, out voidPtr ptr); */
 NS_IMETHODIMP_(nsresult) XPCVariant::GetAsArray(uint16_t* type, nsIID* iid, uint32_t* count, void * *ptr)
 {
     return mData.ConvertToArray(type, iid, count, ptr);
 }
 
-/* void getAsStringWithSize (out uint32_t size, [size_is (size), retval] out string str); */
 NS_IMETHODIMP XPCVariant::GetAsStringWithSize(uint32_t* size, char** str)
 {
     return mData.ConvertToStringWithSize(size, str);
 }
 
-/* void getAsWStringWithSize (out uint32_t size, [size_is (size), retval] out wstring str); */
 NS_IMETHODIMP XPCVariant::GetAsWStringWithSize(uint32_t* size, char16_t** str)
 {
     return mData.ConvertToWStringWithSize(size, str);
 }
--- a/js/xpconnect/src/XPCWrappedJS.cpp
+++ b/js/xpconnect/src/XPCWrappedJS.cpp
@@ -574,30 +574,28 @@ nsXPCWrappedJS::SizeOfIncludingThis(mozi
     if (mNext)
         n += mNext->SizeOfIncludingThis(mallocSizeOf);
 
     return n;
 }
 
 /***************************************************************************/
 
-/* readonly attribute nsISimpleEnumerator enumerator; */
 NS_IMETHODIMP
 nsXPCWrappedJS::GetEnumerator(nsISimpleEnumerator * *aEnumerate)
 {
     AutoJSContext cx;
     XPCCallContext ccx(NATIVE_CALLER, cx);
     if (!ccx.IsValid())
         return NS_ERROR_UNEXPECTED;
 
     return nsXPCWrappedJSClass::BuildPropertyEnumerator(ccx, GetJSObject(),
                                                         aEnumerate);
 }
 
-/* nsIVariant getProperty (in AString name); */
 NS_IMETHODIMP
 nsXPCWrappedJS::GetProperty(const nsAString & name, nsIVariant** _retval)
 {
     AutoJSContext cx;
     XPCCallContext ccx(NATIVE_CALLER, cx);
     if (!ccx.IsValid())
         return NS_ERROR_UNEXPECTED;
 
--- a/js/xpconnect/src/XPCWrappedJSClass.cpp
+++ b/js/xpconnect/src/XPCWrappedJSClass.cpp
@@ -402,24 +402,22 @@ nsXPCWrappedJSClass::BuildPropertyEnumer
 NS_IMPL_ISUPPORTS(xpcProperty, nsIProperty)
 
 xpcProperty::xpcProperty(const char16_t* aName, uint32_t aNameLen,
                          nsIVariant* aValue)
     : mName(aName, aNameLen), mValue(aValue)
 {
 }
 
-/* readonly attribute AString name; */
 NS_IMETHODIMP xpcProperty::GetName(nsAString & aName)
 {
     aName.Assign(mName);
     return NS_OK;
 }
 
-/* readonly attribute nsIVariant value; */
 NS_IMETHODIMP xpcProperty::GetValue(nsIVariant * *aValue)
 {
     nsCOMPtr<nsIVariant> rval = mValue;
     rval.forget(aValue);
     return NS_OK;
 }
 
 /***************************************************************************/
--- a/js/xpconnect/src/XPCWrappedNative.cpp
+++ b/js/xpconnect/src/XPCWrappedNative.cpp
@@ -2093,34 +2093,31 @@ CallMethodHelper::Invoke()
     nsXPTCVariant* argv = mDispatchParams.Elements();
 
     return NS_InvokeByIndex(mCallee, mVTableIndex, argc, argv);
 }
 
 /***************************************************************************/
 // interface methods
 
-/* JSObjectPtr GetJSObject(); */
 JSObject*
 XPCWrappedNative::GetJSObject()
 {
     return GetFlatJSObject();
 }
 
-/* readonly attribute nsISupports Native; */
 NS_IMETHODIMP XPCWrappedNative::GetNative(nsISupports * *aNative)
 {
     // No need to QI here, we already have the correct nsISupports
     // vtable.
     nsCOMPtr<nsISupports> rval = mIdentity;
     rval.forget(aNative);
     return NS_OK;
 }
 
-/* reaonly attribute JSObjectPtr JSObjectPrototype; */
 NS_IMETHODIMP XPCWrappedNative::GetJSObjectPrototype(JSObject * *aJSObjectPrototype)
 {
     *aJSObjectPrototype = HasProto() ?
                 GetProto()->GetJSProtoObject() : GetFlatJSObject();
     return NS_OK;
 }
 
 nsIPrincipal*
@@ -2139,54 +2136,50 @@ XPCWrappedNative::GetObjectPrincipal() c
         else
             principal->Equals(objPrin->GetPrincipal(), &equal);
         MOZ_ASSERT(equal, "Principal mismatch.  Expect bad things to happen");
     }
 #endif
     return principal;
 }
 
-/* XPCNativeInterface FindInterfaceWithMember (in JSHandleId name); */
 NS_IMETHODIMP XPCWrappedNative::FindInterfaceWithMember(HandleId name,
                                                         nsIInterfaceInfo * *_retval)
 {
     XPCNativeInterface* iface;
     XPCNativeMember*  member;
 
     if (GetSet()->FindMember(name, &member, &iface) && iface) {
         nsCOMPtr<nsIInterfaceInfo> temp = iface->GetInterfaceInfo();
         temp.forget(_retval);
     } else
         *_retval = nullptr;
     return NS_OK;
 }
 
-/* XPCNativeInterface FindInterfaceWithName (in JSHandleId name); */
 NS_IMETHODIMP XPCWrappedNative::FindInterfaceWithName(HandleId name,
                                                       nsIInterfaceInfo * *_retval)
 {
     XPCNativeInterface* iface = GetSet()->FindNamedInterface(name);
     if (iface) {
         nsCOMPtr<nsIInterfaceInfo> temp = iface->GetInterfaceInfo();
         temp.forget(_retval);
     } else
         *_retval = nullptr;
     return NS_OK;
 }
 
-/* [notxpcom] bool HasNativeMember (in JSHandleId name); */
 NS_IMETHODIMP_(bool)
 XPCWrappedNative::HasNativeMember(HandleId name)
 {
     XPCNativeMember* member = nullptr;
     uint16_t ignored;
     return GetSet()->FindMember(name, &member, &ignored) && !!member;
 }
 
-/* void debugDump (in short depth); */
 NS_IMETHODIMP XPCWrappedNative::DebugDump(int16_t depth)
 {
 #ifdef DEBUG
     depth-- ;
     XPC_LOG_ALWAYS(("XPCWrappedNative @ %x with mRefCnt = %d", this, mRefCnt.get()));
     XPC_LOG_INDENT();
 
         if (HasProto()) {
--- a/js/xpconnect/src/nsXPConnect.cpp
+++ b/js/xpconnect/src/nsXPConnect.cpp
@@ -500,17 +500,16 @@ NativeInterface2JSObject(HandleObject aS
         return rv;
 
     MOZ_ASSERT(aAllowWrapping || !xpc::WrapperFactory::IsXrayWrapper(&aVal.toObject()),
                "Shouldn't be returning a xray wrapper here");
 
     return NS_OK;
 }
 
-/* JSObjectPtr wrapNative (in JSContextPtr aJSContext, in JSObjectPtr aScope, in nsISupports aCOMObj, in nsIIDRef aIID); */
 NS_IMETHODIMP
 nsXPConnect::WrapNative(JSContext * aJSContext,
                         JSObject * aScopeArg,
                         nsISupports* aCOMObj,
                         const nsIID & aIID,
                         JSObject** aRetVal)
 {
     MOZ_ASSERT(aJSContext, "bad param");
@@ -526,17 +525,16 @@ nsXPConnect::WrapNative(JSContext * aJSC
 
     if (!v.isObjectOrNull())
         return NS_ERROR_FAILURE;
 
     *aRetVal = v.toObjectOrNull();
     return NS_OK;
 }
 
-/* nsIXPConnectJSObjectHolder wrapNativeHolder(in JSContextPtr aJSContext, in JSObjectPtr aScope, in nsISupports aCOMObj, in nsIIDRef aIID); */
 NS_IMETHODIMP
 nsXPConnect::WrapNativeHolder(JSContext * aJSContext,
                               JSObject * aScopeArg,
                               nsISupports* aCOMObj,
                               const nsIID & aIID,
                               nsIXPConnectJSObjectHolder **aHolder)
 {
     MOZ_ASSERT(aHolder, "bad param");
@@ -545,17 +543,16 @@ nsXPConnect::WrapNativeHolder(JSContext 
     MOZ_ASSERT(aCOMObj, "bad param");
 
     RootedObject aScope(aJSContext, aScopeArg);
     RootedValue v(aJSContext);
     return NativeInterface2JSObject(aScope, aCOMObj, nullptr, &aIID,
                                     true, &v, aHolder);
 }
 
-/* void wrapNativeToJSVal (in JSContextPtr aJSContext, in JSObjectPtr aScope, in nsISupports aCOMObj, in nsIIDPtr aIID, out jsval aVal); */
 NS_IMETHODIMP
 nsXPConnect::WrapNativeToJSVal(JSContext* aJSContext,
                                JSObject* aScopeArg,
                                nsISupports* aCOMObj,
                                nsWrapperCache* aCache,
                                const nsIID* aIID,
                                bool aAllowWrapping,
                                MutableHandleValue aVal)
@@ -564,17 +561,16 @@ nsXPConnect::WrapNativeToJSVal(JSContext
     MOZ_ASSERT(aScopeArg, "bad param");
     MOZ_ASSERT(aCOMObj, "bad param");
 
     RootedObject aScope(aJSContext, aScopeArg);
     return NativeInterface2JSObject(aScope, aCOMObj, aCache, aIID,
                                     aAllowWrapping, aVal, nullptr);
 }
 
-/* void wrapJS (in JSContextPtr aJSContext, in JSObjectPtr aJSObj, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
 NS_IMETHODIMP
 nsXPConnect::WrapJS(JSContext * aJSContext,
                     JSObject * aJSObjArg,
                     const nsIID & aIID,
                     void * *result)
 {
     MOZ_ASSERT(aJSContext, "bad param");
     MOZ_ASSERT(aJSObjArg, "bad param");
@@ -601,17 +597,16 @@ nsXPConnect::JSValToVariant(JSContext* c
 
     nsRefPtr<XPCVariant> variant = XPCVariant::newVariant(cx, aJSVal);
     variant.forget(aResult);
     NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY);
 
     return NS_OK;
 }
 
-/* void wrapJSAggregatedToNative (in nsISupports aOuter, in JSContextPtr aJSContext, in JSObjectPtr aJSObj, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
 NS_IMETHODIMP
 nsXPConnect::WrapJSAggregatedToNative(nsISupports* aOuter,
                                       JSContext* aJSContext,
                                       JSObject* aJSObjArg,
                                       const nsIID& aIID,
                                       void** result)
 {
     MOZ_ASSERT(aOuter, "bad param");
@@ -624,17 +619,16 @@ nsXPConnect::WrapJSAggregatedToNative(ns
     RootedObject aJSObj(aJSContext, aJSObjArg);
     nsresult rv;
     if (!XPCConvert::JSObject2NativeInterface(result, aJSObj,
                                               &aIID, aOuter, &rv))
         return rv;
     return NS_OK;
 }
 
-/* nsIXPConnectWrappedNative getWrappedNativeOfJSObject (in JSContextPtr aJSContext, in JSObjectPtr aJSObj); */
 NS_IMETHODIMP
 nsXPConnect::GetWrappedNativeOfJSObject(JSContext * aJSContext,
                                         JSObject * aJSObjArg,
                                         nsIXPConnectWrappedNative** _retval)
 {
     MOZ_ASSERT(aJSContext, "bad param");
     MOZ_ASSERT(aJSObjArg, "bad param");
     MOZ_ASSERT(_retval, "bad param");
@@ -668,25 +662,23 @@ xpc::UnwrapReflectorToISupports(JSObject
     }
 
     // Try DOM objects.
     nsCOMPtr<nsISupports> canonical =
         do_QueryInterface(mozilla::dom::UnwrapDOMObjectToISupports(reflector));
     return canonical;
 }
 
-/* nsISupports getNativeOfWrapper(in JSContextPtr aJSContext, in JSObjectPtr  aJSObj); */
 NS_IMETHODIMP_(nsISupports*)
 nsXPConnect::GetNativeOfWrapper(JSContext* aJSContext,
                                 JSObject* aJSObj)
 {
     return UnwrapReflectorToISupports(aJSObj);
 }
 
-/* nsIXPConnectWrappedNative getWrappedNativeOfNativeObject (in JSContextPtr aJSContext, in JSObjectPtr aScope, in nsISupports aCOMObj, in nsIIDRef aIID); */
 NS_IMETHODIMP
 nsXPConnect::GetWrappedNativeOfNativeObject(JSContext * aJSContext,
                                             JSObject * aScopeArg,
                                             nsISupports* aCOMObj,
                                             const nsIID & aIID,
                                             nsIXPConnectWrappedNative** _retval)
 {
     MOZ_ASSERT(aJSContext, "bad param");
@@ -711,39 +703,36 @@ nsXPConnect::GetWrappedNativeOfNativeObj
 
     nsresult rv = XPCWrappedNative::GetUsedOnly(aCOMObj, scope, iface, &wrapper);
     if (NS_FAILED(rv))
         return NS_ERROR_FAILURE;
     *_retval = static_cast<nsIXPConnectWrappedNative*>(wrapper);
     return NS_OK;
 }
 
-/* readonly attribute nsIStackFrame CurrentJSStack; */
 NS_IMETHODIMP
 nsXPConnect::GetCurrentJSStack(nsIStackFrame * *aCurrentJSStack)
 {
     MOZ_ASSERT(aCurrentJSStack, "bad param");
 
     nsCOMPtr<nsIStackFrame> currentStack = dom::GetCurrentJSStack();
     currentStack.forget(aCurrentJSStack);
 
     return NS_OK;
 }
 
-/* readonly attribute nsIXPCNativeCallContext CurrentNativeCallContext; */
 NS_IMETHODIMP
 nsXPConnect::GetCurrentNativeCallContext(nsAXPCNativeCallContext * *aCurrentNativeCallContext)
 {
     MOZ_ASSERT(aCurrentNativeCallContext, "bad param");
 
     *aCurrentNativeCallContext = XPCJSRuntime::Get()->GetCallContext();
     return NS_OK;
 }
 
-/* void setFunctionThisTranslator (in nsIIDRef aIID, in nsIXPCFunctionThisTranslator aTranslator); */
 NS_IMETHODIMP
 nsXPConnect::SetFunctionThisTranslator(const nsIID & aIID,
                                        nsIXPCFunctionThisTranslator* aTranslator)
 {
     XPCJSRuntime* rt = GetRuntime();
     IID2ThisTranslatorMap* map = rt->GetThisTranslatorMap();
     map->Add(aIID, aTranslator);
     return NS_OK;
@@ -789,17 +778,16 @@ nsXPConnect::EvalInSandboxObject(const n
         filenameStr.Assign(filename);
     } else {
         filenameStr = NS_LITERAL_CSTRING("x-bogus://XPConnect/Sandbox");
     }
     return EvalInSandbox(cx, sandbox, source, filenameStr, 1,
                          JSVersion(jsVersion), rval);
 }
 
-/* JSObjectPtr getWrappedNativePrototype (in JSContextPtr aJSContext, in JSObjectPtr aScope); */
 NS_IMETHODIMP
 nsXPConnect::GetWrappedNativePrototype(JSContext* aJSContext,
                                        JSObject* aScopeArg,
                                        nsIClassInfo* aClassInfo,
                                        JSObject** aRetVal)
 {
     RootedObject aScope(aJSContext, aScopeArg);
     JSAutoCompartment ac(aJSContext, aScope);
@@ -820,17 +808,16 @@ nsXPConnect::GetWrappedNativePrototype(J
     if (!protoObj)
         return UnexpectedFailure(NS_ERROR_FAILURE);
 
     *aRetVal = protoObj;
 
     return NS_OK;
 }
 
-/* void debugDump (in short depth); */
 NS_IMETHODIMP
 nsXPConnect::DebugDump(int16_t depth)
 {
 #ifdef DEBUG
     depth-- ;
     XPC_LOG_ALWAYS(("nsXPConnect @ %x with mRefCnt = %d", this, mRefCnt.get()));
     XPC_LOG_INDENT();
         XPC_LOG_ALWAYS(("gSelf @ %x", gSelf));
@@ -843,17 +830,16 @@ nsXPConnect::DebugDump(int16_t depth)
         } else
             XPC_LOG_ALWAYS(("mRuntime is null"));
         XPCWrappedNativeScope::DebugDumpAllScopes(depth);
     XPC_LOG_OUTDENT();
 #endif
     return NS_OK;
 }
 
-/* void debugDumpObject (in nsISupports aCOMObj, in short depth); */
 NS_IMETHODIMP
 nsXPConnect::DebugDumpObject(nsISupports* p, int16_t depth)
 {
 #ifdef DEBUG
     if (!depth)
         return NS_OK;
     if (!p) {
         XPC_LOG_ALWAYS(("*** Cound not dump object with NULL address"));
@@ -883,17 +869,16 @@ nsXPConnect::DebugDumpObject(nsISupports
         wjs->DebugDump(depth);
     } else {
         XPC_LOG_ALWAYS(("*** Could not dump the nsISupports @ %x", p));
     }
 #endif
     return NS_OK;
 }
 
-/* void debugDumpJSStack (in bool showArgs, in bool showLocals, in bool showThisProps); */
 NS_IMETHODIMP
 nsXPConnect::DebugDumpJSStack(bool showArgs,
                               bool showLocals,
                               bool showThisProps)
 {
     xpc_DumpJSStack(showArgs, showLocals, showThisProps);
 
     return NS_OK;
@@ -908,17 +893,16 @@ nsXPConnect::DebugPrintJSStack(bool show
     if (!cx)
         printf("there is no JSContext on the nsIThreadJSContextStack!\n");
     else
         return xpc_PrintJSStack(cx, showArgs, showLocals, showThisProps);
 
     return nullptr;
 }
 
-/* jsval variantToJS (in JSContextPtr ctx, in JSObjectPtr scope, in nsIVariant value); */
 NS_IMETHODIMP
 nsXPConnect::VariantToJS(JSContext* ctx, JSObject* scopeArg, nsIVariant* value,
                          MutableHandleValue _retval)
 {
     NS_PRECONDITION(ctx, "bad param");
     NS_PRECONDITION(scopeArg, "bad param");
     NS_PRECONDITION(value, "bad param");
 
@@ -930,17 +914,16 @@ nsXPConnect::VariantToJS(JSContext* ctx,
         if (NS_FAILED(rv))
             return rv;
 
         return NS_ERROR_FAILURE;
     }
     return NS_OK;
 }
 
-/* nsIVariant JSToVariant (in JSContextPtr ctx, in jsval value); */
 NS_IMETHODIMP
 nsXPConnect::JSToVariant(JSContext* ctx, HandleValue value, nsIVariant** _retval)
 {
     NS_PRECONDITION(ctx, "bad param");
     NS_PRECONDITION(_retval, "bad param");
 
     nsRefPtr<XPCVariant> variant = XPCVariant::newVariant(ctx, value);
     variant.forget(_retval);
--- a/js/xpconnect/tests/components/native/xpctest_params.cpp
+++ b/js/xpconnect/tests/components/native/xpctest_params.cpp
@@ -65,144 +65,125 @@ nsXPCTestParams::~nsXPCTestParams()
     /* We need to take ownership of the data we got from a,                   \
        since the caller owns it. */                                           \
     for (unsigned i = 0; i < *bLength + padding; ++i)                         \
         TAKE_OWNERSHIP((*b)[i]);                                              \
                                                                               \
     return NS_OK;                                                             \
 }
 
-/* boolean testBoolean (in boolean a, inout boolean b); */
 NS_IMETHODIMP nsXPCTestParams::TestBoolean(bool a, bool* b, bool* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* octet testOctet (in octet a, inout octet b); */
 NS_IMETHODIMP nsXPCTestParams::TestOctet(uint8_t a, uint8_t* b, uint8_t* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* short testShort (in short a, inout short b); */
 NS_IMETHODIMP nsXPCTestParams::TestShort(int16_t a, int16_t* b, int16_t* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* long testLong (in long a, inout long b); */
 NS_IMETHODIMP nsXPCTestParams::TestLong(int32_t a, int32_t* b, int32_t* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* long long testLongLong (in long long a, inout long long b); */
 NS_IMETHODIMP nsXPCTestParams::TestLongLong(int64_t a, int64_t* b, int64_t* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* unsigned short testUnsignedShort (in unsigned short a, inout unsigned short b); */
 NS_IMETHODIMP nsXPCTestParams::TestUnsignedShort(uint16_t a, uint16_t* b, uint16_t* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* unsigned long testUnsignedLong (in unsigned long a, inout unsigned long b); */
 NS_IMETHODIMP nsXPCTestParams::TestUnsignedLong(uint32_t a, uint32_t* b, uint32_t* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* unsigned long long testUnsignedLongLong (in unsigned long long a, inout unsigned long long b); */
 NS_IMETHODIMP nsXPCTestParams::TestUnsignedLongLong(uint64_t a, uint64_t* b, uint64_t* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* float testFloat (in float a, inout float b); */
 NS_IMETHODIMP nsXPCTestParams::TestFloat(float a, float* b, float* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* double testDouble (in double a, inout float b); */
 NS_IMETHODIMP nsXPCTestParams::TestDouble(double a, float* b, double* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* char testChar (in char a, inout char b); */
 NS_IMETHODIMP nsXPCTestParams::TestChar(char a, char* b, char* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* string testString (in string a, inout string b); */
 NS_IMETHODIMP nsXPCTestParams::TestString(const char * a, char * *b, char * *_retval)
 {
     nsDependentCString aprime(a);
     nsDependentCString bprime(*b);
     *_retval = ToNewCString(bprime);
     *b = ToNewCString(aprime);
 
     // XPCOM ownership rules dictate that overwritten inout params must be callee-freed.
     // See https://developer.mozilla.org/en/XPIDL
     free(const_cast<char*>(bprime.get()));
 
     return NS_OK;
 }
 
-/* wchar testWchar (in wchar a, inout wchar b); */
 NS_IMETHODIMP nsXPCTestParams::TestWchar(char16_t a, char16_t* b, char16_t* _retval)
 {
     GENERIC_METHOD_IMPL;
 }
 
-/* wstring testWstring (in wstring a, inout wstring b); */
 NS_IMETHODIMP nsXPCTestParams::TestWstring(const char16_t * a, char16_t * *b, char16_t * *_retval)
 {
     nsDependentString aprime(a);
     nsDependentString bprime(*b);
     *_retval = ToNewUnicode(bprime);
     *b = ToNewUnicode(aprime);
 
     // XPCOM ownership rules dictate that overwritten inout params must be callee-freed.
     // See https://developer.mozilla.org/en/XPIDL
     free((void*)bprime.get());
 
     return NS_OK;
 }
 
-/* DOMString testDOMString (in DOMString a, inout DOMString b); */
 NS_IMETHODIMP nsXPCTestParams::TestDOMString(const nsAString & a, nsAString & b, nsAString & _retval)
 {
     STRING_METHOD_IMPL;
 }
 
 
-/* AString testAString (in AString a, inout AString b); */
 NS_IMETHODIMP nsXPCTestParams::TestAString(const nsAString & a, nsAString & b, nsAString & _retval)
 {
     STRING_METHOD_IMPL;
 }
 
-/* AUTF8String testAUTF8String (in AUTF8String a, inout AUTF8String b); */
 NS_IMETHODIMP nsXPCTestParams::TestAUTF8String(const nsACString & a, nsACString & b, nsACString & _retval)
 {
     STRING_METHOD_IMPL;
 }
 
-/* ACString testACString (in ACString a, inout ACString b); */
 NS_IMETHODIMP nsXPCTestParams::TestACString(const nsACString & a, nsACString & b, nsACString & _retval)
 {
     STRING_METHOD_IMPL;
 }
 
-/* jsval testJsval (in jsval a, in jsval b); */
 NS_IMETHODIMP nsXPCTestParams::TestJsval(JS::Handle<JS::Value> a,
                                          JS::MutableHandle<JS::Value> b,
                                          JS::MutableHandle<JS::Value> _retval)
 {
     _retval.set(b);
     b.set(a);
     return NS_OK;
 }
@@ -335,17 +316,16 @@ NS_IMETHODIMP nsXPCTestParams::TestInter
     **bIID = *aIID;
 
     // The macro is agnostic to the actual interface types, so we can re-use code here.
     //
     // Do this second, since the macro returns.
     BUFFER_METHOD_IMPL(void*, 0, TAKE_OWNERSHIP_INTERFACE);
 }
 
-/* void testOutAString (out AString o); */
 NS_IMETHODIMP nsXPCTestParams::TestOutAString(nsAString & o)
 {
     o.AssignLiteral("out");
     return NS_OK;
 }
 
 /*
  * ACString testStringArrayOptionalSize([array, size_is(aLength)] in string a, [optional] in unsigned long aLength);
--- a/js/xpconnect/tests/components/native/xpctest_returncode.cpp
+++ b/js/xpconnect/tests/components/native/xpctest_returncode.cpp
@@ -11,17 +11,16 @@ NS_IMPL_ISUPPORTS(nsXPCTestReturnCodePar
 nsXPCTestReturnCodeParent::nsXPCTestReturnCodeParent()
 {
 }
 
 nsXPCTestReturnCodeParent::~nsXPCTestReturnCodeParent()
 {
 }
 
-/* unsigned long callChild (in long childBehavior); */
 NS_IMETHODIMP nsXPCTestReturnCodeParent::CallChild(int32_t childBehavior, nsresult* _retval)
 {
     nsresult rv;
     nsCOMPtr<nsIXPCTestReturnCodeChild> child(do_CreateInstance("@mozilla.org/js/xpc/test/js/ReturnCodeChild;1", &rv));
     NS_ENSURE_SUCCESS(rv, rv);
     rv = child->DoIt(childBehavior);
     *_retval = rv;
     return NS_OK;
--- a/layout/base/nsDocumentViewer.cpp
+++ b/layout/base/nsDocumentViewer.cpp
@@ -2665,17 +2665,16 @@ NS_IMETHODIMP nsDocumentViewer::CopyImag
 
 NS_IMETHODIMP nsDocumentViewer::GetCopyable(bool *aCopyable)
 {
   NS_ENSURE_ARG_POINTER(aCopyable);
   *aCopyable = nsCopySupport::CanCopy(mDocument);
   return NS_OK;
 }
 
-/* AString getContents (in string mimeType, in boolean selectionOnly); */
 NS_IMETHODIMP nsDocumentViewer::GetContents(const char *mimeType, bool selectionOnly, nsAString& aOutValue)
 {
   aOutValue.Truncate();
 
   NS_ENSURE_TRUE(mPresShell, NS_ERROR_NOT_INITIALIZED);
   NS_ENSURE_TRUE(mDocument, NS_ERROR_NOT_INITIALIZED);
 
   // Now we have the selection.  Make sure it's nonzero:
@@ -2690,17 +2689,16 @@ NS_IMETHODIMP nsDocumentViewer::GetConte
       return NS_OK;
   }
 
   // call the copy code
   return nsCopySupport::GetContents(nsDependentCString(mimeType), 0, sel,
                                     mDocument, aOutValue);
 }
 
-/* readonly attribute boolean canGetContents; */
 NS_IMETHODIMP nsDocumentViewer::GetCanGetContents(bool *aCanGetContents)
 {
   NS_ENSURE_ARG_POINTER(aCanGetContents);
   *aCanGetContents = false;
   NS_ENSURE_STATE(mDocument);
   *aCanGetContents = nsCopySupport::CanCopy(mDocument);
   return NS_OK;
 }
@@ -3909,83 +3907,76 @@ nsDocumentViewer::PrintPreviewNavigate(i
     nscoord newYPosn =
       nscoord(mPrintEngine->GetPrintPreviewScale() * fndPageFrame->GetPosition().y);
     sf->ScrollTo(nsPoint(pt.x, newYPosn), nsIScrollableFrame::INSTANT);
   }
   return NS_OK;
 
 }
 
-/* readonly attribute nsIPrintSettings globalPrintSettings; */
 NS_IMETHODIMP
 nsDocumentViewer::GetGlobalPrintSettings(nsIPrintSettings * *aGlobalPrintSettings)
 {
   return nsPrintEngine::GetGlobalPrintSettings(aGlobalPrintSettings);
 }
 
-/* readonly attribute boolean doingPrint; */
 // XXX This always returns false for subdocuments
 NS_IMETHODIMP
 nsDocumentViewer::GetDoingPrint(bool *aDoingPrint)
 {
   NS_ENSURE_ARG_POINTER(aDoingPrint);
   
   *aDoingPrint = false;
   if (mPrintEngine) {
     // XXX shouldn't this be GetDoingPrint() ?
     return mPrintEngine->GetDoingPrintPreview(aDoingPrint);
   } 
   return NS_OK;
 }
 
-/* readonly attribute boolean doingPrintPreview; */
 // XXX This always returns false for subdocuments
 NS_IMETHODIMP
 nsDocumentViewer::GetDoingPrintPreview(bool *aDoingPrintPreview)
 {
   NS_ENSURE_ARG_POINTER(aDoingPrintPreview);
 
   *aDoingPrintPreview = false;
   if (mPrintEngine) {
     return mPrintEngine->GetDoingPrintPreview(aDoingPrintPreview);
   }
   return NS_OK;
 }
 
-/* readonly attribute nsIPrintSettings currentPrintSettings; */
 NS_IMETHODIMP
 nsDocumentViewer::GetCurrentPrintSettings(nsIPrintSettings * *aCurrentPrintSettings)
 {
   NS_ENSURE_ARG_POINTER(aCurrentPrintSettings);
 
   *aCurrentPrintSettings = nullptr;
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
 
   return mPrintEngine->GetCurrentPrintSettings(aCurrentPrintSettings);
 }
 
 
-/* readonly attribute nsIDOMWindow currentChildDOMWindow; */
 NS_IMETHODIMP 
 nsDocumentViewer::GetCurrentChildDOMWindow(nsIDOMWindow * *aCurrentChildDOMWindow)
 {
   NS_ENSURE_ARG_POINTER(aCurrentChildDOMWindow);
   *aCurrentChildDOMWindow = nullptr;
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void cancel (); */
 NS_IMETHODIMP
 nsDocumentViewer::Cancel()
 {
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
   return mPrintEngine->Cancelled();
 }
 
-/* void exitPrintPreview (); */
 NS_IMETHODIMP
 nsDocumentViewer::ExitPrintPreview()
 {
   if (GetIsPrinting())
     return NS_ERROR_FAILURE;
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
 
   if (GetIsPrintPreview()) {
@@ -4006,73 +3997,68 @@ nsDocumentViewer::EnumerateDocumentNames
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
 
   return mPrintEngine->EnumerateDocumentNames(aCount, aResult);
 #else
   return NS_ERROR_FAILURE;
 #endif
 }
 
-/* readonly attribute boolean isFramesetFrameSelected; */
 NS_IMETHODIMP 
 nsDocumentViewer::GetIsFramesetFrameSelected(bool *aIsFramesetFrameSelected)
 {
 #ifdef NS_PRINTING
   *aIsFramesetFrameSelected = false;
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
 
   return mPrintEngine->GetIsFramesetFrameSelected(aIsFramesetFrameSelected);
 #else
   return NS_ERROR_FAILURE;
 #endif
 }
 
-/* readonly attribute long printPreviewNumPages; */
 NS_IMETHODIMP
 nsDocumentViewer::GetPrintPreviewNumPages(int32_t *aPrintPreviewNumPages)
 {
 #ifdef NS_PRINTING
   NS_ENSURE_ARG_POINTER(aPrintPreviewNumPages);
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
 
   return mPrintEngine->GetPrintPreviewNumPages(aPrintPreviewNumPages);
 #else
   return NS_ERROR_FAILURE;
 #endif
 }
 
-/* readonly attribute boolean isFramesetDocument; */
 NS_IMETHODIMP
 nsDocumentViewer::GetIsFramesetDocument(bool *aIsFramesetDocument)
 {
 #ifdef NS_PRINTING
   *aIsFramesetDocument = false;
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
 
   return mPrintEngine->GetIsFramesetDocument(aIsFramesetDocument);
 #else
   return NS_ERROR_FAILURE;
 #endif
 }
 
-/* readonly attribute boolean isIFrameSelected; */
 NS_IMETHODIMP 
 nsDocumentViewer::GetIsIFrameSelected(bool *aIsIFrameSelected)
 {
 #ifdef NS_PRINTING
   *aIsIFrameSelected = false;
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
 
   return mPrintEngine->GetIsIFrameSelected(aIsIFrameSelected);
 #else
   return NS_ERROR_FAILURE;
 #endif
 }
 
-/* readonly attribute boolean isRangeSelection; */
 NS_IMETHODIMP 
 nsDocumentViewer::GetIsRangeSelection(bool *aIsRangeSelection)
 {
 #ifdef NS_PRINTING
   *aIsRangeSelection = false;
   NS_ENSURE_TRUE(mPrintEngine, NS_ERROR_FAILURE);
 
   return mPrintEngine->GetIsRangeSelection(aIsRangeSelection);
--- a/layout/inspector/nsFontFace.cpp
+++ b/layout/inspector/nsFontFace.cpp
@@ -32,65 +32,59 @@ nsFontFace::~nsFontFace()
 ////////////////////////////////////////////////////////////////////////
 // nsISupports
 
 NS_IMPL_ISUPPORTS(nsFontFace, nsIDOMFontFace)
 
 ////////////////////////////////////////////////////////////////////////
 // nsIDOMFontFace
 
-/* readonly attribute boolean fromFontGroup; */
 NS_IMETHODIMP
 nsFontFace::GetFromFontGroup(bool * aFromFontGroup)
 {
   *aFromFontGroup =
     (mMatchType & gfxTextRange::kFontGroup) != 0;
   return NS_OK;
 }
 
-/* readonly attribute boolean fromLanguagePrefs; */
 NS_IMETHODIMP
 nsFontFace::GetFromLanguagePrefs(bool * aFromLanguagePrefs)
 {
   *aFromLanguagePrefs =
     (mMatchType & gfxTextRange::kPrefsFallback) != 0;
   return NS_OK;
 }
 
-/* readonly attribute boolean fromSystemFallback; */
 NS_IMETHODIMP
 nsFontFace::GetFromSystemFallback(bool * aFromSystemFallback)
 {
   *aFromSystemFallback =
     (mMatchType & gfxTextRange::kSystemFallback) != 0;
   return NS_OK;
 }
 
-/* readonly attribute DOMString name; */
 NS_IMETHODIMP
 nsFontFace::GetName(nsAString & aName)
 {
   if (mFontEntry->IsUserFont() && !mFontEntry->IsLocalUserFont()) {
     NS_ASSERTION(mFontEntry->mUserFontData, "missing userFontData");
     aName = mFontEntry->mUserFontData->mRealName;
   } else {
     aName = mFontEntry->RealFaceName();
   }
   return NS_OK;
 }
 
-/* readonly attribute DOMString CSSFamilyName; */
 NS_IMETHODIMP
 nsFontFace::GetCSSFamilyName(nsAString & aCSSFamilyName)
 {
   aCSSFamilyName = mFontEntry->FamilyName();
   return NS_OK;
 }
 
-/* readonly attribute nsIDOMCSSFontFaceRule rule; */
 NS_IMETHODIMP
 nsFontFace::GetRule(nsIDOMCSSFontFaceRule **aRule)
 {
   // check whether this font entry is associated with an @font-face rule
   // in the relevant font group's user font set
   nsCSSFontFaceRule* rule = nullptr;
   if (mFontEntry->IsUserFont()) {
     FontFaceSet::UserFontSet* fontSet =
@@ -102,59 +96,55 @@ nsFontFace::GetRule(nsIDOMCSSFontFaceRul
       }
     }
   }
 
   NS_IF_ADDREF(*aRule = rule);
   return NS_OK;
 }
 
-/* readonly attribute long srcIndex; */
 NS_IMETHODIMP
 nsFontFace::GetSrcIndex(int32_t * aSrcIndex)
 {
   if (mFontEntry->IsUserFont()) {
     NS_ASSERTION(mFontEntry->mUserFontData, "missing userFontData");
     *aSrcIndex = mFontEntry->mUserFontData->mSrcIndex;
   } else {
     *aSrcIndex = -1;
   }
   return NS_OK;
 }
 
-/* readonly attribute DOMString URI; */
 NS_IMETHODIMP
 nsFontFace::GetURI(nsAString & aURI)
 {
   aURI.Truncate();
   if (mFontEntry->IsUserFont() && !mFontEntry->IsLocalUserFont()) {
     NS_ASSERTION(mFontEntry->mUserFontData, "missing userFontData");
     if (mFontEntry->mUserFontData->mURI) {
       nsAutoCString spec;
       mFontEntry->mUserFontData->mURI->GetSpec(spec);
       AppendUTF8toUTF16(spec, aURI);
     }
   }
   return NS_OK;
 }
 
-/* readonly attribute DOMString localName; */
 NS_IMETHODIMP
 nsFontFace::GetLocalName(nsAString & aLocalName)
 {
   if (mFontEntry->IsLocalUserFont()) {
     NS_ASSERTION(mFontEntry->mUserFontData, "missing userFontData");
     aLocalName = mFontEntry->mUserFontData->mLocalName;
   } else {
     aLocalName.Truncate();
   }
   return NS_OK;
 }
 
-/* readonly attribute DOMString format; */
 static void
 AppendToFormat(nsAString & aResult, const char* aFormat)
 {
   if (!aResult.IsEmpty()) {
     aResult.Append(',');
   }
   aResult.AppendASCII(aFormat);
 }
@@ -186,17 +176,16 @@ nsFontFace::GetFormat(nsAString & aForma
     }
     if (formatFlags & gfxUserFontSet::FLAG_FORMAT_WOFF2) {
       AppendToFormat(aFormat, "woff2");
     }
   }
   return NS_OK;
 }
 
-/* readonly attribute DOMString metadata; */
 NS_IMETHODIMP
 nsFontFace::GetMetadata(nsAString & aMetadata)
 {
   aMetadata.Truncate();
   if (mFontEntry->IsUserFont() && !mFontEntry->IsLocalUserFont()) {
     NS_ASSERTION(mFontEntry->mUserFontData, "missing userFontData");
     const gfxUserFontData* userFontData = mFontEntry->mUserFontData;
     if (userFontData->mMetadata.Length() && userFontData->mMetaOrigLen) {
--- a/layout/inspector/nsFontFaceList.cpp
+++ b/layout/inspector/nsFontFaceList.cpp
@@ -20,17 +20,16 @@ nsFontFaceList::~nsFontFaceList()
 ////////////////////////////////////////////////////////////////////////
 // nsISupports
 
 NS_IMPL_ISUPPORTS(nsFontFaceList, nsIDOMFontFaceList)
 
 ////////////////////////////////////////////////////////////////////////
 // nsIDOMFontFaceList
 
-/* nsIDOMFontFace item (in unsigned long index); */
 struct FindByIndexData {
   uint32_t mTarget;
   uint32_t mCurrent;
   nsIDOMFontFace* mResult;
 };
 
 static PLDHashOperator
 FindByIndex(gfxFontEntry* aKey, nsIDOMFontFace* aData, void* aUserData)
@@ -53,17 +52,16 @@ nsFontFaceList::Item(uint32_t index, nsI
   userData.mCurrent = 0;
   userData.mResult = nullptr;
   mFontFaces.EnumerateRead(FindByIndex, &userData);
   NS_ASSERTION(userData.mResult != nullptr, "null entry in nsFontFaceList?");
   NS_IF_ADDREF(*_retval = userData.mResult);
   return NS_OK;
 }
 
-/* readonly attribute unsigned long length; */
 NS_IMETHODIMP
 nsFontFaceList::GetLength(uint32_t *aLength)
 {
   *aLength = mFontFaces.Count();
   return NS_OK;
 }
 
 ////////////////////////////////////////////////////////////////////////
--- a/layout/printing/nsPrintEngine.cpp
+++ b/layout/printing/nsPrintEngine.cpp
@@ -792,27 +792,25 @@ nsPrintEngine::PrintPreview(nsIPrintSett
   aChildDOMWin->GetDocument(getter_AddRefs(doc));
   NS_ENSURE_STATE(doc);
 
   // Document is not busy -- go ahead with the Print Preview
   return CommonPrint(true, aPrintSettings, aWebProgressListener, doc);
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute boolean isFramesetDocument; */
 NS_IMETHODIMP
 nsPrintEngine::GetIsFramesetDocument(bool *aIsFramesetDocument)
 {
   nsCOMPtr<nsIDocShell> webContainer(do_QueryReferent(mContainer));
   *aIsFramesetDocument = IsParentAFrameSet(webContainer);
   return NS_OK;
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute boolean isIFrameSelected; */
 NS_IMETHODIMP 
 nsPrintEngine::GetIsIFrameSelected(bool *aIsIFrameSelected)
 {
   *aIsIFrameSelected = false;
 
   // Get the docshell for this documentviewer
   nsCOMPtr<nsIDocShell> webContainer(do_QueryReferent(mContainer));
   // Get the currently focused window
@@ -823,39 +821,36 @@ nsPrintEngine::GetIsIFrameSelected(bool 
     // is a child of this docshell
     bool isParentFrameSet;
     *aIsIFrameSelected = IsThereAnIFrameSelected(webContainer, currentFocusWin, isParentFrameSet);
   }
   return NS_OK;
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute boolean isRangeSelection; */
 NS_IMETHODIMP 
 nsPrintEngine::GetIsRangeSelection(bool *aIsRangeSelection)
 {
   // Get the currently focused window 
   nsCOMPtr<nsIDOMWindow> currentFocusWin = FindFocusedDOMWindow();
   *aIsRangeSelection = IsThereARangeSelection(currentFocusWin);
   return NS_OK;
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute boolean isFramesetFrameSelected; */
 NS_IMETHODIMP 
 nsPrintEngine::GetIsFramesetFrameSelected(bool *aIsFramesetFrameSelected)
 {
   // Get the currently focused window 
   nsCOMPtr<nsIDOMWindow> currentFocusWin = FindFocusedDOMWindow();
   *aIsFramesetFrameSelected = currentFocusWin != nullptr;
   return NS_OK;
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute long printPreviewNumPages; */
 NS_IMETHODIMP
 nsPrintEngine::GetPrintPreviewNumPages(int32_t *aPrintPreviewNumPages)
 {
   NS_ENSURE_ARG_POINTER(aPrintPreviewNumPages);
 
   nsPrintData* prt = nullptr;
   nsIFrame* seqFrame  = nullptr;
   *aPrintPreviewNumPages = 0;
@@ -907,53 +902,49 @@ nsPrintEngine::EnumerateDocumentNames(ui
   *aCount  = numDocs;
   *aResult = array;
 
   return NS_OK;
 
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute nsIPrintSettings globalPrintSettings; */
 nsresult
 nsPrintEngine::GetGlobalPrintSettings(nsIPrintSettings **aGlobalPrintSettings)
 {
   NS_ENSURE_ARG_POINTER(aGlobalPrintSettings);
 
   nsresult rv = NS_ERROR_FAILURE;
   nsCOMPtr<nsIPrintSettingsService> printSettingsService =
     do_GetService(sPrintSettingsServiceContractID, &rv);
   if (NS_SUCCEEDED(rv)) {
     rv = printSettingsService->GetGlobalPrintSettings(aGlobalPrintSettings);
   }
   return rv;
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute boolean doingPrint; */
 NS_IMETHODIMP
 nsPrintEngine::GetDoingPrint(bool *aDoingPrint)
 {
   NS_ENSURE_ARG_POINTER(aDoingPrint);
   *aDoingPrint = mIsDoingPrinting;
   return NS_OK;
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute boolean doingPrintPreview; */
 NS_IMETHODIMP
 nsPrintEngine::GetDoingPrintPreview(bool *aDoingPrintPreview)
 {
   NS_ENSURE_ARG_POINTER(aDoingPrintPreview);
   *aDoingPrintPreview = mIsDoingPrintPreview;
   return NS_OK;
 }
 
 //----------------------------------------------------------------------------------
-/* readonly attribute nsIPrintSettings currentPrintSettings; */
 NS_IMETHODIMP
 nsPrintEngine::GetCurrentPrintSettings(nsIPrintSettings * *aCurrentPrintSettings)
 {
   NS_ENSURE_ARG_POINTER(aCurrentPrintSettings);
 
   if (mPrt) {
     *aCurrentPrintSettings = mPrt->mPrintSettings;
 
--- a/layout/xul/ScrollBoxObject.cpp
+++ b/layout/xul/ScrollBoxObject.cpp
@@ -31,42 +31,39 @@ JSObject* ScrollBoxObject::WrapObject(JS
   return ScrollBoxObjectBinding::Wrap(aCx, this, aGivenProto);
 }
 
 nsIScrollableFrame* ScrollBoxObject::GetScrollFrame()
 {
   return do_QueryFrame(GetFrame(false));
 }
 
-/* void scrollTo (long x, long y); */
 void ScrollBoxObject::ScrollTo(int32_t x, int32_t y, ErrorResult& aRv)
 {
   nsIScrollableFrame* sf = GetScrollFrame();
   if (!sf) {
     aRv.Throw(NS_ERROR_FAILURE);
     return;
   }
 
   sf->ScrollToCSSPixels(CSSIntPoint(x, y));
 }
 
-/* void scrollBy (long dx, long dy); */
 void ScrollBoxObject::ScrollBy(int32_t dx, int32_t dy, ErrorResult& aRv)
 {
   CSSIntPoint pt;
   GetPosition(pt, aRv);
 
   if (aRv.Failed()) {
     return;
   }
 
   ScrollTo(pt.x + dx, pt.y + dy, aRv);
 }
 
-/* void scrollByLine (long dlines); */
 void ScrollBoxObject::ScrollByLine(int32_t dlines, ErrorResult& aRv)
 {
   nsIScrollableFrame* sf = GetScrollFrame();
   if (!sf) {
     aRv.Throw(NS_ERROR_FAILURE);
     return;
   }
 
@@ -93,17 +90,16 @@ static nsIFrame* GetScrolledBox(BoxObjec
   }
 
   nsIFrame* scrolledFrame = scrollFrame->GetScrolledFrame();
   if (!scrolledFrame)
     return nullptr;
   return nsBox::GetChildBox(scrolledFrame);
 }
 
-/* void scrollByIndex (long dindexes); */
 void ScrollBoxObject::ScrollByIndex(int32_t dindexes, ErrorResult& aRv)
 {
     nsIScrollableFrame* sf = GetScrollFrame();
     if (!sf) {
       aRv.Throw(NS_ERROR_FAILURE);
       return;
     }
 
@@ -211,32 +207,30 @@ void ScrollBoxObject::ScrollByIndex(int3
        sf->ScrollTo(pt, nsIScrollableFrame::INSTANT, &range);
    } else {
        // Use a destination range that ensures the top edge will be visible.
        nsRect range(cp.x, rect.y - csspixel, 0, csspixel);
        sf->ScrollTo(nsPoint(cp.x, rect.y), nsIScrollableFrame::INSTANT, &range);
    }
 }
 
-/* void scrollToLine (in long line); */
 void ScrollBoxObject::ScrollToLine(int32_t line, ErrorResult& aRv)
 {
   nsIScrollableFrame* sf = GetScrollFrame();
   if (!sf) {
     aRv.Throw(NS_ERROR_FAILURE);
     return;
   }
 
   nscoord y = sf->GetLineScrollAmount().height * line;
   nsRect range(0, y - nsPresContext::CSSPixelsToAppUnits(1),
                0, nsPresContext::CSSPixelsToAppUnits(1));
   sf->ScrollTo(nsPoint(0, y), nsIScrollableFrame::INSTANT, &range);
 }
 
-/* void scrollToElement (Element child); */
 void ScrollBoxObject::ScrollToElement(Element& child, ErrorResult& aRv)
 {
   nsCOMPtr<nsIPresShell> shell = GetPresShell(false);
   if (!shell) {
     aRv.Throw(NS_ERROR_UNEXPECTED);
     return;
   }
 
@@ -246,17 +240,16 @@ void ScrollBoxObject::ScrollToElement(El
                                  nsIPresShell::SCROLL_ALWAYS),
                                nsIPresShell::ScrollAxis(
                                  nsIPresShell::SCROLL_LEFT,
                                  nsIPresShell::SCROLL_ALWAYS),
                                nsIPresShell::SCROLL_FIRST_ANCESTOR_ONLY |
                                nsIPresShell::SCROLL_OVERFLOW_HIDDEN);
 }
 
-/* void scrollToIndex (long index); */
 void ScrollBoxObject::ScrollToIndex(int32_t index, ErrorResult& aRv)
 {
   aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
 }
 
 int32_t ScrollBoxObject::GetPositionX(ErrorResult& aRv)
 {
   CSSIntPoint pt;
@@ -346,39 +339,36 @@ void ScrollBoxObject::GetScrolledSize(JS
   }
   if (!ToJSValue(cx, rect.height, &v) ||
       !JS_SetProperty(cx, height, "value", v)) {
     aRv.Throw(NS_ERROR_XPC_CANT_SET_OUT_VAL);
     return;
   }
 }
 
-/* void ensureElementIsVisible (in nsIDOMElement child); */
 void ScrollBoxObject::EnsureElementIsVisible(Element& child, ErrorResult& aRv)
 {
     nsCOMPtr<nsIPresShell> shell = GetPresShell(false);
     if (!shell) {
       aRv.Throw(NS_ERROR_UNEXPECTED);
       return;
     }
 
     shell->ScrollContentIntoView(&child,
                                  nsIPresShell::ScrollAxis(),
                                  nsIPresShell::ScrollAxis(),
                                  nsIPresShell::SCROLL_FIRST_ANCESTOR_ONLY |
                                  nsIPresShell::SCROLL_OVERFLOW_HIDDEN);
 }
 
-/* void ensureIndexIsVisible (long index); */
 void ScrollBoxObject::EnsureIndexIsVisible(int32_t index, ErrorResult& aRv)
 {
   aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
 }
 
-/* void ensureLineIsVisible (long line); */
 void ScrollBoxObject::EnsureLineIsVisible(int32_t line, ErrorResult& aRv)
 {
   aRv.Throw(NS_ERROR_NOT_IMPLEMENTED);
 }
 
 } // namespace dom
 } // namespace mozilla
 
--- a/layout/xul/nsImageBoxFrame.cpp
+++ b/layout/xul/nsImageBoxFrame.cpp
@@ -828,28 +828,26 @@ NS_IMETHODIMP
 nsImageBoxListener::Notify(imgIRequest *request, int32_t aType, const nsIntRect* aData)
 {
   if (!mFrame)
     return NS_OK;
 
   return mFrame->Notify(request, aType, aData);
 }
 
-/* void blockOnload (in imgIRequest aRequest); */
 NS_IMETHODIMP
 nsImageBoxListener::BlockOnload(imgIRequest *aRequest)
 {
   if (mFrame && mFrame->GetContent() && mFrame->GetContent()->GetCurrentDoc()) {
     mFrame->GetContent()->GetCurrentDoc()->BlockOnload();
   }
 
   return NS_OK;
 }
 
-/* void unblockOnload (in imgIRequest aRequest); */
 NS_IMETHODIMP
 nsImageBoxListener::UnblockOnload(imgIRequest *aRequest)
 {
   if (mFrame && mFrame->GetContent() && mFrame->GetContent()->GetCurrentDoc()) {
     mFrame->GetContent()->GetCurrentDoc()->UnblockOnload(false);
   }
 
   return NS_OK;
--- a/modules/libjar/zipwriter/nsDeflateConverter.cpp
+++ b/modules/libjar/zipwriter/nsDeflateConverter.cpp
@@ -134,17 +134,16 @@ NS_IMETHODIMP nsDeflateConverter::OnData
             NS_ENSURE_SUCCESS(rv, rv);
             zerr = deflate(&mZstream, Z_NO_FLUSH);
         }
     }
 
     return NS_OK;
 }
 
-/* void onStartRequest (in nsIRequest aRequest, in nsISupports aContext); */
 NS_IMETHODIMP nsDeflateConverter::OnStartRequest(nsIRequest *aRequest,
                                                  nsISupports *aContext)
 {
     if (!mListener)
         return NS_ERROR_NOT_INITIALIZED;
 
     return mListener->OnStartRequest(aRequest, mContext);
 }
--- a/modules/libjar/zipwriter/nsZipDataStream.cpp
+++ b/modules/libjar/zipwriter/nsZipDataStream.cpp
@@ -75,17 +75,16 @@ NS_IMETHODIMP nsZipDataStream::OnDataAva
     NS_ENSURE_TRUE(buffer, NS_ERROR_OUT_OF_MEMORY);
 
     nsresult rv = ZW_ReadData(aInputStream, buffer.get(), aCount);
     NS_ENSURE_SUCCESS(rv, rv);
 
     return ProcessData(aRequest, aContext, buffer.get(), aOffset, aCount);
 }
 
-/* void onStartRequest (in nsIRequest aRequest, in nsISupports aContext); */
 NS_IMETHODIMP nsZipDataStream::OnStartRequest(nsIRequest *aRequest,
                                               nsISupports *aContext)
 {
     if (!mOutput)
         return NS_ERROR_NOT_INITIALIZED;
 
     return mOutput->OnStartRequest(aRequest, aContext);
 }
--- a/modules/libjar/zipwriter/nsZipHeader.cpp
+++ b/modules/libjar/zipwriter/nsZipHeader.cpp
@@ -18,65 +18,59 @@
 #define ZIP_EXTENDED_TIMESTAMP_FIELD 0x5455
 #define ZIP_EXTENDED_TIMESTAMP_MODTIME 0x01
 
 /**
  * nsZipHeader represents an entry from a zip file.
  */
 NS_IMPL_ISUPPORTS(nsZipHeader, nsIZipEntry)
 
-/* readonly attribute unsigned short compression; */
 NS_IMETHODIMP nsZipHeader::GetCompression(uint16_t *aCompression)
 {
     NS_ASSERTION(mInited, "Not initalised");
 
     *aCompression = mMethod;
     return NS_OK;
 }
 
-/* readonly attribute unsigned long size; */
 NS_IMETHODIMP nsZipHeader::GetSize(uint32_t *aSize)
 {
     NS_ASSERTION(mInited, "Not initalised");
 
     *aSize = mCSize;
     return NS_OK;
 }
 
-/* readonly attribute unsigned long realSize; */
 NS_IMETHODIMP nsZipHeader::GetRealSize(uint32_t *aRealSize)
 {
     NS_ASSERTION(mInited, "Not initalised");
 
     *aRealSize = mUSize;
     return NS_OK;
 }
 
-/* readonly attribute unsigned long CRC32; */
 NS_IMETHODIMP nsZipHeader::GetCRC32(uint32_t *aCRC32)
 {
     NS_ASSERTION(mInited, "Not initalised");
 
     *aCRC32 = mCRC;
     return NS_OK;
 }
 
-/* readonly attribute boolean isDirectory; */
 NS_IMETHODIMP nsZipHeader::GetIsDirectory(bool *aIsDirectory)
 {
     NS_ASSERTION(mInited, "Not initalised");
 
     if (mName.Last() == '/')
         *aIsDirectory = true;
     else
         *aIsDirectory = false;
     return NS_OK;
 }
 
-/* readonly attribute PRTime lastModifiedTime; */
 NS_IMETHODIMP nsZipHeader::GetLastModifiedTime(PRTime *aLastModifiedTime)
 {
     NS_ASSERTION(mInited, "Not initalised");
 
     // Try to read timestamp from extra field
     uint16_t blocksize;
     const uint8_t *tsField = GetExtraField(ZIP_EXTENDED_TIMESTAMP_FIELD, false, &blocksize);
     if (tsField && blocksize >= 5) {
@@ -113,26 +107,24 @@ NS_IMETHODIMP nsZipHeader::GetLastModifi
     PR_NormalizeTime(&time, PR_GMTParameters);
     time.tm_params.tp_dst_offset = PR_LocalTimeParameters(&time).tp_dst_offset;
 
     *aLastModifiedTime = PR_ImplodeTime(&time);
 
     return NS_OK;
 }
 
-/* readonly attribute boolean isSynthetic; */
 NS_IMETHODIMP nsZipHeader::GetIsSynthetic(bool *aIsSynthetic)
 {
     NS_ASSERTION(mInited, "Not initalised");
 
     *aIsSynthetic = false;
     return NS_OK;
 }
 
-/* readonly attribute unsigned long permissions; */
 NS_IMETHODIMP nsZipHeader::GetPermissions(uint32_t *aPermissions)
 {
     NS_ASSERTION(mInited, "Not initalised");
 
     // Always give user read access at least, this matches nsIZipReader's behaviour
     *aPermissions = ((mEAttr >> 16) & 0xfff) | 0x100;
     return NS_OK;
 }
--- a/modules/libjar/zipwriter/nsZipWriter.cpp
+++ b/modules/libjar/zipwriter/nsZipWriter.cpp
@@ -54,17 +54,16 @@ nsZipWriter::nsZipWriter()
 }
 
 nsZipWriter::~nsZipWriter()
 {
     if (mStream && !mInQueue)
         Close();
 }
 
-/* attribute AString comment; */
 NS_IMETHODIMP nsZipWriter::GetComment(nsACString & aComment)
 {
     if (!mStream)
         return NS_ERROR_NOT_INITIALIZED;
 
     aComment = mComment;
     return NS_OK;
 }
@@ -74,24 +73,22 @@ NS_IMETHODIMP nsZipWriter::SetComment(co
     if (!mStream)
         return NS_ERROR_NOT_INITIALIZED;
 
     mComment = aComment;
     mCDSDirty = true;
     return NS_OK;
 }
 
-/* readonly attribute boolean inQueue; */
 NS_IMETHODIMP nsZipWriter::GetInQueue(bool *aInQueue)
 {
     *aInQueue = mInQueue;
     return NS_OK;
 }
 
-/* readonly attribute nsIFile file; */
 NS_IMETHODIMP nsZipWriter::GetFile(nsIFile **aFile)
 {
     if (!mFile)
         return NS_ERROR_NOT_INITIALIZED;
 
     nsCOMPtr<nsIFile> file;
     nsresult rv = mFile->Clone(getter_AddRefs(file));
     NS_ENSURE_SUCCESS(rv, rv);
@@ -222,17 +219,16 @@ nsresult nsZipWriter::ReadFile(nsIFile *
         // Overlap by the size of the end of cdr
         seek -= (1024 - ZIP_EOCDR_HEADER_SIZE);
     }
     // Will never reach here in reality
     NS_NOTREACHED("Loop should never complete");
     return NS_ERROR_UNEXPECTED;
 }
 
-/* void open (in nsIFile aFile, in int32_t aIoFlags); */
 NS_IMETHODIMP nsZipWriter::Open(nsIFile *aFile, int32_t aIoFlags)
 {
     if (mStream)
         return NS_ERROR_ALREADY_INITIALIZED;
 
     NS_ENSURE_ARG_POINTER(aFile);
 
     // Need to be able to write to the file
@@ -281,30 +277,28 @@ NS_IMETHODIMP nsZipWriter::Open(nsIFile 
     if (mCDSOffset > 0) {
         rv = SeekCDS();
         NS_ENSURE_SUCCESS(rv, rv);
     }
 
     return NS_OK;
 }
 
-/* nsIZipEntry getEntry (in AString aZipEntry); */
 NS_IMETHODIMP nsZipWriter::GetEntry(const nsACString & aZipEntry,
                                     nsIZipEntry **_retval)
 {
     int32_t pos;
     if (mEntryHash.Get(aZipEntry, &pos))
         NS_ADDREF(*_retval = mHeaders[pos]);
     else
         *_retval = nullptr;
 
     return NS_OK;
 }
 
-/* boolean hasEntry (in AString aZipEntry); */
 NS_IMETHODIMP nsZipWriter::HasEntry(const nsACString & aZipEntry,
                                     bool *_retval)
 {
     *_retval = mEntryHash.Get(aZipEntry, nullptr);
 
     return NS_OK;
 }
 
@@ -504,17 +498,16 @@ nsresult nsZipWriter::AddEntryStream(con
     }
 
     rv = stream->ReadStream(aStream);
     if (NS_FAILED(rv))
         SeekCDS();
     return rv;
 }
 
-/* void removeEntry (in AUTF8String aZipEntry, in boolean aQueue); */
 NS_IMETHODIMP nsZipWriter::RemoveEntry(const nsACString & aZipEntry,
                                        bool aQueue)
 {
     if (!mStream)
         return NS_ERROR_NOT_INITIALIZED;
 
     if (aQueue) {
         nsZipQueueItem item;
@@ -621,17 +614,16 @@ NS_IMETHODIMP nsZipWriter::ProcessQueue(
     if (mProcessObserver)
         mProcessObserver->OnStartRequest(nullptr, mProcessContext);
 
     BeginProcessingNextItem();
 
     return NS_OK;
 }
 
-/* void close (); */
 NS_IMETHODIMP nsZipWriter::Close()
 {
     if (!mStream)
         return NS_ERROR_NOT_INITIALIZED;
     if (mInQueue)
         return NS_ERROR_IN_PROGRESS;
 
     if (mCDSDirty) {
@@ -699,17 +691,16 @@ NS_IMETHODIMP nsZipWriter::Close()
     mHeaders.Clear();
     mEntryHash.Clear();
     mQueue.Clear();
 
     return rv;
 }
 
 // Our nsIRequestObserver monitors removal operations performed on the queue
-/* void onStartRequest (in nsIRequest aRequest, in nsISupports aContext); */
 NS_IMETHODIMP nsZipWriter::OnStartRequest(nsIRequest *aRequest,
                                           nsISupports *aContext)
 {
     return NS_OK;
 }
 
 /* void onStopRequest (in nsIRequest aRequest, in nsISupports aContext,
  *                                             in nsresult aStatusCode); */
--- a/modules/libpref/nsPrefBranch.cpp
+++ b/modules/libpref/nsPrefBranch.cpp
@@ -510,17 +510,16 @@ NS_IMETHODIMP nsPrefBranch::PrefIsLocked
 NS_IMETHODIMP nsPrefBranch::UnlockPref(const char *aPrefName)
 {
   ENSURE_MAIN_PROCESS("Cannot UnlockPref from content process:", aPrefName);
   NS_ENSURE_ARG(aPrefName);
   const char *pref = getPrefName(aPrefName);
   return PREF_LockPref(pref, false);
 }
 
-/* void resetBranch (in string startingAt); */
 NS_IMETHODIMP nsPrefBranch::ResetBranch(const char *aStartingAt)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
 NS_IMETHODIMP nsPrefBranch::DeleteBranch(const char *aStartingAt)
 {
   ENSURE_MAIN_PROCESS("Cannot DeleteBranch from content process:", aStartingAt);
--- a/netwerk/base/SchedulingContextService.cpp
+++ b/netwerk/base/SchedulingContextService.cpp
@@ -68,32 +68,30 @@ NS_IMETHODIMP
 SchedulingContext::RemoveBlockingTransaction(uint32_t *outval)
 {
   NS_ENSURE_ARG_POINTER(outval);
   mBlockingTransactionCount--;
   *outval = mBlockingTransactionCount;
   return NS_OK;
 }
 
-/* [noscript] attribute SpdyPushCachePtr spdyPushCache; */
 NS_IMETHODIMP
 SchedulingContext::GetSpdyPushCache(mozilla::net::SpdyPushCache **aSpdyPushCache)
 {
   *aSpdyPushCache = mSpdyCache.get();
   return NS_OK;
 }
 
 NS_IMETHODIMP
 SchedulingContext::SetSpdyPushCache(mozilla::net::SpdyPushCache *aSpdyPushCache)
 {
   mSpdyCache = aSpdyPushCache;
   return NS_OK;
 }
 
-/* [noscript] readonly attribute nsID ID; */
 NS_IMETHODIMP
 SchedulingContext::GetID(nsID *outval)
 {
   NS_ENSURE_ARG_POINTER(outval);
   *outval = mID;
   return NS_OK;
 }
 
--- a/netwerk/base/nsLoadGroup.cpp
+++ b/netwerk/base/nsLoadGroup.cpp
@@ -717,17 +717,16 @@ nsLoadGroup::GetSchedulingContextID(nsID
         return NS_ERROR_NOT_AVAILABLE;
     }
     return mSchedulingContext->GetID(aSCID);
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsILoadGroupChild methods:
 
-/* attribute nsILoadGroup parentLoadGroup; */
 NS_IMETHODIMP
 nsLoadGroup::GetParentLoadGroup(nsILoadGroup * *aParentLoadGroup)
 {
     *aParentLoadGroup = nullptr;
     nsCOMPtr<nsILoadGroup> parent = do_QueryReferent(mParentLoadGroup);
     if (!parent)
         return NS_OK;
     parent.forget(aParentLoadGroup);
@@ -736,25 +735,23 @@ nsLoadGroup::GetParentLoadGroup(nsILoadG
 
 NS_IMETHODIMP
 nsLoadGroup::SetParentLoadGroup(nsILoadGroup *aParentLoadGroup)
 {
     mParentLoadGroup = do_GetWeakReference(aParentLoadGroup);
     return NS_OK;
 }
 
-/* readonly attribute nsILoadGroup childLoadGroup; */
 NS_IMETHODIMP
 nsLoadGroup::GetChildLoadGroup(nsILoadGroup * *aChildLoadGroup)
 {
     NS_ADDREF(*aChildLoadGroup = this);
     return NS_OK;
 }
 
-/* readonly attribute nsILoadGroup rootLoadGroup; */
 NS_IMETHODIMP
 nsLoadGroup::GetRootLoadGroup(nsILoadGroup * *aRootLoadGroup)
 {
     // first recursively try the root load group of our parent
     nsCOMPtr<nsILoadGroupChild> ancestor = do_QueryReferent(mParentLoadGroup);
     if (ancestor)
         return ancestor->GetRootLoadGroup(aRootLoadGroup);
 
--- a/netwerk/base/nsMIMEInputStream.cpp
+++ b/netwerk/base/nsMIMEInputStream.cpp
@@ -109,32 +109,30 @@ NS_METHOD nsMIMEInputStream::Init()
 
     rv = mStream->AppendStream(mCLStream);
     NS_ENSURE_SUCCESS(rv, rv);
 
     return NS_OK;
 }
 
 
-/* attribute boolean addContentLength; */
 NS_IMETHODIMP
 nsMIMEInputStream::GetAddContentLength(bool *aAddContentLength)
 {
     *aAddContentLength = mAddContentLength;
     return NS_OK;
 }
 NS_IMETHODIMP
 nsMIMEInputStream::SetAddContentLength(bool aAddContentLength)
 {
     NS_ENSURE_FALSE(mStartedReading, NS_ERROR_FAILURE);
     mAddContentLength = aAddContentLength;
     return NS_OK;
 }
 
-/* void addHeader ([const] in string name, [const] in string value); */
 NS_IMETHODIMP
 nsMIMEInputStream::AddHeader(const char *aName, const char *aValue)
 {
     NS_ENSURE_FALSE(mStartedReading, NS_ERROR_FAILURE);
     mHeaders.Append(aName);
     mHeaders.AppendLiteral(": ");
     mHeaders.Append(aValue);
     mHeaders.AppendLiteral("\r\n");
@@ -142,17 +140,16 @@ nsMIMEInputStream::AddHeader(const char 
     // Just in case someone somehow uses our stream, lets at least
     // let the stream have a valid pointer. The stream will be properly
     // initialized in nsMIMEInputStream::InitStreams
     mHeaderStream->ShareData(mHeaders.get(), 0);
 
     return NS_OK;
 }
 
-/* void setData (in nsIInputStream stream); */
 NS_IMETHODIMP
 nsMIMEInputStream::SetData(nsIInputStream *aStream)
 {
     NS_ENSURE_FALSE(mStartedReading, NS_ERROR_FAILURE);
     // Remove the old stream if there is one
     if (mData)
         mStream->RemoveStream(2);
 
--- a/netwerk/base/nsNetAddr.cpp
+++ b/netwerk/base/nsNetAddr.cpp
@@ -14,17 +14,16 @@ NS_IMPL_ISUPPORTS(nsNetAddr, nsINetAddr)
 
 /* Makes a copy of |addr| */
 nsNetAddr::nsNetAddr(NetAddr* addr)
 {
   NS_ASSERTION(addr, "null addr");
   mAddr = *addr;
 }
 
-/* readonly attribute unsigned short family; */
 NS_IMETHODIMP nsNetAddr::GetFamily(uint16_t *aFamily)
 {
   switch(mAddr.raw.family) {
   case AF_INET:
     *aFamily = nsINetAddr::FAMILY_INET;
     break;
   case AF_INET6:
     *aFamily = nsINetAddr::FAMILY_INET6;
@@ -36,17 +35,16 @@ NS_IMETHODIMP nsNetAddr::GetFamily(uint1
 #endif
   default:
     return NS_ERROR_UNEXPECTED;
   }
 
   return NS_OK;
 }
 
-/* readonly attribute AUTF8String address; */
 NS_IMETHODIMP nsNetAddr::GetAddress(nsACString & aAddress)
 {
   switch(mAddr.raw.family) {
   /* PR_NetAddrToString can handle INET and INET6, but not LOCAL. */
   case AF_INET:
     aAddress.SetCapacity(kIPv4CStrBufSize);
     NetAddrToString(&mAddr, aAddress.BeginWriting(), kIPv4CStrBufSize);
     aAddress.SetLength(strlen(aAddress.BeginReading()));
@@ -64,17 +62,16 @@ NS_IMETHODIMP nsNetAddr::GetAddress(nsAC
   // PR_AF_LOCAL falls through to default when not XP_UNIX
   default:
     return NS_ERROR_UNEXPECTED;
   }
   
   return NS_OK;
 }
 
-/* readonly attribute unsigned short port; */
 NS_IMETHODIMP nsNetAddr::GetPort(uint16_t *aPort)
 {
   switch(mAddr.raw.family) {
   case AF_INET:
     *aPort = ntohs(mAddr.inet.port);
     break;
   case AF_INET6:
     *aPort = ntohs(mAddr.inet6.port);
@@ -86,17 +83,16 @@ NS_IMETHODIMP nsNetAddr::GetPort(uint16_
 #endif
   default:
     return NS_ERROR_UNEXPECTED;
   }
 
   return NS_OK;
 }
 
-/* readonly attribute unsigned long flow; */
 NS_IMETHODIMP nsNetAddr::GetFlow(uint32_t *aFlow)
 {
   switch(mAddr.raw.family) {
   case AF_INET6:
     *aFlow = ntohl(mAddr.inet6.flowinfo);
     break;
   case AF_INET:
 #if defined(XP_UNIX)
@@ -106,17 +102,16 @@ NS_IMETHODIMP nsNetAddr::GetFlow(uint32_
     return NS_ERROR_NOT_AVAILABLE;
   default:
     return NS_ERROR_UNEXPECTED;
   }
 
   return NS_OK;
 }
 
-/* readonly attribute unsigned long scope; */
 NS_IMETHODIMP nsNetAddr::GetScope(uint32_t *aScope)
 {
   switch(mAddr.raw.family) {
   case AF_INET6:
     *aScope = ntohl(mAddr.inet6.scope_id);
     break;
   case AF_INET:
 #if defined(XP_UNIX)
@@ -126,17 +121,16 @@ NS_IMETHODIMP nsNetAddr::GetScope(uint32
     return NS_ERROR_NOT_AVAILABLE;
   default:
     return NS_ERROR_UNEXPECTED;
   }
 
   return NS_OK;
 }
 
-/* readonly attribute boolean isV4Mapped; */
 NS_IMETHODIMP nsNetAddr::GetIsV4Mapped(bool *aIsV4Mapped)
 {
   switch(mAddr.raw.family) {
   case AF_INET6:
     *aIsV4Mapped = IPv6ADDR_IS_V4MAPPED(&mAddr.inet6.ip);
     break;
   case AF_INET:
 #if defined(XP_UNIX)
--- a/netwerk/base/nsSocketTransport2.cpp
+++ b/netwerk/base/nsSocketTransport2.cpp
@@ -2352,33 +2352,31 @@ nsSocketTransport::Bind(NetAddr *aLocalA
     }
 
     mBindAddr = new NetAddr();
     memcpy(mBindAddr.get(), aLocalAddr, sizeof(NetAddr));
 
     return NS_OK;
 }
 
-/* nsINetAddr getScriptablePeerAddr (); */
 NS_IMETHODIMP
 nsSocketTransport::GetScriptablePeerAddr(nsINetAddr * *addr)
 {
     NetAddr rawAddr;
 
     nsresult rv;
     rv = GetPeerAddr(&rawAddr);
     if (NS_FAILED(rv))
         return rv;
 
     NS_ADDREF(*addr = new nsNetAddr(&rawAddr));
 
     return NS_OK;
 }
 
-/* nsINetAddr getScriptableSelfAddr (); */
 NS_IMETHODIMP
 nsSocketTransport::GetScriptableSelfAddr(nsINetAddr * *addr)
 {
     NetAddr rawAddr;
 
     nsresult rv;
     rv = GetSelfAddr(&rawAddr);
     if (NS_FAILED(rv))
--- a/netwerk/base/nsStreamLoader.cpp
+++ b/netwerk/base/nsStreamLoader.cpp
@@ -50,17 +50,16 @@ NS_IMPL_ISUPPORTS(nsStreamLoader, nsIStr
 
 NS_IMETHODIMP 
 nsStreamLoader::GetNumBytesRead(uint32_t* aNumBytes)
 {
   *aNumBytes = mData.length();
   return NS_OK;
 }
 
-/* readonly attribute nsIRequest request; */
 NS_IMETHODIMP 
 nsStreamLoader::GetRequest(nsIRequest **aRequest)
 {
   NS_IF_ADDREF(*aRequest = mRequest);
   return NS_OK;
 }
 
 NS_IMETHODIMP
--- a/netwerk/base/nsUDPSocket.cpp
+++ b/netwerk/base/nsUDPSocket.cpp
@@ -290,33 +290,30 @@ nsUDPOutputStream::nsUDPOutputStream(nsU
   , mIsClosed(false)
 {
 }
 
 nsUDPOutputStream::~nsUDPOutputStream()
 {
 }
 
-/* void close (); */
 NS_IMETHODIMP nsUDPOutputStream::Close()
 {
   if (mIsClosed)
     return NS_BASE_STREAM_CLOSED;
 
   mIsClosed = true;
   return NS_OK;
 }
 
-/* void flush (); */
 NS_IMETHODIMP nsUDPOutputStream::Flush()
 {
   return NS_OK;
 }
 
-/* unsigned long write (in string aBuf, in unsigned long aCount); */
 NS_IMETHODIMP nsUDPOutputStream::Write(const char * aBuf, uint32_t aCount, uint32_t *_retval)
 {
   if (mIsClosed)
     return NS_BASE_STREAM_CLOSED;
 
   *_retval = 0;
   int32_t count = PR_SendTo(mFD, aBuf, aCount, 0, &mPrClientAddr, PR_INTERVAL_NO_WAIT);
   if (count < 0) {
@@ -326,29 +323,26 @@ NS_IMETHODIMP nsUDPOutputStream::Write(c
 
   *_retval = count;
 
   mSocket->AddOutputBytes(count);
 
   return NS_OK;
 }
 
-/* unsigned long writeFrom (in nsIInputStream aFromStream, in unsigned long aCount); */
 NS_IMETHODIMP nsUDPOutputStream::WriteFrom(nsIInputStream *aFromStream, uint32_t aCount, uint32_t *_retval)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* [noscript] unsigned long writeSegments (in nsReadSegmentFun aReader, in voidPtr aClosure, in unsigned long aCount); */
 NS_IMETHODIMP nsUDPOutputStream::WriteSegments(nsReadSegmentFun aReader, void *aClosure, uint32_t aCount, uint32_t *_retval)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* boolean isNonBlocking (); */
 NS_IMETHODIMP nsUDPOutputStream::IsNonBlocking(bool *_retval)
 {
   *_retval = true;
   return NS_OK;
 }
 
 //-----------------------------------------------------------------------------
 // nsUDPMessage impl
@@ -384,59 +378,54 @@ nsUDPMessage::nsUDPMessage(NetAddr* aAdd
   aData.SwapElements(mData);
 }
 
 nsUDPMessage::~nsUDPMessage()
 {
   mozilla::DropJSObjects(this);
 }
 
-/* readonly attribute nsINetAddr from; */
 NS_IMETHODIMP
 nsUDPMessage::GetFromAddr(nsINetAddr * *aFromAddr)
 {
   NS_ENSURE_ARG_POINTER(aFromAddr);
 
   nsCOMPtr<nsINetAddr> result = new nsNetAddr(&mAddr);
   result.forget(aFromAddr);
 
   return NS_OK;
 }
 
-/* readonly attribute ACString data; */
 NS_IMETHODIMP
 nsUDPMessage::GetData(nsACString & aData)
 {
   aData.Assign(reinterpret_cast<const char*>(mData.Elements()), mData.Length());
   return NS_OK;
 }
 
-/* readonly attribute nsIOutputStream outputStream; */
 NS_IMETHODIMP
 nsUDPMessage::GetOutputStream(nsIOutputStream * *aOutputStream)
 {
   NS_ENSURE_ARG_POINTER(aOutputStream);
   NS_IF_ADDREF(*aOutputStream = mOutputStream);
   return NS_OK;
 }
 
-/* readonly attribute jsval rawData; */
 NS_IMETHODIMP
 nsUDPMessage::GetRawData(JSContext* cx,
                          JS::MutableHandleValue aRawData)
 {
   if(!mJsobj){
     mJsobj = mozilla::dom::Uint8Array::Create(cx, nullptr, mData.Length(), mData.Elements());
     mozilla::HoldJSObjects(this);
   }
   aRawData.setObject(*mJsobj);
   return NS_OK;
 }
 
-/* [noscript, notxpcom, nostdcall] Uint8ArrayRef getDataAsTArray(); */
 FallibleTArray<uint8_t>&
 nsUDPMessage::GetDataAsTArray()
 {
   return mData;
 }
 
 //-----------------------------------------------------------------------------
 // nsUDPSocket
@@ -590,52 +579,47 @@ private:
 
   NetAddr mAddr;
   nsCOMPtr<nsIOutputStream> mOutputStream;
   FallibleTArray<uint8_t> mData;
 };
 
 NS_IMPL_ISUPPORTS(UDPMessageProxy, nsIUDPMessage)
 
-/* readonly attribute nsINetAddr from; */
 NS_IMETHODIMP
 UDPMessageProxy::GetFromAddr(nsINetAddr * *aFromAddr)
 {
   NS_ENSURE_ARG_POINTER(aFromAddr);
 
   nsCOMPtr<nsINetAddr> result = new nsNetAddr(&mAddr);
   result.forget(aFromAddr);
 
   return NS_OK;
 }
 
-/* readonly attribute ACString data; */
 NS_IMETHODIMP
 UDPMessageProxy::GetData(nsACString & aData)
 {
   aData.Assign(reinterpret_cast<const char*>(mData.Elements()), mData.Length());
   return NS_OK;
 }
 
-/* [noscript, notxpcom, nostdcall] Uint8TArrayRef getDataAsTArray(); */
 FallibleTArray<uint8_t>&
 UDPMessageProxy::GetDataAsTArray()
 {
   return mData;
 }
 
-/* readonly attribute jsval rawData; */
 NS_IMETHODIMP
 UDPMessageProxy::GetRawData(JSContext* cx,
                             JS::MutableHandleValue aRawData)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* readonly attribute nsIOutputStream outputStream; */
 NS_IMETHODIMP
 UDPMessageProxy::GetOutputStream(nsIOutputStream * *aOutputStream)
 {
   NS_ENSURE_ARG_POINTER(aOutputStream);
   NS_IF_ADDREF(*aOutputStream = mOutputStream);
   return NS_OK;
 }
 
--- a/netwerk/base/nsUnicharStreamLoader.cpp
+++ b/netwerk/base/nsUnicharStreamLoader.cpp
@@ -44,25 +44,23 @@ nsUnicharStreamLoader::Create(nsISupport
   nsresult rv = it->QueryInterface(aIID, aResult);
   NS_RELEASE(it);
   return rv;
 }
 
 NS_IMPL_ISUPPORTS(nsUnicharStreamLoader, nsIUnicharStreamLoader,
                   nsIRequestObserver, nsIStreamListener)
 
-/* readonly attribute nsIChannel channel; */
 NS_IMETHODIMP
 nsUnicharStreamLoader::GetChannel(nsIChannel **aChannel)
 {
   NS_IF_ADDREF(*aChannel = mChannel);
   return NS_OK;
 }
 
-/* readonly attribute nsACString charset */
 NS_IMETHODIMP
 nsUnicharStreamLoader::GetCharset(nsACString& aCharset)
 {
   aCharset = mCharset;
   return NS_OK;
 }
 
 /* nsIRequestObserver implementation */
--- a/netwerk/cache/nsDiskCacheDevice.cpp
+++ b/netwerk/cache/nsDiskCacheDevice.cpp
@@ -188,25 +188,23 @@ public:
 private:
     virtual ~nsDiskCacheDeviceInfo() {}
 
     nsDiskCacheDevice* mDevice;
 };
 
 NS_IMPL_ISUPPORTS(nsDiskCacheDeviceInfo, nsICacheDeviceInfo)
 
-/* readonly attribute string description; */
 NS_IMETHODIMP nsDiskCacheDeviceInfo::GetDescription(char ** aDescription)
 {
     NS_ENSURE_ARG_POINTER(aDescription);
     *aDescription = NS_strdup("Disk cache device");
     return *aDescription ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
 }
 
-/* readonly attribute string usageReport; */
 NS_IMETHODIMP nsDiskCacheDeviceInfo::GetUsageReport(char ** usageReport)
 {
     NS_ENSURE_ARG_POINTER(usageReport);
     nsCString buffer;
     
     buffer.AssignLiteral("  <tr>\n"
                          "    <th>Cache Directory:</th>\n"
                          "    <td>");
@@ -223,34 +221,31 @@ NS_IMETHODIMP nsDiskCacheDeviceInfo::Get
                          "  </tr>\n");
 
     *usageReport = ToNewCString(buffer);
     if (!*usageReport) return NS_ERROR_OUT_OF_MEMORY;
 
     return NS_OK;
 }
 
-/* readonly attribute unsigned long entryCount; */
 NS_IMETHODIMP nsDiskCacheDeviceInfo::GetEntryCount(uint32_t *aEntryCount)
 {
     NS_ENSURE_ARG_POINTER(aEntryCount);
     *aEntryCount = mDevice->getEntryCount();
     return NS_OK;
 }
 
-/* readonly attribute unsigned long totalSize; */
 NS_IMETHODIMP nsDiskCacheDeviceInfo::GetTotalSize(uint32_t *aTotalSize)
 {
     NS_ENSURE_ARG_POINTER(aTotalSize);
     // Returned unit's are in bytes
     *aTotalSize = mDevice->getCacheSize() * 1024;
     return NS_OK;
 }
 
-/* readonly attribute unsigned long maximumSize; */
 NS_IMETHODIMP nsDiskCacheDeviceInfo::GetMaximumSize(uint32_t *aMaximumSize)
 {
     NS_ENSURE_ARG_POINTER(aMaximumSize);
     // Returned unit's are in bytes
     *aMaximumSize = mDevice->getCacheCapacity() * 1024;
     return NS_OK;
 }
 
--- a/netwerk/dns/nsIDNService.cpp
+++ b/netwerk/dns/nsIDNService.cpp
@@ -148,17 +148,16 @@ nsIDNService::nsIDNService()
   /* member initializers and constructor code */
 }
 
 nsIDNService::~nsIDNService()
 {
   idn_nameprep_destroy(mNamePrepHandle);
 }
 
-/* ACString ConvertUTF8toACE (in AUTF8String input); */
 NS_IMETHODIMP nsIDNService::ConvertUTF8toACE(const nsACString & input, nsACString & ace)
 {
   return UTF8toACE(input, ace, true, true);
 }
 
 nsresult nsIDNService::SelectiveUTF8toACE(const nsACString& input, nsACString& ace)
 {
   return UTF8toACE(input, ace, true, false);
@@ -208,17 +207,16 @@ nsresult nsIDNService::UTF8toACE(const n
     NS_ENSURE_SUCCESS(rv, rv);
 
     ace.Append(encodedBuf);
   }
 
   return NS_OK;
 }
 
-/* AUTF8String convertACEtoUTF8(in ACString input); */
 NS_IMETHODIMP nsIDNService::ConvertACEtoUTF8(const nsACString & input, nsACString & _retval)
 {
   return ACEtoUTF8(input, _retval, true, true);
 }
 
 nsresult nsIDNService::SelectiveACEtoUTF8(const nsACString& input, nsACString& _retval)
 {
   return ACEtoUTF8(input, _retval, false, false);
@@ -262,17 +260,16 @@ nsresult nsIDNService::ACEtoUTF8(const n
       _retval.Assign(input);
     else
       _retval.Append(decodedBuf);
   }
 
   return NS_OK;
 }
 
-/* boolean isACE(in ACString input); */
 NS_IMETHODIMP nsIDNService::IsACE(const nsACString & input, bool *_retval)
 {
   nsACString::const_iterator begin;
   input.BeginReading(begin);
 
   const char *data = begin.get();
   uint32_t dataLen = begin.size_forward();
 
@@ -281,17 +278,16 @@ NS_IMETHODIMP nsIDNService::IsACE(const 
   // example: "www.xn--ENCODED.com"
 
   const char *p = PL_strncasestr(data, mACEPrefix, dataLen);
 
   *_retval = p && (p == data || *(p - 1) == '.');
   return NS_OK;
 }
 
-/* AUTF8String normalize(in AUTF8String input); */
 NS_IMETHODIMP nsIDNService::Normalize(const nsACString & input, nsACString & output)
 {
   // protect against bogus input
   NS_ENSURE_TRUE(IsUTF8(input), NS_ERROR_UNEXPECTED);
 
   NS_ConvertUTF8toUTF16 inUTF16(input);
   normalizeFullStops(inUTF16);
 
--- a/netwerk/protocol/http/HttpChannelChild.cpp
+++ b/netwerk/protocol/http/HttpChannelChild.cpp
@@ -2028,17 +2028,16 @@ HttpChannelChild::GetAssociatedContentSe
   if (!assoc)
     return false;
 
   if (_result)
     assoc.forget(_result);
   return true;
 }
 
-/* attribute unsigned long countSubRequestsBrokenSecurity; */
 NS_IMETHODIMP
 HttpChannelChild::GetCountSubRequestsBrokenSecurity(
                     int32_t *aSubRequestsBrokenSecurity)
 {
   nsCOMPtr<nsIAssociatedContentSecurity> assoc;
   if (!GetAssociatedContentSecurity(getter_AddRefs(assoc)))
     return NS_OK;
 
@@ -2050,17 +2049,16 @@ HttpChannelChild::SetCountSubRequestsBro
 {
   nsCOMPtr<nsIAssociatedContentSecurity> assoc;
   if (!GetAssociatedContentSecurity(getter_AddRefs(assoc)))
     return NS_OK;
 
   return assoc->SetCountSubRequestsBrokenSecurity(aSubRequestsBrokenSecurity);
 }
 
-/* attribute unsigned long countSubRequestsNoSecurity; */
 NS_IMETHODIMP
 HttpChannelChild::GetCountSubRequestsNoSecurity(int32_t *aSubRequestsNoSecurity)
 {
   nsCOMPtr<nsIAssociatedContentSecurity> assoc;
   if (!GetAssociatedContentSecurity(getter_AddRefs(assoc)))
     return NS_OK;
 
   return assoc->GetCountSubRequestsNoSecurity(aSubRequestsNoSecurity);
--- a/netwerk/protocol/rtsp/controller/RtspMetaData.cpp
+++ b/netwerk/protocol/rtsp/controller/RtspMetaData.cpp
@@ -134,49 +134,46 @@ RtspMetaData::GetWidth(uint32_t *aWidth)
 
 NS_IMETHODIMP
 RtspMetaData::SetWidth(uint32_t aWidth)
 {
   mWidth = aWidth;
   return NS_OK;
 }
 
-/* attribute unsigned long height; */
 NS_IMETHODIMP
 RtspMetaData::GetHeight(uint32_t *aHeight)
 {
   NS_ENSURE_ARG_POINTER(aHeight);
   *aHeight = mHeight;
   return NS_OK;
 }
 
 NS_IMETHODIMP
 RtspMetaData::SetHeight(uint32_t aHeight)
 {
   mHeight = aHeight;
   return NS_OK;
 }
 
-/* attribute unsigned long long duration; */
 NS_IMETHODIMP
 RtspMetaData::GetDuration(uint64_t *aDuration)
 {
   NS_ENSURE_ARG_POINTER(aDuration);
   *aDuration = mDuration;
   return NS_OK;
 }
 
 NS_IMETHODIMP
 RtspMetaData::SetDuration(uint64_t aDuration)
 {
   mDuration = aDuration;
   return NS_OK;
 }
 
-/* attribute unsigned long sampleRate; */
 NS_IMETHODIMP
 RtspMetaData::GetSampleRate(uint32_t *aSampleRate)
 {
   NS_ENSURE_ARG_POINTER(aSampleRate);
   *aSampleRate = mSampleRate;
   return NS_OK;
 }
 
--- a/netwerk/protocol/wyciwyg/WyciwygChannelChild.cpp
+++ b/netwerk/protocol/wyciwyg/WyciwygChannelChild.cpp
@@ -363,68 +363,61 @@ void WyciwygChannelChild::CancelEarly(co
   if (mIPCOpen)
     PWyciwygChannelChild::Send__delete__(this);
 }
 
 //-----------------------------------------------------------------------------
 // nsIRequest
 //-----------------------------------------------------------------------------
 
-/* readonly attribute AUTF8String name; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetName(nsACString & aName)
 {
   return mURI->GetSpec(aName);
 }
 
-/* boolean isPending (); */
 NS_IMETHODIMP
 WyciwygChannelChild::IsPending(bool *aIsPending)
 {
   *aIsPending = mIsPending;
   return NS_OK;
 }
 
-/* readonly attribute nsresult status; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetStatus(nsresult *aStatus)
 {
   *aStatus = mStatus;
   return NS_OK;
 }
 
-/* void cancel (in nsresult aStatus); */
 NS_IMETHODIMP
 WyciwygChannelChild::Cancel(nsresult aStatus)
 {
   if (mCanceled)
     return NS_OK;
 
   mCanceled = true;
   mStatus = aStatus;
   if (mIPCOpen)
     SendCancel(aStatus);
   return NS_OK;
 }
 
-/* void suspend (); */
 NS_IMETHODIMP
 WyciwygChannelChild::Suspend()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void resume (); */
 NS_IMETHODIMP
 WyciwygChannelChild::Resume()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* attribute nsILoadGroup loadGroup; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetLoadGroup(nsILoadGroup * *aLoadGroup)
 {
   *aLoadGroup = mLoadGroup;
   NS_IF_ADDREF(*aLoadGroup);
   return NS_OK;
 }
 NS_IMETHODIMP
@@ -437,17 +430,16 @@ WyciwygChannelChild::SetLoadGroup(nsILoa
   mLoadGroup = aLoadGroup;
   NS_QueryNotificationCallbacks(mCallbacks,
                                 mLoadGroup,
                                 NS_GET_IID(nsIProgressEventSink),
                                 getter_AddRefs(mProgressSink));
   return NS_OK;
 }
 
-/* attribute nsLoadFlags loadFlags; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetLoadFlags(nsLoadFlags *aLoadFlags)
 {
   *aLoadFlags = mLoadFlags;
   return NS_OK;
 }
 NS_IMETHODIMP
 WyciwygChannelChild::SetLoadFlags(nsLoadFlags aLoadFlags)
@@ -456,17 +448,16 @@ WyciwygChannelChild::SetLoadFlags(nsLoad
   return NS_OK;
 }
 
 
 //-----------------------------------------------------------------------------
 // nsIChannel
 //-----------------------------------------------------------------------------
 
-/* attribute nsIURI originalURI; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetOriginalURI(nsIURI * *aOriginalURI)
 {
   *aOriginalURI = mOriginalURI;
   NS_ADDREF(*aOriginalURI);
   return NS_OK;
 }
 NS_IMETHODIMP
@@ -474,26 +465,24 @@ WyciwygChannelChild::SetOriginalURI(nsIU
 {
   NS_ENSURE_TRUE(mState == WCC_INIT, NS_ERROR_UNEXPECTED);
 
   NS_ENSURE_ARG_POINTER(aOriginalURI);
   mOriginalURI = aOriginalURI;
   return NS_OK;
 }
 
-/* readonly attribute nsIURI URI; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetURI(nsIURI * *aURI)
 {
   *aURI = mURI;
   NS_IF_ADDREF(*aURI);
   return NS_OK;
 }
 
-/* attribute nsISupports owner; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetOwner(nsISupports * *aOwner)
 {
   NS_IF_ADDREF(*aOwner = mOwner);
   return NS_OK;
 }
 NS_IMETHODIMP
 WyciwygChannelChild::SetOwner(nsISupports * aOwner)
@@ -511,17 +500,16 @@ WyciwygChannelChild::GetLoadInfo(nsILoad
 
 NS_IMETHODIMP
 WyciwygChannelChild::SetLoadInfo(nsILoadInfo* aLoadInfo)
 {
   mLoadInfo = aLoadInfo;
   return NS_OK;
 }
 
-/* attribute nsIInterfaceRequestor notificationCallbacks; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetNotificationCallbacks(nsIInterfaceRequestor * *aCallbacks)
 {
   *aCallbacks = mCallbacks;
   NS_IF_ADDREF(*aCallbacks);
   return NS_OK;
 }
 NS_IMETHODIMP
@@ -534,39 +522,36 @@ WyciwygChannelChild::SetNotificationCall
   mCallbacks = aCallbacks;
   NS_QueryNotificationCallbacks(mCallbacks,
                                 mLoadGroup,
                                 NS_GET_IID(nsIProgressEventSink),
                                 getter_AddRefs(mProgressSink));
   return NS_OK;
 }
 
-/* readonly attribute nsISupports securityInfo; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetSecurityInfo(nsISupports * *aSecurityInfo)
 {
   NS_IF_ADDREF(*aSecurityInfo = mSecurityInfo);
 
   return NS_OK;
 }
 
-/* attribute ACString contentType; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetContentType(nsACString & aContentType)
 {
   aContentType.AssignLiteral(WYCIWYG_TYPE);
   return NS_OK;
 }
 NS_IMETHODIMP
 WyciwygChannelChild::SetContentType(const nsACString & aContentType)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* attribute ACString contentCharset; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetContentCharset(nsACString & aContentCharset)
 {
   aContentCharset.AssignLiteral("UTF-16");
   return NS_OK;
 }
 NS_IMETHODIMP
 WyciwygChannelChild::SetContentCharset(const nsACString & aContentCharset)
@@ -599,29 +584,27 @@ WyciwygChannelChild::SetContentDispositi
 }
 
 NS_IMETHODIMP
 WyciwygChannelChild::GetContentDispositionHeader(nsACString &aContentDispositionHeader)
 {
   return NS_ERROR_NOT_AVAILABLE;
 }
 
-/* attribute int64_t contentLength; */
 NS_IMETHODIMP
 WyciwygChannelChild::GetContentLength(int64_t *aContentLength)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 NS_IMETHODIMP
 WyciwygChannelChild::SetContentLength(int64_t aContentLength)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* nsIInputStream open (); */
 NS_IMETHODIMP
 WyciwygChannelChild::Open(nsIInputStream **_retval)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
 NS_IMETHODIMP
 WyciwygChannelChild::Open2(nsIInputStream** aStream)
@@ -635,17 +618,16 @@ WyciwygChannelChild::Open2(nsIInputStrea
 static mozilla::dom::TabChild*
 GetTabChild(nsIChannel* aChannel)
 {
   nsCOMPtr<nsITabChild> iTabChild;
   NS_QueryNotificationCallbacks(aChannel, iTabChild);
   return iTabChild ? static_cast<mozilla::dom::TabChild*>(iTabChild.get()) : nullptr;
 }
 
-/* void asyncOpen (in nsIStreamListener aListener, in nsISupports aContext); */
 NS_IMETHODIMP
 WyciwygChannelChild::AsyncOpen(nsIStreamListener *aListener, nsISupports *aContext)
 {
   LOG(("WyciwygChannelChild::AsyncOpen [this=%p]\n", this));
 
   // The only places creating wyciwyg: channels should be
   // HTMLDocument::OpenCommon and session history.  Both should be setting an
   // owner or loadinfo.
@@ -690,17 +672,16 @@ WyciwygChannelChild::AsyncOpen2(nsIStrea
   NS_ENSURE_SUCCESS(rv, rv);
   return AsyncOpen(listener, nullptr);
 }
 
 //-----------------------------------------------------------------------------
 // nsIWyciwygChannel
 //-----------------------------------------------------------------------------
 
-/* void writeToCacheEntry (in AString aData); */
 NS_IMETHODIMP
 WyciwygChannelChild::WriteToCacheEntry(const nsAString & aData)
 {
   NS_ENSURE_TRUE((mState == WCC_INIT) ||
                  (mState == WCC_ONWRITE), NS_ERROR_UNEXPECTED);
 
   if (!mSentAppData) {
     mozilla::dom::TabChild* tabChild = GetTabChild(this);
@@ -712,32 +693,30 @@ WyciwygChannelChild::WriteToCacheEntry(c
     mSentAppData = true;
   }
 
   SendWriteToCacheEntry(PromiseFlatString(aData));
   mState = WCC_ONWRITE;
   return NS_OK;
 }
 
-/* void closeCacheEntry (in nsresult reason); */
 NS_IMETHODIMP
 WyciwygChannelChild::CloseCacheEntry(nsresult reason)
 {
   NS_ENSURE_TRUE(mState == WCC_ONWRITE, NS_ERROR_UNEXPECTED);
 
   SendCloseCacheEntry(reason);
   mState = WCC_ONCLOSED;
 
   if (mIPCOpen)
     PWyciwygChannelChild::Send__delete__(this);
 
   return NS_OK;
 }
 
-/* void setSecurityInfo (in nsISupports aSecurityInfo); */
 NS_IMETHODIMP
 WyciwygChannelChild::SetSecurityInfo(nsISupports *aSecurityInfo)
 {
   mSecurityInfo = aSecurityInfo;
 
   if (mSecurityInfo) {
     nsCOMPtr<nsISerializable> serializable = do_QueryInterface(mSecurityInfo);
     if (serializable) {
@@ -748,34 +727,32 @@ WyciwygChannelChild::SetSecurityInfo(nsI
     else {
       NS_WARNING("Can't serialize security info");
     }
   }
 
   return NS_OK;
 }
 
-/* void setCharsetAndSource (in long aSource, in ACString aCharset); */
 NS_IMETHODIMP
 WyciwygChannelChild::SetCharsetAndSource(int32_t aSource, const nsACString & aCharset)
 {
   // mState == WCC_ONSTART when reading from the channel
   // mState == WCC_INIT when writing to the cache
   NS_ENSURE_TRUE((mState == WCC_ONSTART) ||
                  (mState == WCC_INIT), NS_ERROR_UNEXPECTED);
 
   mCharsetSource = aSource;
   mCharset = aCharset;
 
   // TODO ensure that nsWyciwygChannel in the parent has still the cache entry
   SendSetCharsetAndSource(mCharsetSource, mCharset);
   return NS_OK;
 }
 
-/* ACString getCharsetAndSource (out long aSource); */
 NS_IMETHODIMP
 WyciwygChannelChild::GetCharsetAndSource(int32_t *aSource, nsACString & _retval)
 {
   NS_ENSURE_TRUE((mState == WCC_ONSTART) ||
                  (mState == WCC_ONDATA) ||
                  (mState == WCC_ONSTOP), NS_ERROR_NOT_AVAILABLE);
 
   if (mCharsetSource == kCharsetUninitialized)
--- a/netwerk/sctp/src/netinet/sctp_pcb.h
+++ b/netwerk/sctp/src/netinet/sctp_pcb.h
@@ -841,17 +841,16 @@ sctp_load_addresses_from_init(struct sct
     struct sockaddr *, struct sockaddr *, struct sockaddr *);
 
 int
 sctp_set_primary_addr(struct sctp_tcb *, struct sockaddr *,
     struct sctp_nets *);
 
 int sctp_is_vtag_good(uint32_t, uint16_t lport, uint16_t rport, struct timeval *);
 
-/* void sctp_drain(void); */
 
 int sctp_destination_is_reachable(struct sctp_tcb *, struct sockaddr *);
 
 int sctp_swap_inpcb_for_listen(struct sctp_inpcb *inp);
 
 /*-
  * Null in last arg inpcb indicate run on ALL ep's. Specific inp in last arg
  * indicates run on ONLY assoc's of the specified endpoint.
--- a/security/manager/pki/nsASN1Tree.cpp
+++ b/security/manager/pki/nsASN1Tree.cpp
@@ -106,17 +106,16 @@ void nsNSSASN1Tree::InitNodes()
   ClearNodes();
 
   mTopNode = new myNode;
   mTopNode->obj = mASN1Object;
 
   InitChildsRecursively(mTopNode);
 }
 
-/* void loadASN1Structure (in nsIASN1Object asn1Object); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::LoadASN1Structure(nsIASN1Object *asn1Object)
 {
   //
   // The tree won't automatically re-draw if the contents
   // have been changed.  So I do a quick test here to let
   // me know if I should forced the tree to redraw itself
   // by calling RowCountChanged on it.
@@ -142,29 +141,27 @@ nsNSSASN1Tree::LoadASN1Structure(nsIASN1
     // Replace them with the new contents
     mTree->RowCountChanged(0, newRows);
     mTree->EndUpdateBatch();
   }
 
   return NS_OK;
 }
 
-/* readonly attribute long rowCount; */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetRowCount(int32_t *aRowCount)
 {
   if (mASN1Object) {
     *aRowCount = CountVisibleNodes(mTopNode);
   } else {
     *aRowCount = 0;
   }
   return NS_OK;
 }
 
-/* attribute nsITreeSelection selection; */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetSelection(nsITreeSelection * *aSelection)
 {
   *aSelection = mSelection;
   NS_IF_ADDREF(*aSelection);
   return NS_OK;
 }
 
@@ -189,130 +186,118 @@ nsNSSASN1Tree::GetCellProperties(int32_t
 }
 
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetColumnProperties(nsITreeColumn* col, nsAString& aProps)
 {
   return NS_OK;
 }
 
-/* boolean isContainer (in long index); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::IsContainer(int32_t index, bool *_retval)
 {
   myNode *n = FindNodeFromIndex(index);
   if (!n)
     return NS_ERROR_FAILURE;
 
   *_retval = (n->seq != nullptr);
   return NS_OK; 
 }
 
-/* boolean isContainerOpen (in long index); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::IsContainerOpen(int32_t index, bool *_retval)
 {
   myNode *n = FindNodeFromIndex(index);
   if (!n || !n->seq)
     return NS_ERROR_FAILURE;
 
   n->seq->GetIsExpanded(_retval);
   return NS_OK;
 }
 
-/* boolean isContainerEmpty (in long index); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::IsContainerEmpty(int32_t index, bool *_retval)
 {
   *_retval = false;
   return NS_OK;
 }
 
-/* boolean isSeparator (in long index); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::IsSeparator(int32_t index, bool *_retval)
 {
   *_retval = false;
   return NS_OK; 
 }
 
-/* long getLevel (in long index); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetLevel(int32_t index, int32_t *_retval)
 {
   int32_t parentIndex;
   int32_t nodeLevel;
 
   myNode *n = FindNodeFromIndex(index, &parentIndex, &nodeLevel);
   if (!n)
     return NS_ERROR_FAILURE;
 
   *_retval = nodeLevel;
   return NS_OK; 
 }
 
-/* Astring getImageSrc (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetImageSrc(int32_t row, nsITreeColumn* col, 
                            nsAString& _retval)
 {
   return NS_OK;
 }
 
-/* long getProgressMode (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetProgressMode(int32_t row, nsITreeColumn* col, int32_t* _retval)
 {
   return NS_OK;
 }
 
-/* Astring getCellValue (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetCellValue(int32_t row, nsITreeColumn* col, 
                             nsAString& _retval)
 {
   return NS_OK;
 }
 
-/* Astring getCellText (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetCellText(int32_t row, nsITreeColumn* col, 
                            nsAString& _retval)
 {
   _retval.Truncate();
 
   myNode* n = FindNodeFromIndex(row);
   if (!n)
     return NS_ERROR_FAILURE;
 
   // There's only one column for ASN1 dump.
   return n->obj->GetDisplayName(_retval);
 }
 
-/* wstring getDisplayData (in unsigned long index); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetDisplayData(uint32_t index, nsAString &_retval)
 {
   myNode *n = FindNodeFromIndex(index);
   if (!n)
     return NS_ERROR_FAILURE;
 
   n->obj->GetDisplayValue(_retval);
   return NS_OK;
 }
 
-/* void setTree (in nsITreeBoxObject tree); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::SetTree(nsITreeBoxObject *tree)
 {
   mTree = tree;
   return NS_OK;
 }
 
-/* void toggleOpenState (in long index); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::ToggleOpenState(int32_t index)
 {
   myNode *n = FindNodeFromIndex(index);
   if (!n)
     return NS_ERROR_FAILURE;
 
   if (!n->seq)
@@ -328,86 +313,76 @@ nsNSSASN1Tree::ToggleOpenState(int32_t i
     n->seq->SetIsExpanded(true);
     rowCountChange = CountVisibleNodes(n->child);
   }
   if (mTree)
     mTree->RowCountChanged(index, rowCountChange);
   return NS_OK;
 }
 
-/* void cycleHeader (in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::CycleHeader(nsITreeColumn* col)
 {
   return NS_OK;
 }
 
-/* void selectionChanged (); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::SelectionChanged()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void cycleCell (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::CycleCell(int32_t row, nsITreeColumn* col)
 {
   return NS_OK;
 }
 
-/* boolean isEditable (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::IsEditable(int32_t row, nsITreeColumn* col, 
                           bool *_retval)
 {
   *_retval = false;
   return NS_OK;
 }
 
-/* boolean isSelectable (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::IsSelectable(int32_t row, nsITreeColumn* col, 
                             bool *_retval)
 {
   *_retval = false;
   return NS_OK;
 }
 
-/* void setCellValue (in long row, in nsITreeColumn col, in AString value); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::SetCellValue(int32_t row, nsITreeColumn* col, 
                             const nsAString& value)
 {
   return NS_OK;
 }
 
-/* void setCellText (in long row, in nsITreeColumn col, in AString value); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::SetCellText(int32_t row, nsITreeColumn* col, 
                            const nsAString& value)
 {
   return NS_OK;
 }
 
-/* void performAction (in wstring action); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::PerformAction(const char16_t *action)
 {
   return NS_OK;
 }
 
-/* void performActionOnRow (in wstring action, in long row); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::PerformActionOnRow(const char16_t *action, int32_t row)
 {
   return NS_OK;
 }
 
-/* void performActionOnCell (in wstring action, in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::PerformActionOnCell(const char16_t *action, int32_t row, 
                                    nsITreeColumn* col)
 {
   return NS_OK;
 }
 
 //
@@ -439,31 +414,29 @@ NS_IMETHODIMP nsNSSASN1Tree::Drop(int32_
 //
 NS_IMETHODIMP nsNSSASN1Tree::IsSorted(bool *_retval)
 {
   *_retval = false;
   return NS_OK;
 }
 
 
-/* long getParentIndex (in long rowIndex); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::GetParentIndex(int32_t rowIndex, int32_t *_retval)
 {
   int32_t parentIndex = -1;
 
   myNode *n = FindNodeFromIndex(rowIndex, &parentIndex);
   if (!n)
     return NS_ERROR_FAILURE;
 
   *_retval = parentIndex;
   return NS_OK; 
 }
 
-/* boolean hasNextSibling (in long rowIndex, in long afterIndex); */
 NS_IMETHODIMP 
 nsNSSASN1Tree::HasNextSibling(int32_t rowIndex, int32_t afterIndex, 
                               bool *_retval)
 {
   myNode *n = FindNodeFromIndex(rowIndex);
   if (!n)
     return NS_ERROR_FAILURE;
 
--- a/security/manager/pki/nsNSSDialogs.cpp
+++ b/security/manager/pki/nsNSSDialogs.cpp
@@ -372,17 +372,16 @@ nsNSSDialogs::GetPKCS12FilePassword(nsII
   if (*_retval) {
     _password.Assign(pwTemp);
     free(pwTemp);
   }
 
   return NS_OK;
 }
 
-/* void viewCert (in nsIX509Cert cert); */
 NS_IMETHODIMP 
 nsNSSDialogs::ViewCert(nsIInterfaceRequestor *ctx, 
                        nsIX509Cert *cert)
 {
   nsresult rv;
 
   nsCOMPtr<nsIPKIParamBlock> block =
            do_CreateInstance(NS_PKIPARAMBLOCK_CONTRACTID);
--- a/security/manager/pki/nsPKIParamBlock.cpp
+++ b/security/manager/pki/nsPKIParamBlock.cpp
@@ -67,32 +67,30 @@ nsPKIParamBlock::GetObjects(nsIMutableAr
 NS_IMETHODIMP
 nsPKIParamBlock::SetObjects(nsIMutableArray * aObjects)
 {
   return mDialogParamBlock->SetObjects(aObjects);
 }
 
 
 
-/* void setISupportAtIndex (in int32_t index, in nsISupports object); */
 NS_IMETHODIMP 
 nsPKIParamBlock::SetISupportAtIndex(int32_t index, nsISupports *object)
 {
   if (!mSupports) {
     mSupports = do_CreateInstance(NS_SUPPORTSARRAY_CONTRACTID);
     if (!mSupports) {
       return NS_ERROR_OUT_OF_MEMORY;
     }
   }
   // Ignore any InsertElementAt error, because this function always did that
   mSupports->InsertElementAt(object, index-1);
   return NS_OK;
 }
 
-/* nsISupports getISupportAtIndex (in int32_t index); */
 NS_IMETHODIMP 
 nsPKIParamBlock::GetISupportAtIndex(int32_t index, nsISupports **_retval)
 {
   NS_ENSURE_ARG(_retval);
 
   return mSupports->GetElementAt(index - 1, _retval);
 }
 
--- a/security/manager/ssl/TransportSecurityInfo.cpp
+++ b/security/manager/ssl/TransportSecurityInfo.cpp
@@ -127,34 +127,32 @@ TransportSecurityInfo::GetSecurityState(
 
 nsresult
 TransportSecurityInfo::SetSecurityState(uint32_t aState)
 {
   mSecurityState = aState;
   return NS_OK;
 }
 
-/* attribute unsigned long countSubRequestsBrokenSecurity; */
 NS_IMETHODIMP
 TransportSecurityInfo::GetCountSubRequestsBrokenSecurity(
   int32_t *aSubRequestsBrokenSecurity)
 {
   *aSubRequestsBrokenSecurity = mSubRequestsBrokenSecurity;
   return NS_OK;
 }
 
 NS_IMETHODIMP
 TransportSecurityInfo::SetCountSubRequestsBrokenSecurity(
   int32_t aSubRequestsBrokenSecurity)
 {
   mSubRequestsBrokenSecurity = aSubRequestsBrokenSecurity;
   return NS_OK;
 }
 
-/* attribute unsigned long countSubRequestsNoSecurity; */
 NS_IMETHODIMP
 TransportSecurityInfo::GetCountSubRequestsNoSecurity(
   int32_t *aSubRequestsNoSecurity)
 {
   *aSubRequestsNoSecurity = mSubRequestsNoSecurity;
   return NS_OK;
 }
 
@@ -272,17 +270,16 @@ TransportSecurityInfo::formatErrorMessag
 
 NS_IMETHODIMP
 TransportSecurityInfo::GetErrorCode(int32_t* state)
 {
   *state = GetErrorCode();
   return NS_OK;
 }
 
-/* void getInterface (in nsIIDRef uuid, [iid_is (uuid), retval] out nsQIResult result); */
 NS_IMETHODIMP
 TransportSecurityInfo::GetInterface(const nsIID & uuid, void * *result)
 {
   if (!NS_IsMainThread()) {
     NS_ERROR("nsNSSSocketInfo::GetInterface called off the main thread");
     return NS_ERROR_NOT_SAME_THREAD;
   }
 
--- a/security/manager/ssl/nsCertTree.cpp
+++ b/security/manager/ssl/nsCertTree.cpp
@@ -831,17 +831,16 @@ nsCertTree::DeleteEntryObject(uint32_t i
 }
 
 //////////////////////////////////////////////////////////////////////////////
 //
 //  Begin nsITreeView methods
 //
 /////////////////////////////////////////////////////////////////////////////
 
-/* nsIX509Cert getCert(in unsigned long index); */
 NS_IMETHODIMP
 nsCertTree::GetCert(uint32_t aIndex, nsIX509Cert **_cert)
 {
   NS_ENSURE_ARG(_cert);
   *_cert = GetCertAtIndex(aIndex).take();
   return NS_OK;
 }
 
@@ -867,34 +866,32 @@ nsCertTree::IsHostPortOverride(uint32_t 
   RefPtr<nsCertTreeDispInfo> certdi(GetDispInfoAtIndex(aIndex));
   if (!certdi)
     return NS_ERROR_FAILURE;
 
   *_retval = (certdi->mTypeOfEntry == nsCertTreeDispInfo::host_port_override);
   return NS_OK;
 }
 
-/* readonly attribute long rowCount; */
 NS_IMETHODIMP 
 nsCertTree::GetRowCount(int32_t *aRowCount)
 {
   if (!mTreeArray)
     return NS_ERROR_NOT_INITIALIZED;
   uint32_t count = 0;
   for (int32_t i=0; i<mNumOrgs; i++) {
     if (mTreeArray[i].open) {
       count += mTreeArray[i].numChildren;
     }
     count++;
   }
   *aRowCount = count;
   return NS_OK;
 }
 
-/* attribute nsITreeSelection selection; */
 NS_IMETHODIMP 
 nsCertTree::GetSelection(nsITreeSelection * *aSelection)
 {
   *aSelection = mSelection;
   NS_IF_ADDREF(*aSelection);
   return NS_OK;
 }
 
@@ -918,63 +915,58 @@ nsCertTree::GetCellProperties(int32_t ro
   return NS_OK;
 }
 
 NS_IMETHODIMP 
 nsCertTree::GetColumnProperties(nsITreeColumn* col, nsAString& aProps)
 {
   return NS_OK;
 }
-/* boolean isContainer (in long index); */
 NS_IMETHODIMP 
 nsCertTree::IsContainer(int32_t index, bool *_retval)
 {
   if (!mTreeArray)
     return NS_ERROR_NOT_INITIALIZED;
   treeArrayEl *el = GetThreadDescAtIndex(index);
   if (el) {
     *_retval = true;
   } else {
     *_retval = false;
   }
   return NS_OK;
 }
 
-/* boolean isContainerOpen (in long index); */
 NS_IMETHODIMP 
 nsCertTree::IsContainerOpen(int32_t index, bool *_retval)
 {
   if (!mTreeArray)
     return NS_ERROR_NOT_INITIALIZED;
   treeArrayEl *el = GetThreadDescAtIndex(index);
   if (el && el->open) {
     *_retval = true;
   } else {
     *_retval = false;
   }
   return NS_OK;
 }
 
-/* boolean isContainerEmpty (in long index); */
 NS_IMETHODIMP 
 nsCertTree::IsContainerEmpty(int32_t index, bool *_retval)
 {
   *_retval = !mTreeArray;
   return NS_OK;
 }
 
-/* boolean isSeparator (in long index); */
 NS_IMETHODIMP 
 nsCertTree::IsSeparator(int32_t index, bool *_retval)
 {
   *_retval = false;
   return NS_OK;
 }
 
-/* long getParentIndex (in long rowIndex); */
 NS_IMETHODIMP 
 nsCertTree::GetParentIndex(int32_t rowIndex, int32_t *_retval)
 {
   if (!mTreeArray)
     return NS_ERROR_NOT_INITIALIZED;
   int i, idx = 0;
   for (i = 0; i < mNumOrgs && idx < rowIndex; i++, idx++) {
     if (mTreeArray[i].open) {
@@ -984,17 +976,16 @@ nsCertTree::GetParentIndex(int32_t rowIn
       }
       idx += mTreeArray[i].numChildren;
     }
   }
   *_retval = -1;
   return NS_OK;
 }
 
-/* boolean hasNextSibling (in long rowIndex, in long afterIndex); */
 NS_IMETHODIMP 
 nsCertTree::HasNextSibling(int32_t rowIndex, int32_t afterIndex, 
                                bool *_retval)
 {
   if (!mTreeArray)
     return NS_ERROR_NOT_INITIALIZED;
 
   int i, idx = 0;
@@ -1006,57 +997,52 @@ nsCertTree::HasNextSibling(int32_t rowIn
         return NS_OK;
       }
     }
   }
   *_retval = false;
   return NS_OK;
 }
 
-/* long getLevel (in long index); */
 NS_IMETHODIMP 
 nsCertTree::GetLevel(int32_t index, int32_t *_retval)
 {
   if (!mTreeArray)
     return NS_ERROR_NOT_INITIALIZED;
   treeArrayEl *el = GetThreadDescAtIndex(index);
   if (el) {
     *_retval = 0;
   } else {
     *_retval = 1;
   }
   return NS_OK;
 }
 
-/* Astring getImageSrc (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsCertTree::GetImageSrc(int32_t row, nsITreeColumn* col, 
                         nsAString& _retval)
 {
   _retval.Truncate();
   return NS_OK;
 }
 
-/* long getProgressMode (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP
 nsCertTree::GetProgressMode(int32_t row, nsITreeColumn* col, int32_t* _retval)
 {
   return NS_OK;
 }
 
-/* Astring getCellValue (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsCertTree::GetCellValue(int32_t row, nsITreeColumn* col, 
                          nsAString& _retval)
 {
   _retval.Truncate();
   return NS_OK;
 }
 
-/* Astring getCellText (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsCertTree::GetCellText(int32_t row, nsITreeColumn* col, 
                         nsAString& _retval)
 {
   if (!mTreeArray)
     return NS_ERROR_NOT_INITIALIZED;
 
   nsresult rv;
@@ -1240,100 +1226,89 @@ nsCertTree::GetCellText(int32_t row, nsI
     nsCOMPtr<nsISupportsString> text(do_CreateInstance(NS_SUPPORTS_STRING_CONTRACTID, &rv));
     NS_ENSURE_SUCCESS(rv, rv);
     text->SetData(_retval);
     mCellText->ReplaceElementAt(text, arrayIndex, false);
   }
   return rv;
 }
 
-/* void setTree (in nsITreeBoxObject tree); */
 NS_IMETHODIMP 
 nsCertTree::SetTree(nsITreeBoxObject *tree)
 {
   mTree = tree;
   return NS_OK;
 }
 
-/* void toggleOpenState (in long index); */
 NS_IMETHODIMP 
 nsCertTree::ToggleOpenState(int32_t index)
 {
   if (!mTreeArray)
     return NS_ERROR_NOT_INITIALIZED;
   treeArrayEl *el = GetThreadDescAtIndex(index);
   if (el) {
     el->open = !el->open;
     int32_t newChildren = (el->open) ? el->numChildren : -el->numChildren;
     if (mTree) mTree->RowCountChanged(index + 1, newChildren);
   }
   return NS_OK;
 }
 
-/* void cycleHeader (in nsITreeColumn); */
 NS_IMETHODIMP 
 nsCertTree::CycleHeader(nsITreeColumn* col)
 {
   return NS_OK;
 }
 
-/* void selectionChanged (); */
 NS_IMETHODIMP 
 nsCertTree::SelectionChanged()
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
 
-/* void cycleCell (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsCertTree::CycleCell(int32_t row, nsITreeColumn* col)
 {
   return NS_OK;
 }
 
-/* boolean isEditable (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsCertTree::IsEditable(int32_t row, nsITreeColumn* col, bool *_retval)
 {
   *_retval = false;
   return NS_OK;
 }
 
-/* boolean isSelectable (in long row, in nsITreeColumn col); */
 NS_IMETHODIMP 
 nsCertTree::IsSelectable(int32_t row, nsITreeColumn* col, bool *_retval)
 {
   *_retval = false;
   return NS_OK;
 }
 
-/* void setCellValue (in long row, in nsITreeColumn col, in AString value); */
 NS_IMETHODIMP 
 nsCertTree::SetCellValue(int32_t row, nsITreeColumn* col, 
                          const nsAString& value)
 {
   return NS_OK;
 }
 
-/* void setCellText (in long row, in nsITreeColumn col, in AString value); */
 NS_IMETHODIMP 
 nsCertTree::SetCellText(int32_t row, nsITreeColumn* col, 
                         const nsAString& value)
 {
   return NS_OK;
 }
 
-/* void performAction (in wstring action); */
 NS_IMETHODIMP 
 nsCertTree::PerformAction(const char16_t *action)
 {
   return NS_OK;
 }
 
-/* void performActionOnRow (in wstring action, in long row); */
 NS_IMETHODIMP 
 nsCertTree::PerformActionOnRow(const char16_t *action, int32_t row)
 {
   return NS_OK;
 }
 
 /* void performActionOnCell (in wstring action, in long row, 
  *                           in wstring colID); 
--- a/security/manager/ssl/nsCryptoHash.cpp
+++ b/security/manager/ssl/nsCryptoHash.cpp
@@ -251,17 +251,16 @@ nsCryptoHMAC::virtualDestroyNSSReference
 void
 nsCryptoHMAC::destructorSafeDestroyNSSReference()
 {
   if (mHMACContext)
     PK11_DestroyContext(mHMACContext, true);
   mHMACContext = nullptr;
 }
 
-/* void init (in unsigned long aAlgorithm, in nsIKeyObject aKeyObject); */
 NS_IMETHODIMP
 nsCryptoHMAC::Init(uint32_t aAlgorithm, nsIKeyObject *aKeyObject)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown()) {
     return NS_ERROR_NOT_AVAILABLE;
   }
 
@@ -313,17 +312,16 @@ nsCryptoHMAC::Init(uint32_t aAlgorithm, 
   NS_ENSURE_TRUE(mHMACContext, NS_ERROR_FAILURE);
 
   SECStatus ss = PK11_DigestBegin(mHMACContext);
   NS_ENSURE_TRUE(ss == SECSuccess, NS_ERROR_FAILURE);
 
   return NS_OK;
 }
 
-/* void update ([array, size_is (aLen), const] in octet aData, in unsigned long aLen); */
 NS_IMETHODIMP
 nsCryptoHMAC::Update(const uint8_t *aData, uint32_t aLen)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown()) {
     return NS_ERROR_NOT_AVAILABLE;
   }
 
@@ -334,17 +332,16 @@ nsCryptoHMAC::Update(const uint8_t *aDat
     return NS_ERROR_INVALID_ARG;
 
   SECStatus ss = PK11_DigestOp(mHMACContext, aData, aLen);
   NS_ENSURE_TRUE(ss == SECSuccess, NS_ERROR_FAILURE);
   
   return NS_OK;
 }
 
-/* void updateFromStream (in nsIInputStream aStream, in unsigned long aLen); */
 NS_IMETHODIMP
 nsCryptoHMAC::UpdateFromStream(nsIInputStream *aStream, uint32_t aLen)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown()) {
     return NS_ERROR_NOT_AVAILABLE;
   }
 
@@ -391,17 +388,16 @@ nsCryptoHMAC::UpdateFromStream(nsIInputS
       rv = Update((const uint8_t*)buffer, read);
     
     len -= read;
   }
   
   return rv;
 }
 
-/* ACString finish (in bool aASCII); */
 NS_IMETHODIMP
 nsCryptoHMAC::Finish(bool aASCII, nsACString & _retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown()) {
     return NS_ERROR_NOT_AVAILABLE;
   }
 
@@ -424,17 +420,16 @@ nsCryptoHMAC::Finish(bool aASCII, nsACSt
   else
   {
     _retval.Assign((const char*)buffer, hashLen);
   }
 
   return NS_OK;
 }
 
-/* void reset (); */
 NS_IMETHODIMP
 nsCryptoHMAC::Reset()
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown()) {
     return NS_ERROR_NOT_AVAILABLE;
   }
 
--- a/security/manager/ssl/nsKeyModule.cpp
+++ b/security/manager/ssl/nsKeyModule.cpp
@@ -45,17 +45,16 @@ nsKeyObject::CleanUp()
       break;
   }
   mKeyType = 0;
 }
 
 //////////////////////////////////////////////////////////////////////////////
 // nsIKeyObject
 
-/* [noscript] void initKey (in short aKeyType, in voidPtr aKey); */
 NS_IMETHODIMP
 nsKeyObject::InitKey(int16_t aAlgorithm, void * aKey)
 {
   // Clear previous key data if it exists
   CleanUp();
 
   switch (aAlgorithm) {
     case nsIKeyObject::RC4:
@@ -78,17 +77,16 @@ nsKeyObject::InitKey(int16_t aAlgorithm,
 
   // One of these should have been created
   if (!mSymKey && !mPrivateKey && !mPublicKey)
     return NS_ERROR_FAILURE;
 
   return NS_OK;
 }
 
-/* [noscript] voidPtr getKeyObj (); */
 NS_IMETHODIMP
 nsKeyObject::GetKeyObj(void * *_retval)
 {
   if (mKeyType == 0)
     return NS_ERROR_NOT_INITIALIZED;
 
   switch (mKeyType) {
     case nsIKeyObject::SYM_KEY:
@@ -105,17 +103,16 @@ nsKeyObject::GetKeyObj(void * *_retval)
 
     default:
       // unknown key type?  How did that happen?
       return NS_ERROR_FAILURE;
   }
   return NS_OK;
 }
 
-/* short getType (); */
 NS_IMETHODIMP
 nsKeyObject::GetType(int16_t *_retval)
 {
   if (mKeyType == 0)
     return NS_ERROR_NOT_INITIALIZED;
 
   *_retval = mKeyType;
   return NS_OK;
@@ -125,17 +122,16 @@ nsKeyObject::GetType(int16_t *_retval)
 // nsIKeyObjectFactory
 
 NS_IMPL_ISUPPORTS(nsKeyObjectFactory, nsIKeyObjectFactory)
 
 nsKeyObjectFactory::nsKeyObjectFactory()
 {
 }
 
-/* nsIKeyObject lookupKeyByName (in ACString aName); */
 NS_IMETHODIMP
 nsKeyObjectFactory::LookupKeyByName(const nsACString & aName,
                                     nsIKeyObject **_retval)
 {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
  
 NS_IMETHODIMP
--- a/security/manager/ssl/nsNSSASN1Object.cpp
+++ b/security/manager/ssl/nsNSSASN1Object.cpp
@@ -334,17 +334,16 @@ nsNSSASN1PrintableItem::nsNSSASN1Printab
 
 nsNSSASN1PrintableItem::~nsNSSASN1PrintableItem()
 {
   /* destructor code */
   if (mData)
     free(mData);
 }
 
-/* readonly attribute wstring value; */
 NS_IMETHODIMP 
 nsNSSASN1PrintableItem::GetDisplayValue(nsAString &aValue)
 {
   aValue = mValue;
   return NS_OK;
 }
 
 NS_IMETHODIMP 
@@ -411,17 +410,16 @@ nsNSSASN1PrintableItem::GetData(char **o
   NS_ENSURE_ARG_POINTER(outData);
   NS_ENSURE_ARG_POINTER(outLen);
 
   *outData = (char*)mData;
   *outLen  = mLen;
   return NS_OK;
 }
 
-/* attribute wstring displayName; */
 NS_IMETHODIMP 
 nsNSSASN1PrintableItem::GetDisplayName(nsAString &aDisplayName)
 {
   aDisplayName = mDisplayName;
   return NS_OK;
 }
 
 NS_IMETHODIMP 
--- a/security/manager/ssl/nsNSSCertValidity.cpp
+++ b/security/manager/ssl/nsNSSCertValidity.cpp
@@ -30,17 +30,16 @@ nsX509CertValidity::nsX509CertValidity(C
   }
 }
 
 nsX509CertValidity::~nsX509CertValidity()
 {
   /* destructor code */
 }
 
-/* readonly attribute PRTime notBefore; */
 NS_IMETHODIMP nsX509CertValidity::GetNotBefore(PRTime *aNotBefore)
 {
   NS_ENSURE_ARG(aNotBefore);
 
   nsresult rv = NS_ERROR_FAILURE;
   if (mTimesInitialized) {
     *aNotBefore = mNotBefore;
     rv = NS_OK;
@@ -101,17 +100,16 @@ NS_IMETHODIMP nsX509CertValidity::GetNot
   PRExplodedTime explodedTime;
   PR_ExplodeTime(mNotBefore, PR_GMTParameters, &explodedTime);
   dateFormatter->FormatPRExplodedTime(nullptr, kDateFormatShort, kTimeFormatSecondsForce24Hour,
                                       &explodedTime, date);
   aNotBeforeGMT = date;
   return NS_OK;
 }
 
-/* readonly attribute PRTime notAfter; */
 NS_IMETHODIMP nsX509CertValidity::GetNotAfter(PRTime *aNotAfter)
 {
   NS_ENSURE_ARG(aNotAfter);
 
   nsresult rv = NS_ERROR_FAILURE;
   if (mTimesInitialized) {
     *aNotAfter = mNotAfter;
     rv = NS_OK;
--- a/security/manager/ssl/nsNSSCertificateDB.cpp
+++ b/security/manager/ssl/nsNSSCertificateDB.cpp
@@ -1262,17 +1262,16 @@ nsNSSCertificateDB::getCertNames(CERTCer
       tmpArray[i++] = ToNewUnicode(certstr);
     }
   }
 finish:
   *_count = numcerts;
   *_certNames = tmpArray;
 }
 
-/* nsIX509Cert getDefaultEmailEncryptionCert (); */
 NS_IMETHODIMP
 nsNSSCertificateDB::FindEmailEncryptionCert(const nsAString& aNickname,
                                             nsIX509Cert** _retval)
 {
   NS_ENSURE_ARG_POINTER(_retval);
   *_retval = nullptr;
 
   if (aNickname.IsEmpty())
@@ -1300,17 +1299,16 @@ nsNSSCertificateDB::FindEmailEncryptionC
   nsCOMPtr<nsIX509Cert> nssCert = nsNSSCertificate::Create(cert.get());
   if (!nssCert) {
     return NS_ERROR_OUT_OF_MEMORY;
   }
   nssCert.forget(_retval);
   return NS_OK;
 }
 
-/* nsIX509Cert getDefaultEmailSigningCert (); */
 NS_IMETHODIMP
 nsNSSCertificateDB::FindEmailSigningCert(const nsAString& aNickname,
                                          nsIX509Cert** _retval)
 {
   NS_ENSURE_ARG_POINTER(_retval);
   *_retval = nullptr;
 
   if (aNickname.IsEmpty())
@@ -1391,17 +1389,16 @@ nsNSSCertificateDB::FindCertByEmailAddre
   if (!nssCert)
     return NS_ERROR_OUT_OF_MEMORY;
 
   NS_ADDREF(nssCert);
   *_retval = static_cast<nsIX509Cert*>(nssCert);
   return NS_OK;
 }
 
-/* nsIX509Cert constructX509FromBase64 (in string base64); */
 NS_IMETHODIMP
 nsNSSCertificateDB::ConstructX509FromBase64(const char *base64,
                                             nsIX509Cert **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown()) {
     return NS_ERROR_NOT_AVAILABLE;
   }
@@ -1430,17 +1427,16 @@ nsNSSCertificateDB::ConstructX509FromBas
       lengthDER--;
   }
 
   nsresult rv = ConstructX509(certDER, lengthDER, _retval);
   PL_strfree(certDER);
   return rv;
 }
 
-/* nsIX509Cert constructX509 (in string certDER, unsigned long len); */
 NS_IMETHODIMP
 nsNSSCertificateDB::ConstructX509(const char* certDER,
                                   uint32_t lengthDER,
                                   nsIX509Cert** _retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown()) {
     return NS_ERROR_NOT_AVAILABLE;
--- a/security/manager/ssl/nsPK11TokenDB.cpp
+++ b/security/manager/ssl/nsPK11TokenDB.cpp
@@ -96,104 +96,96 @@ void nsPK11Token::virtualDestroyNSSRefer
 void nsPK11Token::destructorSafeDestroyNSSReference()
 {
   if (mSlot) {
     PK11_FreeSlot(mSlot);
     mSlot = nullptr;
   }
 }
 
-/* readonly attribute wstring tokenName; */
 NS_IMETHODIMP nsPK11Token::GetTokenName(char16_t * *aTokenName)
 {
   // handle removals/insertions
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshTokenInfo();
   }
   *aTokenName = ToNewUnicode(mTokenName);
   if (!*aTokenName) return NS_ERROR_OUT_OF_MEMORY;
 
   return NS_OK;
 }
 
-/* readonly attribute wstring tokenDesc; */
 NS_IMETHODIMP nsPK11Token::GetTokenLabel(char16_t **aTokLabel)
 {
   // handle removals/insertions
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshTokenInfo();
   }
   *aTokLabel = ToNewUnicode(mTokenLabel);
   if (!*aTokLabel) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* readonly attribute wstring tokenManID; */
 NS_IMETHODIMP nsPK11Token::GetTokenManID(char16_t **aTokManID)
 {
   // handle removals/insertions
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshTokenInfo();
   }
   *aTokManID = ToNewUnicode(mTokenManID);
   if (!*aTokManID) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* readonly attribute wstring tokenHWVersion; */
 NS_IMETHODIMP nsPK11Token::GetTokenHWVersion(char16_t **aTokHWVersion)
 {
   // handle removals/insertions
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshTokenInfo();
   }
   *aTokHWVersion = ToNewUnicode(mTokenHWVersion);
   if (!*aTokHWVersion) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* readonly attribute wstring tokenFWVersion; */
 NS_IMETHODIMP nsPK11Token::GetTokenFWVersion(char16_t **aTokFWVersion)
 {
   // handle removals/insertions
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshTokenInfo();
   }
   *aTokFWVersion = ToNewUnicode(mTokenFWVersion);
   if (!*aTokFWVersion) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* readonly attribute wstring tokenSerialNumber; */
 NS_IMETHODIMP nsPK11Token::GetTokenSerialNumber(char16_t **aTokSerialNum)
 {
   // handle removals/insertions
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshTokenInfo();
   }
   *aTokSerialNum = ToNewUnicode(mTokenSerialNum);
   if (!*aTokSerialNum) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* boolean isLoggedIn (); */
 NS_IMETHODIMP nsPK11Token::IsLoggedIn(bool *_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   nsresult rv = NS_OK;
 
   *_retval = PK11_IsLoggedIn(mSlot, 0);
 
   return rv;
 }
 
-/* void logout (in boolean force); */
 NS_IMETHODIMP 
 nsPK11Token::Login(bool force)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   nsresult rv;
@@ -234,51 +226,47 @@ NS_IMETHODIMP nsPK11Token::LogoutAndDrop
 
   nsCOMPtr<nsINSSComponent> nssComponent(do_GetService(kNSSComponentCID, &rv));
   if (NS_FAILED(rv))
     return rv;
 
   return nssComponent->LogoutAuthenticatedPK11();
 }
 
-/* void reset (); */
 NS_IMETHODIMP nsPK11Token::Reset()
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   PK11_ResetToken(mSlot, 0);
   return NS_OK;
 }
 
-/* readonly attribute long minimumPasswordLength; */
 NS_IMETHODIMP nsPK11Token::GetMinimumPasswordLength(int32_t *aMinimumPasswordLength)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   *aMinimumPasswordLength = PK11_GetMinimumPwdLength(mSlot);
 
   return NS_OK;
 }
 
-/* readonly attribute boolean needsUserInit; */
 NS_IMETHODIMP nsPK11Token::GetNeedsUserInit(bool *aNeedsUserInit)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   *aNeedsUserInit = PK11_NeedUserInit(mSlot);
   return NS_OK;
 }
 
-/* boolean checkPassword (in wstring password); */
 NS_IMETHODIMP nsPK11Token::CheckPassword(const char16_t *password, bool *_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   SECStatus srv;
   int32_t prerr;
@@ -293,17 +281,16 @@ NS_IMETHODIMP nsPK11Token::CheckPassword
       return NS_ERROR_FAILURE;
     }
   } else {
     *_retval =  true;
   }
   return NS_OK;
 }
 
-/* void initPassword (in wstring initialPassword); */
 NS_IMETHODIMP nsPK11Token::InitPassword(const char16_t *initialPassword)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
     nsresult rv = NS_OK;
     SECStatus status;
@@ -311,31 +298,29 @@ NS_IMETHODIMP nsPK11Token::InitPassword(
     NS_ConvertUTF16toUTF8 aUtf8InitialPassword(initialPassword);
     status = PK11_InitPin(mSlot, "", const_cast<char*>(aUtf8InitialPassword.get()));
     if (status == SECFailure) { rv = NS_ERROR_FAILURE; goto done; }
 
 done:
     return rv;
 }
 
-/* long getAskPasswordTimes(); */
 NS_IMETHODIMP 
 nsPK11Token::GetAskPasswordTimes(int32_t *rvAskTimes)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
     int askTimes, askTimeout;
     PK11_GetSlotPWValues(mSlot, &askTimes, &askTimeout);
     *rvAskTimes = askTimes;
     return NS_OK;
 }
 
-/* long getAskPasswordTimeout(); */
 NS_IMETHODIMP 
 nsPK11Token::GetAskPasswordTimeout(int32_t *rvAskTimeout)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
     int askTimes, askTimeout;
@@ -354,62 +339,58 @@ nsPK11Token::SetAskPasswordDefaults(cons
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
     PK11_SetSlotPWValues(mSlot, askTimes, askTimeout);
     return NS_OK;
 }
 
-/* void changePassword (in wstring oldPassword, in wstring newPassword); */
 NS_IMETHODIMP nsPK11Token::ChangePassword(const char16_t *oldPassword, const char16_t *newPassword)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   SECStatus rv;
   NS_ConvertUTF16toUTF8 aUtf8OldPassword(oldPassword);
   NS_ConvertUTF16toUTF8 aUtf8NewPassword(newPassword);
 
   rv = PK11_ChangePW(mSlot, 
          (oldPassword ? const_cast<char *>(aUtf8OldPassword.get()) : nullptr),
          (newPassword ? const_cast<char *>(aUtf8NewPassword.get()) : nullptr));
   return (rv == SECSuccess) ? NS_OK : NS_ERROR_FAILURE;
 }
 
-/* boolean isHardwareToken (); */
 NS_IMETHODIMP nsPK11Token::IsHardwareToken(bool *_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   nsresult rv = NS_OK;
 
   *_retval = PK11_IsHW(mSlot);
 
   return rv;
 }
 
-/* boolean needsLogin (); */
 NS_IMETHODIMP nsPK11Token::NeedsLogin(bool *_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   nsresult rv = NS_OK;
 
   *_retval = PK11_NeedLogin(mSlot);
 
   return rv;
 }
 
-/* boolean isFriendly (); */
 NS_IMETHODIMP nsPK11Token::IsFriendly(bool *_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   nsresult rv = NS_OK;
 
@@ -427,17 +408,16 @@ nsPK11TokenDB::nsPK11TokenDB()
   /* member initializers and constructor code */
 }
 
 nsPK11TokenDB::~nsPK11TokenDB()
 {
   /* destructor code */
 }
 
-/* nsIPK11Token getInternalKeyToken (); */
 NS_IMETHODIMP nsPK11TokenDB::GetInternalKeyToken(nsIPK11Token **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   nsresult rv = NS_OK;
   PK11SlotInfo *slot = 0;
   nsCOMPtr<nsIPK11Token> token;
 
   slot = PK11_GetInternalKeySlot();
@@ -447,17 +427,16 @@ NS_IMETHODIMP nsPK11TokenDB::GetInternal
   *_retval = token;
   NS_ADDREF(*_retval);
 
 done:
   if (slot) PK11_FreeSlot(slot);
   return rv;
 }
 
-/* nsIPK11Token findTokenByName (in wchar tokenName); */
 NS_IMETHODIMP nsPK11TokenDB::
 FindTokenByName(const char16_t* tokenName, nsIPK11Token **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   nsresult rv = NS_OK;
   PK11SlotInfo *slot = 0;
   NS_ConvertUTF16toUTF8 aUtf8TokenName(tokenName);
   slot = PK11_FindSlotByName(const_cast<char*>(aUtf8TokenName.get()));
@@ -466,17 +445,16 @@ FindTokenByName(const char16_t* tokenNam
   *_retval = new nsPK11Token(slot);
   NS_ADDREF(*_retval);
 
 done:
   if (slot) PK11_FreeSlot(slot);
   return rv;
 }
 
-/* nsIEnumerator listTokens (); */
 NS_IMETHODIMP nsPK11TokenDB::ListTokens(nsIEnumerator* *_retval)
 {
   nsNSSShutDownPreventionLock locker;
   nsCOMPtr<nsISupportsArray> array;
   PK11SlotList *list = 0;
   PK11SlotListElement *le;
 
   *_retval = nullptr;
--- a/security/manager/ssl/nsPKCS11Slot.cpp
+++ b/security/manager/ssl/nsPKCS11Slot.cpp
@@ -84,17 +84,16 @@ void nsPKCS11Slot::virtualDestroyNSSRefe
 void nsPKCS11Slot::destructorSafeDestroyNSSReference()
 {
   if (mSlot) {
     PK11_FreeSlot(mSlot);
     mSlot = nullptr;
   }
 }
 
-/* readonly attribute wstring name; */
 NS_IMETHODIMP 
 nsPKCS11Slot::GetName(char16_t **aName)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   char *csn = PK11_GetSlotName(mSlot);
@@ -108,84 +107,78 @@ nsPKCS11Slot::GetName(char16_t **aName)
   } else {
     // same as above, this is a catch-all
     *aName = ToNewUnicode(NS_LITERAL_STRING("Unnamed Slot"));
   }
   if (!*aName) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* readonly attribute wstring desc; */
 NS_IMETHODIMP 
 nsPKCS11Slot::GetDesc(char16_t **aDesc)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshSlotInfo();
   }
 
   *aDesc = ToNewUnicode(mSlotDesc);
   if (!*aDesc) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* readonly attribute wstring manID; */
 NS_IMETHODIMP 
 nsPKCS11Slot::GetManID(char16_t **aManID)
 {
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshSlotInfo();
   }
   *aManID = ToNewUnicode(mSlotManID);
   if (!*aManID) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* readonly attribute wstring HWVersion; */
 NS_IMETHODIMP 
 nsPKCS11Slot::GetHWVersion(char16_t **aHWVersion)
 {
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshSlotInfo();
   }
   *aHWVersion = ToNewUnicode(mSlotHWVersion);
   if (!*aHWVersion) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* readonly attribute wstring FWVersion; */
 NS_IMETHODIMP 
 nsPKCS11Slot::GetFWVersion(char16_t **aFWVersion)
 {
   if (mSeries != PK11_GetSlotSeries(mSlot)) {
     refreshSlotInfo();
   }
   *aFWVersion = ToNewUnicode(mSlotFWVersion);
   if (!*aFWVersion) return NS_ERROR_OUT_OF_MEMORY;
   return NS_OK;
 }
 
-/* nsIPK11Token getToken (); */
 NS_IMETHODIMP 
 nsPKCS11Slot::GetToken(nsIPK11Token **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   nsCOMPtr<nsIPK11Token> token = new nsPK11Token(mSlot);
   *_retval = token;
   NS_ADDREF(*_retval);
   return NS_OK;
 }
 
-/* readonly attribute wstring tokenName; */
 NS_IMETHODIMP 
 nsPKCS11Slot::GetTokenName(char16_t **aName)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   if (!PK11_IsPresent(mSlot)) {
@@ -255,45 +248,42 @@ void nsPKCS11Module::virtualDestroyNSSRe
 void nsPKCS11Module::destructorSafeDestroyNSSReference()
 {
   if (mModule) {
     SECMOD_DestroyModule(mModule);
     mModule = nullptr;
   }
 }
 
-/* readonly attribute wstring name; */
 NS_IMETHODIMP 
 nsPKCS11Module::GetName(char16_t **aName)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   *aName = ToNewUnicode(NS_ConvertUTF8toUTF16(mModule->commonName));
   return NS_OK;
 }
 
-/* readonly attribute wstring libName; */
 NS_IMETHODIMP 
 nsPKCS11Module::GetLibName(char16_t **aName)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   if ( mModule->dllName ) {
     *aName = ToNewUnicode(NS_ConvertUTF8toUTF16(mModule->dllName));
   } else {
     *aName = nullptr;
   }
   return NS_OK;
 }
 
-/*  nsIPKCS11Slot findSlotByName(in wstring name); */
 NS_IMETHODIMP 
 nsPKCS11Module::FindSlotByName(const char16_t *aName,
                                nsIPKCS11Slot **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
@@ -329,17 +319,16 @@ nsPKCS11Module::FindSlotByName(const cha
   free(asciiname);
   nsCOMPtr<nsIPKCS11Slot> slot = new nsPKCS11Slot(slotinfo);
   PK11_FreeSlot(slotinfo);
   *_retval = slot;
   NS_ADDREF(*_retval);
   return NS_OK;
 }
 
-/* nsIEnumerator listSlots (); */
 NS_IMETHODIMP 
 nsPKCS11Module::ListSlots(nsIEnumerator **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown())
     return NS_ERROR_NOT_AVAILABLE;
 
   nsresult rv = NS_OK;
@@ -370,45 +359,42 @@ NS_IMPL_ISUPPORTS(nsPKCS11ModuleDB, nsIP
 nsPKCS11ModuleDB::nsPKCS11ModuleDB()
 {
 }
 
 nsPKCS11ModuleDB::~nsPKCS11ModuleDB()
 {
 }
 
-/* nsIPKCS11Module getInternal (); */
 NS_IMETHODIMP 
 nsPKCS11ModuleDB::GetInternal(nsIPKCS11Module **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   SECMODModule *nssMod = 
     SECMOD_CreateModule(nullptr, SECMOD_INT_NAME, nullptr, SECMOD_INT_FLAGS);
   nsCOMPtr<nsIPKCS11Module> module = new nsPKCS11Module(nssMod);
   SECMOD_DestroyModule(nssMod);
   *_retval = module;
   NS_ADDREF(*_retval);
   return NS_OK;
 }
 
-/* nsIPKCS11Module getInternalFIPS (); */
 NS_IMETHODIMP 
 nsPKCS11ModuleDB::GetInternalFIPS(nsIPKCS11Module **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   SECMODModule *nssMod = 
     SECMOD_CreateModule(nullptr, SECMOD_FIPS_NAME, nullptr, SECMOD_FIPS_FLAGS);
   nsCOMPtr<nsIPKCS11Module> module = new nsPKCS11Module(nssMod);
   SECMOD_DestroyModule(nssMod);
   *_retval = module;
   NS_ADDREF(*_retval);
   return NS_OK;
 }
 
-/* nsIPKCS11Module findModuleByName(in wstring name); */
 NS_IMETHODIMP 
 nsPKCS11ModuleDB::FindModuleByName(const char16_t *aName,
                                    nsIPKCS11Module **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   NS_ConvertUTF16toUTF8 aUtf8Name(aName);
   SECMODModule *mod =
     SECMOD_FindModule(const_cast<char *>(aUtf8Name.get()));
@@ -419,17 +405,16 @@ nsPKCS11ModuleDB::FindModuleByName(const
   *_retval = module;
   NS_ADDREF(*_retval);
   return NS_OK;
 }
 
 /* This is essentially the same as nsIPK11Token::findTokenByName, except
  * that it returns an nsIPKCS11Slot, which may be desired.
  */
-/* nsIPKCS11Module findSlotByName(in wstring name); */
 NS_IMETHODIMP 
 nsPKCS11ModuleDB::FindSlotByName(const char16_t *aName,
                                  nsIPKCS11Slot **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   NS_ConvertUTF16toUTF8 aUtf8Name(aName);
   PK11SlotInfo *slotinfo =
    PK11_FindSlotByName(const_cast<char*>(aUtf8Name.get()));
@@ -437,17 +422,16 @@ nsPKCS11ModuleDB::FindSlotByName(const c
     return NS_ERROR_FAILURE;
   nsCOMPtr<nsIPKCS11Slot> slot = new nsPKCS11Slot(slotinfo);
   PK11_FreeSlot(slotinfo);
   *_retval = slot;
   NS_ADDREF(*_retval);
   return NS_OK;
 }
 
-/* nsIEnumerator listModules (); */
 NS_IMETHODIMP 
 nsPKCS11ModuleDB::ListModules(nsIEnumerator **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   nsresult rv = NS_OK;
   /* get isupports array */
   nsCOMPtr<nsISupportsArray> array;
   rv = NS_NewISupportsArray(getter_AddRefs(array));
@@ -477,17 +461,16 @@ nsPKCS11ModuleDB::ListModules(nsIEnumera
 NS_IMETHODIMP nsPKCS11ModuleDB::GetCanToggleFIPS(bool *aCanToggleFIPS)
 {
   nsNSSShutDownPreventionLock locker;
   *aCanToggleFIPS = SECMOD_CanDeleteInternalModule();
   return NS_OK;
 }
 
 
-/* void toggleFIPSMode (); */
 NS_IMETHODIMP nsPKCS11ModuleDB::ToggleFIPSMode()
 {
   nsNSSShutDownPreventionLock locker;
   // The way to toggle FIPS mode in NSS is extremely obscure.
   // Basically, we delete the internal module, and voila it
   // gets replaced with the opposite module, ie if it was 
   // FIPS before, then it becomes non-FIPS next.
   SECMODModule *internal;
@@ -501,17 +484,16 @@ NS_IMETHODIMP nsPKCS11ModuleDB::ToggleFI
 
   SECStatus srv = SECMOD_DeleteInternalModule(internal->commonName);
   if (srv != SECSuccess)
     return NS_ERROR_FAILURE;
 
   return NS_OK;
 }
 
-/* readonly attribute boolean isFIPSEnabled; */
 NS_IMETHODIMP nsPKCS11ModuleDB::GetIsFIPSEnabled(bool *aIsFIPSEnabled)
 {
   nsNSSShutDownPreventionLock locker;
   *aIsFIPSEnabled = PK11_IsFIPS();
   return NS_OK;
 }
 
 NS_IMETHODIMP nsPKCS11ModuleDB::GetIsFIPSModeActive(bool *aIsFIPSModeActive)
--- a/security/manager/ssl/nsSDR.cpp
+++ b/security/manager/ssl/nsSDR.cpp
@@ -42,17 +42,16 @@ nsSecretDecoderRing::nsSecretDecoderRing
   // initialize superclass
 }
 
 // nsSecretDecoderRing destructor
 nsSecretDecoderRing::~nsSecretDecoderRing()
 {
 }
 
-/* [noscript] long encrypt (in buffer data, in long dataLen, out buffer result); */
 NS_IMETHODIMP nsSecretDecoderRing::
 Encrypt(unsigned char * data, int32_t dataLen, unsigned char * *result, int32_t *_retval)
 {
   nsNSSShutDownPreventionLock locker;
   nsresult rv = NS_OK;
   ScopedPK11SlotInfo slot;
   SECItem keyid;
   SECItem request;
@@ -84,17 +83,16 @@ Encrypt(unsigned char * data, int32_t da
 
   *result = reply.data;
   *_retval = reply.len;
 
 loser:
   return rv;
 }
 
-/* [noscript] long decrypt (in buffer data, in long dataLen, out buffer result); */
 NS_IMETHODIMP nsSecretDecoderRing::
 Decrypt(unsigned char * data, int32_t dataLen, unsigned char * *result, int32_t *_retval)
 {
   nsNSSShutDownPreventionLock locker;
   nsresult rv = NS_OK;
   ScopedPK11SlotInfo slot;
   SECStatus s;
   SECItem request;
@@ -124,17 +122,16 @@ Decrypt(unsigned char * data, int32_t da
 
   *result = reply.data;
   *_retval = reply.len;
 
 loser:
   return rv;
 }
 
-/* string encryptString (in string text); */
 NS_IMETHODIMP nsSecretDecoderRing::
 EncryptString(const char *text, char **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   nsresult rv = NS_OK;
   unsigned char *encrypted = 0;
   int32_t eLen;
 
@@ -149,17 +146,16 @@ EncryptString(const char *text, char **_
   rv = encode(encrypted, eLen, _retval);
 
 loser:
   if (encrypted) PORT_Free(encrypted);
 
   return rv;
 }
 
-/* string decryptString (in string crypt); */
 NS_IMETHODIMP nsSecretDecoderRing::
 DecryptString(const char *crypt, char **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   nsresult rv = NS_OK;
   char *r = 0;
   unsigned char *decoded = 0;
   int32_t decodedLen;
@@ -189,17 +185,16 @@ DecryptString(const char *crypt, char **
 
 loser:
   if (decrypted) PORT_Free(decrypted);
   if (decoded) PR_DELETE(decoded);
 
   return rv;
 }
 
-/* void changePassword(); */
 NS_IMETHODIMP nsSecretDecoderRing::
 ChangePassword()
 {
   nsNSSShutDownPreventionLock locker;
   nsresult rv;
   ScopedPK11SlotInfo slot(PK11_GetInternalKeySlot());
   if (!slot) return NS_ERROR_NOT_AVAILABLE;
 
@@ -274,17 +269,16 @@ LogoutAndTeardown()
   // bug 517584.
   nsCOMPtr<nsIObserverService> os = mozilla::services::GetObserverService();
   if (os)
     os->NotifyObservers(nullptr, "net:prune-dead-connections", nullptr);
 
   return rv;
 }
 
-/* void setWindow(in nsISupports w); */
 NS_IMETHODIMP nsSecretDecoderRing::
 SetWindow(nsISupports *w)
 {
   return NS_OK;
 }
 
 // Support routines
 
--- a/toolkit/components/diskspacewatcher/DiskSpaceWatcher.cpp
+++ b/toolkit/components/diskspacewatcher/DiskSpaceWatcher.cpp
@@ -77,29 +77,27 @@ DiskSpaceWatcher::Observe(nsISupports* a
     mozilla::hal::StopDiskSpaceWatcher();
     return NS_OK;
   }
 
   MOZ_ASSERT(false, "DiskSpaceWatcher got unexpected topic!");
   return NS_ERROR_UNEXPECTED;
 }
 
-/* readonly attribute bool isDiskFull; */
 NS_IMETHODIMP DiskSpaceWatcher::GetIsDiskFull(bool* aIsDiskFull)
 {
   *aIsDiskFull = sIsDiskFull;
   return NS_OK;
 }
 
 // GetFreeSpace is a macro on windows, and that messes up with the c++
 // compiler.
 #ifdef XP_WIN
 #undef GetFreeSpace
 #endif
-/* readonly attribute long freeSpace; */
 NS_IMETHODIMP DiskSpaceWatcher::GetFreeSpace(uint64_t* aFreeSpace)
 {
   *aFreeSpace = sFreeSpace;
   return NS_OK;
 }
 
 // static
 void DiskSpaceWatcher::UpdateState(bool aIsDiskFull, uint64_t aFreeSpace)
--- a/toolkit/components/find/nsFindService.cpp
+++ b/toolkit/components/find/nsFindService.cpp
@@ -23,81 +23,75 @@ nsFindService::nsFindService()
 
 
 nsFindService::~nsFindService()
 {
 }
 
 NS_IMPL_ISUPPORTS(nsFindService, nsIFindService)
 
-/* attribute AString searchString; */
 NS_IMETHODIMP nsFindService::GetSearchString(nsAString & aSearchString)
 {
     aSearchString = mSearchString;
     return NS_OK;
 }
 
 NS_IMETHODIMP nsFindService::SetSearchString(const nsAString & aSearchString)
 {
     mSearchString = aSearchString;
     return NS_OK;
 }
 
-/* attribute AString replaceString; */
 NS_IMETHODIMP nsFindService::GetReplaceString(nsAString & aReplaceString)
 {
     aReplaceString = mReplaceString;
     return NS_OK;
 }
 NS_IMETHODIMP nsFindService::SetReplaceString(const nsAString & aReplaceString)
 {
     mReplaceString = aReplaceString;
     return NS_OK;
 }
 
-/* attribute boolean findBackwards; */
 NS_IMETHODIMP nsFindService::GetFindBackwards(bool *aFindBackwards)
 {
     NS_ENSURE_ARG_POINTER(aFindBackwards);
     *aFindBackwards = mFindBackwards;
     return NS_OK;
 }
 NS_IMETHODIMP nsFindService::SetFindBackwards(bool aFindBackwards)
 {
     mFindBackwards = aFindBackwards;
     return NS_OK;
 }
 
-/* attribute boolean wrapFind; */
 NS_IMETHODIMP nsFindService::GetWrapFind(bool *aWrapFind)
 {
     NS_ENSURE_ARG_POINTER(aWrapFind);
     *aWrapFind = mWrapFind;
     return NS_OK;
 }
 NS_IMETHODIMP nsFindService::SetWrapFind(bool aWrapFind)
 {
     mWrapFind = aWrapFind;
     return NS_OK;
 }
 
-/* attribute boolean entireWord; */
 NS_IMETHODIMP nsFindService::GetEntireWord(bool *aEntireWord)
 {
     NS_ENSURE_ARG_POINTER(aEntireWord);
     *aEntireWord = mEntireWord;
     return NS_OK;
 }
 NS_IMETHODIMP nsFindService::SetEntireWord(bool aEntireWord)
 {
     mEntireWord = aEntireWord;
     return NS_OK;
 }
 
-/* attribute boolean matchCase; */
 NS_IMETHODIMP nsFindService::GetMatchCase(bool *aMatchCase)
 {
     NS_ENSURE_ARG_POINTER(aMatchCase);
     *aMatchCase = mMatchCase;
     return NS_OK;
 }
 NS_IMETHODIMP nsFindService::SetMatchCase(bool aMatchCase)
 {
--- a/toolkit/components/perfmonitoring/nsPerformanceStats.cpp
+++ b/toolkit/components/perfmonitoring/nsPerformanceStats.cpp
@@ -415,31 +415,29 @@ nsPerformanceSnapshot::Init(JSContext* c
                                         0,                              // window id
                                         mProcessId,                     // process id
                                         true,                           // isSystem
                                         processStats);
   return NS_OK;
 }
 
 
-/* void getComponentsData (out nsIArray aComponents); */
 NS_IMETHODIMP nsPerformanceSnapshot::GetComponentsData(nsIArray * *aComponents)
 {
   const size_t length = mComponentsData.Length();
   nsCOMPtr<nsIMutableArray> components = do_CreateInstance(NS_ARRAY_CONTRACTID);
   for (size_t i = 0; i < length; ++i) {
     nsCOMPtr<nsIPerformanceStats> stats = mComponentsData[i];
     mozilla::DebugOnly<nsresult> rv = components->AppendElement(stats, false);
     MOZ_ASSERT(NS_SUCCEEDED(rv));
   }
   components.forget(aComponents);
   return NS_OK;
 }
 
-/* readonly attribute nsIPerformanceStats process; */
 NS_IMETHODIMP nsPerformanceSnapshot::GetProcessData(nsIPerformanceStats * *aProcess)
 {
   NS_IF_ADDREF(*aProcess = mProcessData);
   return NS_OK;
 }
 
 
 NS_IMPL_ISUPPORTS(nsPerformanceStatsService, nsIPerformanceStatsService)
@@ -496,17 +494,16 @@ NS_IMETHODIMP nsPerformanceStatsService:
 {
   JSRuntime *runtime = JS_GetRuntime(cx);
   if (!js::SetStopwatchIsMonitoringPerCompartment(runtime, aIsStopwatchActive)) {
     return NS_ERROR_OUT_OF_MEMORY;
   }
   return NS_OK;
 }
 
-/* readonly attribute nsIPerformanceSnapshot snapshot; */
 NS_IMETHODIMP nsPerformanceStatsService::GetSnapshot(JSContext* cx, nsIPerformanceSnapshot * *aSnapshot)
 {
   nsRefPtr<nsPerformanceSnapshot> snapshot = new nsPerformanceSnapshot();
   nsresult rv = snapshot->Init(cx, mProcessId);
   if (NS_FAILED(rv)) {
     return rv;
   }
 
--- a/toolkit/components/places/nsNavHistoryQuery.cpp
+++ b/toolkit/components/places/nsNavHistoryQuery.cpp
@@ -903,164 +903,150 @@ nsNavHistoryQuery::nsNavHistoryQuery()
     mDomainIsHost(false), mUriIsPrefix(false),
     mAnnotationIsNot(false),
     mTagsAreNot(false)
 {
   // differentiate not set (IsVoid) from empty string (local files)
   mDomain.SetIsVoid(true);
 }
 
-/* attribute PRTime beginTime; */
 NS_IMETHODIMP nsNavHistoryQuery::GetBeginTime(PRTime *aBeginTime)
 {
   *aBeginTime = mBeginTime;
   return NS_OK;
 }
 NS_IMETHODIMP nsNavHistoryQuery::SetBeginTime(PRTime aBeginTime)
 {
   mBeginTime = aBeginTime;
   return NS_OK;
 }
 
-/* attribute long beginTimeReference; */
 NS_IMETHODIMP nsNavHistoryQuery::GetBeginTimeReference(uint32_t* _retval)
 {
   *_retval = mBeginTimeReference;
   return NS_OK;
 }
 NS_IMETHODIMP nsNavHistoryQuery::SetBeginTimeReference(uint32_t aReference)
 {
   if (aReference > TIME_RELATIVE_NOW)
     return NS_ERROR_INVALID_ARG;
   mBeginTimeReference = aReference;
   return NS_OK;
 }
 
-/* readonly attribute boolean hasBeginTime; */
 NS_IMETHODIMP nsNavHistoryQuery::GetHasBeginTime(bool* _retval)
 {
   *_retval = ! (mBeginTimeReference == TIME_RELATIVE_EPOCH && mBeginTime == 0);
   return NS_OK;
 }
 
-/* readonly attribute PRTime absoluteBeginTime; */
 NS_IMETHODIMP nsNavHistoryQuery::GetAbsoluteBeginTime(PRTime* _retval)
 {
   *_retval = nsNavHistory::NormalizeTime(mBeginTimeReference, mBeginTime);
   return NS_OK;
 }
 
-/* attribute PRTime endTime; */
 NS_IMETHODIMP nsNavHistoryQuery::GetEndTime(PRTime *aEndTime)
 {
   *aEndTime = mEndTime;
   return NS_OK;
 }
 NS_IMETHODIMP nsNavHistoryQuery::SetEndTime(PRTime aEndTime)
 {
   mEndTime = aEndTime;
   return NS_OK;
 }
 
-/* attribute long endTimeReference; */
 NS_IMETHODIMP nsNavHistoryQuery::GetEndTimeReference(uint32_t* _retval)
 {
   *_retval = mEndTimeReference;
   return NS_OK;
 }
 NS_IMETHODIMP nsNavHistoryQuery::SetEndTimeReference(uint32_t aReference)
 {
   if (aReference > TIME_RELATIVE_NOW)
     return NS_ERROR_INVALID_ARG;
   mEndTimeReference = aReference;
   return NS_OK;
 }
 
-/* readonly attribute boolean hasEndTime; */
 NS_IMETHODIMP nsNavHistoryQuery::GetHasEndTime(bool* _retval)
 {
   *_retval = ! (mEndTimeReference == TIME_RELATIVE_EPOCH && mEndTime == 0);
   return NS_OK;
 }
 
-/* readonly attribute PRTime absoluteEndTime; */
 NS_IMETHODIMP nsNavHistoryQuery::GetAbsoluteEndTime(PRTime* _retval)
 {
   *_retval = nsNavHistory::NormalizeTime(mEndTimeReference, mEndTime);
   return NS_OK;
 }
 
-/* attribute string searchTerms; */
 NS_IMETHODIMP nsNavHistoryQuery::GetSearchTerms(nsAString& aSearchTerms)
 {
   aSearchTerms = mSearchTerms;
   return NS_OK;
 }
 NS_IMETHODIMP nsNavHistoryQuery::SetSearchTerms(const nsAString& aSearchTerms)
 {
   mSearchTerms = aSearchTerms;
   return NS_OK;
 }
 NS_IMETHODIMP nsNavHistoryQuery::GetHasSearchTerms(bool* _retval)
 {
   *_retval = (! mSearchTerms.IsEmpty());
   return NS_OK;
 }
 
-/* attribute int32_t minVisits; */
 NS_IMETHODIMP nsNavHistoryQuery::GetMinVisits(int32_t* _retval)
 {
   NS_ENSURE_ARG_POINTER(_retval);
   *_retval = mMinVisits;
   return NS_OK;
 }
 NS_IMETHODIMP nsNavHistoryQuery::SetMinVisits(int32_t aVisits)
 {
   mMinVisits = aVisits;
   return NS_OK;
 }
 
-/* attribute PRint32 maxVi