Bug 654472 - Remove WinCE code (incl MOZ_FLASH_ACTIVEX_PATCH & USE_HTIFACE) from embedding/* ; r=bsmedberg
authorEd Morley <bmo@edmorley.co.uk>
Fri, 06 May 2011 11:40:46 -0700
changeset 69297 d73c889a6078c6ab49df06fbf22f65d5e604a408
parent 69296 0723af2574f11255a1e247b7f2209b8f58e6662d
child 69298 7c04a6a5ede665ae73571345e2aa626b52d9d846
push idunknown
push userunknown
push dateunknown
reviewersbsmedberg
bugs654472
milestone6.0a1
Bug 654472 - Remove WinCE code (incl MOZ_FLASH_ACTIVEX_PATCH & USE_HTIFACE) from embedding/* ; r=bsmedberg
config/system-headers
embedding/browser/Makefile.in
embedding/browser/activex/src/common/ControlSite.cpp
embedding/browser/activex/src/common/StdAfx.h
embedding/browser/activex/src/plugin/LegacyPlugin.cpp
embedding/browser/activex/src/plugin/Makefile.in
embedding/browser/activex/src/plugin/MozActiveX-flash.rc
embedding/browser/activex/src/plugin/StdAfx.h
embedding/browser/activex/src/plugin/XPCDocument.cpp
embedding/browser/activex/src/plugin/XPConnect.cpp
embedding/components/Makefile.in
embedding/components/build/Makefile.in
embedding/components/build/nsEmbeddingModule.cpp
js/src/config/system-headers
--- a/config/system-headers
+++ b/config/system-headers
@@ -305,17 +305,16 @@ gssapi/gssapi_generic.h
 gssapi/gssapi.h
 gssapi.h
 gtk/gtk.h
 gtk/gtkprinter.h
 gtk/gtkprintjob.h
 gtk/gtkprintunixdialog.h
 HIToolbox/HIToolbox.h
 hlink.h
-htiface.h
 ia64/sys/inline.h
 Icons.h
 iconv.h
 IDL.h
 ieeefp.h
 ifaddrs.h
 image.h
 imagehlp.h
--- a/embedding/browser/Makefile.in
+++ b/embedding/browser/Makefile.in
@@ -40,15 +40,15 @@ DEPTH		= ../..
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 DIRS = webBrowser build
 
-ifneq (,$(filter $(OS_ARCH),WINNT WINCE))
+ifeq ($(OS_ARCH),WINNT)
 ifndef MOZ_NO_ACTIVEX_SUPPORT
 TOOL_DIRS += activex/src
 endif
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/embedding/browser/activex/src/common/ControlSite.cpp
+++ b/embedding/browser/activex/src/common/ControlSite.cpp
@@ -55,17 +55,16 @@ public:
     virtual BOOL IsClassMarkedSafeForScripting(const CLSID & clsid, BOOL &bClassExists);
     // Test if the instantiated object is safe for scripting on the specified interface
     virtual BOOL IsObjectSafeForScripting(IUnknown *pObject, const IID &iid);
 };
 
 BOOL
 CDefaultControlSiteSecurityPolicy::ClassImplementsCategory(const CLSID &clsid, const CATID &catid, BOOL &bClassExists)
 {
-#ifndef WINCE
     bClassExists = FALSE;
 
     // Test if there is a CLSID entry. If there isn't then obviously
     // the object doesn't exist and therefore doesn't implement any category.
     // In this situation, the function returns REGDB_E_CLASSNOTREG.
 
     CRegKey key;
     if (key.Open(HKEY_CLASSES_ROOT, _T("CLSID"), KEY_READ) != ERROR_SUCCESS)
@@ -112,17 +111,16 @@ CDefaultControlSiteSecurityPolicy::Class
     CATID catidNext = GUID_NULL;
     while (spEnumCATID->Next(1, &catidNext, NULL) == S_OK)
     {
         if (::IsEqualCATID(catid, catidNext))
         {
             return TRUE;
         }
     }
-#endif
 
     return FALSE;
 }
 
 // Test if the class is safe to host
 BOOL CDefaultControlSiteSecurityPolicy::IsClassSafeToHost(const CLSID & clsid)
 {
     return TRUE;
@@ -1271,30 +1269,26 @@ HRESULT STDMETHODCALLTYPE CControlSite::
         return E_INVALIDARG;
     }
     if (pPtfContainer == NULL)
     {
         return E_INVALIDARG;
     }
 
     HDC hdc = ::GetDC(m_hWndParent);
-#ifndef WINCE
     ::SetMapMode(hdc, MM_HIMETRIC);
-#endif
     POINT rgptConvert[2];
     rgptConvert[0].x = 0;
     rgptConvert[0].y = 0;
 
     if (dwFlags & XFORMCOORDS_HIMETRICTOCONTAINER)
     {
         rgptConvert[1].x = pPtlHimetric->x;
         rgptConvert[1].y = pPtlHimetric->y;
-#ifndef WINCE
         ::LPtoDP(hdc, rgptConvert, 2);
-#endif
         if (dwFlags & XFORMCOORDS_SIZE)
         {
             pPtfContainer->x = (float)(rgptConvert[1].x - rgptConvert[0].x);
             pPtfContainer->y = (float)(rgptConvert[0].y - rgptConvert[1].y);
         }
         else if (dwFlags & XFORMCOORDS_POSITION)
         {
             pPtfContainer->x = (float)rgptConvert[1].x;
@@ -1304,19 +1298,17 @@ HRESULT STDMETHODCALLTYPE CControlSite::
         {
             hr = E_INVALIDARG;
         }
     }
     else if (dwFlags & XFORMCOORDS_CONTAINERTOHIMETRIC)
     {
         rgptConvert[1].x = (int)(pPtfContainer->x);
         rgptConvert[1].y = (int)(pPtfContainer->y);
-#ifndef WINCE
         ::DPtoLP(hdc, rgptConvert, 2);
-#endif
         if (dwFlags & XFORMCOORDS_SIZE)
         {
             pPtlHimetric->x = rgptConvert[1].x - rgptConvert[0].x;
             pPtlHimetric->y = rgptConvert[0].y - rgptConvert[1].y;
         }
         else if (dwFlags & XFORMCOORDS_POSITION)
         {
             pPtlHimetric->x = rgptConvert[1].x;
--- a/embedding/browser/activex/src/common/StdAfx.h
+++ b/embedding/browser/activex/src/common/StdAfx.h
@@ -84,40 +84,16 @@
 // #define _ATL_DEBUG_INTERFACES
 
 // ATL headers
 // The ATL headers that come with the platform SDK have bad for scoping
 #if _MSC_VER >= 1400
 #pragma conform(forScope, push, atlhack, off)
 #endif
 
-#ifdef WINCE
-/* atlbase.h on WINCE has a bug, in that it tries to use
- * GetProcAddress with a wide string, when that is explicitly not
- * supported.  So we use C++ to overload that here, and implement
- * something that works.
- */
-#include <windows.h>
-static FARPROC GetProcAddressA(HMODULE hMod, wchar_t *procName) {
-  FARPROC ret = NULL;
-  int len = wcslen(procName);
-  char *s = new char[len + 1];
-
-  for (int i = 0; i < len; i++) {
-    s[i] = (char) procName[i];
-  }
-  s[len-1] = 0;
-
-  ret = ::GetProcAddress(hMod, s);
-  delete [] s;
-
-  return ret;
-}
-#endif
-
 #include <atlbase.h>
 
 //You may derive a class from CComModule and use it if you want to override
 //something, but do not change the name of _Module
 extern CComModule _Module;
 #include <atlcom.h>
 #include <atlctl.h>
 
