Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
authorEhsan Akhgari <ehsan@mozilla.com>
Sat, 04 Jan 2014 10:02:17 -0500
changeset 162099 5a9badd6db004310b9d1aca5db25ef4c275a4362
parent 162098 2cadd4910e5e9211a6597c70567cde9ef1c23303
child 162100 cf80c0d4f46e3526d5f80671626f27a984cf4eae
push id25932
push usereakhgari@mozilla.com
push dateSat, 04 Jan 2014 15:04:52 +0000
treeherdermozilla-central@cf80c0d4f46e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersroc
bugs927728
milestone29.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 927728 - Part 1: Replace PRUnichar with char16_t; r=roc This patch was automatically generated by the following script: #!/bin/bash # Command to convert PRUnichar to char16_t function convert() { echo "Converting $1 to $2..." find . ! -wholename "*nsprpub*" \ ! -wholename "*security/nss*" \ ! -wholename "*modules/libmar*" \ ! -wholename "*/.hg*" \ ! -wholename "obj-ff-dbg*" \ ! -name prtypes.h \ ! -name Char16.h \ -type f \ \( -iname "*.cpp" \ -o -iname "*.h" \ -o -iname "*.c" \ -o -iname "*.cc" \ -o -iname "*.idl" \ -o -iname "*.ipdl" \ -o -iname "*.ipdlh" \ -o -iname "*.mm" \) | \ xargs -n 1 sed -i -e "s/\b$1\b/$2/g" } convert PRUnichar char16_t
accessible/src/atk/nsMaiInterfaceText.cpp
accessible/src/base/DocManager.cpp
accessible/src/base/nsAccessibilityService.cpp
accessible/src/base/nsCoreUtils.h
accessible/src/base/nsTextEquivUtils.cpp
accessible/src/generic/DocAccessible.cpp
accessible/src/generic/HyperTextAccessible.h
accessible/src/html/HTMLElementAccessibles.cpp
accessible/src/xpcom/xpcAccessibleHyperText.cpp
b2g/app/nsBrowserApp.cpp
browser/components/shell/src/nsMacShellService.cpp
browser/components/shell/src/nsWindowsShellService.cpp
caps/src/nsScriptSecurityManager.cpp
chrome/src/nsChromeRegistryChrome.cpp
chrome/src/nsChromeRegistryChrome.h
chrome/src/nsChromeRegistryContent.cpp
chrome/src/nsChromeRegistryContent.h
content/base/public/DirectionalityUtils.h
content/base/public/FragmentOrElement.h
content/base/public/nsContentUtils.h
content/base/public/nsIContent.h
content/base/public/nsIDocument.h
content/base/public/nsINode.h
content/base/public/nsLineBreaker.h
content/base/src/DOMImplementation.cpp
content/base/src/DOMParser.cpp
content/base/src/DirectionalityUtils.cpp
content/base/src/Element.cpp
content/base/src/EventSource.cpp
content/base/src/EventSource.h
content/base/src/FragmentOrElement.cpp
content/base/src/Link.cpp
content/base/src/WebSocket.cpp
content/base/src/WebSocket.h
content/base/src/nsAttrValue.cpp
content/base/src/nsAttrValue.h
content/base/src/nsCCUncollectableMarker.cpp
content/base/src/nsCSPService.cpp
content/base/src/nsContentSink.cpp
content/base/src/nsContentUtils.cpp
content/base/src/nsCopySupport.cpp
content/base/src/nsDOMFile.cpp
content/base/src/nsDOMFileReader.cpp
content/base/src/nsDOMTokenList.cpp
content/base/src/nsDocument.cpp
content/base/src/nsDocument.h
content/base/src/nsDocumentEncoder.cpp
content/base/src/nsFormData.cpp
content/base/src/nsFrameMessageManager.cpp
content/base/src/nsFrameMessageManager.h
content/base/src/nsGenericDOMDataNode.cpp
content/base/src/nsGenericDOMDataNode.h
content/base/src/nsHTMLContentSerializer.cpp
content/base/src/nsLineBreaker.cpp
content/base/src/nsMixedContentBlocker.cpp
content/base/src/nsPlainTextSerializer.cpp
content/base/src/nsPlainTextSerializer.h
content/base/src/nsReferencedElement.cpp
content/base/src/nsScriptLoader.cpp
content/base/src/nsTextFragment.cpp
content/base/src/nsTextFragment.h
content/base/src/nsTextFragmentSSE2.cpp
content/base/src/nsTextNode.cpp
content/base/src/nsTextNode.h
content/base/src/nsTreeSanitizer.cpp
content/base/src/nsXMLContentSerializer.cpp
content/base/src/nsXMLContentSerializer.h
content/base/src/nsXMLHttpRequest.cpp
content/canvas/public/nsICanvasRenderingContextInternal.h
content/canvas/src/CanvasImageCache.cpp
content/canvas/src/CanvasRenderingContext2D.cpp
content/canvas/src/CanvasRenderingContext2D.h
content/canvas/src/ImageEncoder.cpp
content/canvas/src/ImageEncoder.h
content/canvas/src/WebGLContext.cpp
content/canvas/src/WebGLContext.h
content/canvas/src/WebGLValidateStrings.h
content/events/src/nsContentEventHandler.cpp
content/events/src/nsDOMDataTransfer.cpp
content/events/src/nsEventStateManager.cpp
content/html/content/public/HTMLMediaElement.h
content/html/content/src/HTMLFormElement.cpp
content/html/content/src/HTMLFrameSetElement.cpp
content/html/content/src/HTMLInputElement.cpp
content/html/content/src/HTMLInputElement.h
content/html/content/src/HTMLMediaElement.cpp
content/html/content/src/HTMLTextAreaElement.cpp
content/html/content/src/nsDOMStringMap.cpp
content/html/content/src/nsFormSubmission.cpp
content/html/content/src/nsGenericHTMLElement.cpp
content/html/content/src/nsHTMLDNSPrefetch.cpp
content/html/content/src/nsTextEditorState.cpp
content/html/document/src/ImageDocument.cpp
content/html/document/src/MediaDocument.cpp
content/html/document/src/nsHTMLDocument.cpp
content/mathml/content/src/nsMathMLElement.cpp
content/media/Latency.cpp
content/media/MediaCache.cpp
content/media/MediaDecoder.cpp
content/media/MediaRecorder.cpp
content/media/MediaShutdownManager.cpp
content/media/MediaStreamGraph.cpp
content/media/webrtc/LoadMonitor.cpp
content/media/webspeech/recognition/SpeechRecognition.cpp
content/media/webspeech/recognition/test/FakeSpeechRecognitionService.cpp
content/media/wmf/WMFUtils.cpp
content/smil/nsSMILParserUtils.cpp
content/svg/content/src/SVGContentUtils.cpp
content/svg/content/src/SVGContentUtils.h
content/svg/content/src/SVGFragmentIdentifier.cpp
content/svg/content/src/SVGLength.cpp
content/svg/content/src/SVGNumberList.cpp
content/svg/content/src/SVGPathSegUtils.cpp
content/svg/content/src/SVGPathSegUtils.h
content/svg/content/src/SVGPointList.cpp
content/svg/content/src/SVGTransformListParser.cpp
content/svg/content/src/nsSVGAngle.cpp
content/svg/content/src/nsSVGDataParser.h
content/svg/content/src/nsSVGElement.cpp
content/svg/content/src/nsSVGLength2.cpp
content/svg/content/src/nsSVGNumber2.cpp
content/svg/content/src/nsSVGPathDataParser.cpp
content/svg/content/src/nsSVGPathDataParser.h
content/svg/content/src/nsSVGTransform.cpp
content/svg/content/src/nsSVGViewBox.cpp
content/xbl/src/nsXBLContentSink.cpp
content/xbl/src/nsXBLContentSink.h
content/xbl/src/nsXBLProtoImpl.cpp
content/xbl/src/nsXBLProtoImpl.h
content/xbl/src/nsXBLProtoImplField.cpp
content/xbl/src/nsXBLProtoImplField.h
content/xbl/src/nsXBLProtoImplMember.h
content/xbl/src/nsXBLProtoImplMethod.cpp
content/xbl/src/nsXBLProtoImplMethod.h
content/xbl/src/nsXBLProtoImplProperty.cpp
content/xbl/src/nsXBLProtoImplProperty.h
content/xbl/src/nsXBLPrototypeBinding.cpp
content/xbl/src/nsXBLPrototypeHandler.cpp
content/xbl/src/nsXBLPrototypeHandler.h
content/xbl/src/nsXBLService.cpp
content/xbl/src/nsXBLWindowKeyHandler.cpp
content/xml/document/src/nsXMLContentSink.cpp
content/xml/document/src/nsXMLContentSink.h
content/xml/document/src/nsXMLFragmentContentSink.cpp
content/xslt/src/base/txDouble.cpp
content/xslt/src/xml/txXMLUtils.cpp
content/xslt/src/xml/txXMLUtils.h
content/xslt/src/xpath/txCoreFunctionCall.cpp
content/xslt/src/xpath/txExprLexer.h
content/xslt/src/xpath/txExprParser.cpp
content/xslt/src/xpath/txFunctionCall.cpp
content/xslt/src/xpath/txLiteralExpr.cpp
content/xslt/src/xpath/txLocationStep.cpp
content/xslt/src/xpath/txNameTest.cpp
content/xslt/src/xpath/txNamedAttributeStep.cpp
content/xslt/src/xpath/txNodeTypeTest.cpp
content/xslt/src/xpath/txPathExpr.cpp
content/xslt/src/xpath/txPredicateList.cpp
content/xslt/src/xpath/txPredicatedNodeTest.cpp
content/xslt/src/xpath/txRelationalExpr.cpp
content/xslt/src/xpath/txRootExpr.cpp
content/xslt/src/xpath/txUnaryExpr.cpp
content/xslt/src/xpath/txVariableRefExpr.cpp
content/xslt/src/xpath/txXPCOMExtensionFunction.cpp
content/xslt/src/xslt/txDocumentFunctionCall.cpp
content/xslt/src/xslt/txExecutionState.cpp
content/xslt/src/xslt/txFormatNumberFunctionCall.cpp
content/xslt/src/xslt/txInstructions.cpp
content/xslt/src/xslt/txMozillaStylesheetCompiler.cpp
content/xslt/src/xslt/txMozillaXMLOutput.cpp
content/xslt/src/xslt/txMozillaXSLTProcessor.cpp
content/xslt/src/xslt/txMozillaXSLTProcessor.h
content/xslt/src/xslt/txPatternParser.cpp
content/xslt/src/xslt/txStylesheetCompileHandlers.cpp
content/xslt/src/xslt/txStylesheetCompiler.cpp
content/xslt/src/xslt/txStylesheetCompiler.h
content/xslt/src/xslt/txXSLTFunctions.h
content/xslt/src/xslt/txXSLTNumber.cpp
content/xslt/src/xslt/txXSLTNumber.h
content/xslt/src/xslt/txXSLTNumberCounters.cpp
content/xslt/src/xslt/txXSLTPatterns.cpp
content/xul/content/src/nsXULElement.cpp
content/xul/content/src/nsXULElement.h
content/xul/document/src/XULDocument.cpp
content/xul/document/src/nsXULCommandDispatcher.cpp
content/xul/document/src/nsXULContentSink.cpp
content/xul/document/src/nsXULContentSink.h
content/xul/document/src/nsXULControllers.cpp
content/xul/document/src/nsXULPrototypeCache.cpp
content/xul/templates/src/nsXULContentBuilder.cpp
content/xul/templates/src/nsXULContentUtils.cpp
content/xul/templates/src/nsXULTemplateBuilder.cpp
content/xul/templates/src/nsXULTemplateQueryProcessorRDF.cpp
content/xul/templates/src/nsXULTreeBuilder.cpp
docshell/base/nsDefaultURIFixup.cpp
docshell/base/nsDocShell.cpp
docshell/base/nsDocShell.h
docshell/base/nsDocShellLoadInfo.cpp
docshell/base/nsILinkHandler.h
docshell/shistory/src/nsSHEntry.cpp
docshell/shistory/src/nsSHistory.cpp
dom/audiochannel/AudioChannelService.cpp
dom/base/Navigator.cpp
dom/base/URL.cpp
dom/base/nsDOMClassInfo.cpp
dom/base/nsDOMClassInfo.h
dom/base/nsDOMScriptObjectFactory.cpp
dom/base/nsFocusManager.cpp
dom/base/nsGlobalWindow.cpp
dom/base/nsGlobalWindow.h
dom/base/nsIScriptTimeoutHandler.h
dom/base/nsJSEnvironment.cpp
dom/base/nsJSTimeoutHandler.cpp
dom/base/nsLocation.cpp
dom/base/nsPluginArray.cpp
dom/base/nsScriptNameSpaceManager.cpp
dom/base/nsScriptNameSpaceManager.h
dom/base/nsWindowMemoryReporter.cpp
dom/bindings/BindingUtils.h
dom/bluetooth/BluetoothHidManager.cpp
dom/bluetooth/BluetoothService.cpp
dom/bluetooth/ObexBase.h
dom/bluetooth/bluedroid/BluetoothA2dpManager.cpp
dom/bluetooth/bluedroid/BluetoothHfpManager.cpp
dom/bluetooth/bluedroid/BluetoothOppManager.cpp
dom/bluetooth/bluedroid/BluetoothOppManager.h
dom/bluetooth/bluez/BluetoothA2dpManager.cpp
dom/bluetooth/bluez/BluetoothHfpManager.cpp
dom/bluetooth/bluez/BluetoothOppManager.cpp
dom/bluetooth/bluez/BluetoothOppManager.h
dom/camera/DOMCameraManager.cpp
dom/devicestorage/nsDeviceStorage.cpp
dom/encoding/TextDecoder.cpp
dom/encoding/TextEncoder.cpp
dom/file/FileService.cpp
dom/fmradio/FMRadioService.cpp
dom/gamepad/GamepadService.cpp
dom/indexedDB/CheckPermissionsHelper.cpp
dom/indexedDB/IDBFactory.cpp
dom/indexedDB/IDBObjectStore.cpp
dom/indexedDB/IndexedDatabaseManager.cpp
dom/indexedDB/Key.cpp
dom/indexedDB/KeyPath.cpp
dom/ipc/ContentChild.cpp
dom/ipc/ContentParent.cpp
dom/ipc/PreallocatedProcessManager.cpp
dom/ipc/ProcessPriorityManager.cpp
dom/ipc/TabChild.cpp
dom/media/MediaManager.cpp
dom/media/MediaPermissionGonk.cpp
dom/mobilemessage/src/MobileMessageManager.cpp
dom/mobilemessage/src/gonk/SmsService.cpp
dom/mobilemessage/src/ipc/SmsIPCService.cpp
dom/mobilemessage/src/ipc/SmsParent.cpp
dom/plugins/base/nsIPluginInstanceOwner.idl
dom/plugins/base/nsNPAPIPlugin.cpp
dom/plugins/base/nsPluginHost.cpp
dom/plugins/base/nsPluginInstanceOwner.cpp
dom/plugins/base/nsPluginInstanceOwner.h
dom/plugins/base/nsPluginStreamListenerPeer.cpp
dom/plugins/base/nsPluginTags.cpp
dom/plugins/ipc/PluginHangUIParent.cpp
dom/plugins/ipc/PluginInstanceChild.cpp
dom/plugins/ipc/PluginInstanceParent.cpp
dom/plugins/ipc/PluginModuleChild.cpp
dom/plugins/ipc/PluginModuleParent.cpp
dom/power/WakeLock.cpp
dom/quota/CheckQuotaHelper.cpp
dom/quota/QuotaManager.cpp
dom/speakermanager/SpeakerManagerService.cpp
dom/src/geolocation/nsGeolocation.cpp
dom/src/geolocation/nsGeolocation.h
dom/src/json/nsJSON.cpp
dom/src/json/nsJSON.h
dom/src/notification/DesktopNotification.h
dom/src/notification/Notification.cpp
dom/src/offline/nsDOMOfflineResourceList.cpp
dom/src/storage/DOMStorageObserver.cpp
dom/system/OSFileConstants.cpp
dom/system/gonk/AudioManager.cpp
dom/system/gonk/AutoMounterSetting.cpp
dom/system/gonk/SystemWorkerManager.cpp
dom/system/gonk/TimeZoneSettingObserver.cpp
dom/system/gonk/VolumeServiceTest.cpp
dom/system/gonk/nsVolumeMountLock.cpp
dom/telephony/ipc/TelephonyIPCProvider.cpp
dom/wifi/WifiUtils.cpp
dom/workers/RuntimeService.cpp
editor/composer/src/nsEditingSession.cpp
editor/composer/src/nsEditorSpellCheck.cpp
editor/libeditor/base/ChangeCSSInlineStyleTxn.cpp
editor/libeditor/base/nsEditor.cpp
editor/libeditor/html/nsHTMLCSSUtils.cpp
editor/libeditor/html/nsHTMLDataTransfer.cpp
editor/libeditor/html/nsHTMLEditRules.cpp
editor/libeditor/html/nsHTMLEditor.cpp
editor/libeditor/html/nsHTMLEditor.h
editor/libeditor/html/nsHTMLURIRefObject.cpp
editor/libeditor/html/nsWSRunObject.cpp
editor/libeditor/html/nsWSRunObject.h
editor/libeditor/text/nsInternetCiter.cpp
editor/libeditor/text/nsPlaintextEditor.cpp
editor/libeditor/text/nsTextEditRules.cpp
editor/txtsvc/src/nsTextServicesDocument.cpp
embedding/browser/webBrowser/nsDocShellTreeOwner.cpp
embedding/browser/webBrowser/nsDocShellTreeOwner.h
embedding/browser/webBrowser/nsWebBrowser.cpp
embedding/components/appstartup/src/nsAppStartupNotifier.cpp
embedding/components/commandhandler/src/nsCommandGroup.cpp
embedding/components/commandhandler/src/nsCommandGroup.h
embedding/components/find/src/nsFind.cpp
embedding/components/find/src/nsWebBrowserFind.cpp
embedding/components/printingui/src/mac/nsPrintProgress.cpp
embedding/components/printingui/src/mac/nsPrintProgressParams.cpp
embedding/components/printingui/src/mac/nsPrintingPromptServiceX.mm
embedding/components/printingui/src/os2/nsPrintProgress.cpp
embedding/components/printingui/src/os2/nsPrintProgressParams.cpp
embedding/components/printingui/src/os2/nsPrintingPromptService.cpp
embedding/components/printingui/src/unixshared/nsPrintProgress.cpp
embedding/components/printingui/src/unixshared/nsPrintProgressParams.cpp
embedding/components/printingui/src/unixshared/nsPrintingPromptService.cpp
embedding/components/printingui/src/win/nsPrintProgress.cpp
embedding/components/printingui/src/win/nsPrintProgressParams.cpp
embedding/components/printingui/src/win/nsPrintingPromptService.cpp
embedding/components/webbrowserpersist/src/nsWebBrowserPersist.cpp
embedding/components/webbrowserpersist/src/nsWebBrowserPersist.h
embedding/components/windowwatcher/public/nsPromptUtils.h
embedding/components/windowwatcher/src/nsDialogParamBlock.cpp
embedding/components/windowwatcher/src/nsWindowWatcher.cpp
embedding/tests/winEmbed/WebBrowserChrome.cpp
embedding/tests/winEmbed/WebBrowserChrome.h
embedding/tests/winEmbed/winEmbed.cpp
extensions/auth/nsAuthGSSAPI.cpp
extensions/auth/nsAuthSASL.cpp
extensions/auth/nsAuthSSPI.cpp
extensions/auth/nsAuthSambaNTLM.cpp
extensions/auth/nsHttpNegotiateAuth.cpp
extensions/cookie/nsCookiePermission.cpp
extensions/cookie/nsPermissionManager.cpp
extensions/cookie/nsPermissionManager.h
extensions/cookie/nsPopupWindowManager.cpp
extensions/gio/nsGIOProtocolHandler.cpp
extensions/gnomevfs/nsGnomeVFSProtocolHandler.cpp
extensions/permissions/nsContentBlocker.cpp
extensions/pref/autoconfig/src/nsAutoConfig.cpp
extensions/pref/autoconfig/src/nsReadConfig.cpp
extensions/spellcheck/hunspell/src/csutil.cpp
extensions/spellcheck/hunspell/src/mozHunspell.cpp
extensions/spellcheck/hunspell/src/mozHunspell.h
extensions/spellcheck/src/mozEnglishWordUtils.cpp
extensions/spellcheck/src/mozEnglishWordUtils.h
extensions/spellcheck/src/mozGenericWordUtils.cpp
extensions/spellcheck/src/mozInlineSpellChecker.cpp
extensions/spellcheck/src/mozInlineSpellWordUtil.cpp
extensions/spellcheck/src/mozPersonalDictionary.cpp
extensions/spellcheck/src/mozSpellChecker.cpp
extensions/spellcheck/src/mozSpellI18NManager.cpp
gfx/src/gfxCrashReporterUtils.cpp
gfx/src/nsColor.cpp
gfx/src/nsDeviceContext.cpp
gfx/src/nsDeviceContext.h
gfx/src/nsFont.cpp
gfx/src/nsFontMetrics.cpp
gfx/src/nsFontMetrics.h
gfx/src/nsRenderingContext.cpp
gfx/src/nsRenderingContext.h
gfx/src/nsThebesFontEnumerator.cpp
gfx/tests/gtest/gfxWordCacheTest.cpp
gfx/thebes/gfxCoreTextShaper.cpp
gfx/thebes/gfxCoreTextShaper.h
gfx/thebes/gfxDWriteFontList.cpp
gfx/thebes/gfxDWriteShaper.cpp
gfx/thebes/gfxDWriteShaper.h
gfx/thebes/gfxFT2Fonts.cpp
gfx/thebes/gfxFT2Fonts.h
gfx/thebes/gfxFont.cpp
gfx/thebes/gfxFont.h
gfx/thebes/gfxFontUtils.cpp
gfx/thebes/gfxFontUtils.h
gfx/thebes/gfxGDIFont.cpp
gfx/thebes/gfxGDIFont.h
gfx/thebes/gfxGDIFontList.cpp
gfx/thebes/gfxGDIShaper.cpp
gfx/thebes/gfxGDIShaper.h
gfx/thebes/gfxGraphiteShaper.cpp
gfx/thebes/gfxGraphiteShaper.h
gfx/thebes/gfxHarfBuzzShaper.cpp
gfx/thebes/gfxHarfBuzzShaper.h
gfx/thebes/gfxMacFont.cpp
gfx/thebes/gfxMacFont.h
gfx/thebes/gfxMacPlatformFontList.mm
gfx/thebes/gfxOS2Fonts.cpp
gfx/thebes/gfxOS2Fonts.h
gfx/thebes/gfxPangoFonts.cpp
gfx/thebes/gfxPlatform.cpp
gfx/thebes/gfxPlatform.h
gfx/thebes/gfxPlatformFontList.cpp
gfx/thebes/gfxSVGGlyphs.cpp
gfx/thebes/gfxScriptItemizer.cpp
gfx/thebes/gfxScriptItemizer.h
gfx/thebes/gfxUniscribeShaper.cpp
gfx/thebes/gfxUniscribeShaper.h
gfx/thebes/gfxUserFontSet.cpp
gfx/thebes/gfxWindowsPlatform.cpp
hal/HalWakeLock.cpp
hal/cocoa/CocoaBattery.cpp
hal/gonk/GonkHal.cpp
hal/windows/WindowsGamepad.cpp
image/src/RasterImage.cpp
image/src/SVGDocumentWrapper.cpp
image/src/SurfaceCache.cpp
image/src/imgLoader.cpp
intl/chardet/tools/GenCyrillicClass.cpp
intl/hyphenation/src/nsHyphenationManager.cpp
intl/hyphenation/src/nsHyphenator.cpp
intl/locale/src/mac/nsDateTimeFormatMac.cpp
intl/locale/src/nsCollation.cpp
intl/locale/src/nsLocale.cpp
intl/locale/src/nsLocaleService.cpp
intl/locale/src/nsScriptableDateFormat.cpp
intl/locale/src/os2/nsCollationOS2.cpp
intl/locale/src/os2/nsDateTimeFormatOS2.cpp
intl/locale/src/unix/nsDateTimeFormatUnix.cpp
intl/locale/src/windows/nsDateTimeFormatWin.cpp
intl/locale/src/windows/nsDateTimeFormatWin.h
intl/locale/src/windows/nsWin32Locale.cpp
intl/lwbrk/public/nsILineBreaker.h
intl/lwbrk/public/nsIWordBreaker.h
intl/lwbrk/src/nsCarbonBreaker.cpp
intl/lwbrk/src/nsComplexBreaker.h
intl/lwbrk/src/nsJISx4051LineBreaker.cpp
intl/lwbrk/src/nsJISx4051LineBreaker.h
intl/lwbrk/src/nsPangoBreaker.cpp
intl/lwbrk/src/nsRuleBreaker.cpp
intl/lwbrk/src/nsSampleWordBreaker.cpp
intl/lwbrk/src/nsSampleWordBreaker.h
intl/lwbrk/src/nsSemanticUnitScanner.cpp
intl/lwbrk/src/nsUniscribeBreaker.cpp
intl/lwbrk/src/th_char.h
intl/strres/src/nsStringBundle.cpp
intl/strres/src/nsStringBundle.h
intl/strres/src/nsStringBundleService.h
intl/uconv/public/nsIUnicodeDecoder.h
intl/uconv/public/nsIUnicodeEncoder.h
intl/uconv/src/nsCharsetConverterManager.cpp
intl/uconv/src/nsConverterInputStream.cpp
intl/uconv/src/nsConverterInputStream.h
intl/uconv/src/nsConverterOutputStream.cpp
intl/uconv/src/nsReplacementToUnicode.cpp
intl/uconv/src/nsReplacementToUnicode.h
intl/uconv/src/nsScriptableUConv.cpp
intl/uconv/src/nsTextToSubURI.cpp
intl/uconv/src/nsUTF8ConverterService.cpp
intl/uconv/src/nsUTF8ToUnicode.cpp
intl/uconv/src/nsUTF8ToUnicode.h
intl/uconv/src/nsUTF8ToUnicodeSSE2.cpp
intl/uconv/src/nsUnicodeToUTF8.cpp
intl/uconv/src/nsUnicodeToUTF8.h
intl/uconv/tests/TestUConv.cpp
intl/uconv/tests/convperf.cpp
intl/uconv/tests/nsTestUConv.cpp
intl/uconv/tests/nsconv.cpp
intl/uconv/ucvcn/gbku.h
intl/uconv/ucvcn/nsGBKConvUtil.cpp
intl/uconv/ucvcn/nsGBKConvUtil.h
intl/uconv/ucvcn/nsGBKToUnicode.cpp
intl/uconv/ucvcn/nsGBKToUnicode.h
intl/uconv/ucvcn/nsHZToUnicode.cpp
intl/uconv/ucvcn/nsHZToUnicode.h
intl/uconv/ucvcn/nsISO2022CNToUnicode.cpp
intl/uconv/ucvcn/nsISO2022CNToUnicode.h
intl/uconv/ucvcn/nsUnicodeToGB2312V2.cpp
intl/uconv/ucvcn/nsUnicodeToGB2312V2.h
intl/uconv/ucvcn/nsUnicodeToGBK.cpp
intl/uconv/ucvcn/nsUnicodeToGBK.h
intl/uconv/ucvcn/nsUnicodeToHZ.cpp
intl/uconv/ucvcn/nsUnicodeToHZ.h
intl/uconv/ucvja/nsJapaneseToUnicode.cpp
intl/uconv/ucvja/nsJapaneseToUnicode.h
intl/uconv/ucvja/nsUnicodeToISO2022JP.cpp
intl/uconv/ucvja/nsUnicodeToISO2022JP.h
intl/uconv/ucvko/nsISO2022KRToUnicode.cpp
intl/uconv/ucvko/nsISO2022KRToUnicode.h
intl/uconv/ucvlatin/nsUTF16ToUnicode.cpp
intl/uconv/ucvlatin/nsUTF16ToUnicode.h
intl/uconv/ucvlatin/nsUTF7ToUnicode.cpp
intl/uconv/ucvlatin/nsUTF7ToUnicode.h
intl/uconv/ucvlatin/nsUnicodeToTSCII.cpp
intl/uconv/ucvlatin/nsUnicodeToTSCII.h
intl/uconv/ucvlatin/nsUnicodeToUTF16.cpp
intl/uconv/ucvlatin/nsUnicodeToUTF16.h
intl/uconv/ucvlatin/nsUnicodeToUTF7.cpp
intl/uconv/ucvlatin/nsUnicodeToUTF7.h
intl/uconv/util/nsUCSupport.cpp
intl/uconv/util/nsUCSupport.h
intl/uconv/util/nsUnicodeDecodeHelper.cpp
intl/uconv/util/nsUnicodeDecodeHelper.h
intl/uconv/util/nsUnicodeEncodeHelper.cpp
intl/uconv/util/nsUnicodeEncodeHelper.h
intl/unicharutil/public/nsICaseConversion.h
intl/unicharutil/src/normalization_data.h
intl/unicharutil/src/nsCaseConversionImp2.cpp
intl/unicharutil/src/nsCaseConversionImp2.h
intl/unicharutil/src/nsEntityConverter.cpp
intl/unicharutil/src/nsEntityConverter.h
intl/unicharutil/src/nsSaveAsCharset.cpp
intl/unicharutil/src/nsSaveAsCharset.h
intl/unicharutil/src/nsUnicodeNormalizer.cpp
intl/unicharutil/tests/NormalizationTest.cpp
intl/unicharutil/tests/UnicharSelfTest.cpp
intl/unicharutil/util/nsBidiUtils.cpp
intl/unicharutil/util/nsBidiUtils.h
intl/unicharutil/util/nsSpecialCasingData.h
intl/unicharutil/util/nsUnicharUtils.cpp
intl/unicharutil/util/nsUnicharUtils.h
intl/unicharutil/util/nsUnicodeProperties.h
ipc/glue/IPCMessageUtils.h
ipc/glue/WindowsMessageLoop.cpp
js/jsd/jsd_xpc.cpp
js/src/ctypes/Library.cpp
js/xpconnect/loader/mozJSComponentLoader.cpp
js/xpconnect/src/XPCComponents.cpp
js/xpconnect/src/XPCConvert.cpp
js/xpconnect/src/XPCJSID.cpp
js/xpconnect/src/XPCJSRuntime.cpp
js/xpconnect/src/XPCLocale.cpp
js/xpconnect/src/XPCQuickStubs.cpp
js/xpconnect/src/XPCQuickStubs.h
js/xpconnect/src/XPCShellImpl.cpp
js/xpconnect/src/XPCVariant.cpp
js/xpconnect/src/XPCWrappedJSClass.cpp
js/xpconnect/src/nsScriptError.cpp
js/xpconnect/src/nsXPConnect.cpp
js/xpconnect/src/xpcprivate.h
js/xpconnect/tests/components/native/xpctest_params.cpp
layout/base/nsBidi.cpp
layout/base/nsBidi.h
layout/base/nsBidiPresUtils.cpp
layout/base/nsBidiPresUtils.h
layout/base/nsCSSFrameConstructor.cpp
layout/base/nsCaret.cpp
layout/base/nsCounterManager.cpp
layout/base/nsDocumentViewer.cpp
layout/base/nsLayoutUtils.cpp
layout/base/nsLayoutUtils.h
layout/base/nsPresContext.cpp
layout/base/nsPresShell.cpp
layout/build/nsLayoutModule.cpp
layout/forms/nsComboboxControlFrame.cpp
layout/forms/nsListControlFrame.cpp
layout/generic/MathVariantTextRunFactory.cpp
layout/generic/nsBlockFrame.cpp
layout/generic/nsBulletFrame.cpp
layout/generic/nsFrame.cpp
layout/generic/nsFrameSetFrame.cpp
layout/generic/nsFrameUtil.cpp
layout/generic/nsImageFrame.cpp
layout/generic/nsImageFrame.h
layout/generic/nsPageFrame.cpp
layout/generic/nsTextFrame.cpp
layout/generic/nsTextFrameUtils.cpp
layout/generic/nsTextFrameUtils.h
layout/generic/nsTextRunTransformations.cpp
layout/generic/nsTextRunTransformations.h
layout/inspector/inCSSValueSearch.cpp
layout/inspector/inDOMUtils.cpp
layout/inspector/inDOMView.cpp
layout/mathml/nsMathMLChar.cpp
layout/mathml/nsMathMLChar.h
layout/mathml/nsMathMLContainerFrame.cpp
layout/mathml/nsMathMLContainerFrame.h
layout/mathml/nsMathMLFrame.cpp
layout/mathml/nsMathMLOperators.cpp
layout/mathml/nsMathMLmencloseFrame.cpp
layout/mathml/nsMathMLmfencedFrame.cpp
layout/mathml/nsMathMLmoFrame.cpp
layout/mathml/nsMathMLmpaddedFrame.cpp
layout/mathml/nsMathMLmrootFrame.cpp
layout/mathml/nsMathMLmtableFrame.cpp
layout/printing/nsPrintData.h
layout/printing/nsPrintEngine.cpp
layout/printing/nsPrintEngine.h
layout/style/Declaration.cpp
layout/style/ErrorReporter.cpp
layout/style/ErrorReporter.h
layout/style/Loader.cpp
layout/style/StyleRule.cpp
layout/style/StyleRule.h
layout/style/nsCSSParser.cpp
layout/style/nsCSSRuleProcessor.cpp
layout/style/nsCSSRules.cpp
layout/style/nsCSSScanner.cpp
layout/style/nsCSSScanner.h
layout/style/nsCSSValue.cpp
layout/style/nsCSSValue.h
layout/style/nsComputedDOMStyle.cpp
layout/style/nsDOMCSSValueList.cpp
layout/style/nsLayoutStylesheetCache.cpp
layout/style/nsROCSSPrimitiveValue.cpp
layout/style/nsROCSSPrimitiveValue.h
layout/style/nsRuleNode.cpp
layout/style/nsStyleAnimation.h
layout/style/nsStyleStruct.cpp
layout/style/nsStyleStruct.h
layout/style/nsStyleUtil.cpp
layout/style/nsStyleUtil.h
layout/xul/nsBoxObject.cpp
layout/xul/nsMenuBarFrame.cpp
layout/xul/nsMenuPopupFrame.cpp
layout/xul/nsPopupBoxObject.cpp
layout/xul/nsTextBoxFrame.cpp
layout/xul/nsXULPopupManager.cpp
layout/xul/tree/nsTreeBodyFrame.cpp
layout/xul/tree/nsTreeColumns.cpp
layout/xul/tree/nsTreeContentView.cpp
media/webrtc/signaling/src/peerconnection/PeerConnectionCtx.cpp
mfbt/HashFunctions.h
modules/libjar/nsJAR.cpp
modules/libpref/public/Preferences.h
modules/libpref/src/Preferences.cpp
modules/libpref/src/nsPrefBranch.cpp
modules/libpref/src/nsPrefBranch.h
modules/libpref/src/prefread.h
netwerk/base/src/Seer.cpp
netwerk/base/src/nsAutodialQt.cpp
netwerk/base/src/nsAutodialQt.h
netwerk/base/src/nsAutodialWin.cpp
netwerk/base/src/nsAutodialWin.h
netwerk/base/src/nsIOService.cpp
netwerk/base/src/nsIncrementalDownload.cpp
netwerk/base/src/nsNativeConnectionHelper.cpp
netwerk/base/src/nsNativeConnectionHelper.h
netwerk/base/src/nsProtocolProxyService.cpp
netwerk/base/src/nsSocketTransportService2.cpp
netwerk/base/src/nsStandardURL.cpp
netwerk/base/src/nsStreamTransportService.cpp
netwerk/base/src/nsURLHelper.cpp
netwerk/base/src/nsURLHelperOS2.cpp
netwerk/base/src/nsURLHelperOSX.cpp
netwerk/base/src/nsURLHelperWin.cpp
netwerk/cache/nsApplicationCacheService.cpp
netwerk/cache/nsCacheService.cpp
netwerk/cache2/CacheObserver.cpp
netwerk/cookie/CookieServiceChild.cpp
netwerk/cookie/nsCookieService.cpp
netwerk/cookie/nsCookieService.h
netwerk/dns/ChildDNSService.cpp
netwerk/dns/nsDNSService2.cpp
netwerk/dns/nsIDNService.cpp
netwerk/dns/nsIDNService.h
netwerk/protocol/ftp/nsFtpConnectionThread.cpp
netwerk/protocol/ftp/nsFtpProtocolHandler.cpp
netwerk/protocol/http/HttpChannelParent.cpp
netwerk/protocol/http/nsHttpAuthCache.cpp
netwerk/protocol/http/nsHttpAuthCache.h
netwerk/protocol/http/nsHttpBasicAuth.cpp
netwerk/protocol/http/nsHttpChannelAuthProvider.cpp
netwerk/protocol/http/nsHttpConnectionMgr.cpp
netwerk/protocol/http/nsHttpDigestAuth.cpp
netwerk/protocol/http/nsHttpHandler.cpp
netwerk/protocol/http/nsHttpNTLMAuth.cpp
netwerk/protocol/wyciwyg/nsWyciwygChannel.cpp
netwerk/sctp/datachannel/DataChannel.cpp
netwerk/streamconv/converters/mozTXTToHTMLConv.cpp
netwerk/streamconv/converters/mozTXTToHTMLConv.h
netwerk/streamconv/converters/nsDirIndex.cpp
netwerk/streamconv/converters/nsDirIndexParser.cpp
netwerk/streamconv/converters/nsIndexedToHTML.cpp
netwerk/streamconv/converters/nsTXTToHTMLConv.cpp
netwerk/system/mac/nsNetworkLinkService.mm
netwerk/system/qt/nsQtNetworkLinkService.cpp
netwerk/system/win32/nsNotifyAddrListener.cpp
netwerk/test/TestHttp.cpp
netwerk/test/TestIDN.cpp
netwerk/test/TestIncrementalDownload.cpp
netwerk/test/TestPageLoad.cpp
netwerk/test/TestProtocols.cpp
netwerk/test/TestStreamChannel.cpp
netwerk/test/TestThreadedIO.cpp
netwerk/wifi/nsWifiMonitor.cpp
netwerk/wifi/nsWifiMonitorGonk.cpp
parser/expat/expat_config.h
parser/expat/lib/expat_external.h
parser/expat/lib/xmlparse.c
parser/html/nsHtml5ArrayCopy.h
parser/html/nsHtml5Atom.cpp
parser/html/nsHtml5AttributeName.cpp
parser/html/nsHtml5AttributeName.h
parser/html/nsHtml5DependentUTF16Buffer.cpp
parser/html/nsHtml5ElementName.cpp
parser/html/nsHtml5ElementName.h
parser/html/nsHtml5Highlighter.cpp
parser/html/nsHtml5Highlighter.h
parser/html/nsHtml5MetaScanner.cpp
parser/html/nsHtml5MetaScanner.h
parser/html/nsHtml5Module.cpp
parser/html/nsHtml5NamedCharacters.cpp
parser/html/nsHtml5NamedCharacters.h
parser/html/nsHtml5NamedCharactersInclude.h
parser/html/nsHtml5OwningUTF16Buffer.cpp
parser/html/nsHtml5OwningUTF16Buffer.h
parser/html/nsHtml5Portability.cpp
parser/html/nsHtml5Portability.h
parser/html/nsHtml5SpeculativeLoad.h
parser/html/nsHtml5StreamParser.cpp
parser/html/nsHtml5StreamParser.h
parser/html/nsHtml5Tokenizer.cpp
parser/html/nsHtml5Tokenizer.h
parser/html/nsHtml5TokenizerCppSupplement.h
parser/html/nsHtml5TokenizerHSupplement.h
parser/html/nsHtml5TreeBuilder.cpp
parser/html/nsHtml5TreeBuilder.h
parser/html/nsHtml5TreeBuilderCppSupplement.h
parser/html/nsHtml5TreeBuilderHSupplement.h
parser/html/nsHtml5TreeOperation.cpp
parser/html/nsHtml5TreeOperation.h
parser/html/nsHtml5UTF16Buffer.cpp
parser/html/nsHtml5UTF16Buffer.h
parser/html/nsHtml5UTF16BufferCppSupplement.h
parser/html/nsHtml5UTF16BufferHSupplement.h
parser/htmlparser/public/nsHTMLTags.h
parser/htmlparser/public/nsIParserService.h
parser/htmlparser/public/nsParserConstants.h
parser/htmlparser/public/nsScannerString.h
parser/htmlparser/src/nsExpatDriver.cpp
parser/htmlparser/src/nsExpatDriver.h
parser/htmlparser/src/nsHTMLTags.cpp
parser/htmlparser/src/nsParser.cpp
parser/htmlparser/src/nsParserService.cpp
parser/htmlparser/src/nsParserService.h
parser/htmlparser/src/nsScanner.cpp
parser/htmlparser/src/nsScanner.h
parser/htmlparser/src/nsScannerString.cpp
parser/xml/src/nsSAXXMLReader.cpp
parser/xml/src/nsSAXXMLReader.h
rdf/base/idl/nsIRDFLiteral.idl
rdf/base/src/nsContainerEnumerator.cpp
rdf/base/src/nsRDFContainer.cpp
rdf/base/src/nsRDFContentSink.cpp
rdf/base/src/nsRDFService.cpp
rdf/base/src/nsRDFXMLSerializer.cpp
rdf/base/src/rdfTriplesSerializer.cpp
rdf/datasource/src/nsFileSystemDataSource.cpp
rdf/datasource/src/nsLocalStore.cpp
security/manager/boot/src/nsSecureBrowserUIImpl.cpp
security/manager/boot/src/nsSecurityWarningDialogs.cpp
security/manager/boot/src/nsSecurityWarningDialogs.h
security/manager/boot/src/nsSiteSecurityService.cpp
security/manager/pki/src/nsASN1Tree.cpp
security/manager/pki/src/nsFormSigningDialog.cpp
security/manager/pki/src/nsNSSDialogs.cpp
security/manager/pki/src/nsPKIParamBlock.cpp
security/manager/ssl/src/PSMContentDownloader.h
security/manager/ssl/src/SharedSSLState.cpp
security/manager/ssl/src/TransportSecurityInfo.cpp
security/manager/ssl/src/TransportSecurityInfo.h
security/manager/ssl/src/nsCertOverrideService.cpp
security/manager/ssl/src/nsCertPicker.cpp
security/manager/ssl/src/nsCertTree.cpp
security/manager/ssl/src/nsCertVerificationThread.cpp
security/manager/ssl/src/nsClientAuthRemember.cpp
security/manager/ssl/src/nsCrypto.cpp
security/manager/ssl/src/nsKeygenHandler.cpp
security/manager/ssl/src/nsNSSCallbacks.cpp
security/manager/ssl/src/nsNSSCertHelper.cpp
security/manager/ssl/src/nsNSSCertificate.cpp
security/manager/ssl/src/nsNSSCertificateDB.cpp
security/manager/ssl/src/nsNSSCertificateDB.h
security/manager/ssl/src/nsNSSCertificateFakeTransport.cpp
security/manager/ssl/src/nsNSSComponent.cpp
security/manager/ssl/src/nsNSSComponent.h
security/manager/ssl/src/nsNSSErrors.cpp
security/manager/ssl/src/nsNSSIOLayer.cpp
security/manager/ssl/src/nsNTLMAuthModule.cpp
security/manager/ssl/src/nsPK11TokenDB.cpp
security/manager/ssl/src/nsPKCS11Slot.cpp
security/manager/ssl/src/nsPKCS12Blob.cpp
security/manager/ssl/src/nsPKCS12Blob.h
security/manager/ssl/src/nsUsageArrayHelper.cpp
security/manager/ssl/src/nsUsageArrayHelper.h
security/manager/ssl/src/nsVerificationJob.h
startupcache/StartupCache.cpp
storage/public/mozIStorageStatement.idl
storage/public/mozIStorageValueArray.idl
storage/src/FileSystemModule.cpp
storage/src/SQLCollations.cpp
storage/src/SQLCollations.h
storage/src/StorageBaseStatementInternal.cpp
storage/src/StorageBaseStatementInternal.h
storage/src/VacuumManager.cpp
storage/src/Variant_inl.h
storage/src/mozStorageArgValueArray.cpp
storage/src/mozStorageRow.cpp
storage/src/mozStorageSQLFunctions.cpp
storage/src/mozStorageService.cpp
storage/src/mozStorageStatement.cpp
storage/test/test_AsXXX_helpers.cpp
toolkit/components/alerts/nsXULAlerts.cpp
toolkit/components/autocomplete/nsAutoCompleteController.cpp
toolkit/components/commandlines/nsCommandLine.cpp
toolkit/components/ctypes/ctypes.cpp
toolkit/components/ctypes/tests/jsctypes-test.cpp
toolkit/components/ctypes/tests/jsctypes-test.h
toolkit/components/diskspacewatcher/DiskSpaceWatcher.cpp
toolkit/components/downloads/nsDownloadManager.cpp
toolkit/components/downloads/nsDownloadManager.h
toolkit/components/downloads/nsDownloadProxy.h
toolkit/components/filepicker/nsFileView.cpp
toolkit/components/finalizationwitness/FinalizationWitnessService.cpp
toolkit/components/intl/nsCharsetMenu.cpp
toolkit/components/maintenanceservice/workmonitor.cpp
toolkit/components/places/Database.cpp
toolkit/components/places/Helpers.cpp
toolkit/components/places/History.cpp
toolkit/components/places/nsAnnotationService.cpp
toolkit/components/places/nsNavBookmarks.cpp
toolkit/components/places/nsNavHistory.cpp
toolkit/components/places/nsNavHistory.h
toolkit/components/places/nsNavHistoryQuery.cpp
toolkit/components/places/tests/cpp/places_test_harness.h
toolkit/components/places/tests/cpp/test_IHistory.cpp
toolkit/components/remote/nsXRemoteService.cpp
toolkit/components/startup/nsAppStartup.cpp
toolkit/components/startup/nsUserInfoMac.mm
toolkit/components/startup/nsUserInfoOS2.cpp
toolkit/components/startup/nsUserInfoUnix.cpp
toolkit/components/startup/nsUserInfoWin.cpp
toolkit/components/statusfilter/nsBrowserStatusFilter.cpp
toolkit/components/typeaheadfind/nsTypeAheadFind.cpp
toolkit/components/url-classifier/nsUrlClassifierDBService.cpp
toolkit/components/url-classifier/nsUrlClassifierStreamUpdater.cpp
toolkit/crashreporter/mac_utils.mm
toolkit/crashreporter/nsExceptionHandler.cpp
toolkit/mozapps/update/updater/updater.cpp
toolkit/system/dbus/nsNetworkManagerListener.cpp
toolkit/system/gnome/nsAlertsIconListener.cpp
toolkit/xre/ProfileReset.cpp
toolkit/xre/nsAppRunner.cpp
toolkit/xre/nsNativeAppSupportOS2.cpp
toolkit/xre/nsNativeAppSupportWin.cpp
toolkit/xre/nsWindowsRestart.cpp
toolkit/xre/nsXREDirProvider.cpp
tools/profiler/JSCustomObjectBuilder.cpp
tools/profiler/nsProfiler.cpp
uriloader/base/nsDocLoader.cpp
uriloader/base/nsDocLoader.h
uriloader/exthandler/mac/nsLocalHandlerAppMac.h
uriloader/exthandler/mac/nsOSHelperAppService.h
uriloader/exthandler/mac/nsOSHelperAppService.mm
uriloader/exthandler/nsExternalHelperAppService.cpp
uriloader/exthandler/nsExternalHelperAppService.h
uriloader/exthandler/nsLocalHandlerApp.h
uriloader/exthandler/nsMIMEInfoImpl.cpp
uriloader/exthandler/os2/nsMIMEInfoOS2.cpp
uriloader/exthandler/os2/nsOSHelperAppService.cpp
uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
uriloader/exthandler/unix/nsOSHelperAppService.cpp
uriloader/exthandler/unix/nsOSHelperAppService.h
uriloader/exthandler/win/nsMIMEInfoWin.cpp
uriloader/exthandler/win/nsOSHelperAppService.cpp
uriloader/exthandler/win/nsOSHelperAppService.h
uriloader/prefetch/nsOfflineCacheUpdateService.cpp
uriloader/prefetch/nsPrefetchService.cpp
widget/ContentEvents.h
widget/LookAndFeel.h
widget/android/AndroidBridge.cpp
widget/android/AndroidBridge.h
widget/android/AndroidJavaWrappers.cpp
widget/android/nsAppShell.cpp
widget/android/nsClipboard.cpp
widget/android/nsDeviceContextAndroid.cpp
widget/android/nsDeviceContextAndroid.h
widget/android/nsLookAndFeel.cpp
widget/android/nsLookAndFeel.h
widget/android/nsWindow.cpp
widget/cocoa/TextInputHandler.h
widget/cocoa/TextInputHandler.mm
widget/cocoa/nsClipboard.mm
widget/cocoa/nsDeviceContextSpecX.h
widget/cocoa/nsDeviceContextSpecX.mm
widget/cocoa/nsDragService.mm
widget/cocoa/nsLookAndFeel.h
widget/cocoa/nsPrintDialogX.mm
widget/gonk/GonkMemoryPressureMonitoring.cpp
widget/gonk/nsAppShell.cpp
widget/gonk/nsLookAndFeel.cpp
widget/gonk/nsLookAndFeel.h
widget/gtk/nsClipboard.cpp
widget/gtk/nsDeviceContextSpecG.cpp
widget/gtk/nsDeviceContextSpecG.h
widget/gtk/nsDragService.cpp
widget/gtk/nsLookAndFeel.cpp
widget/gtk/nsLookAndFeel.h
widget/gtk/nsNativeThemeGTK.cpp
widget/gtk/nsPrintDialogGTK.cpp
widget/gtk/nsPrintSettingsGTK.cpp
widget/gtk/nsPrintSettingsGTK.h
widget/gtk/nsWindow.cpp
widget/nsIDeviceContextSpec.h
widget/os2/nsClipboard.cpp
widget/os2/nsDeviceContextSpecOS2.cpp
widget/os2/nsDeviceContextSpecOS2.h
widget/os2/nsDragService.cpp
widget/os2/nsFilePicker.cpp
widget/os2/nsFilePicker.h
widget/os2/nsOS2Uni.cpp
widget/os2/nsOS2Uni.h
widget/os2/nsRwsService.cpp
widget/os2/os2FrameWindow.cpp
widget/qt/nsDeviceContextSpecQt.cpp
widget/qt/nsDeviceContextSpecQt.h
widget/qt/nsLookAndFeel.cpp
widget/qt/nsPrintSettingsQt.cpp
widget/qt/nsPrintSettingsQt.h
widget/shared/SharedWidgetUtils.cpp
widget/shared/WidgetUtils.h
widget/tests/TestWinTSF.cpp
widget/windows/GfxInfo.cpp
widget/windows/JumpListBuilder.cpp
widget/windows/KeyboardLayout.cpp
widget/windows/KeyboardLayout.h
widget/windows/nsClipboard.cpp
widget/windows/nsColorPicker.cpp
widget/windows/nsDataObj.cpp
widget/windows/nsDataObjCollection.cpp
widget/windows/nsDeviceContextSpecWin.cpp
widget/windows/nsDeviceContextSpecWin.h
widget/windows/nsFilePicker.cpp
widget/windows/nsFilePicker.h
widget/windows/nsIMM32Handler.cpp
widget/windows/nsLookAndFeel.cpp
widget/windows/nsLookAndFeel.h
widget/windows/nsPrintSettingsWin.cpp
widget/windows/nsTextStore.cpp
widget/windows/nsWindow.cpp
widget/windows/tests/TestWinDND.cpp
widget/windows/winrt/MetroAppShell.cpp
widget/windows/winrt/MetroUtils.cpp
widget/windows/winrt/MetroUtils.h
widget/windows/winrt/MetroWidget.cpp
widget/windows/winrt/UIAAccessibilityBridge.cpp
widget/windows/winrt/nsMetroFilePicker.cpp
widget/xpwidgets/GfxInfoBase.cpp
widget/xpwidgets/nsBaseAppShell.cpp
widget/xpwidgets/nsBaseWidget.cpp
widget/xpwidgets/nsClipboardPrivacyHandler.cpp
widget/xpwidgets/nsIdleService.cpp
widget/xpwidgets/nsPrimitiveHelpers.cpp
widget/xpwidgets/nsPrimitiveHelpers.h
widget/xpwidgets/nsPrintOptionsImpl.cpp
widget/xpwidgets/nsPrintSettingsImpl.cpp
widget/xpwidgets/nsPrintSettingsImpl.h
widget/xpwidgets/nsXPLookAndFeel.cpp
widget/xpwidgets/nsXPLookAndFeel.h
xpcom/base/AvailableMemoryTracker.cpp
xpcom/base/nsConsoleMessage.cpp
xpcom/base/nsConsoleMessage.h
xpcom/base/nsConsoleService.cpp
xpcom/base/nsMemoryImpl.cpp
xpcom/base/nsMemoryImpl.h
xpcom/base/nsMemoryInfoDumper.cpp
xpcom/base/nsMemoryReporterManager.cpp
xpcom/base/nsrootidl.idl
xpcom/build/nsXPCOMPrivate.h
xpcom/build/nsXPCOMStrings.cpp
xpcom/components/ManifestParser.cpp
xpcom/ds/CharTokenizer.h
xpcom/ds/nsAtomTable.cpp
xpcom/ds/nsCRT.cpp
xpcom/ds/nsCRT.h
xpcom/ds/nsCharSeparatedTokenizer.h
xpcom/ds/nsExpirationTracker.h
xpcom/ds/nsHashtable.cpp
xpcom/ds/nsHashtable.h
xpcom/ds/nsIAtom.idl
xpcom/ds/nsObserverList.cpp
xpcom/ds/nsObserverList.h
xpcom/ds/nsObserverService.cpp
xpcom/ds/nsPersistentProperties.cpp
xpcom/ds/nsStaticNameTable.cpp
xpcom/ds/nsStringEnumerator.h
xpcom/ds/nsSupportsPrimitives.cpp
xpcom/ds/nsVariant.cpp
xpcom/ds/nsVariant.h
xpcom/ds/nsWhitespaceTokenizer.h
xpcom/ds/nsWindowsRegKey.cpp
xpcom/glue/nsCRTGlue.cpp
xpcom/glue/nsCRTGlue.h
xpcom/glue/nsCategoryCache.cpp
xpcom/glue/nsHashKeys.h
xpcom/glue/nsStringAPI.cpp
xpcom/glue/nsStringAPI.h
xpcom/glue/nsTextFormatter.cpp
xpcom/glue/nsTextFormatter.h
xpcom/glue/nsVersionComparator.cpp
xpcom/glue/nsVersionComparator.h
xpcom/glue/standalone/nsXPCOMGlue.cpp
xpcom/io/SpecialSystemDirectory.cpp
xpcom/io/nsAnonymousTemporaryFile.cpp
xpcom/io/nsBinaryStream.cpp
xpcom/io/nsEscape.cpp
xpcom/io/nsEscape.h
xpcom/io/nsIBinaryOutputStream.idl
xpcom/io/nsIConverterInputStream.idl
xpcom/io/nsIConverterOutputStream.idl
xpcom/io/nsIUnicharInputStream.idl
xpcom/io/nsIUnicharOutputStream.idl
xpcom/io/nsLinebreakConverter.cpp
xpcom/io/nsLinebreakConverter.h
xpcom/io/nsLocalFile.h
xpcom/io/nsLocalFileCommon.cpp
xpcom/io/nsLocalFileOS2.cpp
xpcom/io/nsLocalFileUnix.cpp
xpcom/io/nsLocalFileWin.cpp
xpcom/io/nsLocalFileWin.h
xpcom/io/nsNativeCharsetUtils.cpp
xpcom/io/nsUnicharInputStream.cpp
xpcom/io/nsWildCard.cpp
xpcom/io/nsWildCard.h
xpcom/reflect/xptcall/public/xptcall.h
xpcom/reflect/xptcall/src/md/unix/xptcstubs_alpha_openbsd.cpp
xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_alpha.cpp
xpcom/sample/nsSample.cpp
xpcom/sample/nsSample.h
xpcom/string/public/nsCharTraits.h
xpcom/string/public/nsReadableUtils.h
xpcom/string/public/nsString.h
xpcom/string/public/nsStringFwd.h
xpcom/string/public/nsTString.h
xpcom/string/public/nsUTF8Utils.h
xpcom/string/public/nsXPCOMStrings.h
xpcom/string/public/string-template-def-unichar.h
xpcom/string/src/nsReadableUtils.cpp
xpcom/string/src/nsStringObsolete.cpp
xpcom/string/src/nsSubstring.cpp
xpcom/string/src/nsTStringObsolete.cpp
xpcom/string/src/nsUTF8UtilsSSE2.cpp
xpcom/tests/CvtURL.cpp
xpcom/tests/TestCRT.cpp
xpcom/tests/TestEncoding.cpp
xpcom/tests/TestObserverService.cpp
xpcom/tests/TestStringAPI.cpp
xpcom/tests/TestStrings.cpp
xpcom/tests/TestTextFormatter.cpp
xpcom/tests/TestXPIDLString.cpp
xpcom/tests/UTFStrings.h
xpcom/tests/external/TestMinStringAPI.cpp
xpcom/threads/LazyIdleThread.cpp
xpcom/threads/TimerThread.cpp
xpcom/threads/nsProcess.h
xpcom/threads/nsProcessCommon.cpp
xpfe/appshell/src/nsAppShellService.cpp
xpfe/appshell/src/nsAppShellWindowEnumerator.cpp
xpfe/appshell/src/nsAppShellWindowEnumerator.h
xpfe/appshell/src/nsChromeTreeOwner.cpp
xpfe/appshell/src/nsContentTreeOwner.cpp
xpfe/appshell/src/nsWebShellWindow.cpp
xpfe/appshell/src/nsWindowMediator.cpp
xpfe/appshell/src/nsWindowMediator.h
xpfe/appshell/src/nsXULWindow.cpp
xpfe/components/directory/nsDirectoryViewer.cpp
xpfe/components/windowds/nsWindowDataSource.cpp
xulrunner/app/nsXULRunnerApp.cpp
--- a/accessible/src/atk/nsMaiInterfaceText.cpp
+++ b/accessible/src/atk/nsMaiInterfaceText.cpp
@@ -182,17 +182,17 @@ getCharacterAtOffsetCB(AtkText* aText, g
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (!accWrap)
     return 0;
 
   HyperTextAccessible* text = accWrap->AsHyperText();
   if (!text || !text->IsTextRole())
     return 0;
 
-  // PRUnichar is unsigned short in Mozilla, gnuichar is guint32 in glib.
+  // char16_t is unsigned short in Mozilla, gnuichar is guint32 in glib.
   return static_cast<gunichar>(text->CharAt(aOffset));
 }
 
 static gchar*
 getTextBeforeOffsetCB(AtkText *aText, gint aOffset,
                       AtkTextBoundary aBoundaryType,
                       gint *aStartOffset, gint *aEndOffset)
 {
--- a/accessible/src/base/DocManager.cpp
+++ b/accessible/src/base/DocManager.cpp
@@ -225,17 +225,17 @@ DocManager::OnLocationChange(nsIWebProgr
 {
   NS_NOTREACHED("notification excluded in AddProgressListener(...)");
   return NS_OK;
 }
 
 NS_IMETHODIMP
 DocManager::OnStatusChange(nsIWebProgress* aWebProgress,
                            nsIRequest* aRequest, nsresult aStatus,
-                           const PRUnichar* aMessage)
+                           const char16_t* aMessage)
 {
   NS_NOTREACHED("notification excluded in AddProgressListener(...)");
   return NS_OK;
 }
 
 NS_IMETHODIMP
 DocManager::OnSecurityChange(nsIWebProgress* aWebProgress,
                              nsIRequest* aRequest,
--- a/accessible/src/base/nsAccessibilityService.cpp
+++ b/accessible/src/base/nsAccessibilityService.cpp
@@ -157,17 +157,17 @@ NS_IMPL_ISUPPORTS_INHERITED4(nsAccessibi
                              nsIObserver,
                              nsISelectionListener) // from SelectionManager
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsIObserver
 
 NS_IMETHODIMP
 nsAccessibilityService::Observe(nsISupports *aSubject, const char *aTopic,
-                         const PRUnichar *aData)
+                         const char16_t *aData)
 {
   if (!nsCRT::strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID))
     Shutdown();
 
   return NS_OK;
 }
 
 // nsIAccessibilityService
