]>
Commit | Line | Data |
---|---|---|
491da1de MB |
1 | diff -urN yelp-2.30.2/m4/gecko.m4 yelp-2.30.2.new//m4/gecko.m4 |
2 | --- yelp-2.30.2/m4/gecko.m4 2010-08-03 21:41:59.000000000 +0200 | |
3 | +++ yelp-2.30.2.new//m4/gecko.m4 2011-03-24 20:18:42.866573902 +0100 | |
4 | @@ -119,8 +119,8 @@ | |
d5862f47 | 5 | _GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}-xpcom`" |
6 | _GECKO_NSPR=no # XXX asac: this is currently a blind guess and should be a AC test | |
8035b8dd | 7 | else |
d5862f47 | 8 | - _GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`/unstable" |
491da1de | 9 | - _GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --cflags ${gecko_cv_gecko}-unstable`" |
d5862f47 | 10 | + _GECKO_INCLUDE_ROOT="`$PKG_CONFIG --variable=includedir ${gecko_cv_gecko}`" |
491da1de | 11 | + _GECKO_CFLAGS="`$PKG_CONFIG --cflags ${gecko_cv_gecko}` `$PKG_CONFIG --cflags ${gecko_cv_gecko}`" |
d5862f47 | 12 | _GECKO_LIBDIR="`$PKG_CONFIG --variable=sdkdir ${gecko_cv_gecko}`/bin" |
13 | _GECKO_HOME=$with_gecko_home | |
491da1de MB |
14 | _GECKO_PREFIX="`$PKG_CONFIG --variable=prefix ${gecko_cv_gecko}`" |
15 | @@ -212,25 +212,6 @@ | |
16 | _SAVE_CPPFLAGS="$CPPFLAGS" | |
17 | CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS" | |
5d62262a | 18 | |
491da1de MB |
19 | -AC_MSG_CHECKING([[whether we have a gtk 2 gecko build]]) |
20 | -AC_RUN_IFELSE( | |
21 | - [AC_LANG_SOURCE( | |
22 | - [[#include <mozilla-config.h> | |
23 | - #include <string.h> | |
24 | - #include <stdlib.h> | |
25 | - int main(void) { | |
26 | - if (strcmp (MOZ_DEFAULT_TOOLKIT, "gtk2") == 0 || | |
27 | - strcmp (MOZ_DEFAULT_TOOLKIT, "cairo-gtk2") == 0) | |
28 | - return EXIT_SUCCESS; | |
29 | - | |
30 | - return EXIT_FAILURE; | |
31 | - } ]] | |
32 | - )], | |
33 | - [result=yes], | |
34 | - [AC_MSG_ERROR([[This program needs a gtk 2 gecko build]])], | |
35 | - [result=maybe]) | |
36 | -AC_MSG_RESULT([$result]) | |
37 | - | |
38 | AC_MSG_CHECKING([[whether we have a gecko debug build]]) | |
39 | AC_COMPILE_IFELSE( | |
40 | [AC_LANG_SOURCE( | |
41 | @@ -304,7 +285,9 @@ | |
42 | #ifdef MOZILLA_1_8_BRANCH | |
43 | version = "1.8.1"; | |
44 | #else | |
45 | -if (strncmp (MOZILLA_VERSION, "1.9", strlen ("1.9")) == 0) { | |
46 | +if (strncmp (MOZILLA_VERSION, "2.0", strlen ("2.0")) == 0) { | |
47 | + version = "2.0"; | |
48 | +} else if (strncmp (MOZILLA_VERSION, "1.9", strlen ("1.9")) == 0) { | |
49 | version = "1.9"; | |
50 | } else if (strncmp (MOZILLA_VERSION, "1.8", strlen ("1.8")) == 0) { | |
51 | version = "1.8"; | |
52 | @@ -328,7 +311,7 @@ | |
53 | ||
54 | gecko_cv_gecko_version_int="$(echo "$gecko_cv_gecko_version" | $AWK -F . '{print [$]1 * 1000000 + [$]2 * 1000 + [$]3}')" | |
55 | ||
56 | -if test "$gecko_cv_gecko_version_int" -lt "1007000" -o "$gecko_cv_gecko_version_int" -gt "1009000"; then | |
57 | +if test "$gecko_cv_gecko_version_int" -lt "1007000" -o "$gecko_cv_gecko_version_int" -gt "2000000"; then | |
58 | AC_MSG_ERROR([Gecko version $gecko_cv_gecko_version is not supported!]) | |
59 | fi | |
60 | ||
61 | @@ -350,7 +333,10 @@ | |
62 | fi | |
63 | ||
64 | if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then | |
65 | - PKG_CHECK_EXISTS([${gecko_cv_gecko} >= 1.9.1],[gecko_cv_have_gecko_1_9_1=yes gecko_cv_gecko_version="1.9.1" gecko_cv_gecko_version_int=1009001],[gecko_cv_have_gecko_1_9_1=no]) | |
66 | + PKG_CHECK_EXISTS([${gecko_cv_gecko} >= 1.9.1], | |
67 | + [ gecko_cv_have_gecko_1_9_1=yes | |
68 | + if test "$gecko_cv_gecko_version_int" -lt "2000000"; then gecko_cv_gecko_version="1.9.1" gecko_cv_gecko_version_int=1009001; fi | |
69 | + ],[gecko_cv_have_gecko_1_9_1=no]) | |
70 | else | |
71 | gecko_cv_have_gecko_1_9_1=no | |
72 | fi | |
73 | @@ -359,6 +345,11 @@ | |
74 | AC_DEFINE([HAVE_GECKO_1_9_1],[1],[Define if we have gecko 1.9.1]) | |
75 | fi | |
76 | ||
77 | +if test "$gecko_cv_gecko_version_int" -ge "2000000"; then | |
78 | + AC_DEFINE([HAVE_GECKO_2_0],[1],[Define if we have gecko 2.0]) | |
79 | + gecko_cv_have_gecko_2_0=yes | |
80 | +fi | |
81 | + | |
82 | fi # if gecko_cv_have_gecko | |
83 | ||
84 | $1[]_VERSION=$gecko_cv_gecko_version | |
85 | @@ -376,7 +367,7 @@ | |
86 | if ! test "$gecko_cv_have_xpcom_glue" = "yes"; then | |
87 | gecko_cv_extra_libs="-L$_GECKO_LIBDIR -lxul" | |
88 | else | |
89 | - gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue" | |
90 | + gecko_cv_glue_libs="-L$_GECKO_LIBDIR -lxpcomglue -ldl" | |
91 | fi | |
92 | else | |
93 | gecko_cv_extra_pkg_dependencies="${gecko_cv_gecko}-gtkmozembed" | |
94 | @@ -407,6 +398,7 @@ | |
95 | AM_CONDITIONAL([HAVE_GECKO_1_8_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1008001"]) | |
96 | AM_CONDITIONAL([HAVE_GECKO_1_9],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_gecko_version_int" -ge "1009000"]) | |
97 | AM_CONDITIONAL([HAVE_GECKO_1_9_1],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_1_9_1" = "yes"]) | |
98 | +AM_CONDITIONAL([HAVE_GECKO_2_0],[test "$gecko_cv_have_gecko" = "yes" -a "$gecko_cv_have_gecko_2_0" = "yes"]) | |
99 | AM_CONDITIONAL([HAVE_GECKO_HOME],[test "x$_GECKO_HOME" != "x"]) | |
100 | AM_CONDITIONAL([HAVE_GECKO_DEBUG],[test "$gecko_cv_have_debug" = "yes"]) | |
101 | AM_CONDITIONAL([HAVE_GECKO_XPCOM_GLUE],[test "$gecko_cv_have_xpcom_glue" = "yes"]) | |
102 | @@ -432,8 +424,8 @@ | |
103 | _SAVE_LDFLAGS="$LDFLAGS" | |
104 | _SAVE_LIBS="$LIBS" | |
105 | if test "${gecko_cv_gecko}" = "libxul-embedding" -o "${gecko_cv_gecko}" = "libxul"; then | |
106 | - CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-unstable)" | |
107 | - CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko}-unstable)" | |
108 | + CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko})" | |
109 | + CXXFLAGS="$CXXFLAGS $_GECKO_EXTRA_CXXFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-other ${gecko_cv_gecko})" | |
110 | LIBS="$LIBS $($PKG_CONFIG --libs ${gecko_cv_gecko}) -ldl" | |
111 | else | |
112 | CPPFLAGS="$CPPFLAGS $_GECKO_EXTRA_CPPFLAGS $_GECKO_CFLAGS $($PKG_CONFIG --cflags-only-I ${gecko_cv_gecko}-xpcom)" | |
113 | diff -urN yelp-2.30.2/src/yelp-gecko-services.cpp yelp-2.30.2.new//src/yelp-gecko-services.cpp | |
114 | --- yelp-2.30.2/src/yelp-gecko-services.cpp 2010-08-03 21:41:59.000000000 +0200 | |
115 | +++ yelp-2.30.2.new//src/yelp-gecko-services.cpp 2011-03-24 20:12:54.059907235 +0100 | |
116 | @@ -32,7 +32,11 @@ | |
117 | #include <nsIComponentManager.h> | |
118 | #include <nsComponentManagerUtils.h> | |
119 | #include <nsIComponentRegistrar.h> | |
120 | +#ifndef HAVE_GECKO_2_0 | |
121 | #include <nsIGenericFactory.h> | |
122 | +#else | |
123 | +#include <nsIFactory.h> | |
124 | +#endif | |
125 | #include <nsILocalFile.h> | |
126 | #include <nsIPrintSettings.h> | |
127 | #include <nsServiceManagerUtils.h> | |
128 | @@ -418,6 +422,8 @@ | |
129 | ||
130 | /* component registration */ | |
131 | ||
132 | +#ifndef HAVE_GECKO_2_0 | |
133 | + | |
134 | NS_GENERIC_FACTORY_CONSTRUCTOR(GPrintingPromptService) | |
135 | ||
136 | static const nsModuleComponentInfo sAppComps[] = { | |
137 | @@ -462,3 +468,115 @@ | |
138 | } | |
139 | ||
140 | } | |
141 | + | |
142 | +#else | |
143 | + | |
144 | +/* | |
145 | + * Adapted from code from ./embedding/browser/activex/src/control/PromptService.cpp in Firefox | |
146 | + */ | |
147 | + | |
148 | +//***************************************************************************** | |
149 | +// GPrintingPromptServiceFactory | |
150 | +//***************************************************************************** | |
151 | + | |
152 | +class GPrintingPromptServiceFactory : public nsIFactory | |
153 | +{ | |
154 | +public: | |
155 | + NS_DECL_ISUPPORTS | |
156 | + NS_DECL_NSIFACTORY | |
157 | + | |
158 | + GPrintingPromptServiceFactory(); | |
159 | + virtual ~GPrintingPromptServiceFactory(); | |
160 | +}; | |
161 | + | |
162 | +//***************************************************************************** | |
163 | + | |
164 | +NS_IMPL_ISUPPORTS1(GPrintingPromptServiceFactory, nsIFactory) | |
165 | + | |
166 | +GPrintingPromptServiceFactory::GPrintingPromptServiceFactory() | |
167 | +{ | |
168 | +} | |
169 | + | |
170 | +GPrintingPromptServiceFactory::~GPrintingPromptServiceFactory() | |
171 | +{ | |
172 | +} | |
173 | + | |
174 | +NS_IMETHODIMP GPrintingPromptServiceFactory::CreateInstance(nsISupports *aOuter, const nsIID & aIID, void **aResult) | |
175 | +{ | |
176 | + NS_ENSURE_ARG_POINTER(aResult); | |
177 | + | |
178 | + *aResult = NULL; | |
179 | + GPrintingPromptService *inst = new GPrintingPromptService; | |
180 | + if (!inst) | |
181 | + return NS_ERROR_OUT_OF_MEMORY; | |
182 | + | |
183 | + nsresult rv = inst->QueryInterface(aIID, aResult); | |
184 | + if (rv != NS_OK) { | |
185 | + // We didn't get the right interface, so clean up | |
186 | + delete inst; | |
187 | + } | |
188 | + | |
189 | + return rv; | |
190 | +} | |
191 | + | |
192 | +NS_IMETHODIMP GPrintingPromptServiceFactory::LockFactory(PRBool lock) | |
193 | +{ | |
194 | + return NS_OK; | |
195 | +} | |
196 | + | |
197 | +//***************************************************************************** | |
198 | + | |
199 | +nsresult NS_NewPrintingPromptServiceFactory(nsIFactory** aFactory) | |
200 | +{ | |
201 | + NS_ENSURE_ARG_POINTER(aFactory); | |
202 | + *aFactory = nsnull; | |
203 | + | |
204 | + GPrintingPromptServiceFactory *result = new GPrintingPromptServiceFactory; | |
205 | + if (!result) | |
206 | + return NS_ERROR_OUT_OF_MEMORY; | |
207 | + | |
208 | + NS_ADDREF(result); | |
209 | + *aFactory = result; | |
210 | + | |
211 | + return NS_OK; | |
212 | +} | |
213 | + | |
214 | +/* | |
215 | + * End of adapted code. | |
216 | + */ | |
217 | + | |
218 | +static NS_DEFINE_CID(kGPrintingPromptServiceCID, G_PRINTINGPROMPTSERVICE_CID); | |
219 | + | |
220 | +void | |
221 | +yelp_register_printing () | |
222 | +{ | |
223 | + nsresult rv; | |
224 | + nsCOMPtr<nsIComponentRegistrar> cr; | |
225 | + rv = NS_GetComponentRegistrar(getter_AddRefs(cr)); | |
226 | + NS_ENSURE_SUCCESS (rv, ); | |
227 | + | |
228 | + nsCOMPtr<nsIComponentManager> cm; | |
229 | + rv = NS_GetComponentManager (getter_AddRefs (cm)); | |
230 | + NS_ENSURE_SUCCESS (rv, ); | |
231 | + | |
232 | + nsCOMPtr<nsIFactory> componentFactory; | |
233 | + rv = NS_NewPrintingPromptServiceFactory(getter_AddRefs(componentFactory)); | |
234 | + | |
235 | + if (NS_FAILED(rv) || !componentFactory) | |
236 | + { | |
237 | + g_warning ("Failed to make a factory for %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME); | |
238 | + return; | |
239 | + } | |
240 | + | |
241 | + rv = cr->RegisterFactory(kGPrintingPromptServiceCID, | |
242 | + G_PRINTINGPROMPTSERVICE_CLASSNAME, | |
243 | + G_PRINTINGPROMPTSERVICE_CONTRACTID, | |
244 | + componentFactory); | |
245 | + if (NS_FAILED(rv)) | |
246 | + { | |
247 | + g_warning ("Failed to register %s\n", G_PRINTINGPROMPTSERVICE_CLASSNAME); | |
248 | + } | |
249 | + | |
250 | +} | |
251 | + | |
252 | +#endif | |
253 | diff -urN yelp-2.30.2/src/yelp-gecko-utils.cpp yelp-2.30.2.new//src/yelp-gecko-utils.cpp | |
254 | --- yelp-2.30.2/src/yelp-gecko-utils.cpp 2010-08-03 21:41:59.000000000 +0200 | |
255 | +++ yelp-2.30.2.new//src/yelp-gecko-utils.cpp 2011-03-24 20:12:54.059907235 +0100 | |
256 | @@ -213,8 +213,8 @@ | |
257 | nsresult rv; | |
258 | #ifdef XPCOM_GLUE | |
259 | static const GREVersionRange greVersion = { | |
260 | - "1.9a", PR_TRUE, | |
261 | - "2", PR_TRUE | |
262 | + "2.0a", PR_TRUE, | |
263 | + "2.0", PR_TRUE | |
264 | }; | |
265 | char xpcomLocation[PATH_MAX]; | |
266 | rv = GRE_GetGREPathWithProperties(&greVersion, 1, nsnull, 0, xpcomLocation, sizeof (xpcomLocation)); |