Backout of Bug 378785.
authorsdwilsh@shawnwilsher.com
Mon, 30 Apr 2007 16:01:56 -0700
changeset 942 7d4acb18325d9a9f0e3f243e718f269599879fa8
parent 941 a874607f5a30cde75a4e29cfb8e8faf71825a8c1
child 943 586d3b48896832b47c7aa1022bed4d071e29ec7b
push id1
push userbsmedberg@mozilla.com
push dateThu, 20 Mar 2008 16:49:24 +0000
treeherdermozilla-central@61007906a1f8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs378785
milestone1.9a5pre
Backout of Bug 378785.
toolkit/components/alerts/Makefile.in
toolkit/components/alerts/src/mac/Makefile.in
toolkit/components/alerts/src/mac/growl/Makefile.in
toolkit/components/alerts/src/mac/mozGrowlDelegate.mm
toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.h
toolkit/components/alerts/src/mac/nsAlertsService.h
toolkit/components/alerts/src/mac/nsAlertsService.mm
toolkit/components/alerts/src/mac/nsAlertsServiceModule.cpp
toolkit/components/build/Makefile.in
toolkit/components/build/nsToolkitCompsModule.cpp
--- a/toolkit/components/alerts/Makefile.in
+++ b/toolkit/components/alerts/Makefile.in
@@ -44,18 +44,14 @@ VPATH   = @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 DIRS    = public 
 
 ifneq (,$(filter $(MOZ_WIDGET_TOOLKIT),windows gtk gtk2))
 DIRS += src
 endif
 
-ifneq (,$(filter cocoa, $(MOZ_WIDGET_TOOLKIT)))
-# src/mac/growl needs to be first for linking to work!
-DIRS += \
-  src/mac/growl \
-  src/mac \
-  $(NULL)
-endif
+#ifneq (,$(filter mac cocoa, $(MOZ_WIDGET_TOOLKIT)))
+#DIRS += src/mac
+#endif
 
 include $(topsrcdir)/config/rules.mk
 
--- a/toolkit/components/alerts/src/mac/Makefile.in
+++ b/toolkit/components/alerts/src/mac/Makefile.in
@@ -38,45 +38,36 @@ DEPTH = ../../../../..
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE = alerts
 LIBRARY_NAME = alerts_s
-IS_COMPONENT = 1
-FORCE_SHARED_LIB = 1
+FORCE_STATIC_LIB = 1
+LIBXUL_LIBRARY = 1
+
+DIRS = growl
 
 REQUIRES = \
   xpcom \
   string \
   necko \
   xulapp \
   $(NULL)
 
 CMMSRCS = \
   nsAlertsService.mm \
   mozGrowlDelegate.mm \
   nsAlertsImageLoadListener.mm \
   $(NULL)
 
-CPPSRCS = \
-  nsAlertsServiceModule.cpp \
-  $(NULL)
-
 LOCAL_INCLUDES += \
   -I$(srcdir)/growl/ \
   -I$(topsrcdir)/toolkit/components/build/ \
   $(NULL)
 
-SHARED_LIBRARY_LIBS = \
-  growl/$(LIB_PREFIX)growl_s.$(LIB_SUFFIX) \
-  $(NULL)
+include $(topsrcdir)/config/rules.mk
 
 EXTRA_DSO_LDOPTS += \
-  -framework Carbon \
-  -framework Cocoa \
-  $(XPCOM_GLUE_LDOPTS) \
-  $(NSPR_LIBS) \
+  $(MOZ_COMPONENT_LIBS) \
   $(NULL)
-
-include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/alerts/src/mac/growl/Makefile.in
+++ b/toolkit/components/alerts/src/mac/growl/Makefile.in
@@ -39,21 +39,31 @@ topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE = alerts
 LIBRARY_NAME = growl_s
 FORCE_STATIC_LIB = 1
-FORCE_USE_PIC = 1
+LIBXUL_LIBRARY = 1
 
 CMSRCS = \
   GrowlApplicationBridge.m \
   GrowlPathUtil.m \
   NSURLAdditions.m \
   $(NULL)
 
 CSRCS = \
   CFGrowlAdditions.c \
 	$(NULL)
 
 include $(topsrcdir)/config/rules.mk