@@ -1080,17 +1080,17 @@ nsAccessibilityService::Init()
   // Add observers.
   nsCOMPtr<nsIObserverService> observerService =
     mozilla::services::GetObserverService();
   if (!observerService)
     return false;
 
   observerService->AddObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false);
 
-  static const PRUnichar kInitIndicator[] = { '1', 0 };
+  static const char16_t kInitIndicator[] = { '1', 0 };
   observerService->NotifyObservers(nullptr, "a11y-init-or-shutdown", kInitIndicator);
 
 #ifdef A11Y_LOG
   logging::CheckEnv();
 #endif
 
   gApplicationAccessible = new ApplicationAccessibleWrap();
   NS_ADDREF(gApplicationAccessible); // will release in Shutdown()
@@ -1118,17 +1118,17 @@ void
 nsAccessibilityService::Shutdown()
 {
   // Remove observers.
   nsCOMPtr<nsIObserverService> observerService =
       mozilla::services::GetObserverService();
   if (observerService) {
     observerService->RemoveObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID);
 
-    static const PRUnichar kShutdownIndicator[] = { '0', 0 };
+    static const char16_t kShutdownIndicator[] = { '0', 0 };
     observerService->NotifyObservers(nullptr, "a11y-init-or-shutdown", kShutdownIndicator);
   }
 
   // Stop accessible document loader.
   DocManager::Shutdown();
 
   SelectionManager::Shutdown();
 
