diff --git a/.firefox.metadata b/.firefox.metadata
index 29e8f70..a77600d 100644
--- a/.firefox.metadata
+++ b/.firefox.metadata
@@ -1,2 +1,2 @@
-9ddfde95fcd19633446f859c5bca77c62815d390 SOURCES/firefox-31.2.0esr.source.tar.bz2
-34d90db6c3f14043392ff5fcd0bd36eb03b66227 SOURCES/firefox-langpacks-31.2.0esr-20141013.tar.bz2
+88b4c4de59e0c379e50ac28a8a9c289662e7a064 SOURCES/firefox-31.3.0esr.source.tar.bz2
+1ce18b2e2093b4c50ac28f02db7fed10809586f9 SOURCES/firefox-langpacks-31.3.0esr-20141126.tar.bz2
diff --git a/.gitignore b/.gitignore
index 1597334..352a348 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/firefox-31.2.0esr.source.tar.bz2
-SOURCES/firefox-langpacks-31.2.0esr-20141013.tar.bz2
+SOURCES/firefox-31.3.0esr.source.tar.bz2
+SOURCES/firefox-langpacks-31.3.0esr-20141126.tar.bz2
diff --git a/SOURCES/firefox-centos-default-prefs.js b/SOURCES/firefox-centos-default-prefs.js
deleted file mode 100644
index ee2943f..0000000
--- a/SOURCES/firefox-centos-default-prefs.js
+++ /dev/null
@@ -1,24 +0,0 @@
-pref("app.update.auto",                     false);
-pref("app.update.enabled",                  false);
-pref("app.update.autoInstallEnabled",       false);
-pref("browser.backspace_action",            2);
-pref("browser.display.use_system_colors",   true);
-pref("browser.download.folderList",         1);
-pref("browser.link.open_external",          3);
-pref("browser.shell.checkDefaultBrowser",   false);
-pref("general.smoothScroll",                true);
-pref("general.useragent.vendor",            "CentOS");
-pref("general.useragent.vendorSub",         "FIREFOX_RPM_VR");
-pref("intl.locale.matchOS",                 true);
-pref("storage.nfs_filesystem",              false);
-pref("dom.ipc.plugins.enabled.nswrapper*",  false);
-pref("network.manage-offline-status",       true);
-pref("toolkit.networkmanager.disable", false);
-pref("browser.startup.homepage",            "data:text/plain,browser.startup.homepage=file:///usr/share/doc/HTML/index.html");
-pref("toolkit.storage.synchronous",         0);
-pref("startup.homepage_override_url",       "http://www.centos.org");
-pref("startup.homepage_welcome_url",        "http://www.centos.org");
-pref("javascript.options.baselinejit.content", false);
-pref("javascript.options.baselinejit.chrome", false);
-pref("extensions.shownSelectionUI",         true);
-pref("layout.imagevisibility.enabled",      false);
diff --git a/SOURCES/firefox-mozconfig b/SOURCES/firefox-mozconfig
old mode 100644
new mode 100755
index 4760fc3..5c51689
--- a/SOURCES/firefox-mozconfig
+++ b/SOURCES/firefox-mozconfig
@@ -4,7 +4,6 @@ ac_add_options --disable-cpp-exceptions
 ac_add_options --disable-crashreporter
 ac_add_options --disable-debug
 ac_add_options --disable-gnomevfs
-ac_add_options --disable-gstreamer
 ac_add_options --disable-installer
 ac_add_options --disable-javaxpcom
 ac_add_options --disable-libjpeg-turbo
@@ -31,6 +30,8 @@ ac_add_options --with-pthreads
 ac_add_options --with-system-bz2
 ac_add_options --with-system-jpeg
 ac_add_options --with-system-zlib
+ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
+ac_add_options --disable-exact-rooting
 
 export BUILD_OFFICIAL=1
 export CFLAGS="$CFLAGS -gdwarf-2"