+
+LDFLAGS += \
+  -framework Carbon \
+  -framework Foundation \
+  -framework AppKit \
+  $(NULL)
+
+EXTRA_DSO_LDOPTS += \
+  $(MOZ_COMPONENT_LIBS) \
+  $(NULL)
--- a/toolkit/components/alerts/src/mac/mozGrowlDelegate.mm
+++ b/toolkit/components/alerts/src/mac/mozGrowlDelegate.mm
@@ -32,17 +32,17 @@
  * 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 ***** */
 
 #import "mozGrowlDelegate.h"
 
 #include "nsIObserver.h"
-#include "nsStringAPI.h"
+#include "nsString.h"
 #include "nscore.h"
 #include "nsCOMPtr.h"
 #include "nsServiceManagerUtils.h"
 #include "nsIXULAppInfo.h"
 
 @implementation mozGrowlDelegate
 
 - (id) init
--- a/toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.h
+++ b/toolkit/components/alerts/src/mac/nsAlertsImageLoadListener.h
@@ -35,17 +35,17 @@
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef nsAlertsImageLoadListener_h_
 #define nsAlertsImageLoadListener_h_
 
 #import "mozGrowlDelegate.h"
 
 #include "nsIStreamLoader.h"
-#include "nsStringAPI.h"
+#include "nsString.h"
 
 class nsAlertsImageLoadListener : public nsIStreamLoaderObserver
 {
 public:
   nsAlertsImageLoadListener(const nsAString& aAlertTitle,
                             const nsAString& aAlertText,
                             PRBool aAlertClickable,
                             const nsAString& aAlertCookie,
--- a/toolkit/components/alerts/src/mac/nsAlertsService.h
+++ b/toolkit/components/alerts/src/mac/nsAlertsService.h
@@ -34,16 +34,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #ifndef nsAlertsService_h_
 #define nsAlertsService_h_
 
 #include "nsIAlertsService.h"
 #include "nsIObserver.h"
+#include "nsToolkitCompsCID.h"
 
 struct GrowlDelegateWrapper;
 
 class nsAlertsService : public nsIAlertsService,
                         public nsIObserver
 {
 public:
   NS_DECL_ISUPPORTS
@@ -52,9 +53,20 @@ public:
 
   nsAlertsService();
   nsresult Init();
 private:
   GrowlDelegateWrapper* mDelegate;
   virtual ~nsAlertsService();
 };
 
+class nsModuleComponentInfo;
+NS_METHOD nsAlertsServiceRegister(nsIComponentManager* aCompMgr,
+                                  nsIFile *aPath,
+                                  const char* registryLocation,
+                                  const char* componentType,
+                                  const nsModuleComponentInfo* info);
+NS_METHOD nsAlertsServiceUnregister(nsIComponentManager* aCompMgr,
+                                    nsIFile* aPath,
+                                    const char* registryLocation,
+                                    const nsModuleComponentInfo* info);
+
 #endif // nsAlertsService_h_
--- a/toolkit/components/alerts/src/mac/nsAlertsService.mm
+++ b/toolkit/components/alerts/src/mac/nsAlertsService.mm
@@ -30,23 +30,26 @@
  * 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 "nsAlertsService.h"
-#include "nsStringAPI.h"
+#include "nsString.h"
 #include "nsAlertsImageLoadListener.h"
 #include "nsIURI.h"
 #include "nsIStreamLoader.h"
 #include "nsNetUtil.h"
 #include "nsCRT.h"
 #include "nsCOMPtr.h"
+#include "nsIServiceManager.h"
+#include "nsICategoryManager.h"
+#include "nsMemory.h"
 
 #import "mozGrowlDelegate.h"
 #import "GrowlApplicationBridge.h"
 
 NS_IMPL_THREADSAFE_ADDREF(nsAlertsService)
 NS_IMPL_THREADSAFE_RELEASE(nsAlertsService)
 
 NS_INTERFACE_MAP_BEGIN(nsAlertsService)
@@ -134,8 +137,47 @@ nsAlertsService::Observe(nsISupports* aS
                          const PRUnichar* aData)
 {
   if (nsCRT::strcmp(aTopic, "app-startup") == 0) // registers with Growl here
     [GrowlApplicationBridge setGrowlDelegate: mDelegate->delegate];
 
   return NS_OK;
 }
 
+NS_METHOD
+nsAlertsServiceRegister(nsIComponentManager* aCompMgr,
+                        nsIFile* aPath,
+                        const char* registryLocation,
+                        const char* componentType,
+                        const nsModuleComponentInfo* info)
+{
+  nsresult rv;
+
+  nsCOMPtr<nsICategoryManager> catman =
+    do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
+  NS_ENSURE_SUCCESS(rv, rv);
+
+  char* prev = nsnull;
+  rv = catman->AddCategoryEntry("app-startup", "nsAlertsService",
+                                NS_ALERTSERVICE_CONTRACTID, PR_TRUE, PR_TRUE,
+                                &prev);
+  if (prev)
+    nsMemory::Free(prev);
+
+  return rv;
+}
+
+NS_METHOD
+nsAlertsServiceUnregister(nsIComponentManager* aCompMgr,
+                          nsIFile* aPath,
+                          const char* registryLocation,
+                          const nsModuleComponentInfo* info)
+{
+  nsresult rv;
+
+  nsCOMPtr<nsICategoryManager> catman =
+    do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
+  if (NS_FAILED(rv)) return rv;
+
+  rv = catman->DeleteCategoryEntry("app-startup", "nsAlertsService", PR_TRUE);
+
+  return rv;
+}
deleted file mode 100644
--- a/toolkit/components/alerts/src/mac/nsAlertsServiceModule.cpp
+++ /dev/null
@@ -1,100 +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 Growl implementation of nsIAlertsService.
- *
- * The Initial Developer of the Original Code is
- *   Shawn Wilsher <me@shawnwilsher.com>.
- * Portions created by the Initial Developer are Copyright (C) 2006-2007
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * 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 "nsAlertsService.h"
-#include "nsToolkitCompsCID.h"
-#include "nsIGenericFactory.h"
-#include "nsCOMPtr.h"
-#include "nsIServiceManager.h"
-#include "nsServiceManagerUtils.h"
-#include "nsICategoryManager.h"
-#include "nsMemory.h"
-
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAlertsService, Init)
-
-static
-NS_METHOD
-nsAlertsServiceRegister(nsIComponentManager* aCompMgr,
-                        nsIFile* aPath,
-                        const char* registryLocation,
-                        const char* componentType,
-                        const nsModuleComponentInfo* info)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsICategoryManager> catman =
-    do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  char* prev = nsnull;
-  rv = catman->AddCategoryEntry("app-startup", "nsAlertsService",
-                                NS_ALERTSERVICE_CONTRACTID, PR_TRUE, PR_TRUE,
-                                &prev);
-  if (prev)
-    nsMemory::Free(prev);
-
-  return rv;
-}
-
-static
-NS_METHOD
-nsAlertsServiceUnregister(nsIComponentManager* aCompMgr,
-                          nsIFile* aPath,
-                          const char* registryLocation,
-                          const nsModuleComponentInfo* info)
-{
-  nsresult rv;
-
-  nsCOMPtr<nsICategoryManager> catman =
-    do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  rv = catman->DeleteCategoryEntry("app-startup", "nsAlertsService", PR_TRUE);
-
-  return rv;
-}
-
-static const nsModuleComponentInfo components[] =
-{
-  { "Alerts Service",
-    NS_ALERTSSERVICE_CID,
-    NS_ALERTSERVICE_CONTRACTID,
-    nsAlertsServiceConstructor,
-    nsAlertsServiceRegister,
-    nsAlertsServiceUnregister },
-};
-
-NS_IMPL_NSGETMODULE(nsAlertsServiceModule, components)
--- a/toolkit/components/build/Makefile.in
+++ b/toolkit/components/build/Makefile.in
@@ -49,16 +49,20 @@ EXPORT_LIBRARY = 1
 IS_COMPONENT = 1
 MODULE_NAME = nsToolkitCompsModule
 LIBXUL_LIBRARY = 1
 
 ifneq (,$(filter $(MOZ_WIDGET_TOOLKIT),windows gtk gtk2))
 ALERTS_SERVICE=1
 DEFINES += -DALERTS_SERVICE
 endif