--- a/accessible/src/base/nsCoreUtils.h
+++ b/accessible/src/base/nsCoreUtils.h
@@ -302,17 +302,17 @@ public:
    * only. In contrast to nsWhitespaceTokenizer class it takes into account
    * non-breaking space (0xa0).
    */
   static bool IsWhitespaceString(const nsSubstring& aString);
 
   /**
    * Returns true if the given character is whitespace symbol.
    */
-  static bool IsWhitespace(PRUnichar aChar)
+  static bool IsWhitespace(char16_t aChar)
   {
     return aChar == ' ' || aChar == '\n' ||
       aChar == '\r' || aChar == '\t' || aChar == 0xa0;
   }
 };
 
 
 /**
--- a/accessible/src/base/nsTextEquivUtils.cpp
+++ b/accessible/src/base/nsTextEquivUtils.cpp
@@ -125,33 +125,33 @@ nsTextEquivUtils::AppendTextEquivFromTex
         // If this text is inside a block level frame (as opposed to span
         // level), we need to add spaces around that block's text, so we don't
         // get words jammed together in final name.
         const nsStyleDisplay* display = frame->StyleDisplay();
         if (display->IsBlockOutsideStyle() ||
             display->mDisplay == NS_STYLE_DISPLAY_TABLE_CELL) {
           isHTMLBlock = true;
           if (!aString->IsEmpty()) {
-            aString->Append(PRUnichar(' '));
+            aString->Append(char16_t(' '));
           }
         }
       }
     }
     
     if (aContent->TextLength() > 0) {
       nsIFrame *frame = aContent->GetPrimaryFrame();
       if (frame) {
         nsresult rv = frame->GetRenderedText(aString);
         NS_ENSURE_SUCCESS(rv, rv);
       } else {
         // If aContent is an object that is display: none, we have no a frame.
         aContent->AppendTextTo(*aString);
       }
       if (isHTMLBlock && !aString->IsEmpty()) {
-        aString->Append(PRUnichar(' '));
+        aString->Append(char16_t(' '));
       }
     }
     
     return NS_OK;
   }
   
   if (aContent->IsHTML() &&
       aContent->NodeInfo()->Equals(nsGkAtoms::br)) {
@@ -329,22 +329,22 @@ bool
 nsTextEquivUtils::AppendString(nsAString *aString,
                                const nsAString& aTextEquivalent)
 {
   if (aTextEquivalent.IsEmpty())
     return false;
 
   // Insert spaces to insure that words from controls aren't jammed together.
   if (!aString->IsEmpty() && !nsCoreUtils::IsWhitespace(aString->Last()))
-    aString->Append(PRUnichar(' '));
+    aString->Append(char16_t(' '));
 
   aString->Append(aTextEquivalent);
 
   if (!nsCoreUtils::IsWhitespace(aString->Last()))
-    aString->Append(PRUnichar(' '));
+    aString->Append(char16_t(' '));
 
   return true;
 }
 
 uint32_t 
 nsTextEquivUtils::GetRoleRule(role aRole)
 {
 #define ROLE(geckoRole, stringRole, atkRole, \
--- a/accessible/src/generic/DocAccessible.cpp
+++ b/accessible/src/generic/DocAccessible.cpp
@@ -791,17 +791,17 @@ DocAccessible::ScrollPositionDidChange(n
   mScrollPositionChangedTicks = 1;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsIObserver
 
 NS_IMETHODIMP
 DocAccessible::Observe(nsISupports* aSubject, const char* aTopic,
-                       const PRUnichar* aData)
+                       const char16_t* aData)
 {
   if (!nsCRT::strcmp(aTopic,"obs_documentCreated")) {    
     // State editable will now be set, readonly is now clear
     // Normally we only fire delayed events created from the node, not an
     // accessible object. See the AccStateChangeEvent constructor for details
     // about this exceptional case.
     nsRefPtr<AccEvent> event =
       new AccStateChangeEvent(this, states::EDITABLE, true);
--- a/accessible/src/generic/HyperTextAccessible.h
+++ b/accessible/src/generic/HyperTextAccessible.h
@@ -21,19 +21,19 @@ struct DOMPoint {
   DOMPoint(nsINode* aNode, int32_t aIdx) : node(aNode), idx(aIdx) { }
 
   nsINode* node;
   int32_t idx;
 };
 
 // This character marks where in the text returned via nsIAccessibleText(),
 // that embedded object characters exist
-const PRUnichar kEmbeddedObjectChar = 0xfffc;
-const PRUnichar kImaginaryEmbeddedObjectChar = ' ';
-const PRUnichar kForcedNewLineChar = '\n';
+const char16_t kEmbeddedObjectChar = 0xfffc;
+const char16_t kImaginaryEmbeddedObjectChar = ' ';
+const char16_t kForcedNewLineChar = '\n';
 
 /**
   * Special Accessible that knows how contain both text and embedded objects
   */
 class HyperTextAccessible : public AccessibleWrap,
                             public xpcAccessibleHyperText
 {
 public:
@@ -183,27 +183,27 @@ public:
 
     if (aStartOffset && aEndOffset) {
       *aStartOffset = aOffset;
       *aEndOffset = aOffset + aChar.Length();
     }
     return true;
   }
 
