summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/basilisk/installer/package-manifest.in7
-rw-r--r--application/palemoon/installer/package-manifest.in7
-rw-r--r--dom/base/Location.cpp31
-rw-r--r--toolkit/library/dummydll/dummydll.cpp17
-rw-r--r--toolkit/library/dummydll/moz.build19
-rw-r--r--toolkit/library/moz.build3
6 files changed, 29 insertions, 55 deletions
diff --git a/application/basilisk/installer/package-manifest.in b/application/basilisk/installer/package-manifest.in
index 35060ea5e..485bc4917 100644
--- a/application/basilisk/installer/package-manifest.in
+++ b/application/basilisk/installer/package-manifest.in
@@ -140,13 +140,6 @@
@RESPATH@/run-mozilla.sh
#endif
#endif
-#ifdef XP_WIN
-#ifdef _AMD64_
-@BINPATH@/@DLL_PREFIX@qipcap64@DLL_SUFFIX@
-#else
-@BINPATH@/@DLL_PREFIX@qipcap@DLL_SUFFIX@
-#endif
-#endif
; [Components]
#ifdef MOZ_ARTIFACT_BUILDS
diff --git a/application/palemoon/installer/package-manifest.in b/application/palemoon/installer/package-manifest.in
index 656e60cb7..a218a3487 100644
--- a/application/palemoon/installer/package-manifest.in
+++ b/application/palemoon/installer/package-manifest.in
@@ -141,13 +141,6 @@
@RESPATH@/run-mozilla.sh
#endif
#endif
-#ifdef XP_WIN
-#ifdef _AMD64_
-@BINPATH@/@DLL_PREFIX@qipcap64@DLL_SUFFIX@
-#else
-@BINPATH@/@DLL_PREFIX@qipcap@DLL_SUFFIX@
-#endif
-#endif
; [Components]
@RESPATH@/components/*
diff --git a/dom/base/Location.cpp b/dom/base/Location.cpp
index 7b3722f09..e312cffe0 100644
--- a/dom/base/Location.cpp
+++ b/dom/base/Location.cpp
@@ -33,6 +33,7 @@
#include "nsCycleCollectionParticipant.h"
#include "nsNullPrincipal.h"
#include "ScriptSettings.h"
+#include "mozilla/Unused.h"
#include "mozilla/dom/LocationBinding.h"
namespace mozilla {
@@ -716,9 +717,15 @@ Location::SetProtocol(const nsAString& aProtocol)
return rv;
}
- rv = uri->SetScheme(NS_ConvertUTF16toUTF8(aProtocol));
+ nsAString::const_iterator start, end;
+ aProtocol.BeginReading(start);
+ aProtocol.EndReading(end);
+ nsAString::const_iterator iter(start);
+ Unused << FindCharInReadable(':', iter, end);
+
+ rv = uri->SetScheme(NS_ConvertUTF16toUTF8(Substring(start, iter)));
if (NS_WARN_IF(NS_FAILED(rv))) {
- return rv;
+ return NS_ERROR_DOM_SYNTAX_ERR;
}
nsAutoCString newSpec;
rv = uri->GetSpec(newSpec);
@@ -728,8 +735,28 @@ Location::SetProtocol(const nsAString& aProtocol)
// We may want a new URI class for the new URI, so recreate it:
rv = NS_NewURI(getter_AddRefs(uri), newSpec);
if (NS_FAILED(rv)) {
+ if (rv == NS_ERROR_MALFORMED_URI) {
+ rv = NS_ERROR_DOM_SYNTAX_ERR;
+ }
return rv;
}
+
+ bool isHttp;
+ rv = uri->SchemeIs("http", &isHttp);
+ if (NS_WARN_IF(NS_FAILED(rv))) {
+ return rv;
+ }
+
+ bool isHttps;
+ rv = uri->SchemeIs("https", &isHttps);
+ if (NS_WARN_IF(NS_FAILED(rv))) {
+ return rv;
+ }
+
+ if (!isHttp && !isHttps) {
+ // No-op, per spec.
+ return NS_OK;
+ }
return SetURI(uri);
}
diff --git a/toolkit/library/dummydll/dummydll.cpp b/toolkit/library/dummydll/dummydll.cpp
deleted file mode 100644
index 5e1c04bd3..000000000
--- a/toolkit/library/dummydll/dummydll.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include <windows.h>
-
-BOOL WINAPI DllMain(
- HANDLE hModule,
- DWORD dwReason,
- LPVOID lpvReserved
-)
-{
- if (dwReason == DLL_PROCESS_ATTACH) {
- ::DisableThreadLibraryCalls((HMODULE)hModule);
- }
- return TRUE;
-}
diff --git a/toolkit/library/dummydll/moz.build b/toolkit/library/dummydll/moz.build
deleted file mode 100644
index 01a0ddba8..000000000
--- a/toolkit/library/dummydll/moz.build
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# Bug 1294650 - populate our install with a shim dll to work around a
-# 3rd party code injection crash.
-
-SOURCES += [
- 'dummydll.cpp',
-]
-
-if CONFIG['CPU_ARCH'] == 'x86_64':
- GeckoSharedLibrary('qipcap64')
-else:
- GeckoSharedLibrary('qipcap')
-
-NO_VISIBILITY_FLAGS = True
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
index 624f8f54d..5191b5a21 100644
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -106,9 +106,6 @@ if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
DIRS += ['gtest']
-if CONFIG['OS_ARCH'] == 'WINNT':
- DIRS += ['dummydll']
-
# js needs to come after xul for now, because it is an archive and its content
# is discarded when it comes first.
USE_LIBS += [