+#ifneq (,$(filter cocoa, $(MOZ_WIDGET_TOOLKIT)))
+#ALERTS_SERVICE_MAC=1
+#DEFINES += -DALERTS_SERVICE_MAC
+#endif
 
 REQUIRES = 	\
 		xpcom \
 		string \
 		widget \
 		layout \
 		dom \
 		pref \
@@ -101,16 +105,24 @@ LOCAL_INCLUDES = \
 	-I$(srcdir)/../feeds/src \
 	$(NULL)
 
 ifdef ALERTS_SERVICE
 LOCAL_INCLUDES += \
 	-I$(srcdir)/../alerts/src \
 	$(NULL)
 endif
+ifdef ALERTS_SERVICE_MAC
+LOCAL_INCLUDES += \
+	-I$(srcdir)/../alerts/src/mac \
+	$(NULL)
+EXTRA_DSO_LDOPTS += \
+	-framework Cocoa \
+	$(NULL)
+endif
 
 SHARED_LIBRARY_LIBS = \
 	../startup/src/$(LIB_PREFIX)appstartup_s.$(LIB_SUFFIX) \
 	$(NULL)
 
 ifndef MOZ_SUITE
 # XXX Suite isn't ready to build this just yet
 ifdef MOZ_XPINSTALL
--- a/toolkit/components/build/nsToolkitCompsModule.cpp
+++ b/toolkit/components/build/nsToolkitCompsModule.cpp
@@ -35,17 +35,17 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
 #include "nsIGenericFactory.h"
 #include "nsAppStartup.h"
 #include "nsUserInfo.h"
 #include "nsXPFEComponentsCID.h"
 #include "nsToolkitCompsCID.h"