-  PRUnichar CharAt(int32_t aOffset)
+  char16_t CharAt(int32_t aOffset)
   {
     nsAutoString charAtOffset;
     CharAt(aOffset, charAtOffset);
     return charAtOffset.CharAt(0);
   }
 
   /**
    * Return true if char at the given offset equals to given char.
    */
-  bool IsCharAt(int32_t aOffset, PRUnichar aChar)
+  bool IsCharAt(int32_t aOffset, char16_t aChar)
     { return CharAt(aOffset) == aChar; }
 
   /**
    * Return true if terminal char is at the given offset.
    */
   bool IsLineEndCharAt(int32_t aOffset)
     { return IsCharAt(aOffset, '\n'); }
 
--- a/accessible/src/html/HTMLElementAccessibles.cpp
+++ b/accessible/src/html/HTMLElementAccessibles.cpp
@@ -42,17 +42,17 @@ uint64_t
 HTMLBRAccessible::NativeState()
 {
   return states::READONLY;
 }
 
 ENameValueFlag
 HTMLBRAccessible::NativeName(nsString& aName)
 {
-  aName = static_cast<PRUnichar>('\n');    // Newline char
+  aName = static_cast<char16_t>('\n');    // Newline char
   return eNameOK;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // HTMLLabelAccessible
 ////////////////////////////////////////////////////////////////////////////////
 
 NS_IMPL_ISUPPORTS_INHERITED0(HTMLLabelAccessible, HyperTextAccessible)
--- a/accessible/src/xpcom/xpcAccessibleHyperText.cpp
+++ b/accessible/src/xpcom/xpcAccessibleHyperText.cpp
@@ -123,17 +123,17 @@ xpcAccessibleHyperText::GetTextAfterOffs
     return NS_ERROR_FAILURE;
 
   text->TextAfterOffset(aOffset, aBoundaryType, aStartOffset, aEndOffset, aText);
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessibleHyperText::GetCharacterAtOffset(int32_t aOffset,
-                                             PRUnichar* aCharacter)
+                                             char16_t* aCharacter)
 {
   NS_ENSURE_ARG_POINTER(aCharacter);
   *aCharacter = L'\0';
 
   HyperTextAccessible* text = static_cast<HyperTextAccessible*>(this);
   if (text->IsDefunct())
     return NS_ERROR_FAILURE;
 
--- a/b2g/app/nsBrowserApp.cpp
+++ b/b2g/app/nsBrowserApp.cpp
@@ -45,17 +45,17 @@
 #include "mozilla/WindowsDllBlocklist.h"
 
 static void Output(const char *fmt, ... )
 {
   va_list ap;
   va_start(ap, fmt);
 
 #if defined(XP_WIN) && !MOZ_WINCONSOLE
-  PRUnichar msg[2048];
+  char16_t msg[2048];
   _vsnwprintf(msg, sizeof(msg)/sizeof(msg[0]), NS_ConvertUTF8toUTF16(fmt).get(), ap);
   MessageBoxW(nullptr, msg, L"XULRunner", MB_OK | MB_ICONERROR);
 #else
   vfprintf(stderr, fmt, ap);
 #endif
 
   va_end(ap);
 }
--- a/browser/components/shell/src/nsMacShellService.cpp
+++ b/browser/components/shell/src/nsMacShellService.cpp
@@ -225,17 +225,17 @@ nsMacShellService::OnLocationChange(nsIW
 {
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsMacShellService::OnStatusChange(nsIWebProgress* aWebProgress,
                                   nsIRequest* aRequest,
                                   nsresult aStatus,
-                                  const PRUnichar* aMessage)
+                                  const char16_t* aMessage)
 {
   return NS_OK;
 }
 
 NS_IMETHODIMP
 nsMacShellService::OnSecurityChange(nsIWebProgress* aWebProgress,
                                     nsIRequest* aRequest,
                                     uint32_t aState)
--- a/browser/components/shell/src/nsWindowsShellService.cpp
+++ b/browser/components/shell/src/nsWindowsShellService.cpp
@@ -471,17 +471,17 @@ nsWindowsShellService::IsDefaultBrowser(
         // application when setting Firefox as the default browser.
         *aIsDefaultBrowser = false;
         return NS_OK;
       }
 
       const nsString &flatValue = PromiseFlatString(valueData);
       res = ::RegSetValueExW(theKey, L"", 0, REG_SZ,
                              (const BYTE *) flatValue.get(),
-                             (flatValue.Length() + 1) * sizeof(PRUnichar));
+                             (flatValue.Length() + 1) * sizeof(char16_t));
       // Close the key that was created.
       ::RegCloseKey(theKey);
       if (REG_FAILED(res)) {
         // If updating the open command fails try to update it using the helper
         // application when setting Firefox as the default browser.
         *aIsDefaultBrowser = false;
         return NS_OK;
       }
@@ -517,33 +517,33 @@ nsWindowsShellService::IsDefaultBrowser(
       }
 
       ::ZeroMemory(currValue, sizeof(currValue));
       DWORD len = sizeof currValue;
       res = ::RegQueryValueExW(theKey, L"", nullptr, nullptr,
                                (LPBYTE)currValue, &len);
       // Close the key that was opened.
       ::RegCloseKey(theKey);
-      if (REG_FAILED(res) || PRUnichar('\0') != *currValue) {
+      if (REG_FAILED(res) || char16_t('\0') != *currValue) {
         // Key wasn't set or was set to something other than our registry entry.
         // Delete the key along with all of its childrean and then recreate it.
         const nsString &flatName = PromiseFlatString(keyName);
         ::SHDeleteKeyW(HKEY_CURRENT_USER, flatName.get());
         res = ::RegCreateKeyExW(HKEY_CURRENT_USER, flatName.get(), 0, nullptr,
                                 REG_OPTION_NON_VOLATILE, KEY_SET_VALUE,
                                 nullptr, &theKey, nullptr);
         if (REG_FAILED(res)) {
           // If disabling DDE fails try to disable it using the helper
           // application when setting Firefox as the default browser.
           *aIsDefaultBrowser = false;
           return NS_OK;
         }
 
         res = ::RegSetValueExW(theKey, L"", 0, REG_SZ, (const BYTE *) L"",
-                               sizeof(PRUnichar));
+                               sizeof(char16_t));
         // Close the key that was created.
         ::RegCloseKey(theKey);
         if (REG_FAILED(res)) {
           // If disabling DDE fails try to disable it using the helper
           // application when setting Firefox as the default browser.
           *aIsDefaultBrowser = false;
           return NS_OK;
         }
@@ -577,17 +577,17 @@ nsWindowsShellService::IsDefaultBrowser(
       return NS_OK;
     }
 
     NS_ConvertUTF8toUTF16 valueData(VAL_OPEN);
     valueData.Replace(offset, 9, appLongPath);
     const nsString &flatValue = PromiseFlatString(valueData);
     res = ::RegSetValueExW(theKey, L"", 0, REG_SZ,
                            (const BYTE *) flatValue.get(),
-                           (flatValue.Length() + 1) * sizeof(PRUnichar));
+                           (flatValue.Length() + 1) * sizeof(char16_t));
     // Close the key that was created.
     ::RegCloseKey(theKey);
     // If updating the FTP protocol handlers shell open command fails try to
     // update it using the helper application when setting Firefox as the
     // default browser.
     if (REG_FAILED(res)) {
       *aIsDefaultBrowser = false;
     }
--- a/caps/src/nsScriptSecurityManager.cpp
+++ b/caps/src/nsScriptSecurityManager.cpp
@@ -88,17 +88,17 @@ nsScriptSecurityManager::SubjectIsPrivil
     bool isSystem = false;
     return NS_SUCCEEDED(SubjectPrincipalIsSystem(&isSystem)) && isSystem;
 }
 
 ///////////////////////////
 // Convenience Functions //
 ///////////////////////////
 // Result of this function should not be freed.
