head 1.2; access; symbols pkgsrc-2013Q2:1.2.0.6 pkgsrc-2013Q2-base:1.2 pkgsrc-2012Q4:1.2.0.4 pkgsrc-2012Q4-base:1.2 pkgsrc-2011Q4:1.2.0.2 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q2:1.1.0.2 pkgsrc-2011Q2-base:1.1; locks; strict; comment @// @; 1.2 date 2011.08.20.08.41.53; author obache; state dead; branches; next 1.1; 1.1 date 2011.06.26.12.46.06; author obache; state Exp; branches; next ; desc @@ 1.2 log @Drop xulrunner-2 patches and switch to use xulrunner192. xulrunner>2 drop support of gtkmozembed, and not usable. Bump PKGREVISION. @ text @$NetBSD: patch-src_yelp-gecko-services.cpp,v 1.1 2011/06/26 12:46:06 obache Exp $ * xulrunner-2 support. --- src/yelp-gecko-services.cpp.orig 2010-08-03 19:41:59.000000000 +0000 +++ src/yelp-gecko-services.cpp @@@@ -32,7 +32,11 @@@@ #include #include #include +#ifndef HAVE_GECKO_2_0 #include +#else +#include +#endif #include #include #include @@@@ -418,6 +422,8 @@@@ PrintListener::SetPrintSettings (YelpPri /* component registration */ +#ifndef HAVE_GECKO_2_0 + NS_GENERIC_FACTORY_CONSTRUCTOR(GPrintingPromptService) static const nsModuleComponentInfo sAppComps[] = { @@@@ -462,3 +468,115 @@@@ yelp_register_printing () } } + +#else + +/* + * Adapted from code from ./embedding/browser/activex/src/control/PromptService.cpp in Firefox + */ + +//***************************************************************************** +// GPrintingPromptServiceFactory +//***************************************************************************** + +class GPrintingPromptServiceFactory : public nsIFactory +{ +public: + NS_DECL_ISUPPORTS + NS_DECL_NSIFACTORY + + GPrintingPromptServiceFactory(); + virtual ~GPrintingPromptServiceFactory(); +}; + +//***************************************************************************** + +NS_IMPL_ISUPPORTS1(GPrintingPromptServiceFactory, nsIFactory) + +GPrintingPromptServiceFactory::GPrintingPromptServiceFactory() +{ +} + +GPrintingPromptServiceFactory::~GPrintingPromptServiceFactory() +{ +} + +NS_IMETHODIMP GPrintingPromptServiceFactory::CreateInstance(nsISupports *aOuter, const nsIID & aIID, void **aResult) +{ + NS_ENSURE_ARG_POINTER(aResult); + + *aResult = NULL; + GPrintingPromptService *inst = new GPrintingPromptService; + if (!inst) + return NS_ERROR_OUT_OF_MEMORY; + + nsresult rv = inst->QueryInterface(aIID, aResult); + if (rv != NS_OK) { + // We didn't get the right interface, so clean up + delete inst; + } + + return rv; +} + +NS_IMETHODIMP GPrintingPromptServiceFactory::LockFactory(PRBool lock) +{ + return NS_OK; +} + +//***************************************************************************** + +nsresult NS_NewPrintingPromptServiceFactory(nsIFactory** aFactory) +{ + NS_ENSURE_ARG_POINTER(aFactory); + *aFactory = nsnull; + + GPrintingPromptServiceFactory *result = new GPrintingPromptServiceFactory; + if (!result) + return NS_ERROR_OUT_OF_MEMORY; + + NS_ADDREF(result); + *aFactory = result; + + return NS_OK; +} + +/* + * End of adapted code. + */ + +static NS_DEFINE_CID(kGPrintingPromptServiceCID, G_PRINTINGPROMPTSERVICE_CID); + +void +yelp_register_printing () +{ + nsresult rv; + nsCOMPtr cr; + rv = NS_GetComponentRegistrar(getter_AddRefs(cr)); + NS_ENSURE_SUCCESS (rv, ); + + nsCOMPtr cm; + rv = NS_GetComponentManager (getter_AddRefs (cm)); + NS_ENSURE_SUCCESS (rv, ); + + nsCOMPtr componentFactory; + rv = NS_NewPrintingPromptServiceFactory(getter_AddRefs(componentFactory)); + + if (NS_FAILED(rv) || !componentFactory) + { + g_warning ("Failed to make a factory for %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME); + return; + } + + rv = cr->RegisterFactory(kGPrintingPromptServiceCID, + G_PRINTINGPROMPTSERVICE_CLASSNAME, + G_PRINTINGPROMPTSERVICE_CONTRACTID, + componentFactory); + if (NS_FAILED(rv)) + { + g_warning ("Failed to register %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME); + } + +} + +#endif @ 1.1 log @Add xulrunner-2 support patches. taken from OpenSUSE and Gentoo repository. Bump PKGREVISION, because not bumped at xulrunner updated to 2.0. @ text @d1 1 a1 1 $NetBSD$ @