From f43f3fd6664a25c82d4ee0a2faab215a9b0815e8 Mon Sep 17 00:00:00 2001 From: Jonathan Griffin Date: Thu, 17 Nov 2011 12:45:45 -0800 Subject: [PATCH 1/9] Bug 702814 - restartless addon for TPS testing, a=testonly, DONTBUILD --- services/sync/tests/tps/restartless.xml | 27 ++++++++++++++++++++++++ services/sync/tests/tps/restartless.xpi | Bin 0 -> 485 bytes 2 files changed, 27 insertions(+) create mode 100644 services/sync/tests/tps/restartless.xml create mode 100644 services/sync/tests/tps/restartless.xpi diff --git a/services/sync/tests/tps/restartless.xml b/services/sync/tests/tps/restartless.xml new file mode 100644 index 00000000000..a6be2ecb420 --- /dev/null +++ b/services/sync/tests/tps/restartless.xml @@ -0,0 +1,27 @@ + + + + Restartless Test XPI + Extension + restartless-xpi@tests.mozilla.org + restartless-xpi + 1.0 + + + Firefox + 1 + 3.6 + * + {ec8030f7-c20a-464f-9b0e-13a3a9e97384} + + ALL + + http://127.0.0.1:4567/restartless.xpi + + 2009-09-14T04:47:42Z + + + 2011-09-05T20:42:09Z + + + diff --git a/services/sync/tests/tps/restartless.xpi b/services/sync/tests/tps/restartless.xpi new file mode 100644 index 0000000000000000000000000000000000000000..973bc00cb56b0182baeb8d501b265d727a4b4977 GIT binary patch literal 485 zcmWIWW@Zs#U}E54cwT(dW?Jc%NJ~ZrhFT^D25tr!hRnR;lEj=Gy`q$~&=5`rW+eqx z9}q6B;AUWC`3h7C)Xcz88g$z4uz|py=h{A1&P8+C^m;FC@mMItuF@j#Xjkstq=)V) z`5q5m7tU47ZFx02J-saL`nl1Yl!;p%XH4wp_ba_#e4m^v z{)kCJc;VZRxBDvCemT5}UvyxPk)!*Lg;Un7z33tLwa=!wMM!{S>2ur6fIUAdDwXo< zmM%}0_OrMZUk=7%b8;Qe}C5t{s3=ACOKwY;V%IUS_TGSATum! e1hG(JgB21RXfYAs&B_K+$_RvkK)Md3n*jjmUbs{M literal 0 HcmV?d00001 From 26291a6b2b691abf9256302e53cb15405dee10ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20=C3=81vila=20de=20Esp=C3=ADndola?= Date: Thu, 17 Nov 2011 16:12:21 -0800 Subject: [PATCH 2/9] Bug 702717 - finalize statements in test_async_querySpinningly.js. r=rnewman --- .../tests/unit/test_async_querySpinningly.js | 41 +++++++++++-------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/services/sync/tests/unit/test_async_querySpinningly.js b/services/sync/tests/unit/test_async_querySpinningly.js index 25954952372..f08ba2b47f0 100644 --- a/services/sync/tests/unit/test_async_querySpinningly.js +++ b/services/sync/tests/unit/test_async_querySpinningly.js @@ -3,82 +3,89 @@ Cu.import("resource://services-sync/async.js"); const SQLITE_CONSTRAINT_VIOLATION = 19; // http://www.sqlite.org/c3ref/c_abort.html +function querySpinningly(query, names) { + let q = Svc.Form.DBConnection.createStatement(query); + let r = Async.querySpinningly(q, names); + q.finalize(); + return r; +} + function run_test() { initTestLogging("Trace"); - _("Using the form service to test queries"); - function c(query) Svc.Form.DBConnection.createStatement(query); - _("Make sure the call is async and allows other events to process"); let isAsync = false; Utils.nextTick(function() { isAsync = true; }); do_check_false(isAsync); _("Empty out the formhistory table"); - let r0 = Async.querySpinningly(c("DELETE FROM moz_formhistory")); + let r0 = querySpinningly("DELETE FROM moz_formhistory"); do_check_eq(r0, null); _("Make sure there's nothing there"); - let r1 = Async.querySpinningly(c("SELECT 1 FROM moz_formhistory")); + let r1 = querySpinningly("SELECT 1 FROM moz_formhistory"); do_check_eq(r1, null); _("Insert a row"); - let r2 = Async.querySpinningly(c("INSERT INTO moz_formhistory (fieldname, value) VALUES ('foo', 'bar')")); + let r2 = querySpinningly("INSERT INTO moz_formhistory (fieldname, value) VALUES ('foo', 'bar')"); do_check_eq(r2, null); _("Request a known value for the one row"); - let r3 = Async.querySpinningly(c("SELECT 42 num FROM moz_formhistory"), ["num"]); + let r3 = querySpinningly("SELECT 42 num FROM moz_formhistory", ["num"]); do_check_eq(r3.length, 1); do_check_eq(r3[0].num, 42); _("Get multiple columns"); - let r4 = Async.querySpinningly(c("SELECT fieldname, value FROM moz_formhistory"), ["fieldname", "value"]); + let r4 = querySpinningly("SELECT fieldname, value FROM moz_formhistory", ["fieldname", "value"]); do_check_eq(r4.length, 1); do_check_eq(r4[0].fieldname, "foo"); do_check_eq(r4[0].value, "bar"); _("Get multiple columns with a different order"); - let r5 = Async.querySpinningly(c("SELECT fieldname, value FROM moz_formhistory"), ["value", "fieldname"]); + let r5 = querySpinningly("SELECT fieldname, value FROM moz_formhistory", ["value", "fieldname"]); do_check_eq(r5.length, 1); do_check_eq(r5[0].fieldname, "foo"); do_check_eq(r5[0].value, "bar"); _("Add multiple entries (sqlite doesn't support multiple VALUES)"); - let r6 = Async.querySpinningly(c("INSERT INTO moz_formhistory (fieldname, value) SELECT 'foo', 'baz' UNION SELECT 'more', 'values'")); + let r6 = querySpinningly("INSERT INTO moz_formhistory (fieldname, value) SELECT 'foo', 'baz' UNION SELECT 'more', 'values'"); do_check_eq(r6, null); _("Get multiple rows"); - let r7 = Async.querySpinningly(c("SELECT fieldname, value FROM moz_formhistory WHERE fieldname = 'foo'"), ["fieldname", "value"]); + let r7 = querySpinningly("SELECT fieldname, value FROM moz_formhistory WHERE fieldname = 'foo'", ["fieldname", "value"]); do_check_eq(r7.length, 2); do_check_eq(r7[0].fieldname, "foo"); do_check_eq(r7[1].fieldname, "foo"); _("Make sure updates work"); - let r8 = Async.querySpinningly(c("UPDATE moz_formhistory SET value = 'updated' WHERE fieldname = 'more'")); + let r8 = querySpinningly("UPDATE moz_formhistory SET value = 'updated' WHERE fieldname = 'more'"); do_check_eq(r8, null); _("Get the updated"); - let r9 = Async.querySpinningly(c("SELECT value, fieldname FROM moz_formhistory WHERE fieldname = 'more'"), ["fieldname", "value"]); + let r9 = querySpinningly("SELECT value, fieldname FROM moz_formhistory WHERE fieldname = 'more'", ["fieldname", "value"]); do_check_eq(r9.length, 1); do_check_eq(r9[0].fieldname, "more"); do_check_eq(r9[0].value, "updated"); _("Grabbing fewer fields than queried is fine"); - let r10 = Async.querySpinningly(c("SELECT value, fieldname FROM moz_formhistory"), ["fieldname"]); + let r10 = querySpinningly("SELECT value, fieldname FROM moz_formhistory", ["fieldname"]); do_check_eq(r10.length, 3); _("Generate an execution error"); - let r11, except, query = c("INSERT INTO moz_formhistory (fieldname, value) VALUES ('one', NULL)"); + let query = "INSERT INTO moz_formhistory (fieldname, value) VALUES ('one', NULL)"; + let stmt = Svc.Form.DBConnection.createStatement(query); + let r11, except; ; try { - r11 = Async.querySpinningly(query); + r11 = Async.querySpinningly(stmt); } catch(e) { except = e; } + stmt.finalize() do_check_true(!!except); do_check_eq(except.result, SQLITE_CONSTRAINT_VIOLATION); _("Cleaning up"); - Async.querySpinningly(c("DELETE FROM moz_formhistory")); + querySpinningly("DELETE FROM moz_formhistory"); _("Make sure the timeout got to run before this function ends"); do_check_true(isAsync); From 9d7ad87af866707b51734bc591f7d40fb763c0e3 Mon Sep 17 00:00:00 2001 From: Doug Turner Date: Mon, 21 Nov 2011 11:39:47 -0800 Subject: [PATCH 3/9] No Bug - Missing wrappers in APKOpen.cpp that were on birch. Verbal r=blassey --HG-- extra : rebase_source : be760413dbc9a0ffdf6bd4f5b59286fcc6602f00 --- other-licenses/android/APKOpen.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/other-licenses/android/APKOpen.cpp b/other-licenses/android/APKOpen.cpp index eea6eaefc42..3339371be95 100644 --- a/other-licenses/android/APKOpen.cpp +++ b/other-licenses/android/APKOpen.cpp @@ -251,6 +251,7 @@ SHELL_WRAPPER1(nativeRun, jstring) SHELL_WRAPPER1(notifyGeckoOfEvent, jobject) SHELL_WRAPPER0(processNextNativeEvent) SHELL_WRAPPER1(setSurfaceView, jobject) +SHELL_WRAPPER1(setSoftwareLayerClient, jobject) SHELL_WRAPPER0(onResume) SHELL_WRAPPER0(onLowMemory) SHELL_WRAPPER3(callObserver, jstring, jstring, jstring) @@ -259,6 +260,7 @@ SHELL_WRAPPER1(onChangeNetworkLinkStatus, jstring) SHELL_WRAPPER1(reportJavaCrash, jstring) SHELL_WRAPPER0(executeNextRunnable) SHELL_WRAPPER1(cameraCallbackBridge, jbyteArray) +SHELL_WRAPPER1(notifyUriVisited, jstring) SHELL_WRAPPER3(notifyBatteryChange, jdouble, jboolean, jdouble); static void * xul_handle = NULL; @@ -653,6 +655,7 @@ loadLibs(const char *apkName) GETFUNC(notifyGeckoOfEvent); GETFUNC(processNextNativeEvent); GETFUNC(setSurfaceView); + GETFUNC(setSoftwareLayerClient); GETFUNC(onResume); GETFUNC(onLowMemory); GETFUNC(callObserver); @@ -661,6 +664,7 @@ loadLibs(const char *apkName) GETFUNC(reportJavaCrash); GETFUNC(executeNextRunnable); GETFUNC(cameraCallbackBridge); + GETFUNC(notifyUriVisited); GETFUNC(notifyBatteryChange); #undef GETFUNC sStartupTimeline = (uint64_t *)__wrap_dlsym(xul_handle, "_ZN7mozilla15StartupTimeline16sStartupTimelineE"); From ab513df54f15492f146b9ea95441f224db8b1a25 Mon Sep 17 00:00:00 2001 From: Doug Turner Date: Wed, 16 Nov 2011 14:32:44 -0800 Subject: [PATCH 4/9] Bug 703057 - Put DrawToFile on another thread. Widget changes which landed on birch. r=blassey --HG-- extra : rebase_source : 385d7dd7f0f7d52b77380e15a017bdfe8cfff8fb --- widget/src/android/nsWindow.cpp | 22 +++++++++++++++++++++- widget/src/android/nsWindow.h | 3 ++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/widget/src/android/nsWindow.cpp b/widget/src/android/nsWindow.cpp index a4a4b8e7a4c..14a3132684d 100644 --- a/widget/src/android/nsWindow.cpp +++ b/widget/src/android/nsWindow.cpp @@ -795,6 +795,22 @@ nsWindow::GetThebesSurface() return new gfxImageSurface(gfxIntSize(5,5), gfxImageSurface::ImageFormatRGB24); } + +class DrawToFileRunnable : public nsRunnable { +public: + DrawToFileRunnable(nsWindow* win, const nsAString &path) { + mPath = path; + mWindow = win; + } + NS_IMETHOD Run() { + mWindow->DrawToFile(mPath); + return NS_OK; + } +private: + nsString mPath; + nsRefPtr mWindow; +}; + bool nsWindow::DrawToFile(const nsAString &path) { @@ -1008,7 +1024,11 @@ nsWindow::OnGlobalAndroidEvent(AndroidGeckoEvent *ae) break; case AndroidGeckoEvent::SAVE_STATE: - win->DrawToFile(ae->Characters()); + { + nsCOMPtr thread; + nsRefPtr runnable = new DrawToFileRunnable(win, ae->Characters()); + NS_NewThread(getter_AddRefs(thread), runnable); + } break; default: diff --git a/widget/src/android/nsWindow.h b/widget/src/android/nsWindow.h index f905bf315ae..f711ae8a1a4 100644 --- a/widget/src/android/nsWindow.h +++ b/widget/src/android/nsWindow.h @@ -176,12 +176,13 @@ public: static bool sAccessibilityEnabled; #endif + bool DrawToFile(const nsAString &path); + protected: void BringToFront(); nsWindow *FindTopLevel(); bool DrawTo(gfxASurface *targetSurface); bool DrawTo(gfxASurface *targetSurface, const nsIntRect &aRect); - bool DrawToFile(const nsAString &path); bool IsTopLevel(); void OnIMEAddRange(mozilla::AndroidGeckoEvent *ae); From 45b3fc0a7d9e201eee98aaad632e3ad776bae7af Mon Sep 17 00:00:00 2001 From: Doug Turner Date: Mon, 21 Nov 2011 11:40:10 -0800 Subject: [PATCH 5/9] Bug 704230 - Use nsXREAppData instead of extracting and reading back in files. Temp workaround. r=blassey --HG-- extra : rebase_source : 7e0e094301ddce820ee2544c7db71af0647b47f5 --- toolkit/mozapps/update/nsUpdateService.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/toolkit/mozapps/update/nsUpdateService.js b/toolkit/mozapps/update/nsUpdateService.js index 84bf3a4aec4..986982e916a 100644 --- a/toolkit/mozapps/update/nsUpdateService.js +++ b/toolkit/mozapps/update/nsUpdateService.js @@ -687,6 +687,7 @@ function cleanupActiveUpdate() { * the application directory. */ function getLocale() { + if (gLocale) return gLocale; @@ -694,11 +695,10 @@ function getLocale() { if (!localeFile.exists()) localeFile = FileUtils.getFile(KEY_GRED, [FILE_UPDATE_LOCALE]); - if (!localeFile.exists()) - throw Components.Exception(FILE_UPDATE_LOCALE + " file doesn't exist in " + - "either the " + KEY_APPDIR + " or " + KEY_GRED + - " directories", Cr.NS_ERROR_FILE_NOT_FOUND); - + if (!localeFile.exists()) { + // XXX temp workaround. see bug 704230 + return "en-US"; + } gLocale = readStringFromFile(localeFile); LOG("getLocale - getting locale from file: " + localeFile.path + ", locale: " + gLocale); From 4e223a0c666d10d8df9ce4262475cf6213e1c773 Mon Sep 17 00:00:00 2001 From: Doug Turner Date: Mon, 21 Nov 2011 11:40:20 -0800 Subject: [PATCH 6/9] Bug 704230 - Use nsXREAppData instead of extracting and reading back in files. r=blassey --HG-- extra : rebase_source : 875f6534b8a455b71612cad450b52200247bad05 --- toolkit/xre/Makefile.in | 10 ++++++++ toolkit/xre/nsAndroidStartup.cpp | 41 ++++++++++++++++++-------------- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in index 7b5996f095d..4105d032245 100644 --- a/toolkit/xre/Makefile.in +++ b/toolkit/xre/Makefile.in @@ -251,8 +251,18 @@ GRE_BUILDID := $(shell cat $(DEPTH)/config/buildid) DEFINES += -DGRE_MILESTONE=$(GRE_MILESTONE) -DGRE_BUILDID=$(GRE_BUILDID) +ifdef MOZILLA_OFFICIAL +DEFINES += -DMOZILLA_OFFICIAL +endif + +DEFINES += -DAPP_VERSION=$(MOZ_APP_VERSION) + $(srcdir)/nsAppRunner.cpp: $(DEPTH)/config/buildid $(topsrcdir)/config/milestone.txt +ifeq ($(OS_TARGET),Android) +nsAndroidStartup.o: $(DEPTH)/config/buildid $(topsrcdir)/config/milestone.txt +endif + platform.ini: FORCE $(PYTHON) $(srcdir)/make-platformini.py --buildid=$(shell cat $(DEPTH)/config/buildid) $(INIARGS) $(topsrcdir)/config/milestone.txt > $@ diff --git a/toolkit/xre/nsAndroidStartup.cpp b/toolkit/xre/nsAndroidStartup.cpp index 0d302032f35..e857b5db8a9 100644 --- a/toolkit/xre/nsAndroidStartup.cpp +++ b/toolkit/xre/nsAndroidStartup.cpp @@ -57,6 +57,9 @@ #define LOG(args...) __android_log_print(ANDROID_LOG_INFO, MOZ_APP_NAME, args) +#define _STR(s) # s +#define STR(s) _STR(s) + struct AutoAttachJavaThread { AutoAttachJavaThread() { attached = mozilla_AndroidBridge_SetMainThread((void*)pthread_self()); @@ -97,20 +100,6 @@ GeckoStart(void *data) LOG("Failed to get GRE_HOME from the env vars"); return 0; } - nsCAutoString appini_path(greHome); - appini_path.AppendLiteral("/application.ini"); - rv = NS_NewNativeLocalFile(appini_path, false, getter_AddRefs(appini)); - if (NS_FAILED(rv)) { - LOG("Failed to create nsILocalFile for appdata\n"); - return 0; - } - - nsXREAppData *appData; - rv = XRE_CreateAppData(appini, &appData); - if (NS_FAILED(rv)) { - LOG("Failed to load application.ini from %s\n", appini_path.get()); - return 0; - } nsCOMPtr xreDir; rv = NS_NewNativeLocalFile(nsDependentCString(greHome), false, getter_AddRefs(xreDir)); @@ -119,7 +108,25 @@ GeckoStart(void *data) return 0; } - appData->xreDirectory = xreDir.get(); + nsXREAppData appData = { + sizeof(nsXREAppData), + xreDir.get(), + "Mozilla", + "Fennec", + STR(APP_VERSION), + STR(GRE_BUILDID), + STR(APP_ID), + NULL, +#ifdef MOZILLA_OFFICIAL + NS_XRE_ENABLE_EXTENSION_MANAGER | NS_XRE_ENABLE_CRASH_REPORTER, +#else + NS_XRE_ENABLE_EXTENSION_MANAGER, +#endif + xreDir.get(), + STR(GRE_MILESTONE), + STR(GRE_MILESTONE), + "https://crash-reports.mozilla.com/submit" + }; nsTArray targs; char *arg = strtok(static_cast(data), " "); @@ -129,13 +136,11 @@ GeckoStart(void *data) } targs.AppendElement(static_cast(nsnull)); - int result = XRE_main(targs.Length() - 1, targs.Elements(), appData); + int result = XRE_main(targs.Length() - 1, targs.Elements(), &appData); if (result) LOG("XRE_main returned %d", result); - XRE_FreeAppData(appData); - mozilla::AndroidBridge::Bridge()->NotifyXreExit(); free(targs[0]); From 74c10784856873ebe22f3baa1b8f43a726547646 Mon Sep 17 00:00:00 2001 From: Doug Turner Date: Mon, 21 Nov 2011 13:00:58 -0800 Subject: [PATCH 7/9] Backing out a499cb7e3af1 and 8e8543323a93. Cause test failures --- toolkit/mozapps/update/nsUpdateService.js | 10 +++--- toolkit/xre/Makefile.in | 10 ------ toolkit/xre/nsAndroidStartup.cpp | 41 ++++++++++------------- 3 files changed, 23 insertions(+), 38 deletions(-) diff --git a/toolkit/mozapps/update/nsUpdateService.js b/toolkit/mozapps/update/nsUpdateService.js index 986982e916a..84bf3a4aec4 100644 --- a/toolkit/mozapps/update/nsUpdateService.js +++ b/toolkit/mozapps/update/nsUpdateService.js @@ -687,7 +687,6 @@ function cleanupActiveUpdate() { * the application directory. */ function getLocale() { - if (gLocale) return gLocale; @@ -695,10 +694,11 @@ function getLocale() { if (!localeFile.exists()) localeFile = FileUtils.getFile(KEY_GRED, [FILE_UPDATE_LOCALE]); - if (!localeFile.exists()) { - // XXX temp workaround. see bug 704230 - return "en-US"; - } + if (!localeFile.exists()) + throw Components.Exception(FILE_UPDATE_LOCALE + " file doesn't exist in " + + "either the " + KEY_APPDIR + " or " + KEY_GRED + + " directories", Cr.NS_ERROR_FILE_NOT_FOUND); + gLocale = readStringFromFile(localeFile); LOG("getLocale - getting locale from file: " + localeFile.path + ", locale: " + gLocale); diff --git a/toolkit/xre/Makefile.in b/toolkit/xre/Makefile.in index 4105d032245..7b5996f095d 100644 --- a/toolkit/xre/Makefile.in +++ b/toolkit/xre/Makefile.in @@ -251,18 +251,8 @@ GRE_BUILDID := $(shell cat $(DEPTH)/config/buildid) DEFINES += -DGRE_MILESTONE=$(GRE_MILESTONE) -DGRE_BUILDID=$(GRE_BUILDID) -ifdef MOZILLA_OFFICIAL -DEFINES += -DMOZILLA_OFFICIAL -endif - -DEFINES += -DAPP_VERSION=$(MOZ_APP_VERSION) - $(srcdir)/nsAppRunner.cpp: $(DEPTH)/config/buildid $(topsrcdir)/config/milestone.txt -ifeq ($(OS_TARGET),Android) -nsAndroidStartup.o: $(DEPTH)/config/buildid $(topsrcdir)/config/milestone.txt -endif - platform.ini: FORCE $(PYTHON) $(srcdir)/make-platformini.py --buildid=$(shell cat $(DEPTH)/config/buildid) $(INIARGS) $(topsrcdir)/config/milestone.txt > $@ diff --git a/toolkit/xre/nsAndroidStartup.cpp b/toolkit/xre/nsAndroidStartup.cpp index e857b5db8a9..0d302032f35 100644 --- a/toolkit/xre/nsAndroidStartup.cpp +++ b/toolkit/xre/nsAndroidStartup.cpp @@ -57,9 +57,6 @@ #define LOG(args...) __android_log_print(ANDROID_LOG_INFO, MOZ_APP_NAME, args) -#define _STR(s) # s -#define STR(s) _STR(s) - struct AutoAttachJavaThread { AutoAttachJavaThread() { attached = mozilla_AndroidBridge_SetMainThread((void*)pthread_self()); @@ -100,6 +97,20 @@ GeckoStart(void *data) LOG("Failed to get GRE_HOME from the env vars"); return 0; } + nsCAutoString appini_path(greHome); + appini_path.AppendLiteral("/application.ini"); + rv = NS_NewNativeLocalFile(appini_path, false, getter_AddRefs(appini)); + if (NS_FAILED(rv)) { + LOG("Failed to create nsILocalFile for appdata\n"); + return 0; + } + + nsXREAppData *appData; + rv = XRE_CreateAppData(appini, &appData); + if (NS_FAILED(rv)) { + LOG("Failed to load application.ini from %s\n", appini_path.get()); + return 0; + } nsCOMPtr xreDir; rv = NS_NewNativeLocalFile(nsDependentCString(greHome), false, getter_AddRefs(xreDir)); @@ -108,25 +119,7 @@ GeckoStart(void *data) return 0; } - nsXREAppData appData = { - sizeof(nsXREAppData), - xreDir.get(), - "Mozilla", - "Fennec", - STR(APP_VERSION), - STR(GRE_BUILDID), - STR(APP_ID), - NULL, -#ifdef MOZILLA_OFFICIAL - NS_XRE_ENABLE_EXTENSION_MANAGER | NS_XRE_ENABLE_CRASH_REPORTER, -#else - NS_XRE_ENABLE_EXTENSION_MANAGER, -#endif - xreDir.get(), - STR(GRE_MILESTONE), - STR(GRE_MILESTONE), - "https://crash-reports.mozilla.com/submit" - }; + appData->xreDirectory = xreDir.get(); nsTArray targs; char *arg = strtok(static_cast(data), " "); @@ -136,11 +129,13 @@ GeckoStart(void *data) } targs.AppendElement(static_cast(nsnull)); - int result = XRE_main(targs.Length() - 1, targs.Elements(), &appData); + int result = XRE_main(targs.Length() - 1, targs.Elements(), appData); if (result) LOG("XRE_main returned %d", result); + XRE_FreeAppData(appData); + mozilla::AndroidBridge::Bridge()->NotifyXreExit(); free(targs[0]); From 81e2e3ed4ebaeef7739401e5c27276440f6f0e3b Mon Sep 17 00:00:00 2001 From: Michael Kohler Date: Wed, 16 Nov 2011 00:49:21 +0100 Subject: [PATCH 8/9] Bug 702724 - Avoid compiler error when JDK version >= 7 [r=kats] --- config/android-common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/config/android-common.mk b/config/android-common.mk index 3cb59539c67..d2ee1a92a47 100644 --- a/config/android-common.mk +++ b/config/android-common.mk @@ -66,6 +66,7 @@ endif JAVAC_FLAGS = \ -target $(JAVA_VERSION) \ + -source $(JAVA_VERSION) \ -classpath $(JAVA_CLASSPATH) \ -bootclasspath $(JAVA_BOOTCLASSPATH) \ -encoding ascii \ From b3e0531fe1a50aeef381130466e51a77c88782b8 Mon Sep 17 00:00:00 2001 From: Alex Pakhotin Date: Fri, 28 Oct 2011 17:05:02 -0700 Subject: [PATCH 9/9] Bug 618921 - the chat capability of etherpad application doesn't work with fennec. r=smaug --- content/events/src/nsIMEStateManager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/events/src/nsIMEStateManager.cpp b/content/events/src/nsIMEStateManager.cpp index 7ba8fac471e..d0669e98179 100644 --- a/content/events/src/nsIMEStateManager.cpp +++ b/content/events/src/nsIMEStateManager.cpp @@ -331,7 +331,9 @@ nsIMEStateManager::SetIMEState(PRUint32 aState, context.mActionHint.Assign(willSubmit ? control->GetType() == NS_FORM_INPUT_SEARCH ? NS_LITERAL_STRING("search") : NS_LITERAL_STRING("go") - : NS_LITERAL_STRING("next")); + : formElement + ? NS_LITERAL_STRING("next") + : EmptyString()); } }