bug 597041 - Feedback is missing in the control panel on the Android platform r=mwu a=blocking-fennec
authorBrad Lassey <blassey@mozilla.com>
Thu, 30 Sep 2010 13:19:05 -0400
changeset 54807 ea09bb0212c4f938d0990e7af912331e0406e96d
parent 54806 c0a19a64d7accbf6dd8fb34d49bd580c505846ea
child 54808 942b5b6e74e4066e870522240082928b77d12f3a
child 57202 67f89755fa94da8fd15dcad9b549d56c09f36d69
push id16037
push userblassey@mozilla.com
push dateThu, 30 Sep 2010 17:22:29 +0000
treeherdermozilla-central@ea09bb0212c4 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmwu, blocking-fennec
bugs597041
milestone2.0b7pre
first release with
nightly mac
ea09bb0212c4 / 4.0b7pre / 20100930111616 / files
nightly linux32
nightly linux64
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly mac
bug 597041 - Feedback is missing in the control panel on the Android platform r=mwu a=blocking-fennec
embedding/android/GeckoApp.java
embedding/android/Makefile.in
--- a/embedding/android/GeckoApp.java
+++ b/embedding/android/GeckoApp.java
@@ -360,16 +360,26 @@ abstract public class GeckoApp
 
         byte[] buf = new byte[8192];
         unpackFile(zip, buf, null, "application.ini");
         unpackFile(zip, buf, null, getContentProcessName());
         try {
             unpackFile(zip, buf, null, "update.locale");
         } catch (Exception e) {/* this is non-fatal */}
 
+        // copy any .xpi file into an extensions/ directory
+        Enumeration<? extends ZipEntry> zipEntries = zip.entries();
+        while (zipEntries.hasMoreElements()) {
+          ZipEntry entry = zipEntries.nextElement();
+          if (entry.getName().startsWith("extensions/") && entry.getName().endsWith(".xpi")) {
+            Log.i("GeckoAppJava", "installing extension : " + entry.getName());
+            unpackFile(zip, buf, entry, entry.getName());
+          }
+        }
+        
         ZipEntry componentsList = zip.getEntry("components/components.manifest");
         if (componentsList == null) {
             Log.i("GeckoAppJava", "Can't find components.manifest!");
             return;
         }
 
         listStream = new BufferedInputStream(zip.getInputStream(componentsList));
 
--- a/embedding/android/Makefile.in
+++ b/embedding/android/Makefile.in
@@ -125,16 +125,17 @@ DIST_LINK_FILES = \
   modules \
   res \
   application.ini \
   platform.ini \
   greprefs.js \
   browserconfig.properties \
   blocklist.xml \
   chrome.manifest \
+  extensions \
   $(NULL)
 
 ifdef MOZ_IPC
 DIST_LINK_FILES += $(MOZ_CHILD_PROCESS_NAME)
 endif
 
 JAVA_CLASSPATH = $(ANDROID_SDK)/android.jar