diff options
-rw-r--r-- | application/basilisk/installer/package-manifest.in | 7 | ||||
-rw-r--r-- | application/palemoon/installer/package-manifest.in | 7 | ||||
-rw-r--r-- | dom/base/Location.cpp | 31 | ||||
-rw-r--r-- | toolkit/library/dummydll/dummydll.cpp | 17 | ||||
-rw-r--r-- | toolkit/library/dummydll/moz.build | 19 | ||||
-rw-r--r-- | toolkit/library/moz.build | 3 |
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 += [ |