summaryrefslogtreecommitdiffstats
path: root/browser/components
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components')
-rw-r--r--browser/components/build/moz.build22
-rw-r--r--browser/components/customizableui/CustomizableUI.jsm14
-rw-r--r--browser/components/customizableui/CustomizableWidgets.jsm5
-rw-r--r--browser/components/dirprovider/DirectoryProvider.cpp2
-rw-r--r--browser/components/feeds/nsFeedSniffer.cpp15
-rw-r--r--browser/components/feeds/nsFeedSniffer.h2
-rw-r--r--browser/components/migration/nsIEHistoryEnumerator.cpp5
-rw-r--r--browser/components/nsBrowserGlue.js4
-rw-r--r--browser/components/preferences/in-content/preferences.xul8
-rw-r--r--browser/components/preferences/in-content/security.xul4
-rw-r--r--browser/components/shell/ShellService.jsm4
-rw-r--r--browser/components/shell/nsGNOMEShellService.cpp25
-rw-r--r--browser/components/shell/nsGNOMEShellService.h2
-rw-r--r--browser/components/shell/nsMacShellService.cpp2
-rw-r--r--browser/components/shell/nsWindowsShellService.cpp25
-rw-r--r--browser/components/shell/nsWindowsShellService.h2
-rw-r--r--browser/components/webextensions/extension-win-panel.css4
17 files changed, 68 insertions, 77 deletions
diff --git a/browser/components/build/moz.build b/browser/components/build/moz.build
index 8c99b74dd..622cf449c 100644
--- a/browser/components/build/moz.build
+++ b/browser/components/build/moz.build
@@ -12,8 +12,7 @@ SOURCES += [
'nsModule.cpp',
]
-Library('browsercomps')
-FINAL_LIBRARY = 'xul'
+XPCOMBinaryComponent('browsercomps')
LOCAL_INCLUDES += [
'../about',
@@ -22,3 +21,22 @@ LOCAL_INCLUDES += [
'../migration',
'../shell',
]
+
+if CONFIG['OS_ARCH'] == 'WINNT':
+ OS_LIBS += [
+ 'esent',
+ 'netapi32',
+ 'ole32',
+ 'shell32',
+ 'shlwapi',
+ 'version',
+ ]
+ DELAYLOAD_DLLS += [
+ 'esent.dll',
+ 'netapi32.dll',
+ ]
+
+# Mac: Need to link with CoreFoundation for Mac Migrators (PList reading code)
+# GTK2: Need to link with glib for GNOME shell service
+if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'gtk2', 'gtk3'):
+ OS_LIBS += CONFIG['TK_LIBS']
diff --git a/browser/components/customizableui/CustomizableUI.jsm b/browser/components/customizableui/CustomizableUI.jsm
index 86ff2708b..01389108d 100644
--- a/browser/components/customizableui/CustomizableUI.jsm
+++ b/browser/components/customizableui/CustomizableUI.jsm
@@ -262,24 +262,14 @@ var CustomizableUIInternal = {
defaultCollapsed: false,
}, true);
- if (AppConstants.platform != "macosx") {
+ if (AppConstants.MENUBAR_CAN_AUTOHIDE) {
this.registerArea(CustomizableUI.AREA_MENUBAR, {
legacy: true,
type: CustomizableUI.TYPE_TOOLBAR,
defaultPlacements: [
"menubar-items",
],
- get defaultCollapsed() {
- if (AppConstants.MENUBAR_CAN_AUTOHIDE) {
- if (AppConstants.platform == "linux") {
- return true;
- }
- // This is duplicated logic from /browser/base/jar.mn
- // for win6BrowserOverlay.xul.
- return AppConstants.isPlatformAndVersionAtLeast("win", 6);
- }
- return false;
- }
+ defaultCollapsed: true,
}, true);
}
diff --git a/browser/components/customizableui/CustomizableWidgets.jsm b/browser/components/customizableui/CustomizableWidgets.jsm
index 907e2e0f7..1e68b01c1 100644
--- a/browser/components/customizableui/CustomizableWidgets.jsm
+++ b/browser/components/customizableui/CustomizableWidgets.jsm
@@ -1187,10 +1187,7 @@ let preferencesButton = {
win.openPreferences();
}
};
-if (AppConstants.platform == "win") {
- preferencesButton.label = "preferences-button.labelWin";
- preferencesButton.tooltiptext = "preferences-button.tooltipWin2";
-} else if (AppConstants.platform == "macosx") {
+if (AppConstants.platform == "macosx") {
preferencesButton.tooltiptext = "preferences-button.tooltiptext.withshortcut";
preferencesButton.shortcutId = "key_preferencesCmdMac";
} else {
diff --git a/browser/components/dirprovider/DirectoryProvider.cpp b/browser/components/dirprovider/DirectoryProvider.cpp
index 7b4f81c7d..8b7c0b9e0 100644
--- a/browser/components/dirprovider/DirectoryProvider.cpp
+++ b/browser/components/dirprovider/DirectoryProvider.cpp
@@ -20,7 +20,7 @@
#include "nsDirectoryServiceUtils.h"
#include "mozilla/ModuleUtils.h"
#include "nsServiceManagerUtils.h"
-#include "nsString.h"
+#include "nsStringAPI.h"
#include "nsXULAppAPI.h"
#include "nsIPrefLocalizedString.h"
diff --git a/browser/components/feeds/nsFeedSniffer.cpp b/browser/components/feeds/nsFeedSniffer.cpp
index f2d0da776..f314d3d3b 100644
--- a/browser/components/feeds/nsFeedSniffer.cpp
+++ b/browser/components/feeds/nsFeedSniffer.cpp
@@ -185,15 +185,9 @@ IsDocumentElement(const char *start, const char* end)
static bool
ContainsTopLevelSubstring(nsACString& dataString, const char *substring)
{
- nsACString::const_iterator start, end;
- dataString.BeginReading(start);
- dataString.EndReading(end);
-
- if (!FindInReadable(nsCString(substring), start, end)){
+ int32_t offset = dataString.Find(substring);
+ if (offset == -1)
return false;
- }
-
- auto offset = start.get() - dataString.Data();
const char *begin = dataString.BeginReading();
@@ -318,10 +312,9 @@ nsFeedSniffer::GetMIMETypeFromContent(nsIRequest* request,
// RSS 1.0
if (!isFeed) {
- bool foundNS_RDF = FindInReadable(NS_LITERAL_CSTRING(NS_RDF), dataString);
- bool foundNS_RSS = FindInReadable(NS_LITERAL_CSTRING(NS_RSS), dataString);
isFeed = ContainsTopLevelSubstring(dataString, "<rdf:RDF") &&
- foundNS_RDF && foundNS_RSS;
+ dataString.Find(NS_RDF) != -1 &&
+ dataString.Find(NS_RSS) != -1;
}
// If we sniffed a feed, coerce our internal type
diff --git a/browser/components/feeds/nsFeedSniffer.h b/browser/components/feeds/nsFeedSniffer.h
index b7ac002bd..a0eb9862c 100644
--- a/browser/components/feeds/nsFeedSniffer.h
+++ b/browser/components/feeds/nsFeedSniffer.h
@@ -6,7 +6,7 @@
#include "nsIContentSniffer.h"
#include "nsIStreamListener.h"
-#include "nsString.h"
+#include "nsStringAPI.h"
#include "mozilla/Attributes.h"
class nsFeedSniffer final : public nsIContentSniffer,
diff --git a/browser/components/migration/nsIEHistoryEnumerator.cpp b/browser/components/migration/nsIEHistoryEnumerator.cpp
index 116e9a860..0b377d27e 100644
--- a/browser/components/migration/nsIEHistoryEnumerator.cpp
+++ b/browser/components/migration/nsIEHistoryEnumerator.cpp
@@ -9,10 +9,9 @@
#include "nsArrayEnumerator.h"
#include "nsCOMArray.h"
-#include "nsIURI.h"
#include "nsIVariant.h"
#include "nsNetUtil.h"
-#include "nsString.h"
+#include "nsStringAPI.h"
#include "nsWindowsMigrationUtils.h"
#include "prtime.h"
@@ -23,7 +22,7 @@ NS_IMPL_ISUPPORTS(nsIEHistoryEnumerator, nsISimpleEnumerator)
nsIEHistoryEnumerator::nsIEHistoryEnumerator()
{
- ::CoInitialize(nullptr);
+ ::CoInitialize(nullptr);
}
nsIEHistoryEnumerator::~nsIEHistoryEnumerator()
diff --git a/browser/components/nsBrowserGlue.js b/browser/components/nsBrowserGlue.js
index d69a11f6b..f97c173a0 100644
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -64,6 +64,7 @@ XPCOMUtils.defineLazyServiceGetter(this, "AlertsService", "@mozilla.org/alerts-s
["Task", "resource://gre/modules/Task.jsm"],
["UITour", "resource:///modules/UITour.jsm"],
["URLBarZoom", "resource:///modules/URLBarZoom.jsm"],
+ ["UserAgentOverrides", "resource://gre/modules/UserAgentOverrides.jsm"],
["WebChannel", "resource://gre/modules/WebChannel.jsm"],
["WindowsRegistry", "resource://gre/modules/WindowsRegistry.jsm"],
["webrtcUI", "resource:///modules/webrtcUI.jsm"],
@@ -662,6 +663,8 @@ BrowserGlue.prototype = {
}
} catch (ex) { /* missing any of the prefs is not critical */ }
+ UserAgentOverrides.init();
+
PageThumbs.init();
webrtcUI.init();
AboutHome.init();
@@ -1042,6 +1045,7 @@ BrowserGlue.prototype = {
BrowserUsageTelemetry.uninit();
SelfSupportBackend.uninit();
+ UserAgentOverrides.uninit();
PageThumbs.uninit();
NewTabMessages.uninit();
AboutNewTab.uninit();
diff --git a/browser/components/preferences/in-content/preferences.xul b/browser/components/preferences/in-content/preferences.xul
index e9664eaf4..7ec7ef119 100644
--- a/browser/components/preferences/in-content/preferences.xul
+++ b/browser/components/preferences/in-content/preferences.xul
@@ -55,18 +55,10 @@
%advancedDTD;
]>
-#ifdef XP_WIN
-#define USE_WIN_TITLE_STYLE
-#endif
-
<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
disablefastfind="true"
-#ifdef USE_WIN_TITLE_STYLE
- title="&prefWindow.titleWin;">
-#else
title="&prefWindow.title;">
-#endif
<html:link rel="shortcut icon"
href="chrome://browser/skin/preferences/in-content/favicon.ico"/>
diff --git a/browser/components/preferences/in-content/security.xul b/browser/components/preferences/in-content/security.xul
index a10576c25..b7bdb9361 100644
--- a/browser/components/preferences/in-content/security.xul
+++ b/browser/components/preferences/in-content/security.xul
@@ -45,6 +45,7 @@
<!-- Passwords -->
<preference id="signon.rememberSignons" name="signon.rememberSignons" type="bool"/>
+ <preference id="signon.autofillForms" name="signon.autofillForms" type="bool"/>
</preferences>
@@ -103,6 +104,9 @@
accesskey="&passwordExceptions.accesskey;"
preference="pref.privacy.disable_button.view_passwords_exceptions"/>
</hbox>
+ <checkbox id="autofillPasswords" flex="1"
+ label="&autofillPasswords.label;" accesskey="&autofillPasswords.accesskey;"
+ preference="signon.autofillForms"/>
<grid id="passwordGrid">
<columns>
<column flex="1"/>
diff --git a/browser/components/shell/ShellService.jsm b/browser/components/shell/ShellService.jsm
index 2a3400b60..cc225eae0 100644
--- a/browser/components/shell/ShellService.jsm
+++ b/browser/components/shell/ShellService.jsm
@@ -62,10 +62,10 @@ let ShellServiceInternal = {
if (AppConstants.platform == "win") {
let optOutValue = WindowsRegistry.readRegKey(Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER,
- "Software\\Mozilla\\Firefox",
+ "Software\\Mozilla\\Basilisk",
"DefaultBrowserOptOut");
WindowsRegistry.removeRegKey(Ci.nsIWindowsRegKey.ROOT_KEY_CURRENT_USER,
- "Software\\Mozilla\\Firefox",
+ "Software\\Mozilla\\Basilisk",
"DefaultBrowserOptOut");
if (optOutValue == "True") {
Services.prefs.setBoolPref("browser.shell.checkDefaultBrowser", false);
diff --git a/browser/components/shell/nsGNOMEShellService.cpp b/browser/components/shell/nsGNOMEShellService.cpp
index f6c2613d4..613b5bffc 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()
@@ -451,7 +451,7 @@ nsGNOMEShellService::SetDesktopBackground(nsIDOMElement* aElement,
// Set the image to an empty string first to force a refresh
// (since we could be writing a new image on top of an existing
- // Firefox_wallpaper.png and nautilus doesn't monitor the file for changes)
+ // Basilisk_wallpaper.png and nautilus doesn't monitor the file for changes)
gconf->SetString(NS_LITERAL_CSTRING(kDesktopImageKey),
EmptyCString());
@@ -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..879b0c7f0 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"
@@ -136,7 +135,7 @@ OpenKeyForReading(HKEY aKeyRoot, const nsAString& aKeyName, HKEY* aKey)
// The following keys are set to make Basilisk appear in the Start Menu as the
// browser:
//
-// HKCU\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\
+// HKCU\SOFTWARE\Clients\StartMenuInternet\BASILISK.EXE\
// (default) REG_SZ <appname>
// DefaultIcon (default) REG_SZ <apppath>,0
// InstallInfo HideIconsCommand REG_SZ <uninstpath> /HideShortcuts
@@ -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
@@ -646,11 +648,6 @@ nsWindowsShellService::LaunchControlPanelDefaultsSelectionUI()
nsresult
nsWindowsShellService::LaunchControlPanelDefaultPrograms()
{
- // This Default Programs feature is Win7+ only.
- if (!IsWin7OrLater()) {
- return NS_ERROR_FAILURE;
- }
-
// Build the path control.exe path safely
WCHAR controlEXEPath[MAX_PATH + 1] = { '\0' };
if (!GetSystemDirectoryW(controlEXEPath, MAX_PATH)) {
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"
diff --git a/browser/components/webextensions/extension-win-panel.css b/browser/components/webextensions/extension-win-panel.css
index ddafe3ea5..9da6da14c 100644
--- a/browser/components/webextensions/extension-win-panel.css
+++ b/browser/components/webextensions/extension-win-panel.css
@@ -1,6 +1,4 @@
-@media (-moz-os-version: windows-xp),
- (-moz-os-version: windows-vista),
- (-moz-os-version: windows-win7) {
+@media (-moz-os-version: windows-win7) {
body {
border-radius: 4px;
}