--- a/embedding/browser/activex/src/plugin/LegacyPlugin.cpp
+++ b/embedding/browser/activex/src/plugin/LegacyPlugin.cpp
@@ -555,36 +555,17 @@ CreateControl(const CLSID &clsid, Plugin
 
     pData->clsid = clsid;
 
     // Set flags to specify if it is allowed to host safe or unsafe controls
     // and download them.
     PRBool hostSafeControlsOnly;
     PRBool downloadControlsIfMissing;
 #if defined(MOZ_ACTIVEX_PLUGIN_XPCONNECT) && defined(XPC_IDISPATCH_SUPPORT)
-#ifdef MOZ_FLASH_ACTIVEX_PATCH
-    GUID flashGUID;
-    ::CLSIDFromString(_T("{D27CDB6E-AE6D-11CF-96B8-444553540000}"), &flashGUID);
-
-    // HACK: Allow anything but downloading for the wrapped Flash control.
-    PRUint32 hostingFlags;
-    if (clsid == flashGUID)
-    {
-      hostingFlags = (nsIActiveXSecurityPolicy::HOSTING_FLAGS_HOST_SAFE_OBJECTS |
-                      nsIActiveXSecurityPolicy::HOSTING_FLAGS_SCRIPT_SAFE_OBJECTS |
-                      nsIActiveXSecurityPolicy::HOSTING_FLAGS_SCRIPT_ALL_OBJECTS |
-                      nsIActiveXSecurityPolicy::HOSTING_FLAGS_HOST_ALL_OBJECTS);
-    }
-    else
-    {
-      hostingFlags = MozAxPlugin::PrefGetHostingFlags();
-    }
-#else
     PRUint32 hostingFlags = MozAxPlugin::PrefGetHostingFlags();
-#endif
     if (hostingFlags & nsIActiveXSecurityPolicy::HOSTING_FLAGS_HOST_SAFE_OBJECTS &&
         !(hostingFlags & nsIActiveXSecurityPolicy::HOSTING_FLAGS_HOST_ALL_OBJECTS))
     {
         hostSafeControlsOnly = TRUE;
     }
     else if (hostingFlags & nsIActiveXSecurityPolicy::HOSTING_FLAGS_HOST_ALL_OBJECTS)
     {
         hostSafeControlsOnly = FALSE;
--- a/embedding/browser/activex/src/plugin/Makefile.in
+++ b/embedding/browser/activex/src/plugin/Makefile.in
@@ -43,26 +43,17 @@ topsrcdir       = @top_srcdir@
 srcdir          = @srcdir@
 VPATH           = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE          = npmozax
 LIBRARY_NAME    = npmozax
 
-ifdef WINCE
-MOZ_FLASH_ACTIVEX_PATCH = 1
-endif
-
-ifdef MOZ_FLASH_ACTIVEX_PATCH
-RESFILE         = MozActiveX-flash.res
-else
 RESFILE         = MozActiveX.res
-endif
-
 DEFFILE         = npmozax.def
 GRE_MODULE	= 1
 
 
 XPIFILE         = mozactivex.xpi
 
 FORCE_SHARED_LIB = 1
 NO_DIST_INSTALL	= 1
@@ -127,56 +118,36 @@ LOCAL_INCLUDES = -I$(srcdir) -I$(AXCOMMO
 ifdef MOZ_ACTIVEX_PLUGIN_LIVECONNECT
 LOCAL_INCLUDES += -I./_java
 endif
 
 ifdef MOZ_ACTIVEX_PLUGIN_XPCONNECT
 LOCAL_INCLUDES += -I$(XPIDL_GEN_DIR)
 endif
 
-ifdef WINCE
-OS_LIBS += \
-	coredll.lib \
-	ole32.lib \
-	oleaut32.lib \
-	uuid.lib \
-	ceshell.lib \
-	corelibc.lib \
-	atls.lib \
-	atlce400.lib \
-	urlmon.lib \
-	libcmt.lib \
-	comsuppw.lib \
-	$(NULL)
-else
 OS_LIBS += \
     comdlg32.lib                   \
     ole32.lib                      \
     oleaut32.lib                   \
     uuid.lib                       \
     shell32.lib                    \
     $(NULL)
-endif
 
 ifdef MOZ_ACTIVEX_PLUGIN_LIVECONNECT
 DEFINES += -DMOZ_ACTIVEX_PLUGIN_LIVECONNECT -DXPCOM_GLUE
 endif
 
 ifdef MOZ_ACTIVEX_PLUGIN_XPCONNECT
 DEFINES += -DMOZ_ACTIVEX_PLUGIN_XPCONNECT
 endif
 
 ifdef XPC_IDISPATCH_SUPPORT
 DEFINES += -DXPC_IDISPATCH_SUPPORT
 endif
 
-ifdef MOZ_FLASH_ACTIVEX_PATCH
-DEFINES += -DMOZ_FLASH_ACTIVEX_PATCH
-endif
-
 EXTRA_DSO_LDOPTS = \
     $(DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
     $(MOZ_COMPONENT_LIBS) \
     $(NSPR_LIBS) \
     $(NULL)
 
 LIBS = \
     $(NSPR_LIBS) \
deleted file mode 100644
--- a/embedding/browser/activex/src/plugin/MozActiveX-flash.rc
+++ /dev/null
@@ -1,130 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-#if OSARCH != WINCE
-#include "winresrc.h"
-#else
-#include <dlgs.h>
-#include <winbase.h>
-#include <commctrl.h>
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-// 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
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "#include ""winres.h""\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-#ifndef _MAC
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,4
- PRODUCTVERSION 1,0,0,4
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904e4"
-        BEGIN
-            VALUE "Comments", "\0"
-            VALUE "CompanyName", "\0"
-            VALUE "FileDescription", "Shockwave Flash 9.0 r83\0"
-            VALUE "FileExtents", "*.ocx|*.ocx|*.swf|*.flv\0"
-            VALUE "FileOpenName", "ActiveX (*.ocx)|ActiveX (*.ocx)|Adobe Flash Movie (*.swf)|Adobe Flash Video (*.flv)\0"
-            VALUE "FileVersion", "9, 0, 83, 0\0"
-            VALUE "InternalName", "NPMOZAX\0"
-            VALUE "LegalCopyright", "Copyright 1999, 2009\0"
-            VALUE "LegalTrademarks", "\0"
-            VALUE "MIMEType", "application/x-oleobject|application/oleobject|application/x-shockwave-flash|application/x-shockwave-flash\0"
-            VALUE "OriginalFilename", "NPMOZAX.DLL\0"
-            VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Shockwave Flash\0"
-            VALUE "ProductVersion", "9, 0, 83, 0\0"
-            VALUE "SpecialBuild", "\0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1252
-    END
-END
-
-#endif    // !_MAC
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.K.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-3 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-#endif    // English (U.K.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
--- a/embedding/browser/activex/src/plugin/StdAfx.h
+++ b/embedding/browser/activex/src/plugin/StdAfx.h
@@ -60,40 +60,16 @@
 //#define _ATL_DEBUG_QI
 
 // ATL headers
 // The ATL headers that come with the platform SDK have bad for scoping
 #if _MSC_VER >= 1400
 #pragma conform(forScope, push, atlhack, off)
 #endif
 
-#ifdef WINCE
-/* atlbase.h on WINCE has a bug, in that it tries to use
- * GetProcAddress with a wide string, when that is explicitly not
- * supported.  So we use C++ to overload that here, and implement
- * something that works.
- */
-#include <windows.h>
-static FARPROC GetProcAddressA(HMODULE hMod, wchar_t *procName) {
-  FARPROC ret = NULL;
-  int len = wcslen(procName);
-  char *s = new char[len + 1];
-
-  for (int i = 0; i < len; i++) {
-    s[i] = (char) procName[i];
-  }
-  s[len-1] = 0;
-
-  ret = ::GetProcAddress(hMod, s);
-  delete [] s;
-
-  return ret;
-}
-#endif
-
 #include <atlbase.h>
 //You may derive a class from CComModule and use it if you want to override
 //something, but do not change the name of _Module
 extern CComModule _Module;
 #include <atlcom.h>
 #include <atlctl.h>
 
 #if _MSC_VER >= 1400
--- a/embedding/browser/activex/src/plugin/XPCDocument.cpp
+++ b/embedding/browser/activex/src/plugin/XPCDocument.cpp
@@ -52,23 +52,16 @@
 //
 // The interface is defined in very recent versions of Internet SDK part of
 // the PlatformSDK, from Dec 2002 onwards.
 //
 // http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ 
 //
 // Neither Visual C++ 6.0 or 7.0 ship with this interface.
 //
-#ifdef WINCE
-#define USE_HTIFACE
-#endif
-
-#ifdef USE_HTIFACE
-#include <htiface.h>
-#endif
 #ifndef __ITargetFrame_INTERFACE_DEFINED__
 // No ITargetFrame so make a binary compatible one
 MIDL_INTERFACE("d5f78c80-5252-11cf-90fa-00AA0042106e")
 IMozTargetFrame : public IUnknown
 {
 public:
     virtual HRESULT STDMETHODCALLTYPE SetFrameName(
         /* [in] */ LPCWSTR pszFrameName) = 0;
@@ -938,37 +931,17 @@ public:
     BSTR mUseTarget;
 
     IEDocument() :
         mWindow(NULL),
         mBrowser(NULL),
         mData(NULL),
         mUseTarget(NULL)
     {
-#ifdef MOZ_FLASH_ACTIVEX_PATCH
-        // HACK+TODO:
-        //
-        // AddRef()ing here causes leaking the MozAxPlugin's
-        // PrefObserver() because IEDocument() itself leaks.
-        // CControlSite::Attach() adds references to this object that
-        // aren't countered; most likely in the
-        // DoVerb(OLEIVERB_INPLACEACTIVATE) call. Maybe it results in a
-        // circular reference but the rest of the problem happens inside
-        // ATL and COM, so good luck with that.
-        //
-        // Sadly, I have no time to debug the original problem
-        // throughoutly but leaking pref observers visibly causes XUL to
-        // crash upon exit. XUL tries to release the stale pref observer
-        // after npmozax.dll has long since been unloaded. Note that a
-        // callback to IEDocument after unloading npmozax.dll would also
-        // crash but that doesn't seem to happen after tearing down the
-        // plugin instance itself. -Simo
-#else
         MozAxPlugin::AddRef();
-#endif
     }
 
     HRESULT Init(PluginInstanceData *pData)
     {
         mData = pData;
 
         // Get the DOM document
         NPN_GetValue(mData->pPluginInstance, NPNVDOMElement, 
@@ -1028,21 +1001,17 @@ public:
         if (mBrowser)
         {
             mBrowser->Release();
         }
         if (mWindow)
         {
             mWindow->Release();
         }
-#ifdef MOZ_FLASH_ACTIVEX_PATCH
-        // HACK+TODO: See IEDocument::IEDocument()
-#else
         MozAxPlugin::Release();
-#endif
     }
 
 BEGIN_COM_MAP(IEDocument)
     COM_INTERFACE_ENTRY(IServiceProvider)
     COM_INTERFACE_ENTRY(IDispatch)
     COM_INTERFACE_ENTRY(IHTMLDocument)
     COM_INTERFACE_ENTRY(IHTMLDocument2)
     COM_INTERFACE_ENTRY(IParseDisplayName)
--- a/embedding/browser/activex/src/plugin/XPConnect.cpp
+++ b/embedding/browser/activex/src/plugin/XPConnect.cpp
@@ -119,21 +119,16 @@ nsScriptablePeer::QueryInterface(const n
         return E_FAIL;
     }
 
     NS_IF_ADDREF(foundInterface);
     *aInstancePtr = foundInterface;
     return (*aInstancePtr) ? NS_OK : NS_NOINTERFACE;
 }
 
-#ifdef WINCE
-typedef _com_ptr_t<_com_IIID<IUnknown, &__uuidof(IUnknown)> > IUnknownPtr;
-typedef _com_ptr_t<_com_IIID<IDispatch, &__uuidof(IDispatch)> > IDispatchPtr;
-#endif
-
 HRESULT
 nsScriptablePeer::GetIDispatch(IDispatch **pdisp)
 {
     if (pdisp == NULL)
     {
         return E_INVALIDARG;
     }
     *pdisp = NULL;
@@ -991,31 +986,16 @@ nsresult MozAxPlugin::GetCurrentLocation
 
 CLSID MozAxPlugin::GetCLSIDForType(const char *mimeType)
 {
     if (mimeType == NULL)
     {
         return CLSID_NULL;
     }
 
-#ifdef MOZ_FLASH_ACTIVEX_PATCH
-    // If the Flash activex control doesn't advertise the supported
-    // mimetypes correctly, we map Shockwave Flash manually to the
-    // appropriate CLSID of the ActiveX control here.
-    if (!strcmp(mimeType, "application/x-shockwave-flash"))
-    {
-        GUID guidValue;
-
-        // The Flash CLSID
-        ::CLSIDFromString(_T("{D27CDB6E-AE6D-11CF-96B8-444553540000}"), &guidValue);
-
-        return guidValue;
-    }
-#endif
-
     // Read the registry to see if there is a CLSID for an object to be associated with
     // this MIME type.
     USES_CONVERSION;
     CRegKey keyMimeDB;
     if (keyMimeDB.Open(HKEY_CLASSES_ROOT, _T("MIME\\Database\\Content Type"), KEY_READ) == ERROR_SUCCESS)
     {
         CRegKey keyMimeType;
         if (keyMimeType.Open(keyMimeDB, A2CT(mimeType), KEY_READ) == ERROR_SUCCESS)
--- a/embedding/components/Makefile.in
+++ b/embedding/components/Makefile.in
@@ -44,17 +44,15 @@ include $(DEPTH)/config/autoconf.mk
 
 # You'd think we could skip building ui if XUL is disabled,
 # but we need to export interface headers from those directories.
 
 DIRS = windowwatcher appstartup find webbrowserpersist commandhandler
 
 ifdef MOZ_XUL
 ifdef NS_PRINTING
-ifndef WINCE
 DIRS += printingui
 endif
 endif
-endif
 
 DIRS += build
 
 include $(topsrcdir)/config/rules.mk
--- a/embedding/components/build/Makefile.in
+++ b/embedding/components/build/Makefile.in
@@ -57,23 +57,21 @@ SHARED_LIBRARY_LIBS = \
 	../appstartup/src/$(LIB_PREFIX)appstartupnotifier_s.$(LIB_SUFFIX) \
 	../find/src/$(LIB_PREFIX)find_s.$(LIB_SUFFIX) \
 	../webbrowserpersist/src/$(LIB_PREFIX)webbrowserpersist_s.$(LIB_SUFFIX) \
 	../commandhandler/src/$(LIB_PREFIX)commandhandler_s.$(LIB_SUFFIX) \
 	$(NULL)
 
 ifdef MOZ_XUL
 ifdef NS_PRINTING
-ifndef WINCE
 SHARED_LIBRARY_LIBS += \
 	../printingui/src/$(LIB_PREFIX)printingui_s.$(LIB_SUFFIX) \
 	$(NULL)
 endif
 endif
-endif
 
 LOCAL_INCLUDES	= \
 	-I$(srcdir)/../windowwatcher/src  \
 	-I$(srcdir)/../appstartup/src  \
 	-I$(srcdir)/../find/src  \
 	-I$(srcdir)/../webbrowserpersist/src  \
 	-I$(srcdir)/../commandhandler/src \
 	$(NULL)
@@ -83,20 +81,18 @@ LOCAL_INCLUDES += -I$(srcdir)/../printin
 endif
 
 ifdef MOZ_PDF_PRINTING
 LOCAL_INCLUDES += -I$(srcdir)/../printingui/src/unixshared 
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
 LOCAL_INCLUDES += -I$(srcdir)/../printingui/src/win 
-ifneq ($(OS_ARCH), WINCE)
 OS_LIBS	+= $(call EXPAND_LIBNAME,winspool comdlg32)
 endif
-endif
 
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
 LOCAL_INCLUDES += -I$(srcdir)/../printingui/src/mac
 endif
 
 EXTRA_DSO_LIBS = gkgfx
 
 EXTRA_DSO_LDOPTS = \
--- a/embedding/components/build/nsEmbeddingModule.cpp
+++ b/embedding/components/build/nsEmbeddingModule.cpp
@@ -46,70 +46,62 @@
 #include "nsControllerCommandTable.h"
 #include "nsCommandParams.h"
 #include "nsCommandGroup.h"
 #include "nsBaseCommandController.h"
 #include "nsNetCID.h"
 #include "nsEmbedCID.h"
 
 #ifdef NS_PRINTING
-#ifndef WINCE
 #include "nsPrintingPromptService.h"
 #endif
-#endif
 
 
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsWindowWatcher, Init)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppStartupNotifier)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsFind)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsWebBrowserFind)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsWebBrowserPersist)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsControllerCommandTable)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsCommandManager)
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsCommandParams, Init)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsControllerCommandGroup)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsBaseCommandController)
 
 #ifdef MOZ_XUL
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDialogParamBlock)
 #ifdef NS_PRINTING
