summaryrefslogtreecommitdiffstats
path: root/browser/components/shell
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-02-11 13:01:08 +0100
committerwolfbeast <mcwerewolf@gmail.com>2018-02-11 13:01:08 +0100
commite45706ca3acbb6530419433212becc61d5953a2d (patch)
tree09839ca2d524b28c1cdab2349bcdbd938668f139 /browser/components/shell
parent154d68048274383cbbff5412942ada5f88c152ca (diff)
downloadUXP-e45706ca3acbb6530419433212becc61d5953a2d.tar
UXP-e45706ca3acbb6530419433212becc61d5953a2d.tar.gz
UXP-e45706ca3acbb6530419433212becc61d5953a2d.tar.lz
UXP-e45706ca3acbb6530419433212becc61d5953a2d.tar.xz
UXP-e45706ca3acbb6530419433212becc61d5953a2d.zip
Un-fold browsercomps.* from libxul
This resolves #16.
Diffstat (limited to 'browser/components/shell')
-rw-r--r--browser/components/shell/nsGNOMEShellService.cpp23
-rw-r--r--browser/components/shell/nsGNOMEShellService.h2
-rw-r--r--browser/components/shell/nsMacShellService.cpp2
-rw-r--r--browser/components/shell/nsWindowsShellService.cpp18
-rw-r--r--browser/components/shell/nsWindowsShellService.h2
5 files changed, 24 insertions, 23 deletions
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"