-#ifdef ALERTS_SERVICE
+#if defined(ALERTS_SERVICE) || defined(ALERTS_SERVICE_MAC)
 #include "nsAlertsService.h"
 #endif
 
 #ifndef MOZ_SUITE
 // XXX Suite isn't ready to include this just yet
 #ifdef MOZ_XPINSTALL
 #ifdef MOZ_RDF
 #include "nsDownloadManager.h"
@@ -68,16 +68,18 @@
 
 /////////////////////////////////////////////////////////////////////////////
 
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAppStartup, Init)
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUserInfo)
 
 #ifdef ALERTS_SERVICE
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAlertsService)
+#elif defined(ALERTS_SERVICE_MAC)
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAlertsService, Init)
 #endif
 
 #ifndef MOZ_SUITE
 // XXX Suite isn't ready to include this just yet
 #ifdef MOZ_XPINSTALL
 #ifdef MOZ_RDF
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsDownloadManager, Init) 
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloadProxy)
@@ -111,16 +113,23 @@ static const nsModuleComponentInfo compo
     NS_USERINFO_CID,
     NS_USERINFO_CONTRACTID,
     nsUserInfoConstructor },
 #ifdef ALERTS_SERVICE
   { "Alerts Service",
     NS_ALERTSSERVICE_CID, 
     NS_ALERTSERVICE_CONTRACTID,
     nsAlertsServiceConstructor },
+#elif defined(ALERTS_SERVICE_MAC)
+  { "Alerts Service",
+    NS_ALERTSSERVICE_CID, 
+    NS_ALERTSERVICE_CONTRACTID,
+    nsAlertsServiceConstructor,
+    nsAlertsServiceRegister,
+    nsAlertsServiceUnregister },
 #endif
 #ifndef MOZ_SUITE
 // XXX Suite isn't ready to include this just yet
 #ifdef MOZ_XPINSTALL
 #ifdef MOZ_RDF
   { "Download Manager",
     NS_DOWNLOADMANAGER_CID,
     NS_DOWNLOADMANAGER_CONTRACTID,