-#ifndef WINCE
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintingPromptService, Init)
 #endif
 #endif
-#endif
 
 #ifdef MOZ_XUL
 NS_DEFINE_NAMED_CID(NS_DIALOGPARAMBLOCK_CID);
 #ifdef NS_PRINTING
-#ifndef WINCE
 NS_DEFINE_NAMED_CID(NS_PRINTINGPROMPTSERVICE_CID);
 #endif
 #endif
-#endif
 NS_DEFINE_NAMED_CID(NS_WINDOWWATCHER_CID);
 NS_DEFINE_NAMED_CID(NS_FIND_CID);
 NS_DEFINE_NAMED_CID(NS_WEB_BROWSER_FIND_CID);
 NS_DEFINE_NAMED_CID(NS_APPSTARTUPNOTIFIER_CID);
 NS_DEFINE_NAMED_CID(NS_WEBBROWSERPERSIST_CID);
 NS_DEFINE_NAMED_CID(NS_CONTROLLERCOMMANDTABLE_CID);
 NS_DEFINE_NAMED_CID(NS_COMMAND_MANAGER_CID);
 NS_DEFINE_NAMED_CID(NS_COMMAND_PARAMS_CID);
 NS_DEFINE_NAMED_CID(NS_CONTROLLER_COMMAND_GROUP_CID);
 NS_DEFINE_NAMED_CID(NS_BASECOMMANDCONTROLLER_CID);
 
 static const mozilla::Module::CIDEntry kEmbeddingCIDs[] = {
 #ifdef MOZ_XUL
     { &kNS_DIALOGPARAMBLOCK_CID, false, NULL, nsDialogParamBlockConstructor },
 #ifdef NS_PRINTING
-#ifndef WINCE
     { &kNS_PRINTINGPROMPTSERVICE_CID, false, NULL, nsPrintingPromptServiceConstructor },
 #endif
 #endif
-#endif
     { &kNS_WINDOWWATCHER_CID, false, NULL, nsWindowWatcherConstructor },
     { &kNS_FIND_CID, false, NULL, nsFindConstructor },
     { &kNS_WEB_BROWSER_FIND_CID, false, NULL, nsWebBrowserFindConstructor },
     { &kNS_APPSTARTUPNOTIFIER_CID, false, NULL, nsAppStartupNotifierConstructor },
     { &kNS_WEBBROWSERPERSIST_CID, false, NULL, nsWebBrowserPersistConstructor },
     { &kNS_CONTROLLERCOMMANDTABLE_CID, false, NULL, nsControllerCommandTableConstructor },
     { &kNS_COMMAND_MANAGER_CID, false, NULL, nsCommandManagerConstructor },
     { &kNS_COMMAND_PARAMS_CID, false, NULL, nsCommandParamsConstructor },
@@ -117,21 +109,19 @@ static const mozilla::Module::CIDEntry k
     { &kNS_BASECOMMANDCONTROLLER_CID, false, NULL, nsBaseCommandControllerConstructor },
     { NULL }
 };
 
 static const mozilla::Module::ContractIDEntry kEmbeddingContracts[] = {
 #ifdef MOZ_XUL
     { NS_DIALOGPARAMBLOCK_CONTRACTID, &kNS_DIALOGPARAMBLOCK_CID },
 #ifdef NS_PRINTING
-#ifndef WINCE
     { NS_PRINTINGPROMPTSERVICE_CONTRACTID, &kNS_PRINTINGPROMPTSERVICE_CID },
 #endif
 #endif
-#endif
     { NS_WINDOWWATCHER_CONTRACTID, &kNS_WINDOWWATCHER_CID },
     { NS_FIND_CONTRACTID, &kNS_FIND_CID },
     { NS_WEB_BROWSER_FIND_CONTRACTID, &kNS_WEB_BROWSER_FIND_CID },
     { NS_APPSTARTUPNOTIFIER_CONTRACTID, &kNS_APPSTARTUPNOTIFIER_CID },
     { NS_WEBBROWSERPERSIST_CONTRACTID, &kNS_WEBBROWSERPERSIST_CID },
     { NS_CONTROLLERCOMMANDTABLE_CONTRACTID, &kNS_CONTROLLERCOMMANDTABLE_CID },
     { NS_COMMAND_MANAGER_CONTRACTID, &kNS_COMMAND_MANAGER_CID },
     { NS_COMMAND_PARAMS_CONTRACTID, &kNS_COMMAND_PARAMS_CID },
--- a/js/src/config/system-headers
+++ b/js/src/config/system-headers
@@ -305,17 +305,16 @@ gssapi/gssapi_generic.h
 gssapi/gssapi.h
 gssapi.h
 gtk/gtk.h
 gtk/gtkprinter.h
 gtk/gtkprintjob.h
 gtk/gtkprintunixdialog.h
 HIToolbox/HIToolbox.h
 hlink.h
-htiface.h
 ia64/sys/inline.h
 Icons.h
 iconv.h
 IDL.h
 ieeefp.h
 ifaddrs.h
 image.h
 imagehlp.h