diff --git a/SOURCES/firefox-redhat-default-prefs.js b/SOURCES/firefox-redhat-default-prefs.js
index 17c488a..01a917c 100644
--- a/SOURCES/firefox-redhat-default-prefs.js
+++ b/SOURCES/firefox-redhat-default-prefs.js
@@ -25,3 +25,4 @@ pref("extensions.shownSelectionUI",         true);
 pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
 /* Workaround for mozbz#1063315 */
 pref("security.use_mozillapkix_verification", false);
+pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
diff --git a/SOURCES/mozilla-api-key b/SOURCES/mozilla-api-key
new file mode 100644
index 0000000..81877bc
--- /dev/null
+++ b/SOURCES/mozilla-api-key
@@ -0,0 +1 @@
+9008bb7e-1e22-4038-94fe-047dd48ccc0b
diff --git a/SOURCES/webrtc-arch-cpu.patch b/SOURCES/webrtc-arch-cpu.patch
new file mode 100644
index 0000000..29fd578
--- /dev/null
+++ b/SOURCES/webrtc-arch-cpu.patch
@@ -0,0 +1,22 @@
+--- a/media/webrtc/trunk/build/build_config.h
++++ b/media/webrtc/trunk/build/build_config.h
+@@ -123,7 +123,9 @@
+ #define ARCH_CPU_PPC_FAMILY 1
+ #define ARCH_CPU_PPC64 1
+ #define ARCH_CPU_64_BITS 1
++#ifndef _LITTLE_ENDIAN
+ #define ARCH_CPU_BIG_ENDIAN 1
++#endif
+ #elif defined(__ppc__) || defined(__powerpc__)
+ #define ARCH_CPU_PPC_FAMILY 1
+ #define ARCH_CPU_PPC 1
+@@ -156,6 +158,9 @@
+ #elif defined(__alpha__)
+ #define ARCH_CPU_ALPHA 1
+ #define ARCH_CPU_64_BITS 1
++#elif defined(__aarch64__)
++#define ARCH_CPU_AARCH64 1
++#define ARCH_CPU_64_BITS 1
+ #else
+ #error Please add support for your architecture in build/build_config.h
+ #endif
diff --git a/SPECS/firefox.spec b/SPECS/firefox.spec
index 39973bb..73730ef 100644
--- a/SPECS/firefox.spec
+++ b/SPECS/firefox.spec
@@ -8,6 +8,9 @@
 # Enable webm
 %define enable_webm             1
 
+# Gstreamer 1.0 support
+%define enable_gstreamer        1
+
 # Use system cairo?
 %define system_cairo            0
 
@@ -20,7 +23,7 @@
 # Minimal required versions
 %if %{?system_nss}
 %global nspr_version 4.10.6
-%global nss_version 3.16.2
+%global nss_version 3.16.2.3
 %endif
 
 %define cairo_version 1.10.2
@@ -52,7 +55,7 @@
 
 Summary:        Mozilla Firefox Web browser
 Name:           firefox
-Version:        31.2.0
+Version:        31.3.0
 Release:        3%{?prever}%{?dist}
 URL:            http://www.mozilla.org/projects/firefox/
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
@@ -60,19 +63,21 @@ Group:          Applications/Internet
 # From ftp://ftp.mozilla.org/pub/firefox/releases/%{version}%{?pretag}/source
 Source0:        firefox-%{version}%{?prever}%{?ext_version}.source.tar.bz2
 %if %{build_langpacks}
-Source1:        firefox-langpacks-%{version}%{?ext_version}-20141013.tar.bz2
+Source1:        firefox-langpacks-%{version}%{?ext_version}-20141126.tar.bz2
 %endif
 Source10:       firefox-mozconfig
 Source11:       firefox-mozconfig-branded
-Source12:       firefox-centos-default-prefs.js
+Source12:       firefox-redhat-default-prefs.js
 Source20:       firefox.desktop
 Source21:       firefox.sh.in
 Source23:       firefox.1
+Source24:       mozilla-api-key
 Source100:      find-external-requires
 
 # Build patches
 Patch0:         firefox-install-dir.patch
 Patch5:         xulrunner-24.0-jemalloc-ppc.patch