-static inline const PRUnichar *
+static inline const char16_t *
 IDToString(JSContext *cx, jsid id_)
 {
     JS::RootedId id(cx, id_);
     if (JSID_IS_STRING(id))
         return JS_GetInternedStringChars(JSID_TO_STRING(id));
 
     JS::Rooted<JS::Value> idval(cx);
     if (!JS_IdToValue(cx, id, idval.address()))
@@ -173,17 +173,17 @@ GetPrincipalDomainOrigin(nsIPrincipal* a
   return GetOriginFromURI(uri, aOrigin);
 }
 
 inline void SetPendingException(JSContext *cx, const char *aMsg)
 {
     JS_ReportError(cx, "%s", aMsg);
 }
 
-inline void SetPendingException(JSContext *cx, const PRUnichar *aMsg)
+inline void SetPendingException(JSContext *cx, const char16_t *aMsg)
 {
     JS_ReportError(cx, "%hs", aMsg);
 }
 
 // Helper class to get stuff from the ClassInfo and not waste extra time with
 // virtual method calls for things it has already gotten
 class ClassInfoData
 {
@@ -699,17 +699,17 @@ nsScriptSecurityManager::CheckPropertyAc
             if (domain) {
                 GetOriginFromURI(domain, objectDomain);
             }
         }
         NS_ConvertUTF8toUTF16 objectOriginUnicode(objectOrigin);
         NS_ConvertUTF8toUTF16 objectDomainUnicode(objectDomain);
 
         nsXPIDLString errorMsg;
-        const PRUnichar *formatStrings[] =
+        const char16_t *formatStrings[] =
         {
             subjectOriginUnicode.get(),
             className.get(),
             IDToString(cx, property),
             objectOriginUnicode.get(),
             subjectDomainUnicode.get(),
             objectDomainUnicode.get()
         };
@@ -1173,17 +1173,17 @@ nsScriptSecurityManager::CheckLoadURIWit
     // error and treat unflagged handlers as URI_DANGEROUS_TO_LOAD.
     rv = NS_URIChainHasFlags(targetBaseURI,
                              nsIProtocolHandler::URI_LOADABLE_BY_ANYONE,
                              &hasFlags);
     NS_ENSURE_SUCCESS(rv, rv);
     if (!hasFlags) {
         nsXPIDLString message;
         NS_ConvertASCIItoUTF16 ucsTargetScheme(targetScheme);
-        const PRUnichar* formatStrings[] = { ucsTargetScheme.get() };
+        const char16_t* formatStrings[] = { ucsTargetScheme.get() };
         rv = sStrBundle->
             FormatStringFromName(MOZ_UTF16("ProtocolFlagError"),
                                  formatStrings,
                                  ArrayLength(formatStrings),
                                  getter_Copies(message));
         if (NS_SUCCEEDED(rv)) {
             nsCOMPtr<nsIConsoleService> console(
               do_GetService("@mozilla.org/consoleservice;1"));
@@ -1212,17 +1212,17 @@ nsScriptSecurityManager::ReportError(JSC
     nsAutoCString targetSpec;
     rv = aTarget->GetAsciiSpec(targetSpec);
     NS_ENSURE_SUCCESS(rv, rv);
 
     // Localize the error message
     nsXPIDLString message;
     NS_ConvertASCIItoUTF16 ucsSourceSpec(sourceSpec);
     NS_ConvertASCIItoUTF16 ucsTargetSpec(targetSpec);
-    const PRUnichar *formatStrings[] = { ucsSourceSpec.get(), ucsTargetSpec.get() };
+    const char16_t *formatStrings[] = { ucsSourceSpec.get(), ucsTargetSpec.get() };
     rv = sStrBundle->FormatStringFromName(PromiseFlatString(messageTag).get(),
                                           formatStrings,
                                           ArrayLength(formatStrings),
                                           getter_Copies(message));
     NS_ENSURE_SUCCESS(rv, rv);
 
     // If a JS context was passed in, set a JS exception.
     // Otherwise, print the error message directly to the JS console
@@ -1547,17 +1547,17 @@ nsScriptSecurityManager::CanCreateWrappe
         nsAutoCString origin;
         nsresult rv2;
         nsIPrincipal* subjectPrincipal = doGetSubjectPrincipal(&rv2);
         if (NS_SUCCEEDED(rv2) && subjectPrincipal) {
             GetPrincipalDomainOrigin(subjectPrincipal, origin);
         }
         NS_ConvertUTF8toUTF16 originUnicode(origin);
         NS_ConvertUTF8toUTF16 className(objClassInfo.GetName());
-        const PRUnichar* formatStrings[] = {
+        const char16_t* formatStrings[] = {
             className.get(),
             originUnicode.get()
         };
         uint32_t length = ArrayLength(formatStrings);
         if (originUnicode.IsEmpty()) {
             --length;
         } else {
             strName.AppendLiteral("ForOrigin");
@@ -1738,17 +1738,17 @@ static const char* kObservedPrefs[] = {
   sJSEnabledPrefName,
   sFileOriginPolicyPrefName,
   nullptr
 };
 
 
 NS_IMETHODIMP
 nsScriptSecurityManager::Observe(nsISupports* aObject, const char* aTopic,
-                                 const PRUnichar* aMessage)
+                                 const char16_t* aMessage)
 {
     nsresult rv = NS_OK;
     NS_ConvertUTF16toUTF8 messageStr(aMessage);
     const char *message = messageStr.get();
 
     static const char jsPrefix[] = "javascript.";
     static const char securityPrefix[] = "security.";
     if ((PL_strncmp(message, jsPrefix, sizeof(jsPrefix)-1) == 0) ||
--- a/chrome/src/nsChromeRegistryChrome.cpp
+++ b/chrome/src/nsChromeRegistryChrome.cpp
@@ -322,17 +322,17 @@ nsChromeRegistryChrome::SelectLocaleFrom
   if (NS_FAILED(rv))
     NS_ERROR("Couldn't select locale from pref!");
 
   return rv;
 }
 
 NS_IMETHODIMP
 nsChromeRegistryChrome::Observe(nsISupports *aSubject, const char *aTopic,
-                                const PRUnichar *someData)
+                                const char16_t *someData)
 {
   nsresult rv = NS_OK;
 
   if (!strcmp(NS_PREFBRANCH_PREFCHANGE_TOPIC_ID, aTopic)) {
     nsCOMPtr<nsIPrefBranch> prefs (do_QueryInterface(aSubject));
     NS_ASSERTION(prefs, "Bad observer call!");
 
     NS_ConvertUTF16toUTF8 pref(someData);
--- a/chrome/src/nsChromeRegistryChrome.h
+++ b/chrome/src/nsChromeRegistryChrome.h
@@ -31,17 +31,17 @@ class nsChromeRegistryChrome : public ns
   NS_IMETHOD CheckForOSAccessibility() MOZ_OVERRIDE;
   NS_IMETHOD GetLocalesForPackage(const nsACString& aPackage,
                                   nsIUTF8StringEnumerator* *aResult) MOZ_OVERRIDE;
   NS_IMETHOD IsLocaleRTL(const nsACString& package,
                          bool *aResult) MOZ_OVERRIDE;
   NS_IMETHOD GetSelectedLocale(const nsACString& aPackage,
                                nsACString& aLocale) MOZ_OVERRIDE;
   NS_IMETHOD Observe(nsISupports *aSubject, const char *aTopic,
-                     const PRUnichar *someData) MOZ_OVERRIDE;
+                     const char16_t *someData) MOZ_OVERRIDE;
 
 #ifdef MOZ_XUL
   NS_IMETHOD GetXULOverlays(nsIURI *aURI,
                             nsISimpleEnumerator **_retval) MOZ_OVERRIDE;
   NS_IMETHOD GetStyleOverlays(nsIURI *aURI,
                               nsISimpleEnumerator **_retval) MOZ_OVERRIDE;
 #endif
   
--- a/chrome/src/nsChromeRegistryContent.cpp
+++ b/chrome/src/nsChromeRegistryContent.cpp
@@ -217,17 +217,17 @@ nsChromeRegistryContent::GetSelectedLoca
     return NS_ERROR_NOT_AVAILABLE;
   }
   aLocale = mLocale;
   return NS_OK;
 }
   
 NS_IMETHODIMP
 nsChromeRegistryContent::Observe(nsISupports* aSubject, const char* aTopic,
-                                 const PRUnichar* aData)
+                                 const char16_t* aData)
 {
   CONTENT_NOT_IMPLEMENTED();
 }
 
 NS_IMETHODIMP
 nsChromeRegistryContent::GetStyleOverlays(nsIURI *aChromeURL,
                                           nsISimpleEnumerator **aResult)
 {
--- a/chrome/src/nsChromeRegistryContent.h
+++ b/chrome/src/nsChromeRegistryContent.h
@@ -23,17 +23,17 @@ class nsChromeRegistryContent : public n
                             const InfallibleTArray<OverrideMapping>& aOverrides,
                             const nsACString& aLocale);
 
   NS_IMETHOD GetLocalesForPackage(const nsACString& aPackage,
                                   nsIUTF8StringEnumerator* *aResult) MOZ_OVERRIDE;
   NS_IMETHOD CheckForNewChrome() MOZ_OVERRIDE;
   NS_IMETHOD CheckForOSAccessibility() MOZ_OVERRIDE;
   NS_IMETHOD Observe(nsISupports* aSubject, const char* aTopic,
-                     const PRUnichar* aData) MOZ_OVERRIDE;
+                     const char16_t* aData) MOZ_OVERRIDE;
   NS_IMETHOD IsLocaleRTL(const nsACString& package,
                          bool *aResult) MOZ_OVERRIDE;
   NS_IMETHOD GetSelectedLocale(const nsACString& aPackage,
                                nsACString& aLocale) MOZ_OVERRIDE;
   NS_IMETHOD GetStyleOverlays(nsIURI *aChromeURL,
                               nsISimpleEnumerator **aResult) MOZ_OVERRIDE;
   NS_IMETHOD GetXULOverlays(nsIURI *aChromeURL,
                             nsISimpleEnumerator **aResult) MOZ_OVERRIDE;
--- a/content/base/public/DirectionalityUtils.h
+++ b/content/base/public/DirectionalityUtils.h
@@ -78,17 +78,17 @@ void WalkDescendantsSetDirAuto(mozilla::
  */
 void WalkDescendantsClearAncestorDirAuto(mozilla::dom::Element* aElement);
 
 /**
  * When the contents of a text node have changed, deal with any elements whose
  * directionality needs to change
  */
 void SetDirectionFromChangedTextNode(nsIContent* aTextNode, uint32_t aOffset,
-                                     const PRUnichar* aBuffer, uint32_t aLength,
+                                     const char16_t* aBuffer, uint32_t aLength,
                                      bool aNotify);
 
 /**
  * When a text node is appended to an element, find any ancestors with dir=auto
  * whose directionality will be determined by the text node
  */
 void SetDirectionFromNewTextNode(nsIContent* aTextNode);
 
--- a/content/base/public/FragmentOrElement.h
+++ b/content/base/public/FragmentOrElement.h
@@ -184,24 +184,24 @@ public:
   virtual void GetTextContentInternal(nsAString& aTextContent) MOZ_OVERRIDE;
   virtual void SetTextContentInternal(const nsAString& aTextContent,
                                       mozilla::ErrorResult& aError) MOZ_OVERRIDE;
 
   // nsIContent interface methods
   virtual already_AddRefed<nsINodeList> GetChildren(uint32_t aFilter) MOZ_OVERRIDE;
   virtual const nsTextFragment *GetText() MOZ_OVERRIDE;
   virtual uint32_t TextLength() const MOZ_OVERRIDE;
-  virtual nsresult SetText(const PRUnichar* aBuffer, uint32_t aLength,
+  virtual nsresult SetText(const char16_t* aBuffer, uint32_t aLength,
                            bool aNotify) MOZ_OVERRIDE;
   // Need to implement this here too to avoid hiding.
   nsresult SetText(const nsAString& aStr, bool aNotify)
   {
     return SetText(aStr.BeginReading(), aStr.Length(), aNotify);
   }
-  virtual nsresult AppendText(const PRUnichar* aBuffer, uint32_t aLength,
+  virtual nsresult AppendText(const char16_t* aBuffer, uint32_t aLength,
                               bool aNotify) MOZ_OVERRIDE;
   virtual bool TextIsOnlyWhitespace() MOZ_OVERRIDE;
   virtual void AppendTextTo(nsAString& aResult) MOZ_OVERRIDE;
   virtual nsIContent *GetBindingParent() const MOZ_OVERRIDE;
   virtual nsXBLBinding *GetXBLBinding() const MOZ_OVERRIDE;
   virtual void SetXBLBinding(nsXBLBinding* aBinding,
                              nsBindingManager* aOldBindingManager = nullptr) MOZ_OVERRIDE;
   virtual ShadowRoot *GetShadowRoot() const MOZ_OVERRIDE;
--- a/content/base/public/nsContentUtils.h
+++ b/content/base/public/nsContentUtils.h
@@ -314,26 +314,26 @@ public:
    * @return  The reversed document position flags.
    *
    * @see nsIDOMNode
    */
   static uint16_t ReverseDocumentPosition(uint16_t aDocumentPosition);
 
   static uint32_t CopyNewlineNormalizedUnicodeTo(const nsAString& aSource,
                                                  uint32_t aSrcOffset,
-                                                 PRUnichar* aDest,
+                                                 char16_t* aDest,
                                                  uint32_t aLength,
                                                  bool& aLastCharCR);
 
-  static uint32_t CopyNewlineNormalizedUnicodeTo(nsReadingIterator<PRUnichar>& aSrcStart, const nsReadingIterator<PRUnichar>& aSrcEnd, nsAString& aDest);
+  static uint32_t CopyNewlineNormalizedUnicodeTo(nsReadingIterator<char16_t>& aSrcStart, const nsReadingIterator<char16_t>& aSrcEnd, nsAString& aDest);
 
   static const nsDependentSubstring TrimCharsInSet(const char* aSet,
                                                    const nsAString& aValue);
 
-  template<bool IsWhitespace(PRUnichar)>
+  template<bool IsWhitespace(char16_t)>
   static const nsDependentSubstring TrimWhitespace(const nsAString& aStr,
                                                    bool aTrimTrailing = true);
 
   /**
    * Returns true if aChar is of class Ps, Pi, Po, Pf, or Pe.
    */
   static bool IsFirstLetterPunctuation(uint32_t aChar);
   static bool IsFirstLetterPunctuationAt(const nsTextFragment* aFrag, uint32_t aOffset);
@@ -347,23 +347,23 @@ public:
   /*
    * Is the character an HTML whitespace character?
    *
    * We define whitespace using the list in HTML5 and css3-selectors:
    * U+0009, U+000A, U+000C, U+000D, U+0020
    *
    * HTML 4.01 also lists U+200B (zero-width space).
    */
-  static bool IsHTMLWhitespace(PRUnichar aChar);
+  static bool IsHTMLWhitespace(char16_t aChar);
 
   /*
    * Returns whether the character is an HTML whitespace (see IsHTMLWhitespace)
    * or a nbsp character (U+00A0).
    */
-  static bool IsHTMLWhitespaceOrNBSP(PRUnichar aChar);
+  static bool IsHTMLWhitespaceOrNBSP(char16_t aChar);
 
   /**
    * Is the HTML local name a block element?
    */
   static bool IsHTMLBlock(nsIAtom* aLocalName);
 
   /**
    * Is the HTML local name a void element?
@@ -525,29 +525,29 @@ public:
    * @param aCharset empty if not found
    * @return boolean indicating whether a BOM was detected.
    */
   static bool CheckForBOM(const unsigned char* aBuffer, uint32_t aLength,
                           nsACString& aCharset);
 
   static nsresult CheckQName(const nsAString& aQualifiedName,
                              bool aNamespaceAware = true,
-                             const PRUnichar** aColon = nullptr);
+                             const char16_t** aColon = nullptr);
 
   static nsresult SplitQName(const nsIContent* aNamespaceResolver,
                              const nsAFlatString& aQName,
                              int32_t *aNamespace, nsIAtom **aLocalName);
 
   static nsresult GetNodeInfoFromQName(const nsAString& aNamespaceURI,
                                        const nsAString& aQualifiedName,
                                        nsNodeInfoManager* aNodeInfoManager,
                                        uint16_t aNodeType,
                                        nsINodeInfo** aNodeInfo);
 
-  static void SplitExpatName(const PRUnichar *aExpatName, nsIAtom **aPrefix,
+  static void SplitExpatName(const char16_t *aExpatName, nsIAtom **aPrefix,
                              nsIAtom **aTagName, int32_t *aNameSpaceID);
 
   // Get a permission-manager setting for the given principal and type.
   // If the pref doesn't exist or if it isn't ALLOW_ACTION, false is
   // returned, otherwise true is returned. Always returns true for the
   // system principal, and false for a null principal.
   static bool IsSitePermAllow(nsIPrincipal* aPrincipal, const char* aType);
 
@@ -809,17 +809,17 @@ public:
     eSECURITY_PROPERTIES,
     PropertiesFile_COUNT
   };
   static nsresult ReportToConsole(uint32_t aErrorFlags,
                                   const nsACString& aCategory,
                                   nsIDocument* aDocument,
                                   PropertiesFile aFile,
                                   const char *aMessageName,
-                                  const PRUnichar **aParams = nullptr,
+                                  const char16_t **aParams = nullptr,
                                   uint32_t aParamsLength = 0,
                                   nsIURI* aURI = nullptr,
                                   const nsAFlatString& aSourceLine
                                     = EmptyString(),
                                   uint32_t aLineNumber = 0,
                                   uint32_t aColumnNumber = 0);
 
   /**
@@ -841,25 +841,25 @@ public:
 
   /**
    * Fill (with the parameters given) the localized string named |aKey| in
    * properties file |aFile|.
    */
 private:
   static nsresult FormatLocalizedString(PropertiesFile aFile,
                                         const char* aKey,
-                                        const PRUnichar** aParams,
+                                        const char16_t** aParams,
                                         uint32_t aParamsLength,
                                         nsXPIDLString& aResult);
   
 public:
   template<uint32_t N>
   static nsresult FormatLocalizedString(PropertiesFile aFile,
                                         const char* aKey,
-                                        const PRUnichar* (&aParams)[N],
+                                        const char16_t* (&aParams)[N],
                                         nsXPIDLString& aResult)
   {
     return FormatLocalizedString(aFile, aKey, aParams, N, aResult);
   }
 
   /**
    * Returns true if aDocument is a chrome document
    */
--- a/content/base/public/nsIContent.h
+++ b/content/base/public/nsIContent.h
@@ -500,25 +500,25 @@ public:
     return false;
   }
 
   /**
    * Set the text to the given value. If aNotify is true then
    * the document is notified of the content change.
    * NOTE: For elements this always ASSERTS and returns NS_ERROR_FAILURE
    */
-  virtual nsresult SetText(const PRUnichar* aBuffer, uint32_t aLength,
+  virtual nsresult SetText(const char16_t* aBuffer, uint32_t aLength,
                            bool aNotify) = 0;
 
   /**
    * Append the given value to the current text. If aNotify is true then
    * the document is notified of the content change.
    * NOTE: For elements this always ASSERTS and returns NS_ERROR_FAILURE
    */
-  virtual nsresult AppendText(const PRUnichar* aBuffer, uint32_t aLength,
+  virtual nsresult AppendText(const char16_t* aBuffer, uint32_t aLength,
                               bool aNotify) = 0;
 
   /**
    * Set the text to the given value. If aNotify is true then
    * the document is notified of the content change.
    * NOTE: For elements this always asserts and returns NS_ERROR_FAILURE
    */
   nsresult SetText(const nsAString& aStr, bool aNotify)
--- a/content/base/public/nsIDocument.h
+++ b/content/base/public/nsIDocument.h
@@ -1171,18 +1171,18 @@ public:
   nsIDocShell* GetDocShell() const;
 
   /**
    * Set and get XML declaration. If aVersion is null there is no declaration.
    * aStandalone takes values -1, 0 and 1 indicating respectively that there
    * was no standalone parameter in the declaration, that it was given as no,
    * or that it was given as yes.
    */
-  virtual void SetXMLDeclaration(const PRUnichar *aVersion,
-                                 const PRUnichar *aEncoding,
+  virtual void SetXMLDeclaration(const char16_t *aVersion,
+                                 const char16_t *aEncoding,
                                  const int32_t aStandalone) = 0;
   virtual void GetXMLDeclaration(nsAString& aVersion,
                                  nsAString& aEncoding,
                                  nsAString& Standalone) = 0;
 
   bool IsHTML() const
   {
     return mIsRegularHTML;
--- a/content/base/public/nsINode.h
+++ b/content/base/public/nsINode.h
@@ -51,17 +51,17 @@ class nsXPCClassInfo;
 class nsDOMMutationObserver;
 
 namespace mozilla {
 namespace dom {
 /**
  * @return true if aChar is what the DOM spec defines as 'space character'.
  * http://dom.spec.whatwg.org/#space-character
  */
-inline bool IsSpaceCharacter(PRUnichar aChar) {
+inline bool IsSpaceCharacter(char16_t aChar) {
   return aChar == ' ' || aChar == '\t' || aChar == '\n' || aChar == '\r' ||
          aChar == '\f';
 }
 inline bool IsSpaceCharacter(char aChar) {
   return aChar == ' ' || aChar == '\t' || aChar == '\n' || aChar == '\r' ||
          aChar == '\f';
 }
 class Element;
--- a/content/base/public/nsLineBreaker.h
+++ b/content/base/public/nsLineBreaker.h
@@ -60,27 +60,27 @@ public:
  * for text-transform:capitalize. This is a good place to handle that because
  * we have all the context we need.
  */
 class nsLineBreaker {
 public:
   nsLineBreaker();
   ~nsLineBreaker();
   
-  static inline bool IsSpace(PRUnichar u) { return NS_IsSpace(u); }
+  static inline bool IsSpace(char16_t u) { return NS_IsSpace(u); }
 
-  static inline bool IsComplexASCIIChar(PRUnichar u)
+  static inline bool IsComplexASCIIChar(char16_t u)
   {
     return !((0x0030 <= u && u <= 0x0039) ||
              (0x0041 <= u && u <= 0x005A) ||
              (0x0061 <= u && u <= 0x007A) ||
              (0x000a == u));
   }
 
-  static inline bool IsComplexChar(PRUnichar u)
+  static inline bool IsComplexChar(char16_t u)
   {
     return IsComplexASCIIChar(u) ||
            NS_NeedsPlatformNativeHandling(u) ||
            (0x1100 <= u && u <= 0x11ff) || // Hangul Jamo
            (0x2000 <= u && u <= 0x21ff) || // Punctuations and Symbols
            (0x2e80 <= u && u <= 0xd7ff) || // several CJK blocks
            (0xf900 <= u && u <= 0xfaff) || // CJK Compatibility Idographs
            (0xff00 <= u && u <= 0xffef);   // Halfwidth and Fullwidth Forms
@@ -142,17 +142,17 @@ public:
   nsresult AppendInvisibleWhitespace(uint32_t aFlags);
 
   /**
    * Feed Unicode text into the linebreaker for analysis. aLength must be
    * nonzero.
    * @param aSink can be null if the breaks are not actually needed (we may
    * still be setting up state for later breaks)
    */
-  nsresult AppendText(nsIAtom* aHyphenationLanguage, const PRUnichar* aText, uint32_t aLength,
+  nsresult AppendText(nsIAtom* aHyphenationLanguage, const char16_t* aText, uint32_t aLength,
                       uint32_t aFlags, nsILineBreakSink* aSink);
   /**
    * Feed 8-bit text into the linebreaker for analysis. aLength must be nonzero.
    * @param aSink can be null if the breaks are not actually needed (we may
    * still be setting up state for later breaks)
    */
   nsresult AppendText(nsIAtom* aHyphenationLanguage, const uint8_t* aText, uint32_t aLength,
                       uint32_t aFlags, nsILineBreakSink* aSink);
@@ -196,21 +196,21 @@ private:
   // When the current word ends, this computes the linebreak opportunities
   // *inside* the word (excluding either end) and sets them through the
   // appropriate sink(s). Then we clear the current word state.
   nsresult FlushCurrentWord();
 
   void UpdateCurrentWordLanguage(nsIAtom *aHyphenationLanguage);
 
   void FindHyphenationPoints(nsHyphenator *aHyphenator,
-                             const PRUnichar *aTextStart,
-                             const PRUnichar *aTextLimit,
+                             const char16_t *aTextStart,
+                             const char16_t *aTextLimit,
                              uint8_t *aBreakState);
 
-  nsAutoTArray<PRUnichar,100> mCurrentWord;
+  nsAutoTArray<char16_t,100> mCurrentWord;
   // All the items that contribute to mCurrentWord
   nsAutoTArray<TextItem,2>    mTextItems;
   nsIAtom*                    mCurrentWordLanguage;
   bool                        mCurrentWordContainsMixedLang;
   bool                        mCurrentWordContainsComplexChar;
 
   // True if the previous character was breakable whitespace
   bool                        mAfterBreakableSpace;
--- a/content/base/src/DOMImplementation.cpp
+++ b/content/base/src/DOMImplementation.cpp
@@ -100,17 +100,17 @@ DOMImplementation::CreateDocument(const 
                                   nsIDOMDocument** aDOMDocument)
 {
   *aDocument = nullptr;
   *aDOMDocument = nullptr;
 
   nsresult rv;
   if (!aQualifiedName.IsEmpty()) {
     const nsAFlatString& qName = PromiseFlatString(aQualifiedName);
-    const PRUnichar *colon;
+    const char16_t *colon;
     rv = nsContentUtils::CheckQName(qName, true, &colon);
     NS_ENSURE_SUCCESS(rv, rv);
 
     if (colon &&
         (DOMStringIsNull(aNamespaceURI) ||
          (Substring(qName.get(), colon).EqualsLiteral("xml") &&
           !aNamespaceURI.EqualsLiteral("http://www.w3.org/XML/1998/namespace")))) {
       return NS_ERROR_DOM_NAMESPACE_ERR;
--- a/content/base/src/DOMParser.cpp
+++ b/content/base/src/DOMParser.cpp
@@ -57,17 +57,17 @@ DOMParser::ParseFromString(const nsAStri
   rv = ParseFromString(aStr,
                        StringFromSupportedType(aType),
                        getter_AddRefs(domDocument));
   nsCOMPtr<nsIDocument> document(do_QueryInterface(domDocument));
   return document.forget();
 }
 
 NS_IMETHODIMP 
-DOMParser::ParseFromString(const PRUnichar *str, 
+DOMParser::ParseFromString(const char16_t *str, 
                            const char *contentType,
                            nsIDOMDocument **aResult)
 {
   NS_ENSURE_ARG(str);
   // Converting a string to an enum value manually is a bit of a pain,
   // so let's just use a helper that takes a content-type string.
   return ParseFromString(nsDependentString(str), contentType, aResult);
 }
--- a/content/base/src/DirectionalityUtils.cpp
+++ b/content/base/src/DirectionalityUtils.cpp
@@ -298,21 +298,21 @@ inline static bool NodeAffectsDirAutoAnc
  * first-strong algorithm defined in http://unicode.org/reports/tr9/#P2
  *
  * @param[out] aFirstStrong the offset to the first character in the string with
  *             strong directionality, or UINT32_MAX if there is none (return
                value is eDir_NotSet).
  * @return the directionality of the string
  */
 static Directionality
-GetDirectionFromText(const PRUnichar* aText, const uint32_t aLength,
+GetDirectionFromText(const char16_t* aText, const uint32_t aLength,
                      uint32_t* aFirstStrong = nullptr)
 {
-  const PRUnichar* start = aText;
-  const PRUnichar* end = aText + aLength;
+  const char16_t* start = aText;
+  const char16_t* end = aText + aLength;
 
   while (start < end) {
     uint32_t current = start - aText;
     uint32_t ch = *start++;
 
     if (NS_IS_HIGH_SURROGATE(ch) &&
         start < end &&
         NS_IS_LOW_SURROGATE(*start)) {
@@ -820,17 +820,17 @@ void SetAncestorDirectionIfAuto(nsINode*
       return;
     }
     parent = parent->GetParentElement();
   }
 }
 
 void
 SetDirectionFromChangedTextNode(nsIContent* aTextNode, uint32_t aOffset,
-                                const PRUnichar* aBuffer, uint32_t aLength,
+                                const char16_t* aBuffer, uint32_t aLength,
                                 bool aNotify)
 {
   if (!NodeAffectsDirAutoAncestor(aTextNode)) {
     nsTextNodeDirectionalityMap::EnsureMapIsClearFor(aTextNode);
     return;
   }
 
   uint32_t firstStrong;
--- a/content/base/src/Element.cpp
+++ b/content/base/src/Element.cpp
@@ -2088,18 +2088,18 @@ Element::ListAttributes(FILE* out) const
     // name
     mAttrsAndChildren.AttrNameAt(index)->GetQualifiedName(buffer);
 
     // value
     buffer.AppendLiteral("=\"");
     nsAutoString value;
     mAttrsAndChildren.AttrAt(index)->ToString(value);
     for (int i = value.Length(); i >= 0; --i) {
-      if (value[i] == PRUnichar('"'))
-        value.Insert(PRUnichar('\\'), uint32_t(i));
+      if (value[i] == char16_t('"'))
+        value.Insert(char16_t('\\'), uint32_t(i));
     }
     buffer.Append(value);
     buffer.AppendLiteral("\"");
 
     fputs(" ", out);
     fputs(NS_LossyConvertUTF16toASCII(buffer).get(), out);
   }
 }
--- a/content/base/src/EventSource.cpp
+++ b/content/base/src/EventSource.cpp
@@ -35,22 +35,22 @@
 #include "nsWrapperCacheInlines.h"
 #include "nsDOMEventTargetHelper.h"
 #include "mozilla/Attributes.h"
 #include "nsError.h"
 
 namespace mozilla {
 namespace dom {
 
-#define REPLACEMENT_CHAR     (PRUnichar)0xFFFD
-#define BOM_CHAR             (PRUnichar)0xFEFF
-#define SPACE_CHAR           (PRUnichar)0x0020
-#define CR_CHAR              (PRUnichar)0x000D
-#define LF_CHAR              (PRUnichar)0x000A
-#define COLON_CHAR           (PRUnichar)0x003A
+#define REPLACEMENT_CHAR     (char16_t)0xFFFD
+#define BOM_CHAR             (char16_t)0xFEFF
+#define SPACE_CHAR           (char16_t)0x0020
+#define CR_CHAR              (char16_t)0x000D
+#define LF_CHAR              (char16_t)0x000A
+#define COLON_CHAR           (char16_t)0x003A
 
 #define DEFAULT_BUFFER_SIZE 4096
 
 // Reconnection time related values in milliseconds. The default one is equal
 // to the default value of the pref dom.server-events.default-reconnection-time
 #define MIN_RECONNECTION_TIME_VALUE       500
 #define DEFAULT_RECONNECTION_TIME_VALUE   5000
 #define MAX_RECONNECTION_TIME_VALUE       PR_IntervalToMilliseconds(DELAY_INTERVAL_LIMIT)
@@ -294,17 +294,17 @@ EventSource::Constructor(const GlobalObj
 
 //-----------------------------------------------------------------------------
 // EventSource::nsIObserver
 //-----------------------------------------------------------------------------
 
 NS_IMETHODIMP
 EventSource::Observe(nsISupports* aSubject,
                      const char* aTopic,
-                     const PRUnichar* aData)
+                     const char16_t* aData)
 {
   if (mReadyState == CLOSED) {
     return NS_OK;
   }
 
   nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(aSubject);
   if (!GetOwner() || window != GetOwner()) {
     return NS_OK;
@@ -400,17 +400,17 @@ EventSource::StreamReaderFunc(nsIInputSt
   if (!thisObject || !aWriteCount) {
     NS_WARNING("EventSource cannot read from stream: no aClosure or aWriteCount");
     return NS_ERROR_FAILURE;
   }
 
   *aWriteCount = 0;
 
   int32_t srcCount, outCount;
-  PRUnichar out[2];
+  char16_t out[2];
   nsresult rv;
 
   const char *p = aFromRawSegment,
              *end = aFromRawSegment + aCount;
 
   do {
     srcCount = aCount - (p - aFromRawSegment);
     outCount = 2;
@@ -923,18 +923,18 @@ EventSource::SetReconnectionTimeout()
                                              nsITimer::TYPE_ONE_SHOT);
   NS_ENSURE_SUCCESS(rv, rv);
 
   return NS_OK;
 }
 
 nsresult
 EventSource::PrintErrorOnConsole(const char *aBundleURI,
-                                 const PRUnichar *aError,
-                                 const PRUnichar **aFormatStrings,
+                                 const char16_t *aError,
+                                 const char16_t **aFormatStrings,
                                  uint32_t aFormatStringsLen)
 {
   nsCOMPtr<nsIStringBundleService> bundleService =
     mozilla::services::GetStringBundleService();
   NS_ENSURE_STATE(bundleService);
 
   nsCOMPtr<nsIStringBundle> strBundle;
   nsresult rv =
@@ -978,17 +978,17 @@ EventSource::PrintErrorOnConsole(const c
 nsresult
 EventSource::ConsoleError()
 {
   nsAutoCString targetSpec;
   nsresult rv = mSrc->GetSpec(targetSpec);
   NS_ENSURE_SUCCESS(rv, rv);
 
   NS_ConvertUTF8toUTF16 specUTF16(targetSpec);
-  const PRUnichar *formatStrings[] = { specUTF16.get() };
+  const char16_t *formatStrings[] = { specUTF16.get() };
 
   if (mReadyState == CONNECTING && !mInterrupted) {
     rv = PrintErrorOnConsole("chrome://global/locale/appstrings.properties",
                              MOZ_UTF16("connectionFailure"),
                              formatStrings, ArrayLength(formatStrings));
   } else {
     rv = PrintErrorOnConsole("chrome://global/locale/appstrings.properties",
                              MOZ_UTF16("netInterrupt"),
@@ -1309,57 +1309,57 @@ EventSource::ClearFields()
 nsresult
 EventSource::SetFieldAndClear()
 {
   if (mLastFieldName.IsEmpty()) {
     mLastFieldValue.Truncate();
     return NS_OK;
   }
 
-  PRUnichar first_char;
+  char16_t first_char;
   first_char = mLastFieldName.CharAt(0);
 
   switch (first_char)  // with no case folding performed
   {
-    case PRUnichar('d'):
+    case char16_t('d'):
       if (mLastFieldName.EqualsLiteral("data")) {
         // If the field name is "data" append the field value to the data
         // buffer, then append a single U+000A LINE FEED (LF) character
         // to the data buffer.
         mCurrentMessage.mData.Append(mLastFieldValue);
         mCurrentMessage.mData.Append(LF_CHAR);
       }
       break;
 
-    case PRUnichar('e'):
+    case char16_t('e'):
       if (mLastFieldName.EqualsLiteral("event")) {
         mCurrentMessage.mEventName.Assign(mLastFieldValue);
       }
       break;
 
-    case PRUnichar('i'):
+    case char16_t('i'):
       if (mLastFieldName.EqualsLiteral("id")) {
         mCurrentMessage.mLastEventID.Assign(mLastFieldValue);
       }
       break;
 
-    case PRUnichar('r'):
+    case char16_t('r'):
       if (mLastFieldName.EqualsLiteral("retry")) {
         uint32_t newValue=0;
         uint32_t i = 0;  // we must ensure that there are only digits
         bool assign = true;
         for (i = 0; i < mLastFieldValue.Length(); ++i) {
-          if (mLastFieldValue.CharAt(i) < (PRUnichar)'0' ||
-              mLastFieldValue.CharAt(i) > (PRUnichar)'9') {
+          if (mLastFieldValue.CharAt(i) < (char16_t)'0' ||
+              mLastFieldValue.CharAt(i) > (char16_t)'9') {
             assign = false;
             break;
           }
           newValue = newValue*10 +
                      (((uint32_t)mLastFieldValue.CharAt(i))-
-                       ((uint32_t)((PRUnichar)'0')));
+                       ((uint32_t)((char16_t)'0')));
         }
 
         if (assign) {
           if (newValue < MIN_RECONNECTION_TIME_VALUE) {
             mReconnectionTime = MIN_RECONNECTION_TIME_VALUE;
           } else if (newValue > MAX_RECONNECTION_TIME_VALUE) {
             mReconnectionTime = MAX_RECONNECTION_TIME_VALUE;</