From e45706ca3acbb6530419433212becc61d5953a2d Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Sun, 11 Feb 2018 13:01:08 +0100 Subject: Un-fold browsercomps.* from libxul This resolves #16. --- browser/components/shell/nsGNOMEShellService.cpp | 23 +++++++++++----------- browser/components/shell/nsGNOMEShellService.h | 2 +- browser/components/shell/nsMacShellService.cpp | 2 +- browser/components/shell/nsWindowsShellService.cpp | 18 +++++++++-------- browser/components/shell/nsWindowsShellService.h | 2 +- 5 files changed, 24 insertions(+), 23 deletions(-) (limited to 'browser/components/shell') diff --git a/browser/components/shell/nsGNOMEShellService.cpp b/browser/components/shell/nsGNOMEShellService.cpp index f6c2613d4..1001a52ae 100644 --- a/browser/components/shell/nsGNOMEShellService.cpp +++ b/browser/components/shell/nsGNOMEShellService.cpp @@ -14,7 +14,7 @@ #include "nsDirectoryServiceDefs.h" #include "nsIPrefService.h" #include "prenv.h" -#include "nsString.h" +#include "nsStringAPI.h" #include "nsIGConfService.h" #include "nsIGIOService.h" #include "nsIGSettingsService.h" @@ -70,16 +70,16 @@ static const MimeTypeAssociation appTypes[] = { // GConf registry key constants #define DG_BACKGROUND "/desktop/gnome/background" -#define kDesktopImageKey DG_BACKGROUND "/picture_filename" -#define kDesktopOptionsKey DG_BACKGROUND "/picture_options" -#define kDesktopDrawBGKey DG_BACKGROUND "/draw_background" -#define kDesktopColorKey DG_BACKGROUND "/primary_color" +static const char kDesktopImageKey[] = DG_BACKGROUND "/picture_filename"; +static const char kDesktopOptionsKey[] = DG_BACKGROUND "/picture_options"; +static const char kDesktopDrawBGKey[] = DG_BACKGROUND "/draw_background"; +static const char kDesktopColorKey[] = DG_BACKGROUND "/primary_color"; -#define kDesktopBGSchema "org.gnome.desktop.background" -#define kDesktopImageGSKey "picture-uri" -#define kDesktopOptionGSKey "picture-options" -#define kDesktopDrawBGGSKey "draw-background" -#define kDesktopColorGSKey "primary-color" +static const char kDesktopBGSchema[] = "org.gnome.desktop.background"; +static const char kDesktopImageGSKey[] = "picture-uri"; +static const char kDesktopOptionGSKey[] = "picture-options"; +static const char kDesktopDrawBGGSKey[] = "draw-background"; +static const char kDesktopColorGSKey[] = "primary-color"; nsresult nsGNOMEShellService::Init() @@ -508,8 +508,7 @@ static void ColorToCString(uint32_t aColor, nsCString& aResult) { // The #rrrrggggbbbb format is used to match gdk_color_to_string() - aResult.SetLength(13); - char *buf = aResult.BeginWriting(); + char *buf = aResult.BeginWriting(13); if (!buf) return; diff --git a/browser/components/shell/nsGNOMEShellService.h b/browser/components/shell/nsGNOMEShellService.h index b3ef1a918..a7b003802 100644 --- a/browser/components/shell/nsGNOMEShellService.h +++ b/browser/components/shell/nsGNOMEShellService.h @@ -7,7 +7,7 @@ #define nsgnomeshellservice_h____ #include "nsIGNOMEShellService.h" -#include "nsString.h" +#include "nsStringAPI.h" #include "mozilla/Attributes.h" class nsGNOMEShellService final : public nsIGNOMEShellService diff --git a/browser/components/shell/nsMacShellService.cpp b/browser/components/shell/nsMacShellService.cpp index 48db4896b..d8d64039d 100644 --- a/browser/components/shell/nsMacShellService.cpp +++ b/browser/components/shell/nsMacShellService.cpp @@ -20,7 +20,7 @@ #include "nsIProperties.h" #include "nsServiceManagerUtils.h" #include "nsShellService.h" -#include "nsString.h" +#include "nsStringAPI.h" #include "nsIDocShell.h" #include "nsILoadContext.h" diff --git a/browser/components/shell/nsWindowsShellService.cpp b/browser/components/shell/nsWindowsShellService.cpp index 53d128cb9..6c43d95db 100644 --- a/browser/components/shell/nsWindowsShellService.cpp +++ b/browser/components/shell/nsWindowsShellService.cpp @@ -12,7 +12,6 @@ #include "nsIDOMElement.h" #include "nsIDOMHTMLImageElement.h" #include "nsIImageLoadingContent.h" -#include "nsIOutputStream.h" #include "nsIPrefService.h" #include "nsIPrefLocalizedString.h" #include "nsIServiceManager.h" @@ -466,7 +465,7 @@ nsWindowsShellService::IsDefaultBrowser(bool aStartupCheck, return NS_OK; } - res = ::RegOpenKeyExW(HKEY_CLASSES_ROOT, keyName.get(), + res = ::RegOpenKeyExW(HKEY_CLASSES_ROOT, PromiseFlatString(keyName).get(), 0, KEY_SET_VALUE, &theKey); if (REG_FAILED(res)) { // If updating the open command fails try to update it using the helper @@ -475,9 +474,10 @@ nsWindowsShellService::IsDefaultBrowser(bool aStartupCheck, return NS_OK; } + const nsString &flatValue = PromiseFlatString(valueData); res = ::RegSetValueExW(theKey, L"", 0, REG_SZ, - (const BYTE *) valueData.get(), - (valueData.Length() + 1) * sizeof(char16_t)); + (const BYTE *) flatValue.get(), + (flatValue.Length() + 1) * sizeof(char16_t)); // Close the key that was created. ::RegCloseKey(theKey); if (REG_FAILED(res)) { @@ -529,8 +529,9 @@ nsWindowsShellService::IsDefaultBrowser(bool aStartupCheck, 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. - ::SHDeleteKeyW(HKEY_CURRENT_USER, keyName.get()); - res = ::RegCreateKeyExW(HKEY_CURRENT_USER, keyName.get(), 0, nullptr, + 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)) { @@ -582,9 +583,10 @@ nsWindowsShellService::IsDefaultBrowser(bool aStartupCheck, NS_ConvertUTF8toUTF16 valueData(VAL_OPEN); valueData.Replace(offset, 9, appLongPath); + const nsString &flatValue = PromiseFlatString(valueData); res = ::RegSetValueExW(theKey, L"", 0, REG_SZ, - (const BYTE *) valueData.get(), - (valueData.Length() + 1) * sizeof(char16_t)); + (const BYTE *) flatValue.get(), + (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 diff --git a/browser/components/shell/nsWindowsShellService.h b/browser/components/shell/nsWindowsShellService.h index b9c473a15..06c6c3c9b 100644 --- a/browser/components/shell/nsWindowsShellService.h +++ b/browser/components/shell/nsWindowsShellService.h @@ -7,7 +7,7 @@ #define nswindowsshellservice_h____ #include "nscore.h" -#include "nsString.h" +#include "nsStringAPI.h" #include "nsIWindowsShellService.h" #include "nsITimer.h" -- cgit v1.2.3