Bug 1423773 - Part 1: Remove usage of nsStringGlue.h. r=glandium
authorEric Rahm <erahm@mozilla.com>
Wed, 06 Dec 2017 16:52:51 -0800
changeset 449929 f6ef04a022f3c5aa861e438298302a989308369e
parent 449928 b38e02c0b605c394e6ef84a5a75b4e7da81842e4
child 449930 3704173ce1cb580ad09f7ae6aba14018ace86fa6
push id1648
push usermtabara@mozilla.com
push dateThu, 01 Mar 2018 12:45:47 +0000
treeherdermozilla-release@cbb9688c2eeb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersglandium
bugs1423773
milestone59.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 1423773 - Part 1: Remove usage of nsStringGlue.h. r=glandium This removes an unnecessary level of indirection by replacing all nsStringGlue.h instances with just nsString.h.
dom/base/NodeInfo.h
dom/base/nsAttrValue.h
dom/base/nsDOMString.h
dom/base/nsIScriptContext.h
dom/base/test/gtest/TestPlainTextSerializer.cpp
dom/bindings/BindingDeclarations.h
dom/bindings/DOMString.h
dom/bindings/ErrorResult.h
dom/bindings/Exceptions.h
dom/bindings/Record.h
dom/bindings/nsIScriptError.idl
dom/filesystem/GetDirectoryListingTask.cpp
dom/filesystem/GetFileOrDirectoryTask.cpp
dom/filesystem/GetFilesTask.cpp
dom/media/gmp/mozIGeckoMediaPluginService.idl
dom/svg/SVGAttrValueWrapper.h
gfx/src/nsRegion.h
image/imgRequest.h
intl/locale/DateTimeFormat.h
intl/unicharutil/util/ICUUtils.cpp
intl/unicharutil/util/ICUUtils.h
intl/unicharutil/util/nsBidiUtils.h
intl/unicharutil/util/nsUnicharUtils.h
ipc/ipdl/ipdl/builtin.py
js/xpconnect/loader/mozJSSubScriptLoader.cpp
js/xpconnect/src/XPCThrower.cpp
js/xpconnect/src/xpcpublic.h
js/xpconnect/tests/components/native/xpctest_private.h
js/xpconnect/wrappers/AccessCheck.h
layout/generic/nsIFrame.h
layout/style/BindingStyleRule.h
netwerk/base/ReferrerPolicy.h
netwerk/base/nsIURI.idl
netwerk/base/nsIURIMutator.idl
netwerk/ipc/NeckoMessageUtils.h
rdf/base/nsRDFResource.h
storage/mozStorageHelper.h
toolkit/components/telemetry/Telemetry.h
toolkit/crashreporter/nsExceptionHandler.h
toolkit/system/osxproxy/ProxyUtils.h
toolkit/system/windowsproxy/ProxyUtils.h
tools/fuzzing/libfuzzer/harness/LibFuzzerTestHarness.h
widget/ContentEvents.h
widget/IMEData.h
widget/TextEvents.h
widget/nsIWidget.h
xpcom/base/nsIMemoryReporter.idl
xpcom/base/nsVersionComparator.cpp
xpcom/base/nsVersionComparator.h
xpcom/ds/nsHashKeys.h
xpcom/io/FileUtilsWin.h
xpcom/io/nsStringStream.h
xpcom/string/nsTextFormatter.h
xpcom/tests/TestHarness.h
xpcom/threads/BlockingResourceBase.h
xpcom/threads/nsThreadUtils.h
--- a/dom/base/NodeInfo.h
+++ b/dom/base/NodeInfo.h
@@ -18,17 +18,17 @@
  * references are released the nsNodeInfoManager deletes itself.
  */
 
 #ifndef mozilla_dom_NodeInfo_h___
 #define mozilla_dom_NodeInfo_h___
 
 #include "nsCycleCollectionParticipant.h"
 #include "mozilla/dom/NameSpaceConstants.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "mozilla/Attributes.h"
 #include "nsAtom.h"
 
 class nsIDocument;
 class nsNodeInfoManager;
 
 namespace mozilla {
 namespace dom {
--- a/dom/base/nsAttrValue.h
+++ b/dom/base/nsAttrValue.h
@@ -10,17 +10,17 @@
  */
 
 #ifndef nsAttrValue_h___
 #define nsAttrValue_h___
 
 #include <type_traits>
 
 #include "nscore.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsStringBuffer.h"
 #include "nsColor.h"
 #include "nsCaseTreatment.h"
 #include "nsMargin.h"
 #include "nsCOMPtr.h"
 #include "nsStringFwd.h"
 #include "SVGAttrValueWrapper.h"
 #include "nsTArrayForwardDeclare.h"
--- a/dom/base/nsDOMString.h
+++ b/dom/base/nsDOMString.h
@@ -2,17 +2,17 @@
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef nsDOMString_h___
 #define nsDOMString_h___
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 inline bool DOMStringIsNull(const nsAString& aString)
 {
   return aString.IsVoid();
 }
 
 inline void SetDOMStringToNull(nsAString& aString)
 {
--- a/dom/base/nsIScriptContext.h
+++ b/dom/base/nsIScriptContext.h
@@ -3,17 +3,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef nsIScriptContext_h__
 #define nsIScriptContext_h__
 
 #include "nscore.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsISupports.h"
 #include "nsCOMPtr.h"
 #include "jspubtd.h"
 
 class nsIScriptGlobalObject;
 
 #define NS_ISCRIPTCONTEXT_IID \
 { 0x54cbe9cf, 0x7282, 0x421a, \
--- a/dom/base/test/gtest/TestPlainTextSerializer.cpp
+++ b/dom/base/test/gtest/TestPlainTextSerializer.cpp
@@ -2,17 +2,17 @@
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "gtest/gtest.h"
 
 #include "nsServiceManagerUtils.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsIDocumentEncoder.h"
 #include "nsCRT.h"
 #include "nsIParserUtils.h"
 
 void
 ConvertBufToPlainText(nsString &aConBuf, int aFlag)
 {
   nsCOMPtr<nsIParserUtils> utils = do_GetService(NS_PARSERUTILS_CONTRACTID);
--- a/dom/bindings/BindingDeclarations.h
+++ b/dom/bindings/BindingDeclarations.h
@@ -18,17 +18,17 @@
 
 #include "mozilla/Maybe.h"
 #include "mozilla/RootedOwningNonNull.h"
 #include "mozilla/RootedRefPtr.h"
 
 #include "mozilla/dom/DOMString.h"
 
 #include "nsCOMPtr.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsTArray.h"
 
 class nsIPrincipal;
 class nsWrapperCache;
 
 namespace mozilla {
 namespace dom {
 
--- a/dom/bindings/DOMString.h
+++ b/dom/bindings/DOMString.h
@@ -2,17 +2,17 @@
 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef mozilla_dom_DOMString_h
 #define mozilla_dom_DOMString_h
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsStringBuffer.h"
 #include "mozilla/Assertions.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/Maybe.h"
 #include "nsDOMString.h"
 #include "nsAtom.h"
 
 namespace mozilla {
--- a/dom/bindings/ErrorResult.h
+++ b/dom/bindings/ErrorResult.h
@@ -25,17 +25,17 @@
 #ifndef mozilla_ErrorResult_h
 #define mozilla_ErrorResult_h
 
 #include <stdarg.h>
 
 #include "js/GCAnnotations.h"
 #include "js/Value.h"
 #include "nscore.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "mozilla/Assertions.h"
 #include "mozilla/Move.h"
 #include "nsTArray.h"
 #include "nsISupportsImpl.h"
 
 namespace IPC {
 class Message;
 template <typename> struct ParamTraits;
--- a/dom/bindings/Exceptions.h
+++ b/dom/bindings/Exceptions.h
@@ -7,17 +7,17 @@
 #ifndef mozilla_dom_Exceptions_h__
 #define mozilla_dom_Exceptions_h__
 
 // DOM exception throwing machinery (for both main thread and workers).
 
 #include <stdint.h>
 #include "jspubtd.h"
 #include "nsIException.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "jsapi.h"
 
 class nsIStackFrame;
 class nsPIDOMWindowInner;
 template <class T>
 struct already_AddRefed;
 
 namespace mozilla {
--- a/dom/bindings/Record.h
+++ b/dom/bindings/Record.h
@@ -8,17 +8,17 @@
  * Class for representing record arguments.  Basically an array under the hood.
  */
 
 #ifndef mozilla_dom_Record_h
 #define mozilla_dom_Record_h
 
 #include "nsTHashtable.h"
 #include "nsHashKeys.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsTArray.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/Move.h"
 
 namespace mozilla {
 namespace dom {
 
 namespace binding_detail {
--- a/dom/bindings/nsIScriptError.idl
+++ b/dom/bindings/nsIScriptError.idl
@@ -9,17 +9,17 @@
 
 
 #include "nsISupports.idl"
 #include "nsIArray.idl"
 #include "nsIConsoleMessage.idl"
 interface nsIURI;
 
 %{C++
-#include "nsStringGlue.h" // for nsDependentCString
+#include "nsString.h" // for nsDependentCString
 %}
 
 [scriptable, uuid(e8933fc9-c302-4e12-a55b-4f88611d9c6c)]
 interface nsIScriptErrorNote : nsISupports
 {
     readonly attribute AString errorMessage;
     readonly attribute AString sourceName;
     readonly attribute uint32_t lineNumber;
--- a/dom/filesystem/GetDirectoryListingTask.cpp
+++ b/dom/filesystem/GetDirectoryListingTask.cpp
@@ -12,17 +12,17 @@
 #include "mozilla/dom/FileSystemBase.h"
 #include "mozilla/dom/FileSystemUtils.h"
 #include "mozilla/dom/IPCBlobUtils.h"
 #include "mozilla/dom/PFileSystemParams.h"
 #include "mozilla/dom/Promise.h"
 #include "mozilla/dom/UnionTypes.h"
 #include "nsIFile.h"
 #include "nsISimpleEnumerator.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 namespace mozilla {
 namespace dom {
 
 /**
  * GetDirectoryListingTaskChild
  */
 
--- a/dom/filesystem/GetFileOrDirectoryTask.cpp
+++ b/dom/filesystem/GetFileOrDirectoryTask.cpp
@@ -9,17 +9,17 @@
 #include "js/Value.h"
 #include "mozilla/dom/FileBlobImpl.h"
 #include "mozilla/dom/FileSystemBase.h"
 #include "mozilla/dom/FileSystemUtils.h"
 #include "mozilla/dom/PFileSystemParams.h"
 #include "mozilla/dom/Promise.h"
 #include "mozilla/dom/IPCBlobUtils.h"
 #include "nsIFile.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 namespace mozilla {
 namespace dom {
 
 /**
  * GetFileOrDirectoryTaskChild
  */
 
--- a/dom/filesystem/GetFilesTask.cpp
+++ b/dom/filesystem/GetFilesTask.cpp
@@ -10,17 +10,17 @@
 #include "js/Value.h"
 #include "mozilla/dom/File.h"
 #include "mozilla/dom/FileSystemBase.h"
 #include "mozilla/dom/FileSystemUtils.h"
 #include "mozilla/dom/IPCBlobUtils.h"
 #include "mozilla/dom/PFileSystemParams.h"
 #include "mozilla/dom/Promise.h"
 #include "nsIFile.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 namespace mozilla {
 namespace dom {
 
 /**
  * GetFilesTaskChild
  */
 
--- a/dom/media/gmp/mozIGeckoMediaPluginService.idl
+++ b/dom/media/gmp/mozIGeckoMediaPluginService.idl
@@ -4,17 +4,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "nsISupports.idl"
 #include "nsIThread.idl"
 
 %{C++
 #include "mozilla/UniquePtr.h"
 #include "nsTArray.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 class GMPDecryptorProxy;
 class GMPVideoDecoderProxy;
 class GMPVideoEncoderProxy;
 class GMPVideoHost;
 
 namespace mozilla {
 class GMPCrashHelper;
 }
--- a/dom/svg/SVGAttrValueWrapper.h
+++ b/dom/svg/SVGAttrValueWrapper.h
@@ -7,17 +7,17 @@
 #ifndef MOZILLA_SVGATTRVALUEWRAPPER_H__
 #define MOZILLA_SVGATTRVALUEWRAPPER_H__
 
 /**
  * Utility wrapper for handling SVG types used inside nsAttrValue so that these
  * types don't need to be exported outside the SVG module.
  */
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 class nsSVGAngle;
 class nsSVGIntegerPair;
 class nsSVGLength2;
 class nsSVGNumberPair;
 class nsSVGViewBox;
 
 namespace mozilla {
--- a/gfx/src/nsRegion.h
+++ b/gfx/src/nsRegion.h
@@ -13,17 +13,17 @@
 #include <sys/types.h>                  // for int32_t
 #include <ostream>                      // for std::ostream
 #include "nsCoord.h"                    // for nscoord
 #include "nsError.h"                    // for nsresult
 #include "nsPoint.h"                    // for nsIntPoint, nsPoint
 #include "nsRect.h"                     // for mozilla::gfx::IntRect, nsRect
 #include "nsMargin.h"                   // for nsIntMargin
 #include "nsRegionFwd.h"                // for nsIntRegion
-#include "nsStringGlue.h"               // for nsCString
+#include "nsString.h"                   // for nsCString
 #include "xpcom-config.h"               // for CPP_THROW_NEW
 #include "mozilla/ArrayView.h"          // for ArrayView
 #include "mozilla/Move.h"               // for mozilla::Move
 #include "mozilla/gfx/MatrixFwd.h"      // for mozilla::gfx::Matrix4x4
 
 #include "pixman.h"
 
 /* For information on the internal representation look at pixman-region.c
--- a/image/imgRequest.h
+++ b/image/imgRequest.h
@@ -10,17 +10,17 @@
 #include "nsIChannelEventSink.h"
 #include "nsIInterfaceRequestor.h"
 #include "nsIStreamListener.h"
 #include "nsIThreadRetargetableStreamListener.h"
 #include "nsIPrincipal.h"
 
 #include "nsCOMPtr.h"
 #include "nsProxyRelease.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsError.h"
 #include "nsIAsyncVerifyRedirectCallback.h"
 #include "mozilla/Mutex.h"
 #include "mozilla/net/ReferrerPolicy.h"
 #include "ImageCacheKey.h"
 
 class imgCacheValidator;
 class imgLoader;
--- a/intl/locale/DateTimeFormat.h
+++ b/intl/locale/DateTimeFormat.h
@@ -4,17 +4,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef mozilla_DateTimeFormat_h
 #define mozilla_DateTimeFormat_h
 
 #include <time.h>
 #include "gtest/MozGtestFriend.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "prtime.h"
 #include "unicode/udat.h"
 
 namespace mozilla {
 
 enum nsDateFormatSelector : long
 {
   // Do not change the order of the values below (see bug 1225696).
--- a/intl/unicharutil/util/ICUUtils.cpp
+++ b/intl/unicharutil/util/ICUUtils.cpp
@@ -4,17 +4,17 @@
 
 #ifdef MOZILLA_INTERNAL_API
 
 #include "ICUUtils.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/intl/LocaleService.h"
 #include "nsIContent.h"
 #include "nsIDocument.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "unicode/uloc.h"
 #include "unicode/unum.h"
 
 using namespace mozilla;
 using mozilla::intl::LocaleService;
 
 /**
  * This pref just controls whether we format the number with grouping separator
--- a/intl/unicharutil/util/ICUUtils.h
+++ b/intl/unicharutil/util/ICUUtils.h
@@ -6,17 +6,17 @@
 #ifndef mozilla_ICUUtils_h__
 #define mozilla_ICUUtils_h__
 
 // The ICU utils implementation needs internal things like XPCOM strings and
 // nsGkAtom, so we only build when included into internal libs:
 #ifdef MOZILLA_INTERNAL_API
 
 #include "mozilla/Scoped.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "unicode/unum.h" // for UNumberFormat
 
 class nsIContent;
 
 struct ScopedUNumberFormatTraits {
   typedef UNumberFormat* type;
   static type empty() { return nullptr; }
   static void release(type handle) { if (handle) unum_close(handle); }
--- a/intl/unicharutil/util/nsBidiUtils.h
+++ b/intl/unicharutil/util/nsBidiUtils.h
@@ -1,17 +1,17 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef nsBidiUtils_h__
 #define nsBidiUtils_h__
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 
    /**
     *  Read ftp://ftp.unicode.org/Public/UNIDATA/ReadMe-Latest.txt
     *  section BIDIRECTIONAL PROPERTIES
     *  for the detailed definition of the following categories
     *
     *  The values here must match the equivalents in %bidicategorycode in
     *  mozilla/intl/unicharutil/tools/genUnicodePropertyData.pl,
--- a/intl/unicharutil/util/nsUnicharUtils.h
+++ b/intl/unicharutil/util/nsUnicharUtils.h
@@ -1,17 +1,17 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef nsUnicharUtils_h__
 #define nsUnicharUtils_h__
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 /* (0x3131u <= (u) && (u) <= 0x318eu) => Hangul Compatibility Jamo */
 /* (0xac00u <= (u) && (u) <= 0xd7a3u) => Hangul Syllables          */
 #define IS_CJ_CHAR(u) \
   ((0x2e80u <= (u) && (u) <= 0x312fu) || \
    (0x3190u <= (u) && (u) <= 0xabffu) || \
    (0xf900u <= (u) && (u) <= 0xfaffu) || \
    (0xff00u <= (u) && (u) <= 0xffefu) )
--- a/ipc/ipdl/ipdl/builtin.py
+++ b/ipc/ipdl/ipdl/builtin.py
@@ -44,17 +44,17 @@ Types = (
 )
 
 
 HeaderIncludes = (
     'mozilla/Attributes.h',
     'IPCMessageStart.h',
     'ipc/IPCMessageUtils.h',
     'mozilla/RefPtr.h',
-    'nsStringGlue.h',
+    'nsString.h',
     'nsTArray.h',
     'mozilla/ipc/ProtocolUtils.h',
     'nsTHashtable.h',
     'mozilla/OperatorNewExtensions.h',
 )
 
 CppIncludes = (
     'nsIFile.h',
--- a/js/xpconnect/loader/mozJSSubScriptLoader.cpp
+++ b/js/xpconnect/loader/mozJSSubScriptLoader.cpp
@@ -25,17 +25,17 @@
 #include "mozilla/dom/ToJSValue.h"
 #include "mozilla/dom/ScriptLoader.h"
 #include "mozilla/HoldDropJSObjects.h"
 #include "mozilla/ScriptPreloader.h"
 #include "mozilla/scache/StartupCache.h"
 #include "mozilla/scache/StartupCacheUtils.h"
 #include "mozilla/Unused.h"
 #include "nsContentUtils.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsCycleCollectionParticipant.h"
 #include "GeckoProfiler.h"
 
 using namespace mozilla::scache;
 using namespace JS;
 using namespace xpc;
 using namespace mozilla;
 using namespace mozilla::dom;
--- a/js/xpconnect/src/XPCThrower.cpp
+++ b/js/xpconnect/src/XPCThrower.cpp
@@ -6,17 +6,17 @@
 
 /* Code for throwing errors into JavaScript. */
 
 #include "xpcprivate.h"
 #include "XPCWrapper.h"
 #include "jsprf.h"
 #include "mozilla/dom/BindingUtils.h"
 #include "mozilla/dom/Exceptions.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 using namespace mozilla;
 using namespace mozilla::dom;
 
 bool XPCThrower::sVerbose = true;
 
 // static
 void
--- a/js/xpconnect/src/xpcpublic.h
+++ b/js/xpconnect/src/xpcpublic.h
@@ -13,17 +13,17 @@
 #include "js/Proxy.h"
 
 #include "nsISupports.h"
 #include "nsIURI.h"
 #include "nsIPrincipal.h"
 #include "nsIGlobalObject.h"
 #include "nsPIDOMWindow.h"
 #include "nsWrapperCache.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsTArray.h"
 #include "mozilla/dom/JSSlots.h"
 #include "mozilla/fallible.h"
 #include "nsMathUtils.h"
 #include "nsStringBuffer.h"
 #include "mozilla/dom/BindingDeclarations.h"
 #include "mozilla/Preferences.h"
 
--- a/js/xpconnect/tests/components/native/xpctest_private.h
+++ b/js/xpconnect/tests/components/native/xpctest_private.h
@@ -6,17 +6,17 @@
 
 /* local header for xpconnect tests components */
 
 #ifndef xpctest_private_h___
 #define xpctest_private_h___
 
 #include "nsISupports.h"
 #include "nsMemory.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "xpctest_attributes.h"
 #include "xpctest_params.h"
 #include "xpctest_returncode.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/ModuleUtils.h"
 
 extern const mozilla::Module kXPCTestModule;
 
--- a/js/xpconnect/wrappers/AccessCheck.h
+++ b/js/xpconnect/wrappers/AccessCheck.h
@@ -4,17 +4,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef __AccessCheck_h__
 #define __AccessCheck_h__
 
 #include "jswrapper.h"
 #include "js/Id.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 class nsIPrincipal;
 
 namespace xpc {
 
 class AccessCheck {
   public:
     static bool subsumes(JSCompartment* a, JSCompartment* b);
--- a/layout/generic/nsIFrame.h
+++ b/layout/generic/nsIFrame.h
@@ -32,17 +32,17 @@
 #include "nsDirection.h"
 #include "nsFrameList.h"
 #include "nsFrameState.h"
 #include "mozilla/layers/WebRenderUserData.h"
 #include "mozilla/ReflowOutput.h"
 #include "nsITheme.h"
 #include "nsLayoutUtils.h"
 #include "nsQueryFrame.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsStyleContext.h"
 #include "nsStyleStruct.h"
 #include "Visibility.h"
 #include "nsChangeHint.h"
 #include "nsStyleContextInlines.h"
 #include "mozilla/gfx/CompositorHitTestInfo.h"
 #include "mozilla/gfx/MatrixFwd.h"
 #include "nsDisplayItemTypes.h"
--- a/layout/style/BindingStyleRule.h
+++ b/layout/style/BindingStyleRule.h
@@ -3,17 +3,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef mozilla_BindingStyleRule_h__
 #define mozilla_BindingStyleRule_h__
 
 #include "nscore.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "mozilla/css/Rule.h"
 #include "mozilla/NotNull.h"
 
 /**
  * Shared superclass for mozilla::css::StyleRule and mozilla::ServoStyleRule,
  * for use from bindings code.
  */
 
--- a/netwerk/base/ReferrerPolicy.h
+++ b/netwerk/base/ReferrerPolicy.h
@@ -1,16 +1,16 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef ReferrerPolicy_h__
 #define ReferrerPolicy_h__
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsIHttpChannel.h"
 #include "nsUnicharUtils.h"
 
 namespace mozilla { namespace net {
 
 enum ReferrerPolicy {
   /* spec tokens: never no-referrer */
   RP_No_Referrer                 = nsIHttpChannel::REFERRER_POLICY_NO_REFERRER,
--- a/netwerk/base/nsIURI.idl
+++ b/netwerk/base/nsIURI.idl
@@ -31,17 +31,17 @@
  * internationalized domain names [2] and the more generic IRI structure [3].
  *
  * [1] https://tools.ietf.org/html/rfc3986
  * [2] https://tools.ietf.org/html/rfc5890
  * [3] https://tools.ietf.org/html/rfc3987
  */
 
 %{C++
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 #undef GetPort  // XXX Windows!
 #undef SetPort  // XXX Windows!
 
 namespace mozilla {
 class Encoding;
 }
 %}
--- a/netwerk/base/nsIURIMutator.idl
+++ b/netwerk/base/nsIURIMutator.idl
@@ -4,17 +4,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "nsISupports.idl"
 interface nsIURI;
 interface nsIObjectInputStream;
 interface nsIURIMutator;
 
 %{C++
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsCOMPtr.h"
 
 #undef SetPort  // XXX Windows!
 
 namespace mozilla {
 class Encoding;
 }
 
--- a/netwerk/ipc/NeckoMessageUtils.h
+++ b/netwerk/ipc/NeckoMessageUtils.h
@@ -6,17 +6,17 @@
 #ifndef mozilla_net_NeckoMessageUtils_h
 #define mozilla_net_NeckoMessageUtils_h
 
 #include "mozilla/DebugOnly.h"
 
 #include "ipc/IPCMessageUtils.h"
 #include "nsExceptionHandler.h"
 #include "nsPrintfCString.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "prio.h"
 #include "mozilla/net/DNS.h"
 #include "TimingStruct.h"
 
 
 namespace IPC {
 
 // nsIPermissionManager utilities
--- a/rdf/base/nsRDFResource.h
+++ b/rdf/base/nsRDFResource.h
@@ -5,17 +5,17 @@
 
 #ifndef nsRDFResource_h__
 #define nsRDFResource_h__
 
 #include "nsCOMPtr.h"
 #include "nsIRDFNode.h"
 #include "nsIRDFResource.h"
 #include "nscore.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "rdf.h"
 
 class nsIRDFService;
 
 /**
  * This simple base class implements nsIRDFResource, and can be used as a
  * superclass for more sophisticated resource implementations.
  */
--- a/storage/mozStorageHelper.h
+++ b/storage/mozStorageHelper.h
@@ -2,17 +2,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef MOZSTORAGEHELPER_H
 #define MOZSTORAGEHELPER_H
 
 #include "nsAutoPtr.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "mozilla/DebugOnly.h"
 #include "nsIConsoleService.h"
 #include "nsIScriptError.h"
 
 #include "mozIStorageAsyncConnection.h"
 #include "mozIStorageConnection.h"
 #include "mozIStorageStatement.h"
 #include "mozIStoragePendingStatement.h"
--- a/toolkit/components/telemetry/Telemetry.h
+++ b/toolkit/components/telemetry/Telemetry.h
@@ -5,17 +5,17 @@
 
 #ifndef Telemetry_h__
 #define Telemetry_h__
 
 #include "mozilla/GuardObjects.h"
 #include "mozilla/TimeStamp.h"
 #include "mozilla/StartupTimeline.h"
 #include "nsTArray.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsXULAppAPI.h"
 
 #include "mozilla/TelemetryHistogramEnums.h"
 #include "mozilla/TelemetryScalarEnums.h"
 
 /******************************************************************************
  * This implements the Telemetry system.
  * It allows recording into histograms as well some more specialized data
--- a/toolkit/crashreporter/nsExceptionHandler.h
+++ b/toolkit/crashreporter/nsExceptionHandler.h
@@ -13,17 +13,17 @@
 #define nsExceptionHandler_h__
 
 #include "mozilla/Assertions.h"
 
 #include <functional>
 #include <stddef.h>
 #include <stdint.h>
 #include "nsError.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 #if defined(XP_WIN32)
 #ifdef WIN32_LEAN_AND_MEAN
 #undef WIN32_LEAN_AND_MEAN
 #endif
 #include <windows.h>
 #endif
 
--- a/toolkit/system/osxproxy/ProxyUtils.h
+++ b/toolkit/system/osxproxy/ProxyUtils.h
@@ -1,17 +1,17 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef mozilla_toolkit_system_osxproxy_ProxyUtils_h
 #define mozilla_toolkit_system_osxproxy_ProxyUtils_h
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 namespace mozilla {
 namespace toolkit {
 namespace system {
 
 bool IsHostProxyEntry(const nsACString& aHost, const nsACString& aOverride);
 
 } // namespace system
--- a/toolkit/system/windowsproxy/ProxyUtils.h
+++ b/toolkit/system/windowsproxy/ProxyUtils.h
@@ -1,17 +1,17 @@
 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef mozilla_toolkit_system_windowsproxy_ProxyUtils_h
 #define mozilla_toolkit_system_windowsproxy_ProxyUtils_h
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 namespace mozilla {
 namespace toolkit {
 namespace system {
 
 bool IsHostProxyEntry(const nsACString& aHost, const nsACString& aOverride);
 
 } // namespace system
--- a/tools/fuzzing/libfuzzer/harness/LibFuzzerTestHarness.h
+++ b/tools/fuzzing/libfuzzer/harness/LibFuzzerTestHarness.h
@@ -15,17 +15,17 @@
 #include "mozilla/ArrayUtils.h"
 #include "mozilla/Attributes.h"
 
 #include "prenv.h"
 #include "nsComponentManagerUtils.h"
 #include "nsServiceManagerUtils.h"
 #include "nsCOMPtr.h"
 #include "nsAutoPtr.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsAppDirectoryServiceDefs.h"
 #include "nsDirectoryServiceDefs.h"
 #include "nsDirectoryServiceUtils.h"
 #include "nsIDirectoryService.h"
 #include "nsIFile.h"
 #include "nsIProperties.h"
 #include "nsIObserverService.h"
 #include "nsXULAppAPI.h"
--- a/widget/ContentEvents.h
+++ b/widget/ContentEvents.h
@@ -8,17 +8,17 @@
 
 #include <stdint.h>
 
 #include "mozilla/BasicEvents.h"
 #include "mozilla/dom/DataTransfer.h"
 #include "mozilla/dom/EventTarget.h"
 #include "nsCOMPtr.h"
 #include "nsRect.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 class nsIContent;
 
 namespace mozilla {
 
 /******************************************************************************
  * mozilla::InternalScrollPortEvent
  ******************************************************************************/
--- a/widget/IMEData.h
+++ b/widget/IMEData.h
@@ -3,17 +3,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef mozilla_widget_IMEData_h_
 #define mozilla_widget_IMEData_h_
 
 #include "nsPoint.h"
 #include "nsRect.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsXULAppAPI.h"
 #include "Units.h"
 
 class nsIWidget;
 
 namespace mozilla {
 
 class WritingMode;
--- a/widget/TextEvents.h
+++ b/widget/TextEvents.h
@@ -16,17 +16,17 @@
 #include "mozilla/TextRange.h"
 #include "mozilla/WritingModes.h"
 #include "nsCOMPtr.h"
 #include "nsIDOMKeyEvent.h"
 #include "nsISelectionController.h"
 #include "nsISelectionListener.h"
 #include "nsITransferable.h"
 #include "nsRect.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsTArray.h"
 
 class nsStringHashKey;
 template<class, class> class nsDataHashtable;
 
 /******************************************************************************
  * virtual keycode values
  ******************************************************************************/
--- a/widget/nsIWidget.h
+++ b/widget/nsIWidget.h
@@ -5,17 +5,17 @@
 
 #ifndef nsIWidget_h__
 #define nsIWidget_h__
 
 #include "mozilla/UniquePtr.h"
 #include "nsISupports.h"
 #include "nsColor.h"
 #include "nsRect.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 #include "nsCOMPtr.h"
 #include "nsWidgetInitData.h"
 #include "nsTArray.h"
 #include "nsITheme.h"
 #include "nsITimer.h"
 #include "nsRegionFwd.h"
 #include "nsStyleConsts.h"
--- a/xpcom/base/nsIMemoryReporter.idl
+++ b/xpcom/base/nsIMemoryReporter.idl
@@ -448,17 +448,17 @@ interface nsIMemoryReporterManager : nsI
                  out int64_t styleSize, out int64_t otherSize,
                  out int64_t totalSize,
                  out double jsMilliseconds, out double nonJSMilliseconds);
 };
 
 %{C++
 
 #include "js/TypeDecls.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsTArray.h"
 
 class nsPIDOMWindowOuter;
 
 namespace mozilla {
 
 // All the following registration/unregistration functions don't use
 // MOZ_MUST_USE because ignoring failures is common and reasonable.
--- a/xpcom/base/nsVersionComparator.cpp
+++ b/xpcom/base/nsVersionComparator.cpp
@@ -6,17 +6,17 @@
 
 #include "nsVersionComparator.h"
 
 #include <stdlib.h>
 #include <string.h>
 #include <stdint.h>
 #if defined(XP_WIN) && !defined(UPDATER_NO_STRING_GLUE_STL)
 #include <wchar.h>
-#include "nsStringGlue.h"
+#include "nsString.h"
 #endif
 
 struct VersionPart
 {
   int32_t     numA;
 
   const char* strB;    // NOT null-terminated, can be a null pointer
   uint32_t    strBlen;
--- a/xpcom/base/nsVersionComparator.h
+++ b/xpcom/base/nsVersionComparator.h
@@ -8,17 +8,17 @@
 #define nsVersionComparator_h__
 
 #include "nscore.h"
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
 #if defined(XP_WIN) && !defined(UPDATER_NO_STRING_GLUE_STL)
 #include <wchar.h>
-#include "nsStringGlue.h"
+#include "nsString.h"
 #endif
 
 /**
  * In order to compare version numbers in Mozilla, you need to use the
  * mozilla::Version class.  You can construct an object of this type by passing
  * in a string version number to the constructor.  Objects of this type can be
  * compared using the standard comparison operators.
  *
--- a/xpcom/ds/nsHashKeys.h
+++ b/xpcom/ds/nsHashKeys.h
@@ -10,17 +10,17 @@
 #include "nsID.h"
 #include "nsISupports.h"
 #include "nsIHashable.h"
 #include "nsAutoPtr.h"
 #include "nsCOMPtr.h"
 #include "PLDHashTable.h"
 #include <new>
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsCRTGlue.h"
 #include "nsUnicharUtils.h"
 #include "nsPointerHashKeys.h"
 
 #include <stdlib.h>
 #include <string.h>
 
 #include "mozilla/HashFunctions.h"
--- a/xpcom/io/FileUtilsWin.h
+++ b/xpcom/io/FileUtilsWin.h
@@ -5,17 +5,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef mozilla_FileUtilsWin_h
 #define mozilla_FileUtilsWin_h
 
 #include <windows.h>
 
 #include "mozilla/Scoped.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 namespace mozilla {
 
 inline bool
 EnsureLongPath(nsAString& aDosPath)
 {
   uint32_t aDosPathOriginalLen = aDosPath.Length();
   auto inputPath = PromiseFlatString(aDosPath);
--- a/xpcom/io/nsStringStream.h
+++ b/xpcom/io/nsStringStream.h
@@ -3,17 +3,17 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifndef nsStringStream_h__
 #define nsStringStream_h__
 
 #include "nsIStringStream.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsMemory.h"
 
 /**
  * Implements:
  *   nsIStringInputStream
  *   nsIInputStream
  *   nsISeekableStream
  *   nsISupportsCString
--- a/xpcom/string/nsTextFormatter.h
+++ b/xpcom/string/nsTextFormatter.h
@@ -28,17 +28,17 @@
  **	%c - character
  **	%p - pointer (deals with machine dependent pointer size)
  **	%f - float
  **	%g - float
  */
 #include <stdio.h>
 #include <stdarg.h>
 #include "nscore.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "mozilla/Span.h"
 #include "mozilla/TypeTraits.h"
 
 #ifdef XPCOM_GLUE
 #error "nsTextFormatter is not available in the standalone glue due to NSPR dependencies."
 #endif
 
 class nsTextFormatter
--- a/xpcom/tests/TestHarness.h
+++ b/xpcom/tests/TestHarness.h
@@ -15,17 +15,17 @@
 #include "mozilla/ArrayUtils.h"
 #include "mozilla/Attributes.h"
 
 #include "prenv.h"
 #include "nsComponentManagerUtils.h"
 #include "nsServiceManagerUtils.h"
 #include "nsCOMPtr.h"
 #include "nsAutoPtr.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsAppDirectoryServiceDefs.h"
 #include "nsDirectoryServiceDefs.h"
 #include "nsDirectoryServiceUtils.h"
 #include "nsIDirectoryService.h"
 #include "nsIFile.h"
 #include "nsIProperties.h"
 #include "nsIObserverService.h"
 #include "nsXULAppAPI.h"
--- a/xpcom/threads/BlockingResourceBase.h
+++ b/xpcom/threads/BlockingResourceBase.h
@@ -17,17 +17,17 @@
 
 #ifdef DEBUG
 
 // NB: Comment this out to enable callstack tracking.
 #define MOZ_CALLSTACK_DISABLED
 
 #include "prinit.h"
 
-#include "nsStringGlue.h"
+#include "nsString.h"
 
 #ifndef MOZ_CALLSTACK_DISABLED
 #include "nsTArray.h"
 #endif
 
 #include "nsXPCOM.h"
 #endif
 
--- a/xpcom/threads/nsThreadUtils.h
+++ b/xpcom/threads/nsThreadUtils.h
@@ -13,17 +13,17 @@
 #include "nsICancelableRunnable.h"
 #include "nsIIdlePeriod.h"
 #include "nsIIdleRunnable.h"
 #include "nsINamed.h"
 #include "nsIRunnable.h"
 #include "nsIThreadManager.h"
 #include "nsITimer.h"
 #include "nsIThread.h"
-#include "nsStringGlue.h"
+#include "nsString.h"
 #include "nsCOMPtr.h"
 #include "nsAutoPtr.h"
 #include "mozilla/Atomics.h"
 #include "mozilla/IndexSequence.h"
 #include "mozilla/Likely.h"
 #include "mozilla/Move.h"
 #include "mozilla/TimeStamp.h"
 #include "mozilla/Tuple.h"