Merge mozilla-central to mozilla-inbound a=merge
authorEd Morley <emorley@mozilla.com>
Mon, 23 Apr 2012 19:04:20 +0100
changeset 95454 b552a2a7638be4374f1b11051c2d16d0226268d2
parent 95453 72ac45a8f8f51cce2e0a5b62fa6ad60cc11a28ce (current diff)
parent 95424 85abf12e5c83b480f75bea9d42b0e2b136c6ab80 (diff)
child 95455 8238bffb52b431139b37bfc31c121863093679dd
push id886
push userlsblakk@mozilla.com
push dateMon, 04 Jun 2012 19:57:52 +0000
treeherdermozilla-beta@bbd8d5efd6d1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone14.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge mozilla-central to mozilla-inbound a=merge
--- a/dom/base/nsScreen.cpp
+++ b/dom/base/nsScreen.cpp
@@ -421,15 +421,33 @@ nsScreen::FullScreenEventListener::Handl
   aEvent->GetType(eventType);
 
   MOZ_ASSERT(eventType.EqualsLiteral("mozfullscreenchange"));
 #endif
 
   nsCOMPtr<nsIDOMEventTarget> target;
   aEvent->GetCurrentTarget(getter_AddRefs(target));
 
+  // We have to make sure that the event we got is the event sent when
+  // fullscreen is disabled because we could get one when fullscreen
+  // got enabled if the lock call is done at the same moment.
+  nsCOMPtr<nsIDOMWindow> window = do_QueryInterface(target);
+  MOZ_ASSERT(window);
+
+  nsCOMPtr<nsIDOMDocument> doc;
+  window->GetDocument(getter_AddRefs(doc));
+  // If we have no doc, we will just continue, remove the event and unlock.
+  // This is an edge case were orientation lock and fullscreen is meaningless.
+  if (doc) {
+    bool fullscreen;
+    doc->GetMozFullScreen(&fullscreen);
+    if (fullscreen) {
+      return NS_OK;
+    }
+  }
+
   target->RemoveSystemEventListener(NS_LITERAL_STRING("mozfullscreenchange"),
                                     this, true);
 
   hal::UnlockScreenOrientation();
 
   return NS_OK;
 }
--- a/memory/jemalloc/jemalloc.c
+++ b/memory/jemalloc/jemalloc.c
@@ -400,19 +400,19 @@ void *_mmap(void *addr, size_t length, i
             int fd, off_t offset)
 {
 /* S390 only passes one argument to the mmap system call, which is a
  * pointer to a structure containing the arguments */
 #ifdef __s390__
 	struct {
 		void *addr;
 		size_t length;
-		int prot;
-		int flags;
-		int fd;
+		long prot;
+		long flags;
+		long fd;
 		off_t offset;
 	} args = { addr, length, prot, flags, fd, offset };
 	return (void *) syscall(SYS_mmap, &args);
 #else
 #ifdef SYS_mmap2
 	return (void *) syscall(SYS_mmap2, addr, length, prot, flags,
 	                       fd, offset >> 12);
 #else
--- a/toolkit/mozapps/installer/packager.mk
+++ b/toolkit/mozapps/installer/packager.mk
@@ -90,16 +90,19 @@ PACKAGE       = $(PKG_PATH)$(PKG_BASENAM
 SDK_PATH      = $(PKG_PATH)
 ifeq ($(MOZ_APP_NAME),xulrunner)
 SDK_PATH = sdk/
 # Don't codesign xulrunner internally
 MOZ_INTERNAL_SIGNING_FORMAT =
 endif
 SDK_SUFFIX    = $(PKG_SUFFIX)
 SDK           = $(SDK_PATH)$(PKG_BASENAME).sdk$(SDK_SUFFIX)
+ifdef UNIVERSAL_BINARY
+SDK           = $(SDK_PATH)$(PKG_BASENAME)-$(TARGET_CPU).sdk$(SDK_SUFFIX)
+endif
 
 # JavaScript Shell packaging
 ifndef LIBXUL_SDK
 JSSHELL_BINS  = \
   $(DIST)/bin/js$(BIN_SUFFIX) \
   $(DIST)/bin/$(DLL_PREFIX)mozglue$(DLL_SUFFIX) \
   $(NULL)
 ifndef MOZ_NATIVE_NSPR