--- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in
@@ -140,17 +140,16 @@ XPC_IDISPATCH_SUPPORT = @XPC_IDISPATCH_S
NS_ENABLE_TSF = @NS_ENABLE_TSF@
MOZ_SPELLCHECK = @MOZ_SPELLCHECK@
MOZ_PROFILELOCKING = @MOZ_PROFILELOCKING@
MOZ_FEEDS = @MOZ_FEEDS@
MOZ_TOOLKIT_SEARCH = @MOZ_TOOLKIT_SEARCH@
MOZ_PLACES = @MOZ_PLACES@
MOZ_STORAGE = @MOZ_STORAGE@
MOZ_SAFE_BROWSING = @MOZ_SAFE_BROWSING@
-MOZ_FASTSTART = @MOZ_FASTSTART@
MOZ_URL_CLASSIFIER = @MOZ_URL_CLASSIFIER@
MOZ_ZIPWRITER = @MOZ_ZIPWRITER@
MOZ_MORK = @MOZ_MORK@
MOZ_MORKREADER = @MOZ_MORKREADER@
MOZ_NO_FAST_LOAD = @MOZ_NO_FAST_LOAD@
MOZ_OGG = @MOZ_OGG@
MOZ_RAW = @MOZ_RAW@
MOZ_SYDNEYAUDIO = @MOZ_SYDNEYAUDIO@
--- a/configure.in
+++ b/configure.in
@@ -4797,17 +4797,16 @@ MOZ_PANGO=1
MOZ_PERMISSIONS=1
MOZ_PLACES=1
MOZ_PREF_EXTENSIONS=1
MOZ_PROFILELOCKING=1
MOZ_PSM=1
MOZ_RDF=1
MOZ_REFLOW_PERF=
MOZ_SAFE_BROWSING=
-MOZ_FASTSTART=
MOZ_HELP_VIEWER=
MOZ_SPELLCHECK=1
MOZ_SPLASHSCREEN=
MOZ_STORAGE=1
MOZ_SVG=1
MOZ_THUMB2=
MOZ_TIMELINE=
MOZ_TOOLKIT_SEARCH=1
@@ -6767,28 +6766,16 @@ MOZ_ARG_ENABLE_BOOL(safe-browsing,
MOZ_SAFE_BROWSING=1,
MOZ_SAFE_BROWSING= )
if test -n "$MOZ_SAFE_BROWSING"; then
AC_DEFINE(MOZ_SAFE_BROWSING)
fi
AC_SUBST(MOZ_SAFE_BROWSING)
dnl ========================================================
-dnl = Enable faststart component
-dnl ========================================================
-MOZ_ARG_ENABLE_BOOL(faststart,
-[ --enable-faststart Enable the faststart component],
- MOZ_FASTSTART=1,
- MOZ_FASTSTART= )
-if test -n "$MOZ_FASTSTART"; then
- AC_DEFINE(MOZ_FASTSTART)
-fi
-AC_SUBST(MOZ_FASTSTART)
-
-dnl ========================================================
dnl = Enable url-classifier
dnl ========================================================
dnl Implicitly enabled by default if building with safe-browsing
if test -n "$MOZ_SAFE_BROWSING"; then
MOZ_URL_CLASSIFIER=1
fi
MOZ_ARG_ENABLE_BOOL(url-classifier,
[ --enable-url-classifier Enable url classifier module],
--- a/mobile/app/Makefile.in
+++ b/mobile/app/Makefile.in
@@ -130,17 +130,16 @@ ifeq (http,$(patsubst http%,http,$(SOURC
DEFINES += -DMOZ_SOURCE_REPO="$(SOURCE_REPO)"
endif
ifeq ($(OS_ARCH),WINNT)
REDIT_PATH = $(LIBXUL_DIST)/bin
endif
APP_BINARY = $(MOZ_APP_NAME)$(BIN_SUFFIX)
-APP_BINARY_FASTSTART = $(MOZ_APP_NAME)faststart$(BIN_SUFFIX)
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
APP_NAME = $(MOZ_APP_DISPLAYNAME)
APP_VERSION = $(MOZ_APP_VERSION)
ifdef MOZ_DEBUG
APP_NAME := $(APP_NAME)Debug
@@ -178,20 +177,16 @@ endif
printf "APPLMOZB" > $(DIST)/$(APP_NAME).app/Contents/PkgInfo
else # MOZ_WIDGET_TOOLKIT != cocoa
libs::
ifdef LIBXUL_SDK
cp $(LIBXUL_DIST)/bin/xulrunner-stub$(BIN_SUFFIX) $(DIST)/bin/$(APP_BINARY)
endif
-ifdef MOZ_FASTSTART
-ifdef _MSC_VER
-endif
-endif
ifndef SKIP_COPY_XULRUNNER
ifdef LIBXUL_SDK
$(NSINSTALL) -D $(DIST)/bin/xulrunner
(cd $(LIBXUL_SDK)/bin && tar $(TAR_CREATE_FLAGS) - .) | (cd $(DIST)/bin/xulrunner && tar -xf -)
endif
endif # SKIP_COPY_XULRUNNER
$(NSINSTALL) -D $(DIST)/bin/chrome/icons/default
--- a/toolkit/Makefile.in
+++ b/toolkit/Makefile.in
@@ -58,23 +58,16 @@ PARALLEL_DIRS = \
mozapps/update \
mozapps/xpinstall \
obsolete \
profile \
spatial-navigation \
themes \
$(NULL)
-ifeq ($(OS_ARCH),WINCE)
-ifdef WINCE_WINDOWS_MOBILE
-DIRS += mozapps/readstrings
-DIRS += mozapps/installer/wince
-endif
-endif
-
ifneq (,$(filter gtk2 qt,$(MOZ_WIDGET_TOOLKIT)))
PARALLEL_DIRS += system/unixproxy
endif
ifneq (,$(filter cocoa,$(MOZ_WIDGET_TOOLKIT)))
PARALLEL_DIRS += system/osxproxy
endif
--- a/toolkit/components/Makefile.in
+++ b/toolkit/components/Makefile.in
@@ -115,20 +115,16 @@ PARALLEL_DIRS += \
intl \
$(NULL)
endif
ifdef MOZ_URL_CLASSIFIER
PARALLEL_DIRS += url-classifier
endif
-ifdef MOZ_FASTSTART
-PARALLEL_DIRS += faststart
-endif
-
DIRS += \
build \
$(NULL)
EXTRA_PP_COMPONENTS = nsDefaultCLH.js
EXTRA_COMPONENTS = nsDefaultCLH.manifest
include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/alerts/resources/content/alert.js
+++ b/toolkit/components/alerts/resources/content/alert.js
@@ -137,52 +137,46 @@ function onAlertLoad()
sizeToContent();
// Work around a bug where sizeToContent() leaves a border outside of the content
var contentDim = document.getElementById("alertBox").boxObject;
if (window.innerWidth == contentDim.width + 1)
--window.innerWidth;
-#ifndef WINCE
// Start with a 1px width/height, because 0 causes trouble with gtk1/2
gCurrentSize = 1;
// Determine final size
if (gOrigin & NS_ALERT_HORIZONTAL)
{
gFinalSize = window.outerWidth;
window.outerWidth = gCurrentSize;
}
else
{
gFinalSize = window.outerHeight;
window.outerHeight = gCurrentSize;
}
-#endif
// Determine position
var x = gOrigin & NS_ALERT_LEFT ? screen.availLeft :
screen.availLeft + screen.availWidth - window.outerWidth;
var y = gOrigin & NS_ALERT_TOP ? screen.availTop :
screen.availTop + screen.availHeight - window.outerHeight;
// Offset the alert by 10 pixels from the edge of the screen
if (gOrigin & NS_ALERT_HORIZONTAL)
y += gOrigin & NS_ALERT_TOP ? 10 : -10;
else
x += gOrigin & NS_ALERT_LEFT ? 10 : -10;
window.moveTo(x, y);
-#ifndef WINCE
setTimeout(animateAlert, gSlideTime);
-#else
- setTimeout(closeAlert, gOpenTime);
-#endif
}
function animate(step)
{
gCurrentSize += step;
if (gOrigin & NS_ALERT_HORIZONTAL)
{
--- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -64,17 +64,17 @@
#include "nsDownloadManager.h"
#include "nsNetUtil.h"
#include "mozStorageCID.h"
#include "nsDocShellCID.h"
#include "nsEmbedCID.h"
#include "nsToolkitCompsCID.h"
-#if defined(XP_WIN) && !defined(WINCE)
+#ifdef XP_WIN
#include <shlobj.h>
#ifdef DOWNLOAD_SCANNER
#include "nsDownloadScanner.h"
#endif
#endif
#ifdef XP_MACOSX
#include <CoreFoundation/CoreFoundation.h>
@@ -1134,17 +1134,17 @@ nsDownloadManager::GetDefaultDownloadsDi
mBundle->GetStringFromName(NS_LITERAL_STRING("downloadsFolder").get(),
getter_Copies(folderName));
#if defined (XP_MACOSX)
rv = dirService->Get(NS_OSX_DEFAULT_DOWNLOAD_DIR,
NS_GET_IID(nsILocalFile),
getter_AddRefs(downloadDir));
NS_ENSURE_SUCCESS(rv, rv);
-#elif defined(XP_WIN) && !defined(WINCE)
+#elif defined(XP_WIN)
rv = dirService->Get(NS_WIN_DEFAULT_DOWNLOAD_DIR,
NS_GET_IID(nsILocalFile),
getter_AddRefs(downloadDir));
NS_ENSURE_SUCCESS(rv, rv);
// Check the os version
nsCOMPtr<nsIPropertyBag2> infoService =
do_GetService(NS_SYSTEMINFO_CONTRACTID, &rv);
@@ -2238,17 +2238,17 @@ nsDownload::SetState(DownloadState aStat
alerts->ShowAlertNotification(
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
message, !removeWhenDone, EmptyString(), mDownloadManager,
EmptyString());
}
}
}
-#if (defined(XP_WIN) && !defined(WINCE)) || defined(XP_MACOSX) || defined(ANDROID)
+#if defined(XP_WIN) || defined(XP_MACOSX) || defined(ANDROID)
nsCOMPtr<nsIFileURL> fileURL = do_QueryInterface(mTarget);
nsCOMPtr<nsIFile> file;
nsAutoString path;
if (fileURL &&
NS_SUCCEEDED(fileURL->GetFile(getter_AddRefs(file))) &&
file &&
NS_SUCCEEDED(file->GetPath(path))) {
deleted file mode 100644
--- a/toolkit/components/faststart/FastStartup.js
+++ /dev/null
@@ -1,210 +0,0 @@
-/* -*- Mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FastStartup.js
- *
- * The Initial Developer of the Original Code is Mozilla Foundation.
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Vladimir Vukicevic <vladimir@pobox.com>
- * Brian Crowder <crowder@fiverocks.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-const Cr = Components.results;
-const Cu = Components.utils;
-
-const Timer = Components.Constructor("@mozilla.org/timer;1", "nsITimer", "initWithCallback");
-
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-
-const RESTART_ENV_VAR = "FASTSTART_INITIATED_RESTART";
-
-function setenv(key, value) {
- let env = Cc["@mozilla.org/process/environment;1"].
- getService(Components.interfaces.nsIEnvironment);
- env.set(key, value);
-}
-
-function getenv(key) {
- let env = Cc["@mozilla.org/process/environment;1"].
- getService(Components.interfaces.nsIEnvironment);
- return env.get(key);
-}
-
-function nsFastStartupObserver() {
- let _browserWindowCount = 0;
- let _memCleanupTimer;
- let _restartTimer;
- let _isShuttingDown;
-
- function stopMemoryCleanup() {
- if (_memCleanupTimer) {
- _memCleanupTimer.cancel();
- _memCleanupTimer = null;
- }
-
- if (_restartTimer) {
- _restartTimer.cancel();
- _restartTimer = null;
- }
- }
-
- function scheduleMemoryCleanup() {
- if (_isShuttingDown)
- return;
-
- stopMemoryCleanup();
-
- function restart() {
- setenv(RESTART_ENV_VAR, "1");
- setenv("NO_SPLASH", "1");
- let appstartup = Cc["@mozilla.org/toolkit/app-startup;1"].
- getService(Ci.nsIAppStartup);
- appstartup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);
-
- _restartTimer = null;
- }
-
- function memoryCleanup() {
- var os = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
-
- // Do this 3 times, because of a comment in TestGtkEmbed that says this
- // gives the cycle collector the best chance at purging things.
- os.notifyObservers(null, "memory-pressure", "heap-minimize");
- os.notifyObservers(null, "memory-pressure", "heap-minimize");
- os.notifyObservers(null, "memory-pressure", "heap-minimize");
-
- _memCleanupTimer = null;
- }
-
- // wait 30s until firing off the memory cleanup, in case the user
- // opens another window right away
- _memCleanupTimer = new Timer(memoryCleanup, 30000, Ci.nsITimer.TYPE_ONE_SHOT);
-
- // Also, begin a countdown to restart the stub in 15 minutes
- _restartTimer = new Timer(restart, 60000 * 15, Ci.nsITimer.TYPE_ONE_SHOT);
- }
-
- //
- // nsIObserver
- //
- this.observe = function observe(subject, topic, data) {
- var win = subject;
-
- // XXX the window at this point won't actually have its document loaded --
- // win.document.documentURI will pretty much always be about:blank. We need
- // to attach a load handler to actually figure out which document gets loaded.
- if (topic == "domwindowopened") {
- stopMemoryCleanup();
- _browserWindowCount++;
- } else if (topic == "domwindowclosed") {
- if (_browserWindowCount > 0)
- _browserWindowCount--;
- if (_browserWindowCount == 0) {
- scheduleMemoryCleanup();
- let prefservice = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService);
- prefservice.savePrefFile(null);
- }
- } else if (topic == "quit-application-granted") {
- stopMemoryCleanup();
- _isShuttingDown = true;
- let appstartup = Cc["@mozilla.org/toolkit/app-startup;1"].
- getService(Ci.nsIAppStartup);
- appstartup.exitLastWindowClosingSurvivalArea();
- }
- }
-
- /*
- * QueryInterface
- * We expect the WindowWatcher service to retain a strong reference to us, so supporting
- * weak references is fine.
- */
- this.QueryInterface = XPCOMUtils.generateQI([Ci.nsIObserver, Ci.nsISupportsWeakReference]);
-}
-
-function nsFastStartupCLH() { }
-
-nsFastStartupCLH.prototype = {
- //
- // nsICommandLineHandler
- //
- handle: function fs_handle(cmdLine) {
- // the rest of this only handles -faststart here
-
- if (cmdLine.handleFlag("shutdown-faststart", false)) {
- cmdLine.preventDefault = true;
- // Shutdown this service
- let appstartup = Cc["@mozilla.org/toolkit/app-startup;1"].getService(Ci.nsIAppStartup);
- appstartup.quit(Ci.nsIAppStartup.eAttemptQuit);
- return;
- }
-
- if (cmdLine.handleFlag("faststart-hidden", false) || (getenv(RESTART_ENV_VAR) == "1"))
- cmdLine.preventDefault = true;
-
- try {
- // did we already initialize faststart? if so,
- // nothing to do here.
- if (this.inited)
- return;
-
- this.inited = true;
-
- // Clear this environment variable for subsequent runs
- setenv(RESTART_ENV_VAR, "0");
-
- let fsobs = new nsFastStartupObserver();
- let wwatch = Cc["@mozilla.org/embedcomp/window-watcher;1"].
- getService(Ci.nsIWindowWatcher);
- wwatch.registerNotification(fsobs);
-
- let obsService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
- obsService.addObserver(fsobs, "quit-application-granted", true);
-
- let appstartup = Cc["@mozilla.org/toolkit/app-startup;1"].
- getService(Ci.nsIAppStartup);
- appstartup.enterLastWindowClosingSurvivalArea();
- } catch (e) {
- Cu.reportError(e);
- }
- },
-
- helpInfo: " -faststart-hidden Start the FastStart service\n" +
- " -shutdown-faststart Shutdown the FastStart service\n",
-
- // QI
- QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]),
-
- // XPCOMUtils factory
- classID: Components.ID("{580c6c51-f690-4ce1-9ecc-b678e0c031c7}"),
-};
-
-var NSGetFactory = XPCOMUtils.generateNSGetFactory([nsFastStartupCLH]);
deleted file mode 100644
--- a/toolkit/components/faststart/FastStartup.manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-component {580c6c51-f690-4ce1-9ecc-b678e0c031c7} FastStartup.js
-contract @mozilla.org/browser/faststart;1 {580c6c51-f690-4ce1-9ecc-b678e0c031c7}
-category command-line-handler 00-faststart @mozilla.org/browser/faststart;1
deleted file mode 100644
--- a/toolkit/components/faststart/Makefile.in
+++ /dev/null
@@ -1,63 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Mozilla Browser code.
-#
-# The Initial Developer of the Original Code is the Mozilla Foundation.
-# Portions created by the Initial Developer are Copyright (C) 2009
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-# Vladimir Vukicevic <vladimir@pobox.com>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH = ../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-DEFINES += -DMOZ_NO_MOZALLOC
-
-EXTRA_PP_COMPONENTS = \
- FastStartup.js \
- FastStartup.manifest \
- $(NULL)
-
-ifdef _MSC_VER
-ifdef WINCE
-CPPSRCS = \
- faststartstub.cpp \
- $(NULL)
-
-SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX)) \
-
-WIN32_EXE_LDFLAGS += -ENTRY:WinMainCRTStartup
-endif
-endif
-
-include $(topsrcdir)/config/rules.mk
deleted file mode 100644
--- a/toolkit/components/faststart/faststartstub.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <windows.h>
-#include <stdlib.h>
-#include <tchar.h>
-#include <stdio.h>
-
-int WINAPI
-WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPTSTR lpCmdLine,
- int nCmdShow)
-{
- PROCESS_INFORMATION pi;
- STARTUPINFOW si = { 0 };
- wchar_t modfilename[MAX_PATH];
- wchar_t execname[MAX_PATH];
- wchar_t args[MAX_PATH];
- wcscpy(args, L"-nosplash -faststart-hidden");
-
- HMODULE mod = GetModuleHandle(NULL);
- GetModuleFileNameW(mod, modfilename, sizeof(modfilename)/sizeof(modfilename[0]));
- wchar_t *chomp = wcsstr(modfilename, L"faststart.exe");
- if (!chomp) {
- MessageBoxW(NULL, L"Couldn't figure out how to run the faststart service!", L"Faststart Fail", MB_OK);
- return 0;
- }
-
- size_t len = chomp - modfilename;
- wcsncpy(execname, modfilename, len);
- execname[len] = 0;
- wcscat(execname, L".exe");
-
- BOOL ok = CreateProcessW(execname, args, NULL, NULL, FALSE, 0,
- NULL, NULL, &si, &pi);
- if (!ok) {
- MessageBoxW(NULL, L"Couldn't figure out how to run the faststart service!", L"Faststart Fail", MB_OK);
- return 0;
- }
- return 0;
-}
--- a/toolkit/components/startup/Makefile.in
+++ b/toolkit/components/startup/Makefile.in
@@ -50,17 +50,17 @@ LIBXUL_LIBRARY = 1
CPPSRCS = \
nsAppStartup.cpp \
$(NULL)
ifeq (os2,$(MOZ_WIDGET_TOOLKIT))
CPPSRCS += nsUserInfoOS2.cpp
else
-ifeq (,$(filter-out WINCE WINNT,$(OS_ARCH)))
+ifeq ($(OS_ARCH),WINNT)
CPPSRCS += nsUserInfoWin.cpp
else
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
CMMSRCS += nsUserInfoMac.mm
else
CPPSRCS += nsUserInfoUnix.cpp
endif
endif
--- a/toolkit/components/startup/nsUserInfoWin.cpp
+++ b/toolkit/components/startup/nsUserInfoWin.cpp
@@ -51,29 +51,27 @@ nsUserInfo::~nsUserInfo()
{
}
NS_IMPL_ISUPPORTS1(nsUserInfo,nsIUserInfo)
NS_IMETHODIMP
nsUserInfo::GetUsername(char **aUsername)
{
-#ifndef WINCE
*aUsername = nsnull;
PRUnichar username[256];
DWORD size = 256;
if (!GetUserNameW(username, &size))
return NS_ERROR_FAILURE;
*aUsername = ToNewUTF8String(nsDependentString(username));
- if (*aUsername) return NS_OK;
-#endif
- return NS_ERROR_FAILURE;
+
+ return (*aUsername) ? NS_OK : NS_ERROR_FAILURE;
}
NS_IMETHODIMP
nsUserInfo::GetFullname(PRUnichar **aFullname)
{
*aFullname = nsnull;
return NS_ERROR_NOT_IMPLEMENTED;
}
--- a/toolkit/content/license.html
+++ b/toolkit/content/license.html
@@ -3612,17 +3612,17 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
<hr>
<h1><a name="other-notices"></a>Other Required Notices</h1>
<ul>
<li>This software is based in part on the work of the Independent
JPEG Group.</li>
- <li>Portions of the OS/2, Windows Mobile and Android versions
+ <li>Portions of the OS/2 and Android versions
of this software are copyright ©1996-2010
<a href="http://www.freetype.org/">The FreeType Project</a>.
All rights reserved.</li>
</ul>
<hr>
--- a/toolkit/library/Makefile.in
+++ b/toolkit/library/Makefile.in
@@ -65,20 +65,16 @@ endif
VPATH += $(topsrcdir)/build/
CPPSRCS += $(STDCXX_COMPAT)
ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_)
CPPSRCS += dlldeps-xul.cpp
endif
-ifeq ($(OS_ARCH),WINCE)
-CPPSRCS += dlldeps-xul.cpp
-endif
-
ifeq ($(OS_ARCH),OS2)
CPPSRCS += dlldeps-xul.cpp
endif
ifneq (,$(MOZ_ENABLE_GTK2))
DEFINES += -DMOZ_ENABLE_GTK2
endif
@@ -125,17 +121,17 @@ CPPSRCS += \
$(NULL)
GARBAGE += \
$(RDF_UTIL_SRC_LCPPSRCS) \
$(NULL)
endif
endif
-ifneq (,$(filter OS2 WINCE WINNT,$(OS_ARCH)))
+ifneq (,$(filter OS2 WINNT,$(OS_ARCH)))
SDK_LIBRARY = $(IMPORT_LIBRARY)
else
SDK_LIBRARY = $(SHARED_LIBRARY)
endif
EXTRA_DSO_LDOPTS += $(LIBS_DIR) $(EXTRA_DSO_LIBS)
ifndef MOZ_ENABLE_LIBXUL
@@ -222,23 +218,16 @@ ifeq ($(OS_ARCH),WINNT)
OS_LIBS += $(call EXPAND_LIBNAME,shell32 ole32 uuid version winspool comdlg32 imm32 winmm wsock32 msimg32 shlwapi psapi ws2_32 dbghelp)
ifneq (,$(MOZ_DEBUG)$(NS_TRACE_MALLOC))
OS_LIBS += $(call EXPAND_LIBNAME,imagehlp)
endif
ifdef MOZ_CRASHREPORTER
OS_LIBS += $(call EXPAND_LIBNAME,wininet)
endif
endif # WINNT
-ifeq ($(OS_ARCH),WINCE)
-OS_LIBS += $(call EXPAND_LIBNAME, aygshell uuid ole32 oleaut32 Ws2 ddraw)
-OS_LIBS += $(call EXPAND_LIBNAME, ceosutil libcmt comsuppw)
-ifdef WINCE_WINDOWS_MOBILE
-OS_LIBS += $(call EXPAND_LIBNAME, cellcore)
-endif
-endif
ifdef MOZ_JPROF
EXTRA_DSO_LDOPTS += -ljprof
endif
ifdef MOZ_ENABLE_QT
EXTRA_DSO_LDOPTS += $(MOZ_QT_LDFLAGS) $(XEXT_LIBS)
endif
--- a/toolkit/library/libxul-config.mk
+++ b/toolkit/library/libxul-config.mk
@@ -36,17 +36,17 @@
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
CPPSRCS += \
nsStaticXULComponents.cpp \
$(NULL)
-ifeq (,$(filter-out WINCE WINNT,$(OS_ARCH)))
+ifeq ($(OS_ARCH),WINNT)
REQUIRES += widget gfx
CPPSRCS += \
nsDllMain.cpp \
$(NULL)
endif
ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_)
CPPSRCS += \
@@ -110,23 +110,18 @@ ifneq (Android,$(OS_TARGET))
OS_LIBS += -lrt
endif
endif
STATIC_LIBS += \
xpcom_core \
ucvutil_s \
chromium_s \
- $(NULL)
-
-ifndef WINCE
-STATIC_LIBS += \
mozreg_s \
$(NULL)
-endif
# component libraries
COMPONENT_LIBS += \
necko \
uconv \
i18n \
chardet \
jar$(VERSION_NUMBER) \
--- a/toolkit/library/libxul-rules.mk
+++ b/toolkit/library/libxul-rules.mk
@@ -50,19 +50,17 @@ DEFINES += \
-D_IMPL_NS_STRINGAPI \
-DEXPORT_XPT_API \
-DEXPORT_XPTC_API \
-D_IMPL_NS_GFX \
-D_IMPL_NS_WIDGET \
$(NULL)
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
-ifneq ($(OS_ARCH),WINCE)
OS_LIBS += $(call EXPAND_LIBNAME,usp10 oleaut32)
endif
-endif
export:: dlldeps.cpp
dlldeps.cpp: $(topsrcdir)/xpcom/build/dlldeps.cpp
$(INSTALL) $^ .
GARBAGE += dlldeps.cpp
--- a/toolkit/library/nsDllMain.cpp
+++ b/toolkit/library/nsDllMain.cpp
@@ -41,21 +41,17 @@
#include "nsToolkit.h"
#if defined(__GNUC__)
// If DllMain gets name mangled, it won't be seen.
extern "C" {
#endif
BOOL APIENTRY DllMain(
-#ifdef WINCE
- HANDLE hModule,
-#else
HINSTANCE hModule,
-#endif
DWORD reason,
LPVOID lpReserved )
{
switch( reason ) {
case DLL_PROCESS_ATTACH:
nsToolkit::Startup((HINSTANCE)hModule);
break;
--- a/toolkit/locales/l10n.mk
+++ b/toolkit/locales/l10n.mk
@@ -150,20 +150,16 @@ repackage-zip: libs-$(AB_CD)
ifneq (en,$(AB))
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
mv $(_ABS_DIST)/l10n-stage/$(MOZ_PKG_DIR)/$(_APPNAME)/Contents/Resources/en.lproj $(_ABS_DIST)/l10n-stage/$(MOZ_PKG_DIR)/$(_APPNAME)/Contents/Resources/$(AB).lproj
endif
endif
$(NSINSTALL) -D $(DIST)/l10n-stage/$(PKG_PATH)
cd $(DIST)/l10n-stage; \
$(MAKE_PACKAGE)
-ifeq (WINCE,$(OS_ARCH))
- cd $(DIST)/l10n-stage; \
- $(MAKE_CAB)
-endif
ifdef MAKE_COMPLETE_MAR
$(MAKE) -C $(MOZDEPTH)/tools/update-packaging full-update AB_CD=$(AB_CD) \
MOZ_PKG_PRETTYNAMES=$(MOZ_PKG_PRETTYNAMES) \
PACKAGE_BASE_DIR="$(_ABS_DIST)/l10n-stage" \
DIST="$(_ABS_DIST)"
endif
# packaging done, undo l10n stuff
ifneq (en,$(AB))
@@ -172,19 +168,16 @@ ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
endif
endif
ifdef MOZ_OMNIJAR
@(cd $(STAGEDIST) && $(UNPACK_OMNIJAR))
endif
$(MAKE) clobber-zip AB_CD=$(AB_CD)
$(NSINSTALL) -D $(DIST)/$(PKG_PATH)
mv -f "$(DIST)/l10n-stage/$(PACKAGE)" "$(ZIP_OUT)"
-ifeq (WINCE,$(OS_ARCH))
- mv -f "$(DIST)/l10n-stage/$(PKG_BASENAME).cab" "$(DIST)/$(PKG_PATH)$(PKG_BASENAME).cab"
-endif
repackage-zip-%: $(STAGEDIST)
@$(MAKE) repackage-zip AB_CD=$* ZIP_IN="$(ZIP_IN)"
APP_DEFINES = $(firstword $(wildcard $(LOCALE_SRCDIR)/defines.inc) \
$(srcdir)/en-US/defines.inc)
TK_DEFINES = $(firstword \
$(wildcard $(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/defines.inc) \
--- a/toolkit/mozapps/downloads/content/downloads.js
+++ b/toolkit/mozapps/downloads/content/downloads.js
@@ -290,29 +290,27 @@ function openDownload(aDownload)
var dontAsk = false;
var pref = Cc["@mozilla.org/preferences-service;1"].
getService(Ci.nsIPrefBranch);
try {
dontAsk = !pref.getBoolPref(PREF_BDM_ALERTONEXEOPEN);
} catch (e) { }
#ifdef XP_WIN
-#ifndef WINCE
// On Vista and above, we rely on native security prompting for
// downloaded content unless it's disabled.
try {
var sysInfo = Cc["@mozilla.org/system-info;1"].
getService(Ci.nsIPropertyBag2);
if (parseFloat(sysInfo.getProperty("version")) >= 6 &&
pref.getBoolPref(PREF_BDM_SCANWHENDONE)) {
dontAsk = true;
}
} catch (ex) { }
#endif
-#endif
if (!dontAsk) {
var strings = document.getElementById("downloadStrings");
var name = aDownload.getAttribute("target");
var message = strings.getFormattedString("fileExecutableSecurityWarning", [name, name]);
let title = gStr.fileExecutableSecurityWarningTitle;
let dontAsk = gStr.fileExecutableSecurityWarningDontAsk;
@@ -487,22 +485,20 @@ function Startup()
if (e.keyCode == e.DOM_VK_ESCAPE) {
// Move focus to the list instead of closing the window
gDownloadsView.focus();
e.preventDefault();
}
}, false);
#ifdef XP_WIN
-#ifndef WINCE
let tempScope = {};
Cu.import("resource://gre/modules/DownloadTaskbarProgress.jsm", tempScope);
tempScope.DownloadTaskbarProgress.onDownloadWindowLoad(window);
#endif
-#endif
}
function Shutdown()
{
gDownloadManager.removeListener(gDownloadListener);
let obs = Cc["@mozilla.org/observer-service;1"].
getService(Ci.nsIObserverService);
--- a/toolkit/mozapps/installer/packager.mk
+++ b/toolkit/mozapps/installer/packager.mk
@@ -42,17 +42,17 @@
include $(MOZILLA_DIR)/toolkit/mozapps/installer/package-name.mk
# This is how we create the binary packages we release to the public.
ifndef MOZ_PKG_FORMAT
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
MOZ_PKG_FORMAT = DMG
else
-ifeq (,$(filter-out OS2 WINNT WINCE, $(OS_ARCH)))
+ifeq (,$(filter-out OS2 WINNT, $(OS_ARCH)))
MOZ_PKG_FORMAT = ZIP
else
ifeq (,$(filter-out SunOS, $(OS_ARCH)))
MOZ_PKG_FORMAT = BZ2
else
ifeq (,$(filter-out gtk2 qt, $(MOZ_WIDGET_TOOLKIT)))
MOZ_PKG_FORMAT = BZ2
else
@@ -62,48 +62,34 @@ else
MOZ_PKG_FORMAT = TGZ
endif
endif
endif
endif
endif
endif # MOZ_PKG_FORMAT
-ifneq (,$(filter WINNT WINCE,$(OS_ARCH)))
+ifeq ($(OS_ARCH),WINNT)
INSTALLER_DIR = windows
endif
PACKAGE = $(PKG_PATH)$(PKG_BASENAME)$(PKG_SUFFIX)
# By default, the SDK uses the same packaging type as the main bundle,
# but on mac it is a .tar.bz2
SDK_PATH = $(PKG_PATH)
ifeq ($(MOZ_APP_NAME),xulrunner)
SDK_PATH = sdk/
endif
SDK_SUFFIX = $(PKG_SUFFIX)
SDK = $(SDK_PATH)$(PKG_BASENAME).sdk$(SDK_SUFFIX)
MAKE_PACKAGE = $(error What is a $(MOZ_PKG_FORMAT) package format?);
-MAKE_CAB = $(error Don't know how to make a CAB!);
_ABS_DIST = $(call core_abspath,$(DIST))
-ifdef WINCE
-ifndef WINCE_WINDOWS_MOBILE
-CABARGS += -s
-endif
-ifdef MOZ_FASTSTART
-CABARGS += -faststart
-endif
-VSINSTALLDIR ?= $(error VSINSTALLDIR not set, must be set to the Visual Studio install directory)
-MAKE_CAB = $(PYTHON) $(MOZILLA_DIR)/build/package/wince/make_wince_cab.py \
- $(CABARGS) "$(VSINSTALLDIR)/SmartDevices/SDK/SDKTools/cabwiz.exe" \
- "$(MOZ_PKG_DIR)" "$(MOZ_APP_DISPLAYNAME)" "$(PKG_PATH)$(PKG_BASENAME).cab"
-endif
-
CREATE_FINAL_TAR = $(TAR) -c --owner=0 --group=0 --numeric-owner \
--mode="go-w" -f
UNPACK_TAR = tar -xf-
ifeq ($(MOZ_PKG_FORMAT),TAR)
PKG_SUFFIX = .tar
INNER_MAKE_PACKAGE = $(CREATE_FINAL_TAR) - $(MOZ_PKG_DIR) > $(PACKAGE)
INNER_UNMAKE_PACKAGE = $(UNPACK_TAR) < $(UNPACKAGE)
@@ -122,21 +108,16 @@ INNER_UNMAKE_PACKAGE = bunzip2 -c $(UNPA
MAKE_SDK = $(CREATE_FINAL_TAR) - $(MOZ_APP_NAME)-sdk | bzip2 -vf > $(SDK)
endif
ifeq ($(MOZ_PKG_FORMAT),ZIP)
PKG_SUFFIX = .zip
INNER_MAKE_PACKAGE = $(ZIP) -r9D $(PACKAGE) $(MOZ_PKG_DIR)
INNER_UNMAKE_PACKAGE = $(UNZIP) $(UNPACKAGE)
MAKE_SDK = $(ZIP) -r9D $(SDK) $(MOZ_APP_NAME)-sdk
endif
-ifeq ($(MOZ_PKG_FORMAT),CAB)
-PKG_SUFFIX = .cab
-INNER_MAKE_PACKAGE = $(MAKE_CAB)
-INNER_UNMAKE_PACKAGE = $(error Unpacking CAB files is not supported)
-endif
ifeq ($(MOZ_PKG_FORMAT),SFX7Z)
PKG_SUFFIX = .exe
INNER_MAKE_PACKAGE = rm -f app.7z && \
mv $(MOZ_PKG_DIR) core && \
$(CYGWIN_WRAPPER) 7z a -r -t7z app.7z -mx -m0=BCJ2 -m1=LZMA:d24 \
-m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 && \
mv core $(MOZ_PKG_DIR) && \
cat $(SFX_HEADER) app.7z > $(PACKAGE) && \
@@ -530,17 +511,17 @@ GARBAGE += $(DIST)/$(PACKAGE) $(PACKAGE
ifeq ($(OS_ARCH),IRIX)
STRIP_FLAGS = -f
endif
ifeq ($(OS_ARCH),OS2)
STRIP = $(MOZILLA_DIR)/toolkit/mozapps/installer/os2/strip.cmd
endif
-ifneq (,$(filter WINNT WINCE OS2,$(OS_ARCH)))
+ifneq (,$(filter WINNT OS2,$(OS_ARCH)))
PKGCP_OS = dos
else
PKGCP_OS = unix
endif
# The following target stages files into two directories: one directory for
# core files, and one for optional extensions based on the information in
# the MOZ_PKG_MANIFEST file and the following vars:
@@ -693,17 +674,17 @@ make-sourcestamp-file::
# The install target will install the application to prefix/lib/appname-version
# In addition if INSTALL_SDK is set, it will install the development headers,
# libraries, and IDL files as follows:
# dist/include -> prefix/include/appname-version
# dist/idl -> prefix/share/idl/appname-version
# dist/sdk/lib -> prefix/lib/appname-devel-version/lib
# prefix/lib/appname-devel-version/* symlinks to the above directories
install:: stage-package
-ifneq (,$(filter WINNT WINCE,$(OS_ARCH)))
+ifeq ($(OS_ARCH),WINNT)
$(error "make install" is not supported on this platform. Use "make package" instead.)
endif
ifeq (bundle,$(MOZ_FS_LAYOUT))
$(error "make install" is not supported on this platform. Use "make package" instead.)
endif
ifdef MOZ_OMNIJAR
cd $(DIST)/$(STAGEPATH)$(MOZ_PKG_DIR)$(_BINPATH) && $(PACK_OMNIJAR)
endif
@@ -757,19 +738,16 @@ make-sdk:
(cd $(DIST)/sdk/lib && tar $(TAR_CREATE_FLAGS) - .) | \
(cd $(DIST)/$(MOZ_APP_NAME)-sdk/lib && tar -xf -)
$(NSINSTALL) -D $(DIST)/$(SDK_PATH)
cd $(DIST) && $(MAKE_SDK)
ifeq ($(OS_TARGET), WINNT)
INSTALLER_PACKAGE = $(DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
endif
-ifeq ($(OS_TARGET), WINCE)
-INSTALLER_PACKAGE = $(DIST)/$(PKG_PATH)$(PKG_BASENAME).cab
-endif
# These are necessary because some of our packages/installers contain spaces
# in their filenames and GNU Make's $(wildcard) function doesn't properly
# deal with them.
empty :=
space = $(empty) $(empty)
QUOTED_WILDCARD = $(if $(wildcard $(subst $(space),?,$(1))),"$(1)")
ESCAPE_SPACE = $(subst $(space),\$(space),$(1))
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/Makefile.in
+++ /dev/null
@@ -1,76 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is Fennec Installer for WinCE.
-#
-# The Initial Developer of the Original Code is The Mozilla Foundation.
-#
-# Portions created by the Initial Developer are Copyright (C) 2009
-# the Mozilla Foundation <http://www.mozilla.org/>. All Rights Reserved.
-#
-# Contributor(s):
-# Alex Pakhotin <alexp@mozilla.com> (original author)
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH = ../../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-export NO_SHUNT = 1
-USE_STATIC_LIBS = 1
-
-PROGRAM = xulrunner-stub-installer.sfx
-
-REQUIRES = lib7z
-
-CPPSRCS = \
- nsInstaller.cpp \
- nsInstallerDlg.cpp \
- nsArchiveExtractor.cpp \
- ns7zipExtractor.cpp \
- nsSetupStrings.cpp \
- $(NULL)
-
-LOCAL_INCLUDES += -I$(srcdir)/../../readstrings
-
-RCINCLUDE = nsInstallerppc.rc
-
-DEFINES += -D_UNICODE
-
-LIBS += $(DEPTH)/toolkit/mozapps/readstrings/$(LIB_PREFIX)readstrings.$(LIB_SUFFIX) \
- $(DIST)/lib/7z.lib \
- $(NULL)
-
-OS_LIBS += aygshell.lib commctrl.lib note_prj.lib oleaut32.lib ole32.lib libcmt.lib coredll.lib corelibc.lib
-
-WIN32_EXE_LDFLAGS += -ENTRY:WinMain
-
-DIRS += uninstall
-
-include $(topsrcdir)/config/rules.mk
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/ns7zipExtractor.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "wtypes.h"
-#include "nsArchiveExtractor.h"
-#include "ns7zipExtractor.h"
-#include "7zLib.h"
-
-static nsExtractorProgress *g_pProgress = NULL;
-
-static void ExtractProgressCallback(int nPercentComplete)
-{
- if (g_pProgress)
- {
- g_pProgress->Progress(nPercentComplete);
- }
-}
-
-static void ShowError()
-{
- MessageBoxW(GetForegroundWindow(), GetExtractorError(), L"Extractor", MB_OK|MB_ICONERROR);
-}
-
-ns7zipExtractor::ns7zipExtractor(const WCHAR *sArchiveName, DWORD dwSfxStubSize, nsExtractorProgress *pProgress) :
- nsArchiveExtractor(sArchiveName, dwSfxStubSize, pProgress)
-{
- g_pProgress = pProgress;
-}
-
-ns7zipExtractor::~ns7zipExtractor()
-{
- g_pProgress = NULL;
-}
-
-int ns7zipExtractor::Extract(const WCHAR *sDestinationDir)
-{
- int res = SzExtractSfx(m_sArchiveName, m_dwSfxStubSize, NULL, sDestinationDir, ExtractProgressCallback);
- if (res != 0)
- ShowError();
- return res;
-}
-
-int ns7zipExtractor::ExtractFile(const WCHAR *sFileName, const WCHAR *sDestinationDir)
-{
- int res = SzExtractSfx(m_sArchiveName, m_dwSfxStubSize, sFileName, sDestinationDir, NULL);
- if (res != 0)
- ShowError();
- return res;
-}
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/ns7zipExtractor.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#pragma once
-
-#include "nsArchiveExtractor.h"
-
-class ns7zipExtractor : public nsArchiveExtractor
-{
-public:
- ns7zipExtractor(const WCHAR *sArchiveName, DWORD dwSfxStubSize, nsExtractorProgress *pProgress);
- virtual ~ns7zipExtractor();
-
- virtual int Extract(const WCHAR *sDestinationDir);
- virtual int ExtractFile(const WCHAR *sFileName, const WCHAR *sDestinationDir);
-};
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsArchiveExtractor.cpp
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "wtypes.h"
-#include "nsArchiveExtractor.h"
-
-nsArchiveExtractor::nsArchiveExtractor(const WCHAR *sArchiveName, DWORD dwSfxStubSize, nsExtractorProgress *pProgress) :
- m_sArchiveName(NULL), m_pProgress(pProgress), m_dwSfxStubSize(dwSfxStubSize)
-{
- if (sArchiveName)
- m_sArchiveName = wcsdup(sArchiveName);
-}
-
-nsArchiveExtractor::~nsArchiveExtractor()
-{
- free(m_sArchiveName);
-}
-
-int nsArchiveExtractor::Extract(const WCHAR *sDestinationDir)
-{
- return OK;
-}
-
-int nsArchiveExtractor::ExtractFile(const WCHAR *sFileName, const WCHAR *sDestinationDir)
-{
- return OK;
-}
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsArchiveExtractor.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#pragma once
-
-/**
- * Class to show the progress
- */
-class nsExtractorProgress
-{
-public:
- nsExtractorProgress() {}
- virtual void Progress(int nPercentComplete) = 0; /* to be overriden to get progress notifications */
-};
-
-/**
- * Base archive-extractor class.
- * Used to derive a specific archive format implementation.
- */
-class nsArchiveExtractor
-{
-public:
- enum
- {
- OK = 0,
- ERR_FAIL = -1,
- ERR_PARAM = -2,
- ERR_READ = -3,
- ERR_WRITE = -4,
- ERR_MEM = -5,
- ERR_NO_ARCHIVE = -6,
- ERR_EXTRACTION = -7,
- };
-
- nsArchiveExtractor(const WCHAR *sArchiveName, DWORD dwSfxStubSize, nsExtractorProgress *pProgress);
- virtual ~nsArchiveExtractor();
-
- virtual int Extract(const WCHAR *sDestinationDir);
- virtual int ExtractFile(const WCHAR *sFileName, const WCHAR *sDestinationDir);
-
-protected:
- WCHAR *m_sArchiveName;
- nsExtractorProgress *m_pProgress;
- DWORD m_dwSfxStubSize;
-};
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsInstaller.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/**
- *
- * nsInstaller.cpp : Mozilla Fennec Installer
- *
- */
-
-#include <windows.h>
-#include <DeviceResolutionAware.h>
-#include "nsSetupStrings.h"
-#include "nsInstaller.h"
-#include "ns7zipExtractor.h"
-#include "nsInstallerDlg.h"
-
-const WCHAR c_sStringsFile[] = L"setup.ini";
-
-// Global Variables:
-nsSetupStrings Strings;
-
-HINSTANCE g_hInst;
-WCHAR g_sSourcePath[MAX_PATH];
-WCHAR g_sExeFullFileName[MAX_PATH];
-WCHAR g_sExeFileName[MAX_PATH];
-DWORD g_dwExeSize;
-
-// Forward declarations of functions included in this code module:
-BOOL InitInstance(HINSTANCE, int);
-DWORD GetExeSize();
-BOOL PostExtract();
-BOOL LoadStrings();
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// WinMain
-//
-///////////////////////////////////////////////////////////////////////////////
-int WINAPI WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPTSTR lpCmdLine,
- int nCmdShow)
-{
- int nResult = -1;
-
- if (!InitInstance(hInstance, nCmdShow))
- return nResult;
-
- nsInstallerDlg::GetInstance()->Init(g_hInst);
- nResult = nsInstallerDlg::GetInstance()->DoModal();
-
- return nResult;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// InitInstance
-//
-///////////////////////////////////////////////////////////////////////////////
-BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
-{
- g_hInst = hInstance;
-
- InitCommonControls();
-
- g_sExeFileName[0] = L'\0';
- if (GetModuleFileName(NULL, g_sExeFullFileName, MAX_PATH) == 0)
- return FALSE;
-
- wcscpy(g_sSourcePath, g_sExeFullFileName);
- WCHAR *sSlash = wcsrchr(g_sSourcePath, L'\\');
- wcscpy(g_sExeFileName, sSlash + 1);
- *sSlash = L'\0'; // cut the file name
-
- g_dwExeSize = GetExeSize();
-
- return LoadStrings();
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// GetExeSize
-//
-///////////////////////////////////////////////////////////////////////////////
-
-DWORD AbsoluteSeek(HANDLE, DWORD);
-void ReadBytes(HANDLE, LPVOID, DWORD);
-
-DWORD GetExeSize()
-{
- DWORD dwSize = 0;
- HANDLE hImage;
-
- DWORD dwSectionOffset;
- DWORD dwCoffHeaderOffset;
- DWORD moreDosHeader[16];
-
- ULONG NTSignature;
-
- IMAGE_DOS_HEADER image_dos_header;
- IMAGE_FILE_HEADER image_file_header;
- IMAGE_OPTIONAL_HEADER image_optional_header;
- IMAGE_SECTION_HEADER image_section_header;
-
- // Open the EXE file.
- hImage = CreateFile(g_sExeFullFileName, GENERIC_READ, FILE_SHARE_READ, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
-
- if (INVALID_HANDLE_VALUE == hImage)
- {
- ErrorMsg(L"Could not open the EXE");
- return 0;
- }
-
- // Read the MS-DOS image header.
- ReadBytes(hImage, &image_dos_header, sizeof(image_dos_header));
-
- if (IMAGE_DOS_SIGNATURE != image_dos_header.e_magic)
- {
- ErrorMsg(L"Unknown file format.");
- return 0;
- }
-
- // Read more MS-DOS header.
- ReadBytes(hImage, moreDosHeader, sizeof(moreDosHeader));
-
- // Get actual COFF header.
- dwCoffHeaderOffset = AbsoluteSeek(hImage, image_dos_header.e_lfanew) + sizeof(ULONG);
-
- ReadBytes (hImage, &NTSignature, sizeof(NTSignature));
-
- if (IMAGE_NT_SIGNATURE != NTSignature)
- {
- ErrorMsg(L"Missing NT signature. Unknown file type.");
- return 0;
- }
-
- dwSectionOffset = dwCoffHeaderOffset + IMAGE_SIZEOF_FILE_HEADER + IMAGE_SIZEOF_NT_OPTIONAL_HEADER;
-
- ReadBytes(hImage, &image_file_header, IMAGE_SIZEOF_FILE_HEADER);
-
- // Read optional header.
- ReadBytes(hImage, &image_optional_header, IMAGE_SIZEOF_NT_OPTIONAL_HEADER);
-
- WORD nNumSections = image_file_header.NumberOfSections;
-
- for (WORD i = 0; i < nNumSections; i++)
- {
- ReadBytes(hImage, &image_section_header, sizeof(IMAGE_SECTION_HEADER));
-
- DWORD dwRawData = image_section_header.PointerToRawData + image_section_header.SizeOfRawData;
- if (dwRawData > dwSize)
- dwSize = dwRawData;
- }
-
- CloseHandle(hImage);
-
- return dwSize;
-}
-
-DWORD AbsoluteSeek(HANDLE hFile, DWORD offset)
-{
- DWORD newOffset;
-
- if ((newOffset = SetFilePointer(hFile, offset, NULL, FILE_BEGIN)) == 0xFFFFFFFF)
- ErrorMsg(L"SetFilePointer failed");
-
- return newOffset;
-}
-
-void ReadBytes(HANDLE hFile, LPVOID buffer, DWORD size)
-{
- DWORD bytes;
-
- if (!ReadFile(hFile, buffer, size, &bytes, NULL))
- ErrorMsg(L"ReadFile failed");
- else if (size != bytes)
- ErrorMsg(L"Read the wrong number of bytes");
-}
-
-//////////////////////////////////////////////////////////////////////////
-//
-// Read strings resource from the attached archive
-//
-//////////////////////////////////////////////////////////////////////////
-BOOL LoadStrings()
-{
- WCHAR *sExtractPath = L"\\Temp\\";
- WCHAR sExtractedStringsFile[MAX_PATH];
- _snwprintf(sExtractedStringsFile, MAX_PATH, L"%s%s", sExtractPath, c_sStringsFile);
-
- ns7zipExtractor archiveExtractor(g_sExeFullFileName, g_dwExeSize, NULL);
-
- int nResult = archiveExtractor.ExtractFile(c_sStringsFile, sExtractPath);
-
- if (nResult != 0)
- return FALSE;
-
- BOOL bResult = Strings.LoadStrings(sExtractedStringsFile);
- DeleteFile(sExtractedStringsFile);
-
- return bResult;
-}
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsInstaller.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#pragma once
-#include "resourceppc.h"
-
-extern nsSetupStrings Strings;
-extern const WCHAR c_sStringsFile[];
-
-extern WCHAR g_sSourcePath[MAX_PATH];
-extern WCHAR g_sExeFileName[MAX_PATH];
-extern WCHAR g_sExeFullFileName[MAX_PATH];
-extern DWORD g_dwExeSize;
-
-#define ErrorMsg(msg) MessageBoxW(GetForegroundWindow(), msg, L"Setup", MB_OK|MB_ICONERROR)
-bool ConvertToChar(const WCHAR *wstr, char *str);
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsInstallerDlg.cpp
+++ /dev/null
@@ -1,524 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/**
- *
- * nsInstallerDlg.cpp : Mozilla Fennec Installer UI.
- *
- */
-
-#include <windows.h>
-#include <projects.h>
-#include <aygshell.h>
-
-#include "nsSetupStrings.h"
-#include "nsInstaller.h"
-#include "ns7zipExtractor.h"
-#include "nsInstallerDlg.h"
-
-#define WM_DIALOGCREATED (WM_USER + 1)
-
-const WCHAR c_sInstallPathTemplate[] = L"%s\\%s";
-const WCHAR c_sExtractCardPathTemplate[] = L"\\%s%s\\%s";
-const WCHAR c_sAppRegKeyTemplate[] = L"Software\\Mozilla\\%s";
-const WCHAR c_sFastStartTemplate[] = L"%s\\%sfaststart.exe";
-
-// Message handler for the dialog
-BOOL CALLBACK DlgMain(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
- return nsInstallerDlg::GetInstance()->DlgMain(hDlg, message, wParam, lParam);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// nsInstallerDlg dialog
-//
-///////////////////////////////////////////////////////////////////////////////
-
-nsInstallerDlg::nsInstallerDlg()
-{
- m_hInst = NULL;
- m_hDlg = NULL;
- m_bFastStart = FALSE;
- m_sExtractPath[0] = 0;
- m_sInstallPath[0] = 0;
- m_sProgramFiles[0] = 0;
- m_sErrorMsg[0] = 0;
-}
-
-nsInstallerDlg* nsInstallerDlg::GetInstance()
-{
- static nsInstallerDlg dlg;
- return &dlg;
-}
-
-void nsInstallerDlg::Init(HINSTANCE hInst)
-{
- m_hInst = hInst;
-}
-
-int nsInstallerDlg::DoModal()
-{
- return (int)DialogBox(m_hInst, (LPCTSTR)IDD_MAIN, 0, ::DlgMain);
-}
-
-BOOL CALLBACK nsInstallerDlg::DlgMain(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
- switch (message)
- {
- case WM_INITDIALOG:
- return OnInitDialog(hDlg, wParam, lParam);
-
- case WM_DIALOGCREATED:
- return OnDialogCreated(hDlg);
-
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case IDOK:
- case IDCANCEL:
- EndDialog(hDlg, LOWORD(wParam));
- return TRUE;
-
- case IDC_BTN_INSTALL:
- if (OnBtnExtract())
- EndDialog(hDlg, IDOK);
- return TRUE;
- }
- break;
-
- case WM_CLOSE:
- EndDialog(hDlg, message);
- return TRUE;
- }
- return FALSE;
-}
-
-BOOL nsInstallerDlg::OnInitDialog(HWND hDlg, WPARAM wParam, LPARAM lParam)
-{
- // Create a Done button and size it.
- SHINITDLGINFO shidi;
- shidi.dwMask = SHIDIM_FLAGS;
- shidi.dwFlags = SHIDIF_DONEBUTTON | SHIDIF_SIPDOWN | SHIDIF_SIZEDLGFULLSCREEN | SHIDIF_EMPTYMENU;
- shidi.hDlg = hDlg;
- SHInitDialog(&shidi);
-
- m_hDlg = hDlg;
-
- SetWindowText(m_hDlg, Strings.GetString(StrID_WindowCaption));
- SetControlWindowText(IDC_STATIC_TITLE, Strings.GetString(StrID_WindowCaption));
- SetControlWindowText(IDC_STATIC_INSTALL, Strings.GetString(StrID_InstallTo));
- SetControlWindowText(IDC_BTN_INSTALL, Strings.GetString(StrID_Install));
- SetControlWindowText(IDCANCEL, Strings.GetString(StrID_Cancel));
-
- if (!SHGetSpecialFolderPath(m_hDlg, m_sProgramFiles, CSIDL_PROGRAM_FILES, FALSE))
- wcscpy(m_sProgramFiles, L"\\Program Files");
-
- _snwprintf(m_sInstallPath, MAX_PATH, c_sInstallPathTemplate,
- m_sProgramFiles, Strings.GetString(StrID_AppShortName));
-
- SendMessageToControl(IDC_CMB_PATH, CB_ADDSTRING, 0, (LPARAM)(m_sInstallPath));
- FindMemCards();
- SendMessageToControl(IDC_CMB_PATH, CB_SETCURSEL, 0, 0);
-
- EnableWindow(GetDlgItem(m_hDlg, IDC_BTN_INSTALL), FALSE);
-
- PostMessage(m_hDlg, WM_DIALOGCREATED, 0, 0);
-
- return TRUE;
-}
-
-void nsInstallerDlg::FindMemCards()
-{
- WIN32_FIND_DATA fd;
- HANDLE hFlashCard = FindFirstFlashCard(&fd);
- if (hFlashCard != INVALID_HANDLE_VALUE)
- {
- WCHAR sPath[MAX_PATH];
- do
- {
- if (wcslen(fd.cFileName) > 0)
- {
- _snwprintf(sPath, MAX_PATH, c_sExtractCardPathTemplate,
- fd.cFileName, m_sProgramFiles, Strings.GetString(StrID_AppShortName));
- SendMessageToControl(IDC_CMB_PATH, CB_ADDSTRING, 0, (LPARAM)(sPath));
- }
- } while(FindNextFlashCard(hFlashCard, &fd) && *fd.cFileName);
- }
-}
-
-BOOL nsInstallerDlg::OnDialogCreated(HWND hDlg)
-{
- BOOL bUninstallCancelled = FALSE;
- if (RunUninstall(&bUninstallCancelled) && bUninstallCancelled)
- {
- // Cancel installation
- PostMessage(hDlg, WM_CLOSE, 0, 0);
- }
- else
- EnableWindow(GetDlgItem(m_hDlg, IDC_BTN_INSTALL), TRUE);
-
- return TRUE;
-}
-
-BOOL nsInstallerDlg::OnBtnExtract()
-{
- BOOL bResult = FALSE;
-
- EnableWindow(GetDlgItem(m_hDlg, IDC_BTN_INSTALL), FALSE);
- EnableWindow(GetDlgItem(m_hDlg, IDCANCEL), FALSE);
-
- int nPathIndex = SendMessageToControl(IDC_CMB_PATH, CB_GETCURSEL, 0, 0);
- if (nPathIndex >= 0)
- SendMessageToControl(IDC_CMB_PATH, CB_GETLBTEXT, nPathIndex, (LPARAM)(m_sInstallPath));
-
- wcscpy(m_sExtractPath, m_sInstallPath);
-
- // Remove the last directory ("Fennec") from the path as it is already in the archive
- WCHAR *sSlash = wcsrchr(m_sExtractPath, L'\\');
- if (sSlash)
- *sSlash = 0;
-
- ns7zipExtractor archiveExtractor(g_sExeFullFileName, g_dwExeSize, this);
-
- SendMessageToControl(IDC_PROGRESS, PBM_SETRANGE, 0, (LPARAM) MAKELPARAM (0, 100)); // progress in percents
- SendMessageToControl(IDC_PROGRESS, PBM_SETPOS, 0, 0);
-
- int nResult = archiveExtractor.Extract(m_sExtractPath);
- if (nResult == 0)
- {
- Progress(100); // 100%
- bResult = PostExtract();
- }
-
- EnableWindow(GetDlgItem(m_hDlg, IDC_BTN_INSTALL), TRUE);
- EnableWindow(GetDlgItem(m_hDlg, IDCANCEL), TRUE);
-
- if (bResult)
- {
- MessageBoxW(m_hDlg, Strings.GetString(StrID_InstalledSuccessfully),
- Strings.GetString(StrID_WindowCaption), MB_OK|MB_ICONINFORMATION);
- }
- else
- {
- WCHAR sMsg[c_nMaxErrorLen];
- if (nResult != 0)
- _snwprintf(sMsg, c_nMaxErrorLen, L"%s %d", Strings.GetString(StrID_ExtractionError), nResult);
- else
- _snwprintf(sMsg, c_nMaxErrorLen, L"%s\n%s", Strings.GetString(StrID_ThereWereErrors), m_sErrorMsg);
-
- MessageBoxW(m_hDlg, sMsg, Strings.GetString(StrID_WindowCaption), MB_OK|MB_ICONERROR);
- }
-
- return bResult;
-}
-
-LRESULT nsInstallerDlg::SendMessageToControl(int nCtlID, UINT Msg, WPARAM wParam /*= 0*/, LPARAM lParam /*= 0*/)
-{
- return SendMessage(GetDlgItem(m_hDlg, nCtlID), Msg, wParam, lParam);
-}
-
-void nsInstallerDlg::SetControlWindowText(int nCtlID, const WCHAR *sText)
-{
- SetWindowText(GetDlgItem(m_hDlg, nCtlID), sText);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// ZipProgress member override
-//
-///////////////////////////////////////////////////////////////////////////////
-void nsInstallerDlg::Progress(int n)
-{
- SendMessageToControl(IDC_PROGRESS, PBM_SETPOS, (WPARAM)n, 0);
-}
-
-//////////////////////////////////////////////////////////////////////////
-//
-// PostExtract - additional step after extraction
-//
-//////////////////////////////////////////////////////////////////////////
-
-#define RUN_AND_CHECK(fn) \
- if (!fn()) { \
- bResult = FALSE; \
- AddErrorMsg(L ## #fn ## L" failed"); \
- }
-
-BOOL nsInstallerDlg::PostExtract()
-{
- BOOL bResult = TRUE;
-
- m_bFastStart = FastStartFileExists();
-
- RUN_AND_CHECK(CreateShortcut)
-
- RUN_AND_CHECK(StoreInstallPath)
-
- MoveSetupStrings();
-
- RUN_AND_CHECK(SilentFirstRun)
-
- RUN_AND_CHECK(RunSetupCab)
-
- return bResult;
-}
-
-BOOL nsInstallerDlg::StoreInstallPath()
-{
- HKEY hKey;
- WCHAR sRegFennecKey[MAX_PATH];
- _snwprintf(sRegFennecKey, MAX_PATH, c_sAppRegKeyTemplate, Strings.GetString(StrID_AppShortName));
-
- // Store the installation path - to be used by the uninstaller
- LONG result = RegCreateKeyEx(HKEY_LOCAL_MACHINE, sRegFennecKey, 0, REG_NONE,
- REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, NULL);
- if (result == ERROR_SUCCESS)
- {
- result = RegSetValueEx(hKey, L"Path", 0, REG_SZ, (BYTE* const)m_sInstallPath, (wcslen(m_sInstallPath)+1)*sizeof(WCHAR));
- RegCloseKey(hKey);
- }
-
- return (result == ERROR_SUCCESS);
-}
-
-// Creates shortcuts for Fennec and (optionally) FastStart service.
-// Note: The shortcut names have to be in sync with DeleteShortcut in Uninstaller.cpp
-BOOL nsInstallerDlg::CreateShortcut()
-{
- BOOL result = FALSE;
-
- WCHAR sFennecPath[MAX_PATH];
- _snwprintf(sFennecPath, MAX_PATH, L"\"%s\\%s.exe\"", m_sInstallPath, Strings.GetString(StrID_AppShortName));
-
- WCHAR sProgramsPath[MAX_PATH];
- if (SHGetSpecialFolderPath(m_hDlg, sProgramsPath, CSIDL_PROGRAMS, FALSE))
- {
- WCHAR sShortcutPath[MAX_PATH];
- _snwprintf(sShortcutPath, MAX_PATH, L"%s\\%s.lnk", sProgramsPath, Strings.GetString(StrID_AppShortName));
-
- // Delete the old shortcut if it exists
- if(SetFileAttributes(sShortcutPath, FILE_ATTRIBUTE_NORMAL))
- DeleteFile(sShortcutPath);
-
- result = SHCreateShortcut(sShortcutPath, sFennecPath);
- }
-
- if (m_bFastStart)
- {
- WCHAR sFastStartPath[MAX_PATH];
- _snwprintf(sFastStartPath, MAX_PATH, L"\"%s\\%sfaststart.exe\"", m_sInstallPath, Strings.GetString(StrID_AppShortName));
-
- WCHAR sStartupPath[MAX_PATH];
- if (SHGetSpecialFolderPath(m_hDlg, sStartupPath, CSIDL_STARTUP, FALSE))
- {
- WCHAR sStartupShortcutPath[MAX_PATH];
- _snwprintf(sStartupShortcutPath, MAX_PATH, L"%s\\%sFastStart.lnk", sStartupPath, Strings.GetString(StrID_AppShortName));
-
- if(SetFileAttributes(sStartupShortcutPath, FILE_ATTRIBUTE_NORMAL))
- DeleteFile(sStartupShortcutPath);
-
- result = SHCreateShortcut(sStartupShortcutPath, sFastStartPath) && result;
- }
- }
-
- return result;
-}
-
-BOOL nsInstallerDlg::MoveSetupStrings()
-{
- WCHAR sExtractedStringsFile[MAX_PATH];
- _snwprintf(sExtractedStringsFile, MAX_PATH, L"%s\\%s", m_sExtractPath, c_sStringsFile);
-
- WCHAR sNewStringsFile[MAX_PATH];
- _snwprintf(sNewStringsFile, MAX_PATH, L"%s\\%s", m_sInstallPath, c_sStringsFile);
-
- return MoveFile(sExtractedStringsFile, sNewStringsFile);
-}
-
-BOOL nsInstallerDlg::SilentFirstRun()
-{
- SetControlWindowText(IDC_STATUS_TEXT, Strings.GetString(StrID_CreatingUserProfile));
- UpdateWindow(m_hDlg); // make sure the text is drawn
-
- WCHAR sCmdLine[MAX_PATH];
- WCHAR *sParams = NULL;
- if (m_bFastStart)
- {
- // Run fast start exe instead - it will create the profile and stay in the background
- _snwprintf(sCmdLine, MAX_PATH, c_sFastStartTemplate, m_sInstallPath, Strings.GetString(StrID_AppShortName));
- }
- else
- {
- _snwprintf(sCmdLine, MAX_PATH, L"%s\\%s.exe", m_sInstallPath, Strings.GetString(StrID_AppShortName));
- sParams = L"-silent -nosplash";
- }
- PROCESS_INFORMATION pi;
- BOOL bResult = CreateProcess(sCmdLine, sParams,
- NULL, NULL, FALSE, 0, NULL, NULL, NULL, &pi);
- if (bResult)
- {
- // Wait for it to finish (since the system is likely to be busy
- // while it launches anyways). The process may never terminate
- // if FastStart is enabled, so don't wait longer than 10 seconds.
- WaitForSingleObject(pi.hProcess, 10000);
- }
-
- if (m_bFastStart)
- {
- // When the FastStart is enabled, Fennec is being loaded in the background,
- // user cannot launch it with a shortcut, and the system is busy at the moment,
- // so we'll just wait here.
-
- // Class name: appName + "MessageWindow"
- WCHAR sClassName[MAX_PATH];
- _snwprintf(sClassName, MAX_PATH, L"%s%s", Strings.GetString(StrID_AppShortName), L"MessageWindow");
-
- // Wait until the hidden window gets created or for some timeout (~10s seems to be reasonable)
- HWND handle = NULL;
- for (int i = 0; i < 20 && !handle; i++)
- {
- handle = ::FindWindowW(sClassName, NULL);
- Sleep(500);
- }
- }
-
- SetWindowText(GetDlgItem(m_hDlg, IDC_STATUS_TEXT), L"");
- return bResult;
-}
-
-BOOL nsInstallerDlg::RunSetupCab()
-{
- BOOL bResult = FALSE;
-
- WCHAR sCabPath[MAX_PATH];
- WCHAR sParams[MAX_PATH + 20];
- _snwprintf(sCabPath, MAX_PATH, L"%s\\setup.cab", m_sInstallPath);
-
- // Run "wceload.exe /noui Fennec.cab"
- _snwprintf(sParams, MAX_PATH, L"/noui \"%s\"", sCabPath);
- PROCESS_INFORMATION pi;
- bResult = CreateProcess(L"\\Windows\\wceload.exe",
- sParams, NULL, NULL, FALSE, 0, NULL, NULL, NULL, &pi);
- if (bResult)
- {
- // Wait for it to finish
- WaitForSingleObject(pi.hProcess, INFINITE);
- }
-
- return bResult;
-}
-
-void nsInstallerDlg::AddErrorMsg(WCHAR* sErr)
-{
- WCHAR sMsg[c_nMaxErrorLen];
- _snwprintf(sMsg, c_nMaxErrorLen, L"%s. LastError = %d\n", sErr, GetLastError());
- wcsncat(m_sErrorMsg, sMsg, c_nMaxErrorLen - wcslen(m_sErrorMsg));
-}
-
-//////////////////////////////////////////////////////////////////////////
-//
-// Uninstall previous installation
-//
-//////////////////////////////////////////////////////////////////////////
-
-BOOL nsInstallerDlg::GetInstallPath(WCHAR *sPath)
-{
- HKEY hKey;
- WCHAR sRegFennecKey[MAX_PATH];
- _snwprintf(sRegFennecKey, MAX_PATH, c_sAppRegKeyTemplate, Strings.GetString(StrID_AppShortName));
-
- LONG result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sRegFennecKey, 0, KEY_ALL_ACCESS, &hKey);
- if (result == ERROR_SUCCESS)
- {
- DWORD dwType = NULL;
- DWORD dwCount = MAX_PATH * sizeof(WCHAR);
- result = RegQueryValueEx(hKey, L"Path", NULL, &dwType, (LPBYTE)sPath, &dwCount);
-
- RegCloseKey(hKey);
- }
-
- return (result == ERROR_SUCCESS);
-}
-
-BOOL nsInstallerDlg::RunUninstall(BOOL *pbCancelled)
-{
- BOOL bResult = FALSE;
- WCHAR sUninstallPath[MAX_PATH];
- if (GetInstallPath(sUninstallPath))
- {
- if (wcslen(sUninstallPath) > 0 && sUninstallPath[wcslen(sUninstallPath)-1] != '\\')
- wcscat(sUninstallPath, L"\\");
-
- WCHAR sParam[MAX_PATH+10];
- _snwprintf(sParam, MAX_PATH+9, L"[remove] %s", sUninstallPath);
-
- wcscat(sUninstallPath, L"uninstall.exe");
-
- PROCESS_INFORMATION pi;
- bResult = CreateProcess(sUninstallPath, sParam,
- NULL, NULL, FALSE, 0, NULL, NULL, NULL, &pi);
- if (bResult)
- {
- // Wait for it to finish
- WaitForSingleObject(pi.hProcess, INFINITE);
-
- if (pbCancelled != NULL)
- {
- DWORD dwExitCode = 0;
- GetExitCodeProcess(pi.hProcess, &dwExitCode);
- *pbCancelled = (dwExitCode == IDCANCEL);
- }
- }
- }
- return bResult;
-}
-
-//////////////////////////////////////////////////////////////////////////
-//
-// Helper functions
-//
-//////////////////////////////////////////////////////////////////////////
-
-BOOL nsInstallerDlg::FastStartFileExists()
-{
- WCHAR sFastStartPath[MAX_PATH];
- _snwprintf(sFastStartPath, MAX_PATH, c_sFastStartTemplate, m_sInstallPath, Strings.GetString(StrID_AppShortName));
- // Check if file exists
- return (GetFileAttributes(sFastStartPath) != INVALID_FILE_ATTRIBUTES);
-}
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsInstallerDlg.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#pragma once
-
-/**
- * nsInstallerDlg dialog
- */
-class nsInstallerDlg : public nsExtractorProgress
-{
-public:
- static nsInstallerDlg* GetInstance();
- void Init(HINSTANCE hInst);
- int DoModal();
- virtual void Progress(int n); // gets progress notifications
- INT_PTR DlgMain(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
- const WCHAR* GetExtractPath() { return m_sInstallPath; }
-
-private:
- nsInstallerDlg();
- BOOL OnInitDialog(HWND hDlg, WPARAM wParam, LPARAM lParam);
- void FindMemCards();
- BOOL OnDialogCreated(HWND hDlg);
- BOOL OnBtnExtract();
- LRESULT SendMessageToControl(int nCtlID, UINT Msg, WPARAM wParam = 0, LPARAM lParam = 0);
- void SetControlWindowText(int nCtlID, const WCHAR *sText);
-
- BOOL PostExtract();
- BOOL StoreInstallPath();
- BOOL CreateShortcut();
- BOOL MoveSetupStrings();
- BOOL SilentFirstRun();
- BOOL RunSetupCab();
-
- BOOL GetInstallPath(WCHAR *sPath);
- BOOL RunUninstall(BOOL *pbCancelled);
-
- void AddErrorMsg(WCHAR* sErr);
- BOOL FastStartFileExists();
-
- static const int c_nMaxErrorLen = 2048;
-
- HINSTANCE m_hInst;
- HWND m_hDlg;
- BOOL m_bFastStart;
- WCHAR m_sProgramFiles[MAX_PATH];
- WCHAR m_sExtractPath[MAX_PATH];
- WCHAR m_sInstallPath[MAX_PATH];
- WCHAR m_sErrorMsg[c_nMaxErrorLen];
-};
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsInstallerppc.rc
+++ /dev/null
@@ -1,162 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-// Microsoft Visual C++ generated resource script.
-//
-#include "resourceppc.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "resdefce.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_NSINSTALLER ICON "xulrunnerinstaller.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_MAIN DIALOG 0, 0, 156, 129
-STYLE DS_SETFONT | DS_SETFOREGROUND | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION
-EXSTYLE 0x80000000L
-CAPTION "Mozilla Setup"
-FONT 8, "MS Shell Dlg"
-BEGIN
- ICON IDI_NSINSTALLER,IDC_STATIC,7,3,20,20,SS_REALSIZEIMAGE
- LTEXT "XULRunner Setup",IDC_STATIC_TITLE,39,8,106,8,SS_NOPREFIX
- LTEXT "Install XULRunner to",IDC_STATIC_INSTALL,2,26,142,11
- PUSHBUTTON "Install",IDC_BTN_INSTALL,2,57,70,20
- PUSHBUTTON "Cancel",IDCANCEL,84,57,70,20
- CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,2,84,152,9
- COMBOBOX IDC_CMB_PATH,2,37,152,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
- LTEXT "",IDC_STATUS_TEXT,2,98,152,19
-END
-
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE
-BEGIN
- "resourceppc.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""resdefce.h""\r\n"
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
- "LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\r\n"
- "#pragma code_page(1252)\r\n"
- "#include ""nsInstallerppc.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
- "#endif\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO
-BEGIN
- IDD_MAIN, DIALOG
- BEGIN
- LEFTMARGIN, 2
- RIGHTMARGIN, 154
- END
-END
-#endif // APSTUDIO_INVOKED
-
-#endif // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#include "nsInstallerppc.rc2" // non-Microsoft Visual C++ edited resources
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
-
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsInstallerppc.rc2
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// nsInstallerPPC.rc2 - resources Microsoft Visual C++ does not edit directly
-//
-
-#ifdef APSTUDIO_INVOKED
-#error this file is not editable by Microsoft Visual C++
-#endif //APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Add manually edited resources here...
-
-/////////////////////////////////////////////////////////////////////////////
-HI_RES_AWARE CEUX {1} // turn off the emulation layer
- // Remove this resource to enable pixel-
- // doubling on platforms that support it
-/////////////////////////////////////////////////////////////////////////////
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsSetupStrings.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/**
- *
- * Class to work with localizable string resources
- *
- */
-
-#include <windows.h>
-#include "nsSetupStrings.h"
-#include "readstrings.h"
-#include "errors.h"
-
-#define STR_KEY(x) #x "\0"
-const char *kSetupStrKeys =
-#include "nsSetupStrings.inc"
-;
-#undef STR_KEY
-
-nsSetupStrings::nsSetupStrings()
-{
- m_sBuf = NULL;
- memset(m_arrStrings, 0, sizeof(m_arrStrings));
-}
-
-nsSetupStrings::~nsSetupStrings()
-{
- delete[] m_sBuf;
-}
-
-BOOL nsSetupStrings::LoadStrings(WCHAR *sFileName)
-{
- if (!sFileName)
- return FALSE;
-
- BOOL bResult = FALSE;
- char strings[kNumberOfStrings][MAX_TEXT_LEN];
- if (ReadStrings(sFileName, kSetupStrKeys, kNumberOfStrings, strings) == OK)
- {
- int nSize = 0;
- for (int i = 0; i < kNumberOfStrings; i++)
- {
- nSize += strlen(strings[i]) + 1;
- }
-
- m_sBuf = new WCHAR[nSize];
- if (!m_sBuf)
- return FALSE;
-
- WCHAR *p = m_sBuf;
- for (int i = 0; i < kNumberOfStrings; i++)
- {
- int len = strlen(strings[i]) + 1;
- MultiByteToWideChar(CP_UTF8, 0, strings[i], len, p, len);
- m_arrStrings[i] = p;
- p += len;
- }
-
- bResult = TRUE;
- }
-
- return bResult;
-}
-
-const WCHAR* nsSetupStrings::GetString(int nID)
-{
- if (nID >= kNumberOfStrings)
- return L"";
- else
- return m_arrStrings[nID];
-}
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsSetupStrings.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/**
- *
- * Class to work with localizable string resources
- *
- */
-
-#pragma once
-
-#define STR_KEY(x) StrID_##x,
-enum
-{
- #include "nsSetupStrings.inc"
- StrID_NumberOfStrings
-};
-#undef STR_KEY
-
-class nsSetupStrings
-{
-public:
- nsSetupStrings();
- ~nsSetupStrings();
-
- BOOL LoadStrings(TCHAR *sFileName);
- const TCHAR* GetString(int nID);
-
-private:
-
- static const int kNumberOfStrings = StrID_NumberOfStrings;
- TCHAR* m_sBuf;
- TCHAR* m_arrStrings[kNumberOfStrings];
-};
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/nsSetupStrings.inc
+++ /dev/null
@@ -1,15 +0,0 @@
- STR_KEY(AppShortName)
- STR_KEY(AppLongName)
- STR_KEY(WindowCaption)
- STR_KEY(InstallTo)
- STR_KEY(Install)
- STR_KEY(Cancel)
- STR_KEY(InstalledSuccessfully)
- STR_KEY(ExtractionError)
- STR_KEY(ThereWereErrors)
- STR_KEY(CreatingUserProfile)
- STR_KEY(UninstallCaption)
- STR_KEY(FilesWillBeRemoved)
- STR_KEY(AreYouSure)
- STR_KEY(InstallationNotFound)
- STR_KEY(UninstalledSuccessfully)
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/readme.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-FennecInstaller implementation to replace CAB installer.
-
-This version extracts a 7z file appended to the EXE, i.e. works like a
-self-extracted archive.
-
-For example if you want to install fennec-1.0a3pre.en-US.wince-arm.7z, build
-the program, run the following command:
-
- cat fennec_installer.exe fennec-1.0a3pre.en-US.wince-arm.7z >fennec-1.0a3pre.en-US.wince-arm.exe
-
-Then copy fennec-1.0a3pre.en-US.wince-arm.exe to a device and run it.
-
-Note: Requires lib7z.
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/resourceppc.h
+++ /dev/null
@@ -1,27 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by nsInstallerppc.rc
-//
-#define IDS_APP_TITLE 1
-#define IDI_NSINSTALLER 101
-#define IDR_MENU 102
-#define IDD_MAIN 103
-#define IDC_BTN_INSTALL 1000
-#define IDC_PROGRESS 1001
-#define IDC_CMB_PATH 1002
-#define IDC_STATUS_TEXT 1003
-#define IDC_STATIC_TITLE 1004
-#define IDC_STATIC_INSTALL 1005
-#define IDC_STATIC -1
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NO_MFC 1
-#define _APS_NEXT_RESOURCE_VALUE 129
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1006
-#define _APS_NEXT_SYMED_VALUE 110
-#endif
-#endif
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/uninstall/Makefile.in
+++ /dev/null
@@ -1,66 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is Fennec Installer for WinCE.
-#
-# The Initial Developer of the Original Code is The Mozilla Foundation.
-#
-# Portions created by the Initial Developer are Copyright (C) 2009
-# the Mozilla Foundation <http://www.mozilla.org/>. All Rights Reserved.
-#
-# Contributor(s):
-# Alex Pakhotin <alexp@mozilla.com> (original author)
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH = ../../../../..
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-PROGRAM = uninstall$(BIN_SUFFIX)
-
-CPPSRCS = \
- Uninstall.cpp \
- ../nsSetupStrings.cpp \
- $(NULL)
-
-LIBS += $(DEPTH)/toolkit/mozapps/readstrings/$(LIB_PREFIX)readstrings.$(LIB_SUFFIX)
-
-OS_LIBS += aygshell.lib commctrl.lib
-
-LOCAL_INCLUDES += -I$(srcdir)/.. -I$(srcdir)/../../../readstrings
-
-RCINCLUDE = Uninstall.rc
-
-# Statically link the CRT when possible
-USE_STATIC_LIBS = 1
-
-WIN32_EXE_LDFLAGS += -ENTRY:WinMain
-
-include $(topsrcdir)/config/rules.mk
-
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/uninstall/Uninstall.cpp
+++ /dev/null
@@ -1,543 +0,0 @@
-/* -*- Mode: C++; c-basic-offset: 2; tab-width: 8; indent-tabs-mode: nil; -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/**
- *
- * Uninstall.cpp : Mozilla Fennec Uninstaller
- *
- */
-
-#include <windows.h>
-#include <aygshell.h>
-#include <cfgmgrapi.h>
-
-#include "nsSetupStrings.h"
-#include "resource.h"
-
-#define WM_DIALOGCREATED (WM_USER + 1)
-
-const WCHAR c_sStringsFile[] = L"setup.ini";
-nsSetupStrings Strings;
-
-BOOL g_bRunFromSetupDll = FALSE;
-
-WCHAR g_sInstallPath[MAX_PATH];
-WCHAR g_sUninstallPath[MAX_PATH];
-HWND g_hDlg = NULL;
-
-const WCHAR c_sAppRegKeyTemplate[] = L"Software\\Mozilla\\%s";
-
-const DWORD c_nTempBufSize = MAX_PATH * 2;
-const WCHAR c_sRemoveParam[] = L"[remove]";
-const WCHAR c_sSetupParam[] = L"[setup]"; // means executed by Setup.dll
-
-// Retry counter for the file/directory deletion
-int nTotalRetries = 0;
-const int c_nMaxTotalRetries = 10;
-const int c_nMaxOneFileRetries = 6;
-const int c_nRetryDelay = 500; //milliseconds
-
-int g_nDirsDeleted = 0;
-const int c_nMaxDirs = 25; // approximate number of dirs just to show some progress
-
-enum {
- ErrOK = 0,
- ErrCancel = IDCANCEL,
- ErrNoStrings = -1,
- ErrInstallationNotFound = -2,
- ErrShutdownFailed = -3,
-};
-
-int g_nResult = ErrOK;
-
-// Forward declarations
-BOOL GetModulePath(WCHAR *sPath);
-BOOL LoadStrings();
-BOOL GetInstallPath(WCHAR *sPath);
-BOOL DeleteShortcut(HWND hwndParent);
-BOOL DeleteDirectory(const WCHAR* sPathToDelete);
-BOOL DeleteRegistryKey();
-BOOL CopyAndLaunch();
-BOOL ShutdownFastStartService(const WCHAR *sInstallPath);
-BOOL RunSystemUninstall();
-
-BOOL CALLBACK DlgUninstall(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
-BOOL OnDialogInit(HWND hDlg);
-BOOL OnDialogCreated(HWND hDlg);
-int OnUninstall(HWND hDlg);
-void UpdateProgress();
-
-///////////////////////////////////////////////////////////////////////////////
-// Main
-//
-int WINAPI WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPTSTR lpCmdLine,
- int nCmdShow)
-{
- HWND hWnd = GetForegroundWindow();
- *g_sUninstallPath = 0;
-
- WCHAR *sCommandLine = GetCommandLine();
- WCHAR *sRemoveParam = wcsstr(sCommandLine, c_sRemoveParam);
- WCHAR g_bRunFromSetupDll = (wcsstr(sCommandLine, c_sSetupParam) != NULL);
- if (sRemoveParam != NULL)
- {
- // Launched from a temp directory with parameters "[remove] \Program Files\Fennec\"
- wcscpy(g_sUninstallPath, sRemoveParam + wcslen(c_sRemoveParam) + 1);
- }
- else
- {
- // Just copy this EXE and launch it from a temp location with a special parameter
- // to delete itself in the installation directory
- if (CopyAndLaunch())
- return ErrOK;
- }
- // Perform uninstallation when executed with a special parameter
- // (or in case when CopyAndLaunch failed - just execute in place)
-
- if (!LoadStrings())
- {
- MessageBoxW(hWnd, L"Cannot find the strings file.", L"Uninstall", MB_OK|MB_ICONWARNING);
- return ErrNoStrings;
- }
-
- if (GetInstallPath(g_sInstallPath))
- {
- int nDlgResult = DialogBox(hInstance, (LPCTSTR)IDD_MAIN, NULL, (DLGPROC)DlgUninstall);
- if (nDlgResult != ErrOK)
- g_nResult = nDlgResult;
- }
- else
- {
- MessageBoxW(hWnd, Strings.GetString(StrID_InstallationNotFound),
- Strings.GetString(StrID_UninstallCaption), MB_OK|MB_ICONINFORMATION);
- return ErrInstallationNotFound;
- }
-
- return g_nResult;
-}
-
-int Uninstall(HWND hWnd)
-{
- // Remove all installed files
- DeleteDirectory(g_sInstallPath);
- DeleteShortcut(hWnd);
- DeleteRegistryKey();
-
- if (!g_bRunFromSetupDll)
- RunSystemUninstall();
-
- // TODO: May probably handle errors during deletion (such as locked directories)
- // and notify user. Right now just return OK.
- return ErrOK;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// Dialog
-//
-BOOL CALLBACK DlgUninstall(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
- switch (message)
- {
- case WM_INITDIALOG:
- return OnDialogInit(hDlg);
-
- case WM_DIALOGCREATED:
- return OnDialogCreated(hDlg);
-
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case IDOK:
- EndDialog(hDlg, ErrOK);
- return TRUE;
-
- case IDCANCEL:
- EndDialog(hDlg, ErrCancel);
- return TRUE;
-
- case IDC_BTN_UNINSTALL:
- g_nResult = OnUninstall(hDlg);
- return TRUE;
- }
- break;
-
- case WM_CLOSE:
- EndDialog(hDlg, ErrCancel);
- return TRUE;
- }
- return FALSE;
-}
-
-BOOL OnDialogCreated(HWND)
-{
- ShutdownFastStartService(g_sInstallPath);
- // Just continue regardless of the result
- return TRUE;
-}
-
-BOOL OnDialogInit(HWND hDlg)
-{
- g_hDlg = hDlg;
- PostMessage(hDlg, WM_DIALOGCREATED, 0, 0);
-
- SetWindowText(hDlg, Strings.GetString(StrID_UninstallCaption));
-
- SHINITDLGINFO shidi;
- shidi.dwMask = SHIDIM_FLAGS;
- shidi.dwFlags = SHIDIF_SIPDOWN | SHIDIF_EMPTYMENU;
- shidi.hDlg = hDlg;
- SHInitDialog(&shidi);
-
- // Hide the Done button
- SHDoneButton(hDlg, SHDB_HIDE);
-
- // Init controls
- WCHAR sMsg[c_nTempBufSize];
- _snwprintf(sMsg, c_nTempBufSize, L"%s %s", Strings.GetString(StrID_FilesWillBeRemoved), g_sInstallPath);
- SetWindowText(GetDlgItem(hDlg, IDC_STATIC_TEXT), sMsg);
- SetWindowText(GetDlgItem(hDlg, IDC_QUESTION_TEXT), Strings.GetString(StrID_AreYouSure));
- SetWindowText(GetDlgItem(hDlg, IDC_BTN_UNINSTALL), L"OK"); // TODO: Use localized text "Uninstall"
- SetWindowText(GetDlgItem(hDlg, IDCANCEL), Strings.GetString(StrID_Cancel));
- ShowWindow(GetDlgItem(hDlg, IDC_PROGRESS), SW_HIDE);
- ShowWindow(GetDlgItem(hDlg, IDOK), SW_HIDE);
-
- return TRUE;
-}
-
-int OnUninstall(HWND hDlg)
-{
- SetWindowText(GetDlgItem(hDlg, IDC_QUESTION_TEXT), L"");
- ShowWindow(GetDlgItem(hDlg, IDC_BTN_UNINSTALL), SW_HIDE);
- ShowWindow(GetDlgItem(hDlg, IDCANCEL), SW_HIDE);
- ShowWindow(GetDlgItem(hDlg, IDC_PROGRESS), SW_SHOW);
- SendMessage(GetDlgItem(hDlg, IDC_PROGRESS), PBM_SETRANGE, 0, (LPARAM) MAKELPARAM (0, c_nMaxDirs));
- SendMessage(GetDlgItem(hDlg, IDC_PROGRESS), PBM_SETPOS, 0, 0);
-
- UpdateWindow(hDlg); // make sure the text is drawn
-
- int ret = Uninstall(hDlg);
-
- if (ret == ErrOK)
- {
- SetWindowText(GetDlgItem(hDlg, IDC_STATIC_TEXT), Strings.GetString(StrID_UninstalledSuccessfully));
- }
- else
- {
- //TODO: Localize this message. It might be shown later when the errors will be handled
- SetWindowText(GetDlgItem(hDlg, IDC_STATIC_TEXT), L"There were errors during uninstallation.");
- }
-
- ShowWindow(GetDlgItem(hDlg, IDC_PROGRESS), SW_HIDE);
- ShowWindow(GetDlgItem(hDlg, IDOK), SW_SHOW);
-
- return ret;
-}
-
-void UpdateProgress()
-{
- SendMessage(GetDlgItem(g_hDlg, IDC_PROGRESS), PBM_SETPOS, (WPARAM)g_nDirsDeleted, 0);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// Utility functions
-//
-
-BOOL LoadStrings()
-{
- // Locate and load the strings file used by installer
- if (*g_sUninstallPath == 0)
- GetModulePath(g_sUninstallPath);
-
- WCHAR sStringsFile[MAX_PATH];
- _snwprintf(sStringsFile, MAX_PATH, L"%s\\%s", g_sUninstallPath, c_sStringsFile);
-
- return Strings.LoadStrings(sStringsFile);
-}
-
-BOOL GetModulePath(WCHAR *sPath)
-{
- if (GetModuleFileName(NULL, sPath, MAX_PATH) == 0)
- return FALSE;
-
- WCHAR *sSlash = wcsrchr(sPath, L'\\') + 1;
- *sSlash = L'\0'; // cut the file name
-
- return TRUE;
-}
-
-BOOL GetInstallPath(WCHAR *sPath)
-{
- HKEY hKey;
- WCHAR sRegFennecKey[MAX_PATH];
- _snwprintf(sRegFennecKey, MAX_PATH, c_sAppRegKeyTemplate, Strings.GetString(StrID_AppShortName));
-
- LONG result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, sRegFennecKey, 0, KEY_ALL_ACCESS, &hKey);
- if (result == ERROR_SUCCESS)
- {
- DWORD dwType = NULL;
- DWORD dwCount = MAX_PATH * sizeof(WCHAR);
- result = RegQueryValueEx(hKey, L"Path", NULL, &dwType, (LPBYTE)sPath, &dwCount);
-
- RegCloseKey(hKey);
- }
-
- return (result == ERROR_SUCCESS);
-}
-
-BOOL DeleteDirectory(const WCHAR* sPathToDelete)
-{
- BOOL bResult = TRUE;
- HANDLE hFile;
- WCHAR sFilePath[MAX_PATH];
- WCHAR sPattern[MAX_PATH];
- WIN32_FIND_DATA findData;
-
- wcscpy(sPattern, sPathToDelete);
- wcscat(sPattern, L"\\*.*");
- hFile = FindFirstFile(sPattern, &findData);
- if (hFile != INVALID_HANDLE_VALUE)
- {
- do
- {
- if (findData.cFileName[0] != L'.')
- {
- _snwprintf(sFilePath, MAX_PATH, L"%s\\%s", sPathToDelete, findData.cFileName);
-
- if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
- {
- // Delete subdirectory
- if (!DeleteDirectory(sFilePath))
- bResult = FALSE;
- }
- else
- {
- // Set file attributes
- if (SetFileAttributes(sFilePath, FILE_ATTRIBUTE_NORMAL))
- {
- // Delete file
- if (!DeleteFile(sFilePath) && nTotalRetries < c_nMaxTotalRetries)
- {
- BOOL bDeleted = FALSE;
- nTotalRetries++;
- for (int nRetry = 0; nRetry < c_nMaxOneFileRetries; nRetry++)
- {
- Sleep(c_nRetryDelay);
- if (DeleteFile(sFilePath))
- {
- bDeleted = TRUE;
- break;
- }
- }
- if (!bDeleted)
- bResult = FALSE;
- }
- }
- }
- }
- } while (FindNextFile(hFile, &findData));
-
- // Close handle
- FindClose(hFile);
- }
-
- // Set directory attributes
- if (SetFileAttributes(sPathToDelete, FILE_ATTRIBUTE_NORMAL))
- {
- g_nDirsDeleted++;
- UpdateProgress();
- // Delete directory
- if (!RemoveDirectory(sPathToDelete) && nTotalRetries < c_nMaxTotalRetries)
- {
- BOOL bDeleted = FALSE;
- nTotalRetries++;
- for (int nRetry = 0; nRetry < c_nMaxOneFileRetries; nRetry++)
- {
- Sleep(c_nRetryDelay);
- if (RemoveDirectory(sPathToDelete))
- {
- bDeleted = TRUE;
- break;
- }
- }
- if (!bDeleted)
- bResult = FALSE;
- }
- }
-
- return bResult;
-}
-
-// Deletes shortcuts for Fennec and FastStart service created by the installer.
-// Note: The shortcut names have to be in sync with CreateShortcut in nsInstallerDlg.cpp
-BOOL DeleteShortcut(HWND hwndParent)
-{
- BOOL result = FALSE;
-
- WCHAR sProgramsPath[MAX_PATH];
- if (SHGetSpecialFolderPath(hwndParent, sProgramsPath, CSIDL_PROGRAMS, FALSE))
- {
- WCHAR sShortcutPath[MAX_PATH];
- _snwprintf(sShortcutPath, MAX_PATH, L"%s\\%s.lnk", sProgramsPath, Strings.GetString(StrID_AppShortName));
-
-
- if(SetFileAttributes(sShortcutPath, FILE_ATTRIBUTE_NORMAL))
- result = DeleteFile(sShortcutPath);
- }
-
- // Handle faststart shortcut
- WCHAR sStartupPath[MAX_PATH];
- if (SHGetSpecialFolderPath(hwndParent, sStartupPath, CSIDL_STARTUP, FALSE))
- {
- WCHAR sStartupShortcutPath[MAX_PATH];
- _snwprintf(sStartupShortcutPath, MAX_PATH, L"%s\\%sFastStart.lnk", sStartupPath, Strings.GetString(StrID_AppShortName));
-
- // It may not exist - just ignore that
- if(SetFileAttributes(sStartupShortcutPath, FILE_ATTRIBUTE_NORMAL))
- DeleteFile(sStartupShortcutPath);
- }
-
- return result;
-}
-
-BOOL DeleteRegistryKey()
-{
- WCHAR sRegFennecKey[MAX_PATH];
- _snwprintf(sRegFennecKey, MAX_PATH, c_sAppRegKeyTemplate, Strings.GetString(StrID_AppShortName));
-
- LONG result = RegDeleteKey(HKEY_LOCAL_MACHINE, sRegFennecKey);
- return (result == ERROR_SUCCESS);
-}
-
-// Copy to a temp directory and launch from there
-BOOL CopyAndLaunch()
-{
- WCHAR sNewName[] = L"\\Temp\\uninstall.exe";
- WCHAR sModule[MAX_PATH];
- if (GetModuleFileName(NULL, sModule, MAX_PATH) == 0 || !GetModulePath(g_sUninstallPath))
- return FALSE;
- if (CopyFile(sModule, sNewName, FALSE))
- {
- PROCESS_INFORMATION pi;
- WCHAR sParam[c_nTempBufSize];
- if (g_bRunFromSetupDll)
- _snwprintf(sParam, c_nTempBufSize, L"%s %s %s", c_sSetupParam, c_sRemoveParam, g_sUninstallPath);
- else
- _snwprintf(sParam, c_nTempBufSize, L"%s %s", c_sRemoveParam, g_sUninstallPath);
-
- // Launch "\Temp\uninstall.exe remove \Program Files\Fennec\"
- return CreateProcess(sNewName, sParam, NULL, NULL, FALSE, 0, NULL, NULL, NULL, &pi);
- }
- else
- return FALSE;
-}
-
-BOOL ConvertToChar(const WCHAR *wstr, char *str, DWORD bufSize)
-{
- return 0 != WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, bufSize, NULL, NULL);
-}
-
-BOOL ShutdownFastStartService(const WCHAR *wsInstallPath)
-{
- BOOL result = TRUE;
-
- // Class name: appName + "MessageWindow"
- WCHAR sClassName[c_nTempBufSize];
- _snwprintf(sClassName, c_nTempBufSize, L"%s%s", Strings.GetString(StrID_AppShortName), L"MessageWindow");
-
- HWND handle = ::FindWindowW(sClassName, NULL);
- if (handle)
- {
- char sPath[MAX_PATH];
- ConvertToChar(wsInstallPath, sPath, MAX_PATH);
- size_t pathLen = strlen(sPath);
- if (pathLen > 0 && sPath[pathLen-1] != '\\')
- {
- strcat(sPath, "\\");
- pathLen++;
- }
-
- char sCopyData[MAX_PATH * 3];
- _snprintf(sCopyData, MAX_PATH * 2, "\"%s%S.exe\" -shutdown-faststart", sPath, Strings.GetString(StrID_AppShortName));
- size_t cmdLineLen = strlen(sCopyData);
-
- char *sRest = sCopyData + cmdLineLen + 1;
- strcpy(sRest, sPath);
-
- COPYDATASTRUCT cds = {
- 1,
- pathLen + 1 + cmdLineLen,
- (void*) sCopyData
- };
- ::SendMessage(handle, WM_COPYDATA, 0, (LPARAM)&cds);
-
- // Wait until it's shut down or for some timeout
- for (int i = 0; i < 20 && handle; i++)
- {
- Sleep(500);
- handle = ::FindWindowW(sClassName, NULL);
- }
-
- // The window must not exist if the service shut down properly
- result = (handle == NULL);
- }
- return result;
-}
-
-// Remove the part installed from the CAB
-BOOL RunSystemUninstall()
-{
- WCHAR sXML[c_nTempBufSize];
- LPWSTR sXMLOut = NULL;
-
- _snwprintf(sXML, c_nTempBufSize,
- L"<wap-provisioningdoc>"
- L" <characteristic type=\"UnInstall\">"
- L" <characteristic type=\"%s\">"
- L" <parm name=\"uninstall\" value=\"1\" />"
- L" </characteristic>"
- L" </characteristic>"
- L"</wap-provisioningdoc>",
- Strings.GetString(StrID_AppLongName));
-
- HRESULT hr = DMProcessConfigXML(sXML, CFGFLAG_PROCESS, &sXMLOut);
- delete[] sXMLOut;
-
- return hr == S_OK;
-}
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/uninstall/Uninstall.rc
+++ /dev/null
@@ -1,69 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Fennec Installer for WinCE.
- *
- * The Initial Developer of the Original Code is The Mozilla Foundation.
- *
- * Portions created by the Initial Developer are Copyright (C) 2010
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Alex Pakhotin <alexp@mozilla.com> (original author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-#include "resdefce.h"
-
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-// Dialog
-
-IDD_MAIN DIALOG 0, 0, 120, 77
-STYLE DS_CENTER | DS_SETFONT | DS_SETFOREGROUND | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION
-EXSTYLE 0x80000000L
-CAPTION "Uninstall"
-FONT 9, "MS Shell Dlg"
-BEGIN
- LTEXT "",IDC_STATIC_TEXT,6,6,108,24,SS_NOPREFIX
- LTEXT "Uninstall?",IDC_QUESTION_TEXT,6,32,132,11,SS_NOPREFIX
- PUSHBUTTON "Uninstall",IDC_BTN_UNINSTALL,15,50,40,20
- PUSHBUTTON "Cancel",IDCANCEL,65,50,40,20
- PUSHBUTTON "OK",IDOK,35,50,50,20
- CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,4,52,110,9
-END
-
-HI_RES_AWARE CEUX {1} // turn off the emulation layer
-
-#undef APSTUDIO_READONLY_SYMBOLS
deleted file mode 100644
--- a/toolkit/mozapps/installer/wince/uninstall/resource.h
+++ /dev/null
@@ -1,23 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by nsUninstaller.rc
-//
-#define IDD_MAIN 101
-#define IDC_STATIC_TITLE 1000
-#define IDC_STATIC_TEXT 1001
-#define IDC_QUESTION_TEXT 1002
-#define IDC_BTN_UNINSTALL 1003
-#define IDC_PROGRESS 1004
-#define IDC_STATIC -1
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NO_MFC 1
-#define _APS_NEXT_RESOURCE_VALUE 102
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1005
-#define _APS_NEXT_SYMED_VALUE 110
-#endif
-#endif
deleted file mode 100644
index 0b65049e89134ed3688218f2cf493d06e3a5f397..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/toolkit/mozapps/update/nsUpdateService.js
+++ b/toolkit/mozapps/update/nsUpdateService.js
@@ -89,19 +89,17 @@ const URI_UPDATES_PROPERTIES = "chrom
const URI_UPDATE_NS = "http://www.mozilla.org/2005/app-update";
const CATEGORY_UPDATE_TIMER = "update-timer";
const KEY_APPDIR = "XCurProcD";
const KEY_GRED = "GreD";
#ifdef XP_WIN
-#ifndef WINCE
#define USE_UPDROOT
-#endif
#elifdef ANDROID
#define USE_UPDROOT
#endif
#ifdef USE_UPDROOT
const KEY_UPDROOT = "UpdRootD";
#endif
@@ -209,17 +207,16 @@ XPCOMUtils.defineLazyGetter(this, "gCanA
const NORMAL_FILE_TYPE = Ci.nsILocalFile.NORMAL_FILE_TYPE;
var updateTestFile = getUpdateFile([FILE_PERMS_TEST]);
LOG("gCanApplyUpdates - testing write access " + updateTestFile.path);
if (updateTestFile.exists())
updateTestFile.remove(false);
updateTestFile.create(NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
updateTestFile.remove(false);
#ifdef XP_WIN
-#ifndef WINCE
var sysInfo = Cc["@mozilla.org/system-info;1"].
getService(Ci.nsIPropertyBag2);
// Example windowsVersion: Windows XP == 5.1
var windowsVersion = sysInfo.getProperty("version");
LOG("gCanApplyUpdates - windowsVersion = " + windowsVersion);
/**
@@ -280,17 +277,16 @@ XPCOMUtils.defineLazyGetter(this, "gCanA
// if we're unable to create the test file this will throw an exception.
var appDirTestFile = FileUtils.getFile(KEY_APPDIR, [FILE_PERMS_TEST]);
LOG("gCanApplyUpdates - testing write access " + appDirTestFile.path);
if (appDirTestFile.exists())
appDirTestFile.remove(false)
appDirTestFile.create(NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
appDirTestFile.remove(false);
}
-#endif //WINCE
#endif //XP_WIN
}
catch (e) {
LOG("gCanApplyUpdates - unable to apply updates. Exception: " + e);
// No write privileges to install directory
return false;
}
--- a/toolkit/mozapps/update/nsUpdateServiceStub.js
+++ b/toolkit/mozapps/update/nsUpdateServiceStub.js
@@ -42,19 +42,17 @@ Components.utils.import("resource://gre/
const Ci = Components.interfaces;
const DIR_UPDATES = "updates";
const FILE_UPDATE_STATUS = "update.status";
const KEY_APPDIR = "XCurProcD";
#ifdef XP_WIN
-#ifndef WINCE
#define USE_UPDROOT
-#endif
#elifdef ANDROID
#define USE_UPDROOT
#endif
#ifdef USE_UPDROOT
const KEY_UPDROOT = "UpdRootD";
#endif
--- a/toolkit/mozapps/update/test/unit/head_update.js.in
+++ b/toolkit/mozapps/update/test/unit/head_update.js.in
@@ -46,22 +46,16 @@ const APP_BIN_SUFFIX = "@BIN_SUFFIX@";
#endif
#ifdef XP_WIN
const IS_WIN = true;
#else
const IS_WIN = false;
#endif
-#ifdef WINCE
-const IS_WINCE = true;
-#else
-const IS_WINCE = false;
-#endif
-
#ifdef XP_OS2
const IS_OS2 = true;
#else
const IS_OS2 = false;
#endif
#ifdef XP_MACOSX
const IS_MACOSX = true;
@@ -556,17 +550,17 @@ function setupUpdaterTest(aMarFile) {
testFile.copyTo(testDir, aTestFile.fileName);
testFile = getApplyDirFile(aTestFile.relPathDir + aTestFile.fileName);
}
else {
testFile = getApplyDirFile(aTestFile.relPathDir + aTestFile.fileName, true);
writeFile(testFile, aTestFile.originalContents);
}
- // Skip these tests on Windows (includes WinCE) and OS/2 since their
+ // Skip these tests on Windows and OS/2 since their
// implementaions of chmod doesn't really set permissions.
if (!IS_WIN && !IS_OS2 && aTestFile.originalPerms) {
testFile.permissions = aTestFile.originalPerms;
// Store the actual permissions on the file for reference later after
// setting the permissions.
if (!aTestFile.comparePerms)
aTestFile.comparePerms = testFile.permissions;
}
@@ -656,34 +650,29 @@ function cleanupUpdaterTest() {
cleanUp();
}
/**
* Helper function for updater binary tests for verifying the contents of the
* update log after a successful update.
*/
function checkUpdateLogContents(aCompareLogFile) {
- // Skip this test on Windows CE since it doesn't use relative paths.
- if (IS_WINCE)
- return;
-
let updateLog = do_get_file(TEST_ID + UPDATES_DIR_SUFFIX, true);
updateLog.append(FILE_UPDATE_LOG);
// Skip the first two lines since they contain absolute paths.
let updateLogContents = readFileBytes(updateLog).split("\n").slice(2).join("\n");
updateLogContents = updateLogContents.replace(/\r/g, "");
// Replace error codes since they are different on each platform.
updateLogContents = updateLogContents.replace(/, err:.*\n/g, "\n");
// Replace to make the log parsing happy.
updateLogContents = updateLogContents.replace(/non-fatal error /g, "");
// The FindFile results when enumerating the filesystem on Windows is not
// determistic so the results matching the following need to be ignored.
updateLogContents = updateLogContents.replace(/.* a\/b\/7\/7text.*\n/g, "");
-
let compareLog = do_get_file(aCompareLogFile);
let compareLogContents = readFileBytes(compareLog);
do_check_eq(compareLogContents, updateLogContents);
}
function checkUpdateLogContains(aCheckString) {
let updateLog = do_get_file(TEST_ID + UPDATES_DIR_SUFFIX, true);
@@ -699,17 +688,17 @@ function checkUpdateLogContains(aCheckSt
function checkFilesAfterUpdateSuccess() {
logTestInfo("testing contents of files after a successful update");
TEST_FILES.forEach(function CFAUS_TF_FE(aTestFile) {
let testFile = getApplyDirFile(aTestFile.relPathDir + aTestFile.fileName, true);
logTestInfo("testing file: " + testFile.path);
if (aTestFile.compareFile || aTestFile.compareContents) {
do_check_true(testFile.exists());
- // Skip these tests on Windows (includes WinCE) and OS/2 since their
+ // Skip these tests on Windows and OS/2 since their
// implementaions of chmod doesn't really set permissions.
if (!IS_WIN && !IS_OS2 && aTestFile.comparePerms) {
// Check if the permssions as set in the complete mar file are correct.
let logPerms = "testing file permissions - ";
if (aTestFile.originalPerms) {
logPerms += "original permissions: " + aTestFile.originalPerms.toString(8) + ", ";
}
logPerms += "compare permissions : " + aTestFile.comparePerms.toString(8) + ", ";
@@ -783,17 +772,17 @@ function checkFilesAfterUpdateSuccess()
function checkFilesAfterUpdateFailure() {
logTestInfo("testing contents of files after a failed update");
TEST_FILES.forEach(function CFAUF_TF_FE(aTestFile) {
let testFile = getApplyDirFile(aTestFile.relPathDir + aTestFile.fileName, true);
logTestInfo("testing file: " + testFile.path);
if (aTestFile.compareFile || aTestFile.compareContents) {
do_check_true(testFile.exists());
- // Skip these tests on Windows (includes WinCE) and OS/2 since their
+ // Skip these tests on Windows and OS/2 since their
// implementaions of chmod doesn't really set permissions.
if (!IS_WIN && !IS_OS2 && aTestFile.comparePerms) {
// Check the original permssions are retained on the file.
let logPerms = "testing file permissions - ";
if (aTestFile.originalPerms) {
logPerms += "original permissions: " + aTestFile.originalPerms.toString(8) + ", ";
}
logPerms += "compare permissions : " + aTestFile.comparePerms.toString(8) + ", ";
--- a/toolkit/mozapps/update/test/unit/test_0150_appBinReplaced_xp_win_complete.js
+++ b/toolkit/mozapps/update/test/unit/test_0150_appBinReplaced_xp_win_complete.js
@@ -187,17 +187,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : true
}, {
description : "Removed by precomplete (rmdir)",
relPathDir : "a/b/2/",
dirRemoved : true
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_COMPLETE_WIN_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0151_appBinPatched_xp_win_partial.js
+++ b/toolkit/mozapps/update/test/unit/test_0151_appBinPatched_xp_win_partial.js
@@ -189,17 +189,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : true
}, {
description : "Removed by update.manifest (rmdir)",
relPathDir : "a/b/1/",
dirRemoved : true
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_IN_USE_WIN_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0160_appInUse_xp_win_complete.js
+++ b/toolkit/mozapps/update/test/unit/test_0160_appInUse_xp_win_complete.js
@@ -180,17 +180,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : false
}, {
description : "Not removed for failed update (rmdir)",
relPathDir : "a/b/2/",
dirRemoved : false
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_COMPLETE_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0170_fileLocked_xp_win_complete.js
+++ b/toolkit/mozapps/update/test/unit/test_0170_fileLocked_xp_win_complete.js
@@ -180,17 +180,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : false
}, {
description : "Not removed for failed update (rmdir)",
relPathDir : "a/b/2/",
dirRemoved : false
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_COMPLETE_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0171_fileLocked_xp_win_partial.js
+++ b/toolkit/mozapps/update/test/unit/test_0171_fileLocked_xp_win_partial.js
@@ -181,17 +181,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : false
}, {
description : "Not removed for failed update (rmdir)",
relPathDir : "a/b/1/",
dirRemoved : false
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_PARTIAL_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0180_fileInUse_xp_win_complete.js
+++ b/toolkit/mozapps/update/test/unit/test_0180_fileInUse_xp_win_complete.js
@@ -186,17 +186,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : true
}, {
description : "Removed by precomplete (rmdir)",
relPathDir : "a/b/2/",
dirRemoved : true
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_COMPLETE_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0181_fileInUse_xp_win_partial.js
+++ b/toolkit/mozapps/update/test/unit/test_0181_fileInUse_xp_win_partial.js
@@ -189,17 +189,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : true
}, {
description : "Removed by update.manifest (rmdir)",
relPathDir : "a/b/1/",
dirRemoved : true
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_IN_USE_WIN_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0182_rmrfdirFileInUse_xp_win_complete.js
+++ b/toolkit/mozapps/update/test/unit/test_0182_rmrfdirFileInUse_xp_win_complete.js
@@ -186,17 +186,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : true
}, {
description : "Removed by precomplete (rmdir)",
relPathDir : "a/b/2/",
dirRemoved : true
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_COMPLETE_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0183_rmrfdirFileInUse_xp_win_partial.js
+++ b/toolkit/mozapps/update/test/unit/test_0183_rmrfdirFileInUse_xp_win_partial.js
@@ -229,17 +229,17 @@ ADDITIONAL_TEST_DIRS = [
dirRemoved : true
}, {
description : "Removed by update.manifest (rmdir)",
relPathDir : "a/b/1/",
dirRemoved : true
}];
function run_test() {
- if (!IS_WIN || IS_WINCE) {
+ if (!IS_WIN) {
logTestInfo("this test is only applicable to Windows... returning early");
return;
}
do_test_pending();
do_register_cleanup(cleanupUpdaterTest);
setupUpdaterTest(MAR_IN_USE_WIN_FILE);
--- a/toolkit/mozapps/update/test/unit/test_0200_app_launch_apply_update.js
+++ b/toolkit/mozapps/update/test/unit/test_0200_app_launch_apply_update.js
@@ -107,21 +107,16 @@ XPCOMUtils.defineLazyGetter(this, "gAppB
});
function run_test() {
if (IS_ANDROID) {
logTestInfo("this test is not applicable to Android... returning early");
return;
}
- if (IS_WINCE) {
- logTestInfo("this test is not applicable to Windows CE... returning early");
- return;
- }
-
do_test_pending();
do_register_cleanup(end_test);
removeUpdateDirsAndFiles();
if (!gAppBinPath) {
do_throw("Main application binary not found... expected: " +
APP_BIN_NAME + APP_BIN_SUFFIX);
--- a/toolkit/themes/winstripe/global/toolbar.css
+++ b/toolkit/themes/winstripe/global/toolbar.css
@@ -42,20 +42,18 @@
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: toolbox ::::: */
toolbox {
-moz-appearance: toolbox;
background-color: -moz-Dialog;
-%ifndef WINCE
border-top: 2px solid;
-moz-border-top-colors: ThreeDShadow ThreeDHighlight;
-%endif
}
/* ::::: toolbar & menubar ::::: */
toolbar, menubar {
-moz-appearance: toolbar;
}
--- a/toolkit/toolkit-tiers.mk
+++ b/toolkit/toolkit-tiers.mk
@@ -53,21 +53,18 @@ tier_platform_staticdirs += modules/free
endif
tier_platform_dirs += xpcom
ifndef MOZ_NATIVE_ZLIB
tier_platform_dirs += modules/zlib
endif
-ifndef WINCE
-tier_platform_dirs += modules/libreg
-endif
-
tier_platform_dirs += \
+ modules/libreg \
modules/libpref \
intl \
netwerk \
$(NULL)
ifdef MOZ_AUTH_EXTENSION
tier_platform_dirs += extensions/auth
endif
@@ -90,20 +87,16 @@ ifndef MOZ_NATIVE_BZ2
tier_platform_dirs += modules/libbz2
endif
tier_platform_dirs += modules/libmar
tier_platform_dirs += other-licenses/bsdiff
endif
tier_platform_dirs += gfx/qcms
-ifeq ($(OS_ARCH),WINCE)
-tier_platform_dirs += modules/lib7z
-endif
-
#
# "gecko" - core components
#
tier_platform_dirs += ipc js/ipc js/jetpack
tier_platform_dirs += \
js/src/xpconnect \
--- a/toolkit/xre/Makefile.in
+++ b/toolkit/xre/Makefile.in
@@ -48,17 +48,17 @@ LIBRARY_NAME = xulapp_s
LIBXUL_LIBRARY = 1
FORCE_STATIC_LIB = 1
XPIDLSRCS = \
nsINativeAppSupport.idl \
$(NULL)
-ifneq (,$(filter WINCE WINNT,$(OS_ARCH)))
+ifeq ($(OS_ARCH),WINNT)
XPIDLSRCS += nsIWinAppHelper.idl
endif
CPPSRCS = \
nsAppRunner.cpp \
nsConsoleWriter.cpp \
nsXREDirProvider.cpp \
nsNativeAppSupportBase.cpp \
@@ -66,22 +66,18 @@ CPPSRCS = \
nsSigHandlers.cpp \
$(NULL)
ifdef MOZ_INSTRUMENT_EVENT_LOOP
CPPSRCS += EventTracer.cpp
endif
ifdef MOZ_SPLASHSCREEN
-ifeq ($(OS_ARCH),WINCE)
-CPPSRCS += nsSplashScreenWin.cpp
-else
CPPSRCS += nsSplashScreenDummy.cpp
endif
-endif
DEFINES += -DIMPL_XREAPI -DMOZ_APP_NAME='"$(MOZ_APP_NAME)"'
ifndef BUILD_STATIC_LIBS
CPPSRCS += nsEmbedFunctions.cpp
endif
ifdef MOZ_UPDATER
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -161,20 +161,18 @@ using mozilla::dom::ContentParent;
#ifdef XP_UNIX
#include <sys/stat.h>
#include <unistd.h>
#include <pwd.h>
#endif
#ifdef XP_WIN
-#ifndef WINCE
#include <process.h>
#include <shlobj.h>
-#endif
#include "nsThreadUtils.h"
#endif
#ifdef XP_MACOSX
#include "nsILocalFileMac.h"
#include "nsCommandLineServiceMac.h"
#endif
@@ -214,43 +212,16 @@ using mozilla::dom::ContentParent;
#include "base/command_line.h"
#include "mozilla/FunctionTimer.h"
#ifdef ANDROID
#include "AndroidBridge.h"
#endif
-#ifdef WINCE
-class WindowsMutex {
-public:
- WindowsMutex(const wchar_t *name) {
- mHandle = CreateMutexW(0, FALSE, name);
- }
-
- ~WindowsMutex() {
- Unlock();
- CloseHandle(mHandle);
- }
-
- PRBool Lock(DWORD timeout = INFINITE) {
- DWORD state = WaitForSingleObject(mHandle, timeout);
- return state == WAIT_OBJECT_0;
- }
-
- void Unlock() {
- if (mHandle)
- ReleaseMutex(mHandle);
- }
-
-protected:
- HANDLE mHandle;
-};
-#endif
-
extern PRUint32 gRestartMode;
extern void InstallSignalHandlers(const char *ProgramName);
#include "nsX11ErrorHandler.h"
#define FILE_COMPATIBILITY_INFO NS_LITERAL_CSTRING("compatibility.ini")
#define FILE_INVALIDATE_CACHES NS_LITERAL_CSTRING(".purgecaches")
int gArgc;
@@ -841,20 +812,16 @@ typedef enum
// avoid collision with TokeElevationType enum in WinNT.h
// of the Vista SDK
#define VistaTokenElevationType static_cast< TOKEN_INFORMATION_CLASS >( 18 )
NS_IMETHODIMP
nsXULAppInfo::GetUserCanElevate(PRBool *aUserCanElevate)
{
-#ifdef WINCE
- *aUserCanElevate = PR_FALSE;
- return NS_OK;
-#else
HANDLE hToken;
VISTA_TOKEN_ELEVATION_TYPE elevationType;
DWORD dwSize;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken) ||
!GetTokenInformation(hToken, VistaTokenElevationType, &elevationType,
sizeof(elevationType), &dwSize)) {
@@ -872,17 +839,16 @@ nsXULAppInfo::GetUserCanElevate(PRBool *
// elevated)
*aUserCanElevate = (elevationType == VistaTokenElevationTypeLimited);
}
if (hToken)
CloseHandle(hToken);
return NS_OK;
-#endif // WINCE
}
#endif
#ifdef MOZ_CRASHREPORTER
NS_IMETHODIMP
nsXULAppInfo::GetEnabled(PRBool *aEnabled)
{
*aEnabled = CrashReporter::GetEnabled();
@@ -2886,65 +2852,21 @@ XRE_main(int argc, char* argv[], const n
#ifdef MOZ_SPLASHSCREEN
// check to see if we need to do a splash screen
PRBool wantsSplash = PR_TRUE;
PRBool isNoSplash = (CheckArg("nosplash", PR_FALSE, NULL, PR_FALSE) == ARG_FOUND);
isNoSplash |= (PR_GetEnv("NO_SPLASH") != 0);
PRBool isNoRemote = (CheckArg("no-remote", PR_FALSE, NULL, PR_FALSE) == ARG_FOUND);
-#ifdef WINCE
- // synchronize startup; if it looks like we're going to have to
- // wait, then open up a splash screen
- WindowsMutex winStartupMutex(L"FirefoxStartupMutex");
-
- // try to lock the mutex, but only wait 100ms to do so
- PRBool needsMutexLock = ! winStartupMutex.Lock(100);
-
- // If we failed to lock the mutex quickly, then we'll want
- // a splash screen for sure.
- //
- // If we did manage to lock it, then we'll only want one
- // a splash screen if there is no existing message window;
- // that is, if we are the first instance of the app.
- if (!needsMutexLock && !isNoRemote) {
- // check to see if there's a remote firefox up
- static PRUnichar classNameBuffer[128];
- _snwprintf(classNameBuffer, sizeof(classNameBuffer) / sizeof(PRUnichar),
- L"%S%s",
- gAppData->name, L"MessageWindow");
- HANDLE h = FindWindowW(classNameBuffer, 0);
- if (h) {
- // Someone else has the window, and we were able to grab the mutex,
- // meaning the other instance ahs presumably already finished starting
- // up by now. So no need for a splash screen.
- wantsSplash = PR_FALSE;
- CloseHandle(h);
- } else {
- // We couldn't find another window, and we were able to lock the mutex;
- // we're likely the first instance starting up, so make sure a splash
- // screen gets thrown up.
- wantsSplash = PR_TRUE;
- }
- }
-#endif //WINCE
-
if (wantsSplash && !isNoSplash)
splashScreen = nsSplashScreen::GetOrCreate();
if (splashScreen)
splashScreen->Open();
-
-#ifdef WINCE
- // Now that the splash screen is open, wait indefinitely
- // for the startup mutex on this thread if we need to.
- if (needsMutexLock)
- winStartupMutex.Lock();
-#endif //WINCE
-
#endif //MOZ_SPLASHSCREEN
ScopedLogging log;
if (!appData.xreDirectory) {
nsCOMPtr<nsILocalFile> lf;
rv = XRE_GetBinaryPath(gArgv[0], getter_AddRefs(lf));
@@ -3401,21 +3323,16 @@ XRE_main(int argc, char* argv[], const n
nsCOMPtr<nsILocalFile> profLD;
rv = profileLock->GetLocalDirectory(getter_AddRefs(profLD));
NS_ENSURE_SUCCESS(rv, 1);
rv = dirProvider.SetProfile(profD, profLD);
NS_ENSURE_SUCCESS(rv, 1);
-#if defined(WINCE) && defined(MOZ_SPLASHSCREEN)
- // give up the mutex, let other app startups happen
- winStartupMutex.Unlock();
-#endif
-
//////////////////////// NOW WE HAVE A PROFILE ////////////////////////
#ifdef MOZ_CRASHREPORTER
if (appData.flags & NS_XRE_ENABLE_CRASH_REPORTER)
MakeOrSetMinidumpPath(profD);
#endif
nsCAutoString version;
@@ -3942,17 +3859,17 @@ SetupErrorHandling(const char* progname)
HMODULE kernel32 = GetModuleHandleW(L"kernel32.dll");
SetProcessDEPPolicyFunc _SetProcessDEPPolicy =
(SetProcessDEPPolicyFunc) GetProcAddress(kernel32, "SetProcessDEPPolicy");
if (_SetProcessDEPPolicy)
_SetProcessDEPPolicy(PROCESS_DEP_ENABLE);
#endif
-#if defined (XP_WIN32) && !defined (WINCE)
+#ifdef XP_WIN32
// Suppress the "DLL Foo could not be found" dialog, such that if dependent
// libraries (such as GDI+) are not preset, we gracefully fail to load those
// XPCOM components, instead of being ungraceful.
UINT realMode = SetErrorMode(0);
realMode |= SEM_FAILCRITICALERRORS;
// If XRE_NO_WINDOWS_CRASH_DIALOG is set, suppress displaying the "This
// application has crashed" dialog box. This is mainly useful for
// automated testing environments, e.g. tinderbox, where there's no need
@@ -3963,20 +3880,18 @@ SetupErrorHandling(const char* progname)
SetErrorMode(realMode);
#endif
#ifndef XP_OS2
InstallSignalHandlers(progname);
#endif
-#ifndef WINCE
// Unbuffer stdout, needed for tinderbox tests.
setbuf(stdout, 0);
-#endif
#if defined(FREEBSD)
// Disable all SIGFPE's on FreeBSD, as it has non-IEEE-conformant fp
// trap behavior that trips up on floating-point tests performed by
// the JS engine. See bugzilla bug 9967 details.
fpsetmask(0);
#endif
}
--- a/toolkit/xre/nsNativeAppSupportWin.cpp
+++ b/toolkit/xre/nsNativeAppSupportWin.cpp
@@ -71,19 +71,17 @@
#include "nsIJSContextStack.h"
#include "nsIWebNavigation.h"
#include "nsIWindowMediator.h"
#include "nsNativeCharsetUtils.h"
#include "nsIAppStartup.h"
#include <windows.h>
#include <shellapi.h>
-#ifndef WINCE
#include <ddeml.h>
-#endif
#include <stdlib.h>
#include <stdio.h>
#include <io.h>
#include <direct.h>
#include <fcntl.h>
static HWND hwndForDOMWindow( nsISupports * );
@@ -102,22 +100,20 @@ GetMostRecentWindow(const PRUnichar* aTy
}
static
void
activateWindow( nsIDOMWindowInternal *win ) {
// Try to get native window handle.
HWND hwnd = hwndForDOMWindow( win );
if ( hwnd ) {
-#ifndef WINCE // Can't iconify windows on windows ce
// Restore the window if it is minimized.
if ( ::IsIconic( hwnd ) ) {
::ShowWindow( hwnd, SW_RESTORE );
}
-#endif
// Use the OS call, if possible.
::SetForegroundWindow( hwnd );
} else {
// Use internal method.
win->Focus();
}
}
@@ -308,43 +304,39 @@ public:
NS_DECL_NSIOBSERVER
NS_DECL_ISUPPORTS_INHERITED
// Overrides of base implementation.
NS_IMETHOD Start( PRBool *aResult );
NS_IMETHOD Stop( PRBool *aResult );
NS_IMETHOD Quit();
NS_IMETHOD Enable();
-#ifndef WINCE
// The "old" Start method (renamed).
NS_IMETHOD StartDDE();
-#endif
// Utility function to handle a Win32-specific command line
// option: "-console", which dynamically creates a Windows
// console.
void CheckConsole();
private:
static void HandleCommandLine(const char* aCmdLineString, nsIFile* aWorkingDir, PRUint32 aState);
-#ifndef WINCE
static HDDEDATA CALLBACK HandleDDENotification( UINT uType,
UINT uFmt,
HCONV hconv,
HSZ hsz1,
HSZ hsz2,
HDDEDATA hdata,
ULONG_PTR dwData1,
ULONG_PTR dwData2 );
static void ParseDDEArg( HSZ args, int index, nsString& string);
static void ParseDDEArg( const WCHAR* args, int index, nsString& aString);
static HDDEDATA CreateDDEData( DWORD value );
static HDDEDATA CreateDDEData( LPBYTE value, DWORD len );
static PRBool InitTopicStrings();
static int FindTopic( HSZ topic );
-#endif
static void ActivateLastWindow();
static nsresult OpenWindow( const char *urlstr, const char *args );
static nsresult OpenBrowserWindow();
static void SetupSysTrayIcon();
static void RemoveSysTrayIcon();
static int mConversations;
enum {
@@ -353,19 +345,17 @@ private:
topicCancelProgress,
topicVersion,
topicRegisterViewer,
topicUnRegisterViewer,
topicGetWindowInfo,
// Note: Insert new values above this line!!!!!
topicCount // Count of the number of real topics
};
-#ifndef WINCE
static HSZ mApplication, mTopics[ topicCount ];
-#endif
static DWORD mInstance;
static PRBool mCanHandleRequests;
static PRUnichar mMutexName[];
friend struct MessageWindow;
}; // nsNativeAppSupportWin
NS_INTERFACE_MAP_BEGIN(nsNativeAppSupportWin)
NS_INTERFACE_MAP_ENTRY(nsIObserver)
@@ -377,17 +367,16 @@ NS_IMPL_RELEASE_INHERITED(nsNativeAppSup
void
nsNativeAppSupportWin::CheckConsole() {
for ( int i = 1; i < gArgc; i++ ) {
if ( strcmp( "-console", gArgv[i] ) == 0
||
strcmp( "/console", gArgv[i] ) == 0 ) {
// Users wants to make sure we have a console.
// Try to allocate one.
-#ifndef WINCE
BOOL rc = ::AllocConsole();
if ( rc ) {
// Console allocated. Fix it up so that output works in
// all cases. See http://support.microsoft.com/support/kb/articles/q105/3/05.asp.
// stdout
int hCrt = ::_open_osfhandle( (intptr_t)GetStdHandle( STD_OUTPUT_HANDLE ),
_O_TEXT );
@@ -424,17 +413,16 @@ nsNativeAppSupportWin::CheckConsole() {
*stdin = *hf;
}
}
*/
} else {
// Failed. Probably because there already is one.
// There's little we can do, in any case.
}
-#endif
// Remove the console argument from the command line.
do {
gArgv[i] = gArgv[i + 1];
++i;
} while (gArgv[i]);
--gArgc;
@@ -476,20 +464,18 @@ const char * const topicNames[] = { "WWW
"WWW_CancelProgress",
"WWW_Version",
"WWW_RegisterViewer",
"WWW_UnRegisterViewer",
"WWW_GetWindowInfo" };
// Static member definitions.
int nsNativeAppSupportWin::mConversations = 0;
-#ifndef WINCE
HSZ nsNativeAppSupportWin::mApplication = 0;
HSZ nsNativeAppSupportWin::mTopics[nsNativeAppSupportWin::topicCount] = { 0 };
-#endif
DWORD nsNativeAppSupportWin::mInstance = 0;
PRBool nsNativeAppSupportWin::mCanHandleRequests = PR_FALSE;
PRUnichar nsNativeAppSupportWin::mMutexName[ 128 ] = { 0 };
// Message window encapsulation.
struct MessageWindow {
@@ -574,44 +560,31 @@ struct MessageWindow {
// SendRequest: Pass the command line via WM_COPYDATA to message window.
NS_IMETHOD SendRequest() {
WCHAR *cmd = ::GetCommandLineW();
WCHAR cwd[MAX_PATH];
_wgetcwd(cwd, MAX_PATH);
// Construct a narrow UTF8 buffer <commandline>\0<workingdir>\0
-#ifdef WINCE
- // For WinCE, we're stuck with providing our own argv[0] for the remote
- // command-line.
- NS_ConvertUTF16toUTF8 utf8buffer(L"dummy ");
- AppendUTF16toUTF8(cmd, utf8buffer);
-#else
NS_ConvertUTF16toUTF8 utf8buffer(cmd);
-#endif
utf8buffer.Append('\0');
AppendUTF16toUTF8(cwd, utf8buffer);
utf8buffer.Append('\0');
// We used to set dwData to zero, when we didn't send the working dir.
// Now we're using it as a version number.
COPYDATASTRUCT cds = {
1,
utf8buffer.Length(),
(void*) utf8buffer.get()
};
// Bring the already running Mozilla process to the foreground.
// nsWindow will restore the window (if minimized) and raise it.
-#ifdef WINCE
- // for activating the existing window on wince we need "| 0x01"
- // see http://msdn.microsoft.com/en-us/library/ms940024.aspx for details
- ::SetForegroundWindow( (HWND)(((ULONG) mHandle) | 0x01) );
-#else
::SetForegroundWindow( mHandle );
-#endif
::SendMessage( mHandle, WM_COPYDATA, 0, (LPARAM)&cds );
return NS_OK;
}
// Window proc.
static LRESULT CALLBACK WindowProc( HWND msgWindow, UINT msg, WPARAM wp, LPARAM lp ) {
if ( msg == WM_COPYDATA ) {
if (!nsNativeAppSupportWin::mCanHandleRequests)
@@ -697,30 +670,28 @@ nsNativeAppSupportWin::Start( PRBool *aR
MessageWindow msgWindow;
if ( (HWND)msgWindow ) {
// We are a client process. Pass request to message window.
rv = msgWindow.SendRequest();
} else {
// We will be server.
rv = msgWindow.Create();
if ( NS_SUCCEEDED( rv ) ) {
-#ifndef WINCE
// Start up DDE server.
this->StartDDE();
-#endif
// Tell caller to spin message loop.
*aResult = PR_TRUE;
}
}
startupLock.Unlock();
return rv;
}
-#ifndef WINCE
+
PRBool
nsNativeAppSupportWin::InitTopicStrings() {
for ( int i = 0; i < topicCount; i++ ) {
if ( !( mTopics[ i ] = DdeCreateStringHandleA( mInstance, const_cast<char *>(topicNames[ i ]), CP_WINANSI ) ) ) {
return PR_FALSE;
}
}
return PR_TRUE;
@@ -766,17 +737,17 @@ nsNativeAppSupportWin::StartDDE() {
NS_ENSURE_TRUE( DdeNameService( mInstance, mApplication, 0, DNS_REGISTER ), NS_ERROR_FAILURE );
#if MOZ_DEBUG_DDE
printf( "DDE server started\n" );
#endif
return NS_OK;
}
-#endif /* WINCE */
+
// If no DDE conversations are pending, terminate DDE.
NS_IMETHODIMP
nsNativeAppSupportWin::Stop( PRBool *aResult ) {
NS_ENSURE_ARG( aResult );
NS_ENSURE_TRUE( mInstance, NS_ERROR_NOT_INITIALIZED );
nsresult rv = NS_OK;
*aResult = PR_TRUE;
@@ -828,31 +799,29 @@ nsNativeAppSupportWin::Quit() {
// get rid of it as we are shutting down.
// Note: Destroy calls DestroyWindow, which will only work on a window
// created by the same thread.
MessageWindow mw;
mw.Destroy();
if ( mInstance ) {
// Unregister application name.
-#ifndef WINCE
DdeNameService( mInstance, mApplication, 0, DNS_UNREGISTER );
// Clean up strings.
if ( mApplication ) {
DdeFreeStringHandle( mInstance, mApplication );
mApplication = 0;
}
for ( int i = 0; i < topicCount; i++ ) {
if ( mTopics[i] ) {
DdeFreeStringHandle( mInstance, mTopics[i] );
mTopics[i] = 0;
}
}
DdeUninitialize( mInstance );
-#endif
mInstance = 0;
#if MOZ_DEBUG_DDE
printf( "DDE server stopped\n" );
#endif
}
return NS_OK;
}
@@ -908,17 +877,17 @@ static nsCString hszValue( DWORD instanc
if ( len ) {
char buffer[ 256 ];
DdeQueryString( instance, hsz, buffer, sizeof buffer, CP_WINANSI );
result += buffer;
}
result += "]";
return result;
}
-#elif !defined(WINCE)
+#else
// These are purely a safety measure to avoid the infamous "won't
// build non-debug" type Tinderbox flames.
static nsCString uTypeDesc( UINT ) {
return nsCString( "?" );
}
static nsCString hszValue( DWORD, HSZ ) {
return nsCString( "?" );
}
@@ -939,17 +908,16 @@ static void escapeQuotes( nsAString &aSt
aString.Insert( PRUnichar('\\'), offset );
// Increment offset because we just inserted a slash
offset++;
}
}
return;
}
-#ifndef WINCE
HDDEDATA CALLBACK
nsNativeAppSupportWin::HandleDDENotification( UINT uType, // transaction type
UINT uFmt, // clipboard data format
HCONV hconv, // handle to the conversation
HSZ hsz1, // handle to a string
HSZ hsz2, // handle to a string
HDDEDATA hdata, // handle to a global memory object
ULONG_PTR dwData1, // transaction-specific data
@@ -1190,17 +1158,17 @@ nsNativeAppSupportWin::HandleDDENotifica
}
} else if ( uType & XCLASS_NOTIFICATION ) {
}
#if MOZ_DEBUG_DDE
printf( "DDE result=%d (0x%08X)\n", (int)result, (int)result );
#endif
return result;
}
-#endif /* WINCE */
+
// Utility function to advance to end of quoted string.
// p+offset must point to the comma preceding the arg on entry.
// On return, p+result points to the closing '"' (or end of the string
// if the closing '"' is missing) if the arg is quoted. If the arg
// is not quoted, then p+result will point to the first character
// of the arg.
static PRInt32 advanceToEndOfQuotedArg( const WCHAR *p, PRInt32 offset, PRInt32 len ) {
// Check whether the current arg is quoted.
@@ -1212,17 +1180,16 @@ static PRInt32 advanceToEndOfQuotedArg(
if ( p[offset] == '\\' ) {
offset++;
}
}
}
return offset;
}
-#ifndef WINCE
void nsNativeAppSupportWin::ParseDDEArg( const WCHAR* args, int index, nsString& aString) {
if ( args ) {
nsDependentString temp(args);
// offset points to the comma preceding the desired arg.
PRInt32 offset = -1;
// Skip commas till we get to the arg we want.
while( index-- ) {
@@ -1281,17 +1248,16 @@ HDDEDATA nsNativeAppSupportWin::CreateDD
value,
len,
0,
mApplication,
CF_TEXT,
0 );
return result;
}
-#endif /* WINCE */
void nsNativeAppSupportWin::ActivateLastWindow() {
nsCOMPtr<nsIDOMWindowInternal> navWin;
GetMostRecentWindow( NS_LITERAL_STRING("navigator:browser").get(), getter_AddRefs( navWin ) );
if ( navWin ) {
// Activate that window.
activateWindow( navWin );
} else {
deleted file mode 100644
--- a/toolkit/xre/nsSplashScreenWin.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-/* -*- Mode: C++; tab-width: 40; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla code.
- *
- * The Initial Developer of the Original Code is
- * mozilla.org
- * Portions created by the Initial Developer are Copyright (C) 2009
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- * Vladimir Vukicevic <vladimir@pobox.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-#include "nsSplashScreen.h"
-
-#include <windows.h>
-
-static ATOM gSplashScreenClass = 0;
-
-class nsSplashScreenWin;
-
-static nsSplashScreenWin *gSplashScreen = NULL;
-
-class nsSplashScreenWin :
- public nsSplashScreen
-{
-public:
- nsSplashScreenWin();
-
- virtual void Open();
- virtual void Close();
- virtual void Update(PRInt32 progress);
-
-protected:
- HWND mDialog;
- HBITMAP mSplashBitmap, mOldBitmap;
- HDC mSplashBitmapDC;
- int mWidth, mHeight;
-
- static DWORD WINAPI ThreadProc(LPVOID splashScreen);
-
- static LRESULT CALLBACK DialogProc (HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam);
-
- void OnPaint(HDC dc, const PAINTSTRUCT *ps);
-
- PRInt32 mProgress;
-};
-
-nsSplashScreen *
-nsSplashScreen::GetOrCreate()
-{
- if (!gSplashScreen)
- gSplashScreen = new nsSplashScreenWin();
-
- return gSplashScreen;
-}
-
-nsSplashScreen *
-nsSplashScreen::Get()
-{
- return gSplashScreen;
-}
-
-nsSplashScreenWin::nsSplashScreenWin()
- : mDialog(NULL), mSplashBitmap(NULL), mOldBitmap(NULL),
- mSplashBitmapDC(NULL),
- mWidth(200), mHeight(100),
- mProgress(-1)
-{
-}
-
-void
-nsSplashScreenWin::Open()
-{
- if (mIsOpen || mDialog)
- return;
-
- mIsOpen = PR_TRUE;
-
- if (gSplashScreenClass == 0) {
- WNDCLASS wc;
- memset(&wc, 0, sizeof(WNDCLASS));
-
- wc.style = CS_NOCLOSE;
- wc.lpfnWndProc = (WNDPROC) DialogProc;
- wc.hInstance = GetModuleHandle(0);
- wc.hIcon = NULL;
- wc.hCursor = NULL;
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- wc.lpszMenuName = NULL;
- wc.lpszClassName = TEXT("MozillaSplashScreen");
-
- gSplashScreenClass = RegisterClass(&wc);
- }
-
- if (mSplashBitmap == NULL) {
- wchar_t path[_MAX_PATH];
- if (::GetModuleFileNameW(0, path, _MAX_PATH)) {
- wchar_t *slash = wcsrchr(path, '\\');
- if (slash != NULL)
- slash[1] = 0;
-
- wcscat(path, L"splash.bmp");
-
-#ifdef WINCE
- mSplashBitmap = ::SHLoadDIBitmap(path);
-#else
-#warning splashscreen needs some code to load bitmaps on non-WinCE
- mSplashBitmap = nsnull;
-#endif
-
- if (mSplashBitmap) {
- BITMAP bmo;
- if (GetObject(mSplashBitmap, sizeof(BITMAP), &bmo) > 0) {
- mWidth = bmo.bmWidth;
- mHeight = bmo.bmHeight;
-
- mSplashBitmapDC = CreateCompatibleDC(NULL);
- mOldBitmap = (HBITMAP) SelectObject(mSplashBitmapDC, mSplashBitmap);
- } else {
- DeleteObject(mSplashBitmap);
- mSplashBitmap = NULL;
- }
- }
- }
- }
-
- DWORD threadID = 0;
- CreateThread(0, 0, (LPTHREAD_START_ROUTINE)ThreadProc, this, 0, &threadID);
-}
-
-DWORD WINAPI
-nsSplashScreenWin::ThreadProc(LPVOID splashScreen)
-{
- nsSplashScreenWin *sp = (nsSplashScreenWin*) splashScreen;
-
- int screenWidth = GetSystemMetrics(SM_CXSCREEN);
- int screenHeight = GetSystemMetrics(SM_CYSCREEN);
-
- LONG horizPad = (screenWidth - sp->mWidth) / 2;
- LONG vertPad = (screenHeight - sp->mHeight) / 2;
- RECT r = { horizPad,
- vertPad,
- horizPad + sp->mWidth,
- vertPad + sp->mHeight };
-
- DWORD winStyle = (WS_POPUP | WS_BORDER);
- DWORD winStyleEx = WS_EX_NOACTIVATE;
-
- if(!::AdjustWindowRectEx(&r, winStyle, FALSE, winStyleEx))
- return 0;
-
- HWND dlg = CreateWindowEx(
- winStyleEx,
- TEXT("MozillaSplashScreen"),
- TEXT("Starting up..."),
- winStyle,
- r.left, r.top,
- (r.right - r.left), (r.bottom - r.top),
- HWND_DESKTOP,
- NULL,
- GetModuleHandle(0),
- NULL);
-
- sp->mDialog = dlg;
-
- ShowWindow(dlg, SW_SHOW);
- SetForegroundWindow(dlg);
-
- MSG msg;
- while (::GetMessage(&msg, NULL, 0, 0)) {
- DispatchMessage(&msg);
- }
-
- // window was destroyed, nothing to do
- return 0;
-}
-
-void
-nsSplashScreenWin::Close()
-{
- if (mDialog) {
- ShowWindow(mDialog, SW_HIDE);
- PostMessage(mDialog, WM_QUIT, 0, 0);
- mDialog = NULL;
- }
-
- if (mSplashBitmap) {
- SelectObject(mSplashBitmapDC, mOldBitmap);
- DeleteObject(mSplashBitmapDC);
- DeleteObject(mSplashBitmap);
- mOldBitmap = NULL;
- mSplashBitmapDC = NULL;
- mSplashBitmap = NULL;
- }
-
- mIsOpen = PR_FALSE;
-}
-
-void
-nsSplashScreenWin::Update(PRInt32 progress)
-{
- if (progress >= 0)
- mProgress = progress > 100 ? 100 : progress;
-
- InvalidateRect(mDialog, NULL, FALSE);
-}
-
-void
-nsSplashScreenWin::OnPaint(HDC dc, const PAINTSTRUCT *ps)
-{
- RECT progressBar;
-
- // Paint the splash screen
- if (mSplashBitmapDC) {
- BitBlt(dc,
- 0, 0, gSplashScreen->mWidth, gSplashScreen->mHeight,
- gSplashScreen->mSplashBitmapDC,
- 0, 0,
- SRCCOPY);
- } else {
- HBRUSH bkgr = CreateSolidBrush(RGB(200,200,200));
- RECT r = { 0, 0, mWidth, mHeight };
- FillRect(dc, &r, bkgr);
- DeleteObject(bkgr);
- }
-
- // Size of progress bar area
- if (mSplashBitmapDC &&
- gSplashScreen->mWidth == 440 &&
- gSplashScreen->mHeight == 180) {
- // For now we're tightly tied to a specific splash.bmp design,
- // ideally we would determine the region automagically.
- progressBar.left = 183;
- progressBar.right = 410;
- progressBar.top = 148;
- progressBar.bottom = 153;
- } else {
- // The default progress bar will be 2/3 the width of the splash box,
- // 9 pixels tall, 10 pixels from the bottom.
- progressBar.left = (mWidth / 6);
- progressBar.right = mWidth - (mWidth / 6);
- progressBar.top = mHeight - 19;
- progressBar.bottom = mHeight - 10;
- }
-
- if (mProgress != -1) {
- HBRUSH fill = CreateSolidBrush(RGB(0x77,0xC7,0x1C));
-
- int maxWidth = progressBar.right - progressBar.left;
- progressBar.right = progressBar.left + maxWidth * mProgress / 100;
- FillRect(dc, &progressBar, fill);
-
- DeleteObject(fill);
- }
-}
-
-LRESULT CALLBACK
-nsSplashScreenWin::DialogProc (HWND hWnd,
- UINT uMsg,
- WPARAM wParam,
- LPARAM lParam)
-{
- switch (uMsg) {
- case WM_PAINT: {
- PAINTSTRUCT ps;
- HDC dc = BeginPaint(hWnd, &ps);
-
- if (gSplashScreen)
- gSplashScreen->OnPaint(dc, &ps);
-
- EndPaint(hWnd, &ps);
- return TRUE;
- }
- break;
-
- case WM_DESTROY:
- return TRUE;
-
- case WM_QUIT:
- DestroyWindow(hWnd);
- return TRUE;
-
- default:
- return DefWindowProc(hWnd, uMsg, wParam, lParam);
- }
-
- return FALSE;
-}
--- a/toolkit/xre/nsWindowsRestart.cpp
+++ b/toolkit/xre/nsWindowsRestart.cpp
@@ -167,30 +167,16 @@ MakeCommandLine(int argc, PRUnichar **ar
{
int i;
int len = 0;
// The + 1 of the last argument handles the allocation for null termination
for (i = 0; i < argc; ++i)
len += ArgStrLen(argv[i]) + 1;
-#ifdef WINCE
- wchar_t *env = mozce_GetEnvironmentCL();
- // XXX There's a buffer overrun here somewhere that causes a heap
- // check to fail in the final free of the results of this function
- // in WinLaunchChild. I can't honestly figure out where it is,
- // because I'm pretty sure with the + 1 above and the wcslen here,
- // we have enough room for a trailing NULL. But, adding a little
- // bit more slop (the +10) seems to fix the problem.
- //
- // Supposedly CreateProcessW can modify its arguments, so maybe it's
- // doing some scribbling?
- len += (wcslen(env)) + 10;
-#endif
-
// Protect against callers that pass 0 arguments
if (len == 0)
len = 1;
PRUnichar *s = (PRUnichar*) malloc(len * sizeof(PRUnichar));
if (!s)
return NULL;
@@ -200,21 +186,16 @@ MakeCommandLine(int argc, PRUnichar **ar
if (i + 1 != argc) {
*c = ' ';
++c;
}
}
*c = '\0';
-#ifdef WINCE
- wcscat(s, env);
- if (env)
- free(env);
-#endif
return s;
}
/**
* Convert UTF8 to UTF16 without using the normal XPCOM goop, which we
* can't link to updater.exe.
*/
static PRUnichar*
@@ -272,28 +253,16 @@ WinLaunchChild(const PRUnichar *exePath,
}
BOOL
WinLaunchChild(const PRUnichar *exePath, int argc, PRUnichar **argv)
{
PRUnichar *cl;
BOOL ok;
-#ifdef WINCE
- // Windows Mobile Issue:
- // When passing both an image name and a command line to
- // CreateProcessW, you need to make sure that the image name
- // identially matches the first argument of the command line. If
- // they do not match, Windows Mobile will send two "argv[0]" values.
- // To avoid this problem, we will strip off the argv here, and
- // depend only on the exePath.
- argv = argv + 1;
- argc--;
-#endif
-
cl = MakeCommandLine(argc, argv);
if (!cl)
return FALSE;
STARTUPINFOW si = {sizeof(si), 0};
PROCESS_INFORMATION pi = {0};
ok = CreateProcessW(exePath,
--- a/toolkit/xre/nsWindowsWMain.cpp
+++ b/toolkit/xre/nsWindowsWMain.cpp
@@ -68,35 +68,16 @@ FreeAllocStrings(int argc, char **argv)
while (argc) {
--argc;
delete [] argv[argc];
}
delete [] argv;
}
-#ifdef WINCE
-/** argc/argv are in/out parameters */
-void ExtractEnvironmentFromCL(int &argc, char **&argv)
-{
- for (int x = argc - 1; x >= 0; x--) {
- if (!strncmp(argv[x], "--environ:", 10)) {
- char* key_val = strdup(argv[x]+10);
- putenv(key_val);
- free(key_val);
- argc -= 1;
- char *delete_argv = argv[x];
- if (x < argc) /* if the current argument is not at the tail, shift following arguments. */
- memcpy(&argv[x], &argv[x+1], (argc - x) * sizeof(char*));
- delete [] delete_argv;
- }
- }
-}
-#endif
-
int wmain(int argc, WCHAR **argv)
{
#ifndef XRE_DONT_PROTECT_DLL_LOAD
mozilla::NS_SetDllDirectory(L"");
#endif
#ifdef XRE_WANT_DLL_BLOCKLIST
SetupDllBlocklist();
@@ -107,19 +88,16 @@ int wmain(int argc, WCHAR **argv)
return 127;
for (int i = 0; i < argc; ++i) {
argvConverted[i] = AllocConvertUTF16toUTF8(argv[i]);
if (!argvConverted[i]) {
return 127;
}
}
-#ifdef WINCE
- ExtractEnvironmentFromCL(argc, argvConverted);
-#endif
argvConverted[argc] = NULL;
// need to save argvConverted copy for later deletion.
char **deleteUs = new char*[argc+1];
if (!deleteUs) {
FreeAllocStrings(argc, argvConverted);
return 127;
}
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -254,20 +254,20 @@ nsXREDirProvider::GetFile(const char* aP
rv = file->AppendNative(NS_LITERAL_CSTRING("pref"));
}
}
else if (!strcmp(aProperty, NS_APP_APPLICATION_REGISTRY_DIR) ||
!strcmp(aProperty, XRE_USER_APP_DATA_DIR)) {
rv = GetUserAppDataDirectory((nsILocalFile**)(nsIFile**) getter_AddRefs(file));
}
else if (!strcmp(aProperty, XRE_UPDATE_ROOT_DIR)) {
-#if defined(XP_WIN) && !defined(WINCE)
+#if defined(XP_WIN)
rv = GetUpdateRootDir(getter_AddRefs(file));
#else
- // Only supported on Windows other than WINCE, so just immediately fail.
+ // Only supported on Windows, so just immediately fail.
return NS_ERROR_FAILURE;
#endif
}
else if (!strcmp(aProperty, NS_APP_APPLICATION_REGISTRY_FILE)) {
rv = GetUserAppDataDirectory((nsILocalFile**)(nsIFile**) getter_AddRefs(file));
if (NS_SUCCEEDED(rv))
rv = file->AppendNative(NS_LITERAL_CSTRING(APP_REGISTRY_NAME));
}
@@ -819,54 +819,34 @@ static nsresult
GetShellFolderPath(int folder, nsAString& _retval)
{
PRUnichar* buf;
PRUint32 bufLength = _retval.GetMutableData(&buf, MAXPATHLEN + 3);
NS_ENSURE_TRUE(bufLength >= (MAXPATHLEN + 3), NS_ERROR_OUT_OF_MEMORY);
nsresult rv = NS_OK;
-#if defined(WINCE) && !defined(WINCE_WINDOWS_MOBILE)
- if (folder == CSIDL_APPDATA || folder == CSIDL_LOCAL_APPDATA)
- folder = CSIDL_PROFILE;
-
- BOOL ok = SHGetSpecialFolderPath(NULL, buf, folder, true);
- if (!ok) {
- _retval.SetLength(0);
- return NS_ERROR_FAILURE;
- }
-
- buf[bufLength - 1] = L'\0';
- _retval.SetLength(wcslen(buf));
-
- // sometimes CSIDL_PROFILE shows up without a root slash
- if (folder == CSIDL_PROFILE && buf[0] != '\\') {
- _retval.Insert('\\', 0);
- }
-#else
LPITEMIDLIST pItemIDList = NULL;
if (SUCCEEDED(SHGetSpecialFolderLocation(NULL, folder, &pItemIDList)) &&
SHGetPathFromIDListW(pItemIDList, buf)) {
// We're going to use wcslen (wcsnlen not available in msvc7.1) so make
// sure to null terminate.
buf[bufLength - 1] = L'\0';
_retval.SetLength(wcslen(buf));
} else {
_retval.SetLength(0);
rv = NS_ERROR_NOT_AVAILABLE;
}
CoTaskMemFree(pItemIDList);
-#endif
return rv;
}
-#ifndef WINCE
/**
* Provides a fallback for getting the path to APPDATA or LOCALAPPDATA by
* querying the registry when the call to SHGetSpecialFolderLocation or
* SHGetPathFromIDListW is unable to provide these paths (Bug 513958).
*/
static nsresult
GetRegWindowsAppDataFolder(PRBool aLocal, nsAString& _retval)
{
@@ -908,17 +888,16 @@ GetRegWindowsAppDataFolder(PRBool aLocal
::RegCloseKey(key);
if (res != ERROR_SUCCESS) {
_retval.SetLength(0);
return NS_ERROR_NOT_AVAILABLE;
}
return NS_OK;
}
-#endif
nsresult
nsXREDirProvider::GetUpdateRootDir(nsIFile* *aResult)
{
nsCOMPtr<nsIFile> appDir = GetAppDir();
nsAutoString appPath;
nsresult rv = appDir->GetPath(appPath);
@@ -927,27 +906,24 @@ nsXREDirProvider::GetUpdateRootDir(nsIFi
// AppDir may be a short path. Convert to long path to make sure
// the consistency of the update folder location
nsString longPath;
PRUnichar* buf;
PRUint32 bufLength = longPath.GetMutableData(&buf, MAXPATHLEN);
NS_ENSURE_TRUE(bufLength >= MAXPATHLEN, NS_ERROR_OUT_OF_MEMORY);
-#ifdef WINCE
- longPath.Assign(appPath);
-#else
DWORD len = GetLongPathNameW(appPath.get(), buf, bufLength);
// Failing GetLongPathName() is not fatal.
if (len <= 0 || len >= bufLength)
longPath.Assign(appPath);
else
longPath.SetLength(len);
-#endif
+
// Use <UserLocalDataDir>\updates\<relative path to app dir from
// Program Files> if app dir is under Program Files to avoid the
// folder virtualization mess on Windows Vista
nsAutoString programFiles;
rv = GetShellFolderPath(CSIDL_PROGRAM_FILES, programFiles);
NS_ENSURE_SUCCESS(rv, rv);
programFiles.AppendLiteral("\\");
@@ -1044,30 +1020,25 @@ nsXREDirProvider::GetUserDataDirectoryHo
rv = dirFileMac->InitWithFSRef(&fsRef);
NS_ENSURE_SUCCESS(rv, rv);
localDir = do_QueryInterface(dirFileMac, &rv);
#elif defined(XP_WIN)
nsString path;
if (aLocal) {
rv = GetShellFolderPath(CSIDL_LOCAL_APPDATA, path);
-#ifndef WINCE
if (NS_FAILED(rv))
rv = GetRegWindowsAppDataFolder(aLocal, path);
-#endif
}
if (!aLocal || NS_FAILED(rv)) {
rv = GetShellFolderPath(CSIDL_APPDATA, path);
-#ifndef WINCE
if (NS_FAILED(rv)) {
if (!aLocal)
rv = GetRegWindowsAppDataFolder(aLocal, path);
}
-#endif
-
}
NS_ENSURE_SUCCESS(rv, rv);
rv = NS_NewLocalFile(path, PR_TRUE, getter_AddRefs(localDir));
#elif defined(XP_OS2)
#if 0 /* For OS/2 we want to always use MOZILLA_HOME */
// we want an environment variable of the form
// FIREFOX_HOME, etc