+Patch6:         webrtc-arch-cpu.patch
 
 # RPM specific patches
 Patch11:        firefox-default.patch
@@ -106,6 +111,7 @@ Requires:       redhat-indexhtml
 BuildRequires:  sqlite-devel >= %{sqlite_version}
 Requires:       sqlite >= %{sqlite_build_version}
 %endif
+
 %if %{?system_nss}
 BuildRequires:  nspr-devel >= %{nspr_version}
 BuildRequires:  nss-devel >= %{nss_version}
@@ -127,6 +133,10 @@ Requires:       libffi >= %{ffi_version}
 BuildRequires:  libvpx-devel >= %{libvpx_version}
 Requires:       libvpx >= %{libvpx_version}
 %endif
+%if %{?enable_gstreamer}
+BuildRequires:  gstreamer1-devel
+BuildRequires:  gstreamer1-plugins-base-devel
+%endif
 BuildRequires:  hunspell-devel
 BuildRequires:  libpng-devel
 BuildRequires:  libjpeg-devel
@@ -178,6 +188,7 @@ cd %{tarballdir}
 # We have to keep original patch backup extension to go thru configure without problems with tests
 %patch0 -p1 -b .orig
 %patch5 -p2 -b .jemalloc-ppc.patch
+%patch6 -p1 -b .webrtc-arch-cpu
 
 # RPM specific patches
 %patch11 -p1 -b .default
@@ -208,6 +219,7 @@ cd %{tarballdir}
 %if %{official_branding}
 %{__cat} %{SOURCE11} >> .mozconfig
 %endif
+%{__cp} %{SOURCE24} mozilla-api-key
 
 %if %{?system_sqlite}
 echo "ac_add_options --enable-system-sqlite" >> .mozconfig
@@ -246,6 +258,12 @@ echo "ac_add_options --without-system-nspr" >> .mozconfig
 echo "ac_add_options --without-system-nss" >> .mozconfig
 %endif
 
+%if %{?enable_gstreamer}
+echo "ac_add_options --enable-gstreamer=1.0" >> .mozconfig
+%else
+echo "ac_add_options --disable-gstreamer" >> .mozconfig
+%endif
+
 %ifnarch %{ix86} x86_64
 echo "ac_add_options --disable-methodjit" >> .mozconfig
 echo "ac_add_options --disable-monoic" >> .mozconfig
@@ -259,11 +277,6 @@ echo "ac_add_options --enable-libnotify" >> .mozconfig
 echo "ac_add_options --enable-startup-notification" >> .mozconfig
 echo "ac_add_options --enable-jemalloc" >> .mozconfig
 
-# s390(x) fails to start with jemalloc enabled
-%ifarch s390 s390x ppc ppc64
-echo "ac_add_options --disable-jemalloc" >> .mozconfig
-%endif
-
 # Debug build flags
 %if %{?debug_build}
 echo "ac_add_options --enable-debug" >> .mozconfig
@@ -503,8 +516,21 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 #---------------------------------------------------------------------
 
 %changelog
-* Tue Oct 14 2014 CentOS Sources <bugs@centos.org> - 31.2.0-3.el7.centos
-- CentOS default prefs
+* Sat Nov 29 2014 Martin Stransky <stransky@redhat.com> - 31.3.0-3
+- Fixed geolocation key location
+
+* Fri Nov 28 2014 Martin Stransky <stransky@redhat.com> - 31.3.0-2
+- Disable exact rooting for JS
+
+* Wed Nov 26 2014 Martin Stransky <stransky@redhat.com> - 31.3.0-1
+- Update to 31.3.0 ESR Build 2
+- Fix for geolocation API (rhbz#1063739)
+
+* Thu Nov 6 2014 Martin Stransky <stransky@redhat.com> - 31.2.0-5
+- Enabled gstreamer-1 support (rhbz#1161077)
+
+* Mon Oct 27 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 31.2.0-4
+- Fix webRTC for aarch64, ppc64le (rhbz#1148622)
 
 * Tue Oct  7 2014 Jan Horak <jhorak@redhat.com> - 31.2.0-3
 - Update to 31.2.0 ESR