From 4fd50228387e0b7475a94f5058a0c4532e96f701 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20Desr=C3=A9?= Date: Wed, 4 Nov 2015 11:08:14 -0800 Subject: [PATCH 01/40] Bug 1220344 - remote some of nsSystemInfo to make it e10s ready on Android r=nchen,froydnj --- dom/ipc/ContentParent.cpp | 12 ++++ dom/ipc/ContentParent.h | 3 + dom/ipc/PContent.ipdl | 13 +++++ xpcom/base/nsSystemInfo.cpp | 108 +++++++++++++++++++++++++----------- xpcom/base/nsSystemInfo.h | 10 ++++ 5 files changed, 113 insertions(+), 33 deletions(-) diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp index 18cb547702b..29287bf1048 100755 --- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -5738,6 +5738,18 @@ ContentParent::RecvGetDeviceStorageLocation(const nsString& aType, #endif } +bool +ContentParent::RecvGetAndroidSystemInfo(AndroidSystemInfo* aInfo) +{ +#ifdef MOZ_WIDGET_ANDROID + nsSystemInfo::GetAndroidSystemInfo(aInfo); + return true; +#else + MOZ_CRASH("wrong platform!"); + return false; +#endif +} + } // namespace dom } // namespace mozilla diff --git a/dom/ipc/ContentParent.h b/dom/ipc/ContentParent.h index d87798e4e77..22f1ef24b4d 100644 --- a/dom/ipc/ContentParent.h +++ b/dom/ipc/ContentParent.h @@ -940,6 +940,9 @@ private: virtual bool RecvGetDeviceStorageLocation(const nsString& aType, nsString* aPath) override; + + virtual bool RecvGetAndroidSystemInfo(AndroidSystemInfo* aInfo) override; + // If you add strong pointers to cycle collected objects here, be sure to // release these objects in ShutDownProcess. See the comment there for more // details. diff --git a/dom/ipc/PContent.ipdl b/dom/ipc/PContent.ipdl index 7651cd49dc1..fc446bcae5f 100644 --- a/dom/ipc/PContent.ipdl +++ b/dom/ipc/PContent.ipdl @@ -416,6 +416,16 @@ struct FrameScriptInfo bool runInGlobalScope; }; +struct AndroidSystemInfo +{ + nsString device; + nsString manufacturer; + nsString release_version; + nsString hardware; + uint32_t sdk_version; + bool isTablet; +}; + prio(normal upto urgent) sync protocol PContent { parent spawns PPluginModule; @@ -1134,6 +1144,9 @@ parent: sync GetDeviceStorageLocation(nsString type) returns (nsString path); + sync GetAndroidSystemInfo() + returns (AndroidSystemInfo info); + both: AsyncMessage(nsString aMessage, ClonedMessageData aData, CpowEntry[] aCpows, Principal aPrincipal); diff --git a/xpcom/base/nsSystemInfo.cpp b/xpcom/base/nsSystemInfo.cpp index 9e75e4239aa..ebfaf039c79 100644 --- a/xpcom/base/nsSystemInfo.cpp +++ b/xpcom/base/nsSystemInfo.cpp @@ -42,6 +42,7 @@ #ifdef MOZ_WIDGET_ANDROID #include "AndroidBridge.h" +#include "mozilla/dom/ContentChild.h" #endif #ifdef MOZ_WIDGET_GONK @@ -692,40 +693,16 @@ nsSystemInfo::Init() #endif #ifdef MOZ_WIDGET_ANDROID - if (mozilla::AndroidBridge::Bridge()) { - nsAutoString str; - if (mozilla::AndroidBridge::Bridge()->GetStaticStringField( - "android/os/Build", "MODEL", str)) { - SetPropertyAsAString(NS_LITERAL_STRING("device"), str); + AndroidSystemInfo info; + if (XRE_IsContentProcess()) { + dom::ContentChild* child = dom::ContentChild::GetSingleton(); + if (child) { + child->SendGetAndroidSystemInfo(&info); + SetupAndroidInfo(info); } - if (mozilla::AndroidBridge::Bridge()->GetStaticStringField( - "android/os/Build", "MANUFACTURER", str)) { - SetPropertyAsAString(NS_LITERAL_STRING("manufacturer"), str); - } - if (mozilla::AndroidBridge::Bridge()->GetStaticStringField( - "android/os/Build$VERSION", "RELEASE", str)) { - SetPropertyAsAString(NS_LITERAL_STRING("release_version"), str); - } - int32_t version; - if (!mozilla::AndroidBridge::Bridge()->GetStaticIntField( - "android/os/Build$VERSION", "SDK_INT", &version)) { - version = 0; - } - android_sdk_version = version; - if (version >= 8 && - mozilla::AndroidBridge::Bridge()->GetStaticStringField( - "android/os/Build", "HARDWARE", str)) { - SetPropertyAsAString(NS_LITERAL_STRING("hardware"), str); - } - bool isTablet = mozilla::widget::GeckoAppShell::IsTablet(); - SetPropertyAsBool(NS_LITERAL_STRING("tablet"), isTablet); - // NSPR "version" is the kernel version. For Android we want the Android version. - // Rename SDK version to version and put the kernel version into kernel_version. - rv = GetPropertyAsAString(NS_LITERAL_STRING("version"), str); - if (NS_SUCCEEDED(rv)) { - SetPropertyAsAString(NS_LITERAL_STRING("kernel_version"), str); - } - SetPropertyAsInt32(NS_LITERAL_STRING("version"), android_sdk_version); + } else { + GetAndroidSystemInfo(&info); + SetupAndroidInfo(info); } #endif @@ -793,6 +770,71 @@ nsSystemInfo::Init() return NS_OK; } +#ifdef MOZ_WIDGET_ANDROID +/* static */ +void +nsSystemInfo::GetAndroidSystemInfo(AndroidSystemInfo* aInfo) +{ + MOZ_ASSERT(XRE_IsParentProcess()); + + if (!mozilla::AndroidBridge::Bridge()) { + return; + } + + nsAutoString str; + if (mozilla::AndroidBridge::Bridge()->GetStaticStringField( + "android/os/Build", "MODEL", str)) { + aInfo->device() = str; + } + if (mozilla::AndroidBridge::Bridge()->GetStaticStringField( + "android/os/Build", "MANUFACTURER", str)) { + aInfo->manufacturer() = str; + } + if (mozilla::AndroidBridge::Bridge()->GetStaticStringField( + "android/os/Build$VERSION", "RELEASE", str)) { + aInfo->release_version() = str; + } + if (mozilla::AndroidBridge::Bridge()->GetStaticStringField( + "android/os/Build", "HARDWARE", str)) { + aInfo->hardware() = str; + } + int32_t sdk_version; + if (!mozilla::AndroidBridge::Bridge()->GetStaticIntField( + "android/os/Build$VERSION", "SDK_INT", &sdk_version)) { + sdk_version = 0; + } + aInfo->sdk_version() = sdk_version; + aInfo->isTablet() = mozilla::widget::GeckoAppShell::IsTablet(); +} + +void +nsSystemInfo::SetupAndroidInfo(const AndroidSystemInfo& aInfo) +{ + if (!aInfo.device().IsEmpty()) { + SetPropertyAsAString(NS_LITERAL_STRING("device"), aInfo.device()); + } + if (!aInfo.manufacturer().IsEmpty()) { + SetPropertyAsAString(NS_LITERAL_STRING("manufacturer"), aInfo.manufacturer()); + } + if (!aInfo.release_version().IsEmpty()) { + SetPropertyAsAString(NS_LITERAL_STRING("release_version"), aInfo.release_version()); + } + android_sdk_version = aInfo.sdk_version(); + if (android_sdk_version >= 8 && !aInfo.hardware().IsEmpty()) { + SetPropertyAsAString(NS_LITERAL_STRING("hardware"), aInfo.hardware()); + } + SetPropertyAsBool(NS_LITERAL_STRING("tablet"), aInfo.isTablet()); + // NSPR "version" is the kernel version. For Android we want the Android version. + // Rename SDK version to version and put the kernel version into kernel_version. + nsAutoString str; + nsresult rv = GetPropertyAsAString(NS_LITERAL_STRING("version"), str); + if (NS_SUCCEEDED(rv)) { + SetPropertyAsAString(NS_LITERAL_STRING("kernel_version"), str); + } + SetPropertyAsInt32(NS_LITERAL_STRING("version"), android_sdk_version); +} +#endif // MOZ_WIDGET_ANDROID + void nsSystemInfo::SetInt32Property(const nsAString& aPropertyName, const int32_t aValue) diff --git a/xpcom/base/nsSystemInfo.h b/xpcom/base/nsSystemInfo.h index 8e9263d3a2c..5a7ef442401 100644 --- a/xpcom/base/nsSystemInfo.h +++ b/xpcom/base/nsSystemInfo.h @@ -12,6 +12,10 @@ #include "nsIObserver.h" #endif // defined(XP_WIN) +#ifdef MOZ_WIDGET_ANDROID +#include "mozilla/dom/PContent.h" +#endif // MOZ_WIDGET_ANDROID + class nsSystemInfo final : public nsHashPropertyBag #if defined(XP_WIN) @@ -32,6 +36,12 @@ public: // See comments above the variable definition and in NS_InitXPCOM2. static uint32_t gUserUmask; +#ifdef MOZ_WIDGET_ANDROID + static void GetAndroidSystemInfo(mozilla::dom::AndroidSystemInfo* aInfo); + protected: + void SetupAndroidInfo(const mozilla::dom::AndroidSystemInfo&); +#endif + protected: void SetInt32Property(const nsAString& aPropertyName, const int32_t aValue); From aa9a2038f517e448b39721e68cfc6a97d6e310d7 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 12:04:42 -0800 Subject: [PATCH 02/40] Bumping gaia.json for 2 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/c6300fcdd909 Author: Martijn Desc: Merge pull request #32999 from mwargers/1220742 Bug 1220742 - Disable part of the test in test_marketplace_addon.py for now ======== https://hg.mozilla.org/integration/gaia-central/rev/2cb7346c5568 Author: Martijn Wargers Desc: Bug 1220742 - Disable part of the test in test_marketplace_addon.py for now --- b2g/config/gaia.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 7ef0016cc86..c2cfa0a0b96 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "607b9c5db7fdbbafc16a572e7c319baa266a3372", + "git_revision": "054a3b78e608b223fa61db3ac40cdc8de5727309", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "7136753530b8af60e42417fc73356ba17971141b", + "revision": "c6300fcdd909ec8caffdbdea23ec8738e8322fc0", "repo_path": "integration/gaia-central" } From d9ef006b18d7f1a0d2c83ef0cbda8b97ca1835ae Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 12:06:45 -0800 Subject: [PATCH 03/40] Bumping manifests a=b2g-bump --- b2g/config/aries/sources.xml | 2 +- b2g/config/dolphin/sources.xml | 2 +- b2g/config/emulator-ics/sources.xml | 2 +- b2g/config/emulator-jb/sources.xml | 2 +- b2g/config/emulator-kk/sources.xml | 2 +- b2g/config/emulator-l/sources.xml | 2 +- b2g/config/emulator/sources.xml | 2 +- b2g/config/flame-kk/sources.xml | 2 +- b2g/config/nexus-4-kk/sources.xml | 2 +- b2g/config/nexus-4/sources.xml | 2 +- b2g/config/nexus-5-l/sources.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/b2g/config/aries/sources.xml b/b2g/config/aries/sources.xml index 5f38f81841f..f51e2150a77 100644 --- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml index 7a51eaa1496..ab9c42eef3c 100644 --- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index fe17fade287..abbea273d0c 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index ee427b05c5e..b4623390843 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ - + diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index e808b4726e5..13cc00823d2 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-l/sources.xml b/b2g/config/emulator-l/sources.xml index 75dcfb34912..48465c6a112 100644 --- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index fe17fade287..abbea273d0c 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml index c3a1a9fcb58..014d1a4dcd3 100644 --- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4-kk/sources.xml b/b2g/config/nexus-4-kk/sources.xml index cbe1460154b..9f7471c1a3f 100644 --- a/b2g/config/nexus-4-kk/sources.xml +++ b/b2g/config/nexus-4-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml index bd9ec856623..ff6ef95a992 100644 --- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -18,7 +18,7 @@ - + diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml index 85185fc387b..27972d80918 100644 --- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -15,7 +15,7 @@ - + From fa6d6a24d3fe86cc15ae91b390039eab529ac0cd Mon Sep 17 00:00:00 2001 From: Gregory Arndt Date: Wed, 4 Nov 2015 16:19:39 -0600 Subject: [PATCH 04/40] Bug 1221076 - Update dolphin configs to include build type and name r=dustin --- testing/taskcluster/tasks/builds/b2g_dolphin_512_eng.yml | 3 +++ testing/taskcluster/tasks/builds/b2g_dolphin_512_opt.yml | 3 +++ testing/taskcluster/tasks/builds/b2g_dolphin_eng.yml | 3 +++ testing/taskcluster/tasks/builds/b2g_dolphin_opt.yml | 3 +++ 4 files changed, 12 insertions(+) diff --git a/testing/taskcluster/tasks/builds/b2g_dolphin_512_eng.yml b/testing/taskcluster/tasks/builds/b2g_dolphin_512_eng.yml index 044de79850e..64e6280a0f5 100644 --- a/testing/taskcluster/tasks/builds/b2g_dolphin_512_eng.yml +++ b/testing/taskcluster/tasks/builds/b2g_dolphin_512_eng.yml @@ -1,5 +1,8 @@ $inherits: from: 'tasks/builds/b2g_dolphin_base.yml' + variables: + build_name: 'dolphin-512-eng' + build_type: 'opt' task: scopes: - 'docker-worker:cache:build-dolphin-512-eng' diff --git a/testing/taskcluster/tasks/builds/b2g_dolphin_512_opt.yml b/testing/taskcluster/tasks/builds/b2g_dolphin_512_opt.yml index e51e0ce2a69..31771a979f4 100644 --- a/testing/taskcluster/tasks/builds/b2g_dolphin_512_opt.yml +++ b/testing/taskcluster/tasks/builds/b2g_dolphin_512_opt.yml @@ -1,5 +1,8 @@ $inherits: from: 'tasks/builds/b2g_dolphin_base.yml' + variables: + build_name: 'dolphin-512' + build_type: 'opt' task: scopes: - 'docker-worker:cache:build-dolphin-512-opt' diff --git a/testing/taskcluster/tasks/builds/b2g_dolphin_eng.yml b/testing/taskcluster/tasks/builds/b2g_dolphin_eng.yml index ae1aa3c940f..24525872dff 100644 --- a/testing/taskcluster/tasks/builds/b2g_dolphin_eng.yml +++ b/testing/taskcluster/tasks/builds/b2g_dolphin_eng.yml @@ -1,5 +1,8 @@ $inherits: from: 'tasks/builds/b2g_dolphin_base.yml' + variables: + build_name: 'dolphin-eng' + build_type: 'opt' task: scopes: - 'docker-worker:cache:build-dolphin-eng' diff --git a/testing/taskcluster/tasks/builds/b2g_dolphin_opt.yml b/testing/taskcluster/tasks/builds/b2g_dolphin_opt.yml index a6a45d4892d..eeb051cdb5a 100644 --- a/testing/taskcluster/tasks/builds/b2g_dolphin_opt.yml +++ b/testing/taskcluster/tasks/builds/b2g_dolphin_opt.yml @@ -1,5 +1,8 @@ $inherits: from: 'tasks/builds/b2g_dolphin_base.yml' + variables: + build_name: 'dolphin' + build_type: 'opt' task: scopes: - 'docker-worker:cache:build-dolphin-opt' From 3590669bc9e056adbde16e72801f05a422929335 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 14:34:14 -0800 Subject: [PATCH 05/40] Bumping gaia.json for 1 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/be0084e28963 Author: Wes Kocher Desc: Revert "Merge pull request #32993 from mikehenrty/bug-1179587-option-menu-test-fix" to see if it fixes gij(22) permafail on b-i This reverts commit 15d5b31c93bd6115e54cccd4e68c4212e17d0d38, reversing changes made to 78f0df71c005fc2450c1b00ff411359c5fad026b. --- b2g/config/gaia.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index c2cfa0a0b96..ee60d37fa76 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "054a3b78e608b223fa61db3ac40cdc8de5727309", + "git_revision": "a453cf639f483c8977dbcc900f44beb028420288", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "c6300fcdd909ec8caffdbdea23ec8738e8322fc0", + "revision": "be0084e28963b9ade166c2dbe1f55a907e5ecaf6", "repo_path": "integration/gaia-central" } From b8d53b1a0cbd7637f6a1015e32043d94cbfbc225 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 14:34:31 -0800 Subject: [PATCH 06/40] Bumping manifests a=b2g-bump --- b2g/config/aries/sources.xml | 2 +- b2g/config/dolphin/sources.xml | 2 +- b2g/config/emulator-ics/sources.xml | 2 +- b2g/config/emulator-jb/sources.xml | 2 +- b2g/config/emulator-kk/sources.xml | 2 +- b2g/config/emulator-l/sources.xml | 2 +- b2g/config/emulator/sources.xml | 2 +- b2g/config/flame-kk/sources.xml | 2 +- b2g/config/nexus-4-kk/sources.xml | 2 +- b2g/config/nexus-4/sources.xml | 2 +- b2g/config/nexus-5-l/sources.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/b2g/config/aries/sources.xml b/b2g/config/aries/sources.xml index f51e2150a77..d32ddd833b6 100644 --- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml index ab9c42eef3c..de4825e844f 100644 --- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index abbea273d0c..f088e1a30bd 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index b4623390843..72691bfdb38 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ - + diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index 13cc00823d2..8407f70d1f5 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-l/sources.xml b/b2g/config/emulator-l/sources.xml index 48465c6a112..1e2360b0c56 100644 --- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index abbea273d0c..f088e1a30bd 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml index 014d1a4dcd3..64a61e380ff 100644 --- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4-kk/sources.xml b/b2g/config/nexus-4-kk/sources.xml index 9f7471c1a3f..956c6ee57b5 100644 --- a/b2g/config/nexus-4-kk/sources.xml +++ b/b2g/config/nexus-4-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml index ff6ef95a992..8fcb4fad94a 100644 --- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -18,7 +18,7 @@ - + diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml index 27972d80918..9b31ccb40a1 100644 --- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -15,7 +15,7 @@ - + From 3c3a68fc8cc380d65df4241e9219f98bc027bb8c Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 16:49:31 -0800 Subject: [PATCH 07/40] Bumping gaia.json for 1 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/e169dc4818bb Author: Wes Kocher Desc: Revert "Merge pull request #32978 from Cwiiis/bug1221195-homescreen-remove-system-xhr" for gij(22) failures This reverts commit 6d44ad8956e313e679718df3ac1c393bdd687aec, reversing changes made to 15d5b31c93bd6115e54cccd4e68c4212e17d0d38. --- b2g/config/gaia.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index ee60d37fa76..09bd4d5941a 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "a453cf639f483c8977dbcc900f44beb028420288", + "git_revision": "b6c3b89f2d9ccf8ecc81ba046e5c02f5f7a87067", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "be0084e28963b9ade166c2dbe1f55a907e5ecaf6", + "revision": "e169dc4818bb98a80d8ffd55006f05f118f5683f", "repo_path": "integration/gaia-central" } From fe934fee47b17b187221e2b2c3f1ecedd2408d4a Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 16:51:33 -0800 Subject: [PATCH 08/40] Bumping manifests a=b2g-bump --- b2g/config/aries/sources.xml | 2 +- b2g/config/dolphin/sources.xml | 2 +- b2g/config/emulator-ics/sources.xml | 2 +- b2g/config/emulator-jb/sources.xml | 2 +- b2g/config/emulator-kk/sources.xml | 2 +- b2g/config/emulator-l/sources.xml | 2 +- b2g/config/emulator/sources.xml | 2 +- b2g/config/flame-kk/sources.xml | 2 +- b2g/config/nexus-4-kk/sources.xml | 2 +- b2g/config/nexus-4/sources.xml | 2 +- b2g/config/nexus-5-l/sources.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/b2g/config/aries/sources.xml b/b2g/config/aries/sources.xml index d32ddd833b6..9791b42b095 100644 --- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml index de4825e844f..19120c2e72a 100644 --- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index f088e1a30bd..a414ef98101 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index 72691bfdb38..d7cddf64258 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ - + diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index 8407f70d1f5..98ad61c5554 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-l/sources.xml b/b2g/config/emulator-l/sources.xml index 1e2360b0c56..a4a677ca102 100644 --- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index f088e1a30bd..a414ef98101 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml index 64a61e380ff..92a84c182bc 100644 --- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4-kk/sources.xml b/b2g/config/nexus-4-kk/sources.xml index 956c6ee57b5..b8069c2d5eb 100644 --- a/b2g/config/nexus-4-kk/sources.xml +++ b/b2g/config/nexus-4-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml index 8fcb4fad94a..81123ff0f2f 100644 --- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -18,7 +18,7 @@ - + diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml index 9b31ccb40a1..75abf6138b1 100644 --- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -15,7 +15,7 @@ - + From 8d54e15ea24f111b2447433926851f4df2ea3105 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 17:49:29 -0800 Subject: [PATCH 09/40] Bumping gaia.json for 2 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/2aefb47b6940 Author: Andrew Sutherland Desc: Merge pull request #33002 from asutherland/email-sent-folder Bug 1178197 - Avoid browserbox's naive folder name inference logic. r=jrburke ======== https://hg.mozilla.org/integration/gaia-central/rev/72cc55825799 Author: Andrew Sutherland Desc: Bug 1178197 - Avoid browserbox's naive folder name inference logic. r=jrburke propagate https://github.com/mozilla-b2g/gaia-email-libs-and-more/pull/398 --- b2g/config/gaia.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 09bd4d5941a..b155a30645b 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "b6c3b89f2d9ccf8ecc81ba046e5c02f5f7a87067", + "git_revision": "e68d693cb55fb5d8946498eb2bdb63f55116d38e", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "e169dc4818bb98a80d8ffd55006f05f118f5683f", + "revision": "2aefb47b6940697a3e24830ad674c96a1e636c21", "repo_path": "integration/gaia-central" } From cdd6b9f89fa5d3f8ff4645ef3910e4a604215922 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 17:51:30 -0800 Subject: [PATCH 10/40] Bumping manifests a=b2g-bump --- b2g/config/aries/sources.xml | 2 +- b2g/config/dolphin/sources.xml | 2 +- b2g/config/emulator-ics/sources.xml | 2 +- b2g/config/emulator-jb/sources.xml | 2 +- b2g/config/emulator-kk/sources.xml | 2 +- b2g/config/emulator-l/sources.xml | 2 +- b2g/config/emulator/sources.xml | 2 +- b2g/config/flame-kk/sources.xml | 2 +- b2g/config/nexus-4-kk/sources.xml | 2 +- b2g/config/nexus-4/sources.xml | 2 +- b2g/config/nexus-5-l/sources.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/b2g/config/aries/sources.xml b/b2g/config/aries/sources.xml index 9791b42b095..669ce6008a0 100644 --- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml index 19120c2e72a..abc43ab90c9 100644 --- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index a414ef98101..c350f11d753 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index d7cddf64258..ba723189585 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ - + diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index 98ad61c5554..bbc235170c1 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-l/sources.xml b/b2g/config/emulator-l/sources.xml index a4a677ca102..f94cf8b2e1b 100644 --- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index a414ef98101..c350f11d753 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml index 92a84c182bc..a0d1dbd8d12 100644 --- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4-kk/sources.xml b/b2g/config/nexus-4-kk/sources.xml index b8069c2d5eb..c5a8655dd27 100644 --- a/b2g/config/nexus-4-kk/sources.xml +++ b/b2g/config/nexus-4-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml index 81123ff0f2f..f13a59b189e 100644 --- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -18,7 +18,7 @@ - + diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml index 75abf6138b1..c8fdf21f4ef 100644 --- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -15,7 +15,7 @@ - + From 944c8fd700311b0eff02c7184630301ba1566a56 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 20:50:19 -0800 Subject: [PATCH 11/40] Bumping gaia.json for 2 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/5a3152292828 Author: Andrew Sutherland Desc: Merge pull request #33007 from asutherland/email-quote-reply Bug 1217809 - [Email] quoted reply generation is failing to inject newlines for the non-base-case. r=jrburke ======== https://hg.mozilla.org/integration/gaia-central/rev/fa13332ebd0b Author: Andrew Sutherland Desc: Bug 1217809 - [Email] quoted reply generation is failing to inject newlines for the non-base-case. r=jrburke propagate https://github.com/mozilla-b2g/gaia-email-libs-and-more/pull/389 --- b2g/config/gaia.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index b155a30645b..5f4e1b5d950 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "e68d693cb55fb5d8946498eb2bdb63f55116d38e", + "git_revision": "8d78e18bb619abac74d58d97ab20f5fbdf173ac6", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "2aefb47b6940697a3e24830ad674c96a1e636c21", + "revision": "5a315229282863bae786b6cc5ff148cbd58c1a46", "repo_path": "integration/gaia-central" } From 2aa0997423d902cb798e31bd11f3e831a814417a Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 20:52:22 -0800 Subject: [PATCH 12/40] Bumping manifests a=b2g-bump --- b2g/config/aries/sources.xml | 2 +- b2g/config/dolphin/sources.xml | 2 +- b2g/config/emulator-ics/sources.xml | 2 +- b2g/config/emulator-jb/sources.xml | 2 +- b2g/config/emulator-kk/sources.xml | 2 +- b2g/config/emulator-l/sources.xml | 2 +- b2g/config/emulator/sources.xml | 2 +- b2g/config/flame-kk/sources.xml | 2 +- b2g/config/nexus-4-kk/sources.xml | 2 +- b2g/config/nexus-4/sources.xml | 2 +- b2g/config/nexus-5-l/sources.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/b2g/config/aries/sources.xml b/b2g/config/aries/sources.xml index 669ce6008a0..84b8cdc62d1 100644 --- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml index abc43ab90c9..60813072b41 100644 --- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index c350f11d753..948f932d87e 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index ba723189585..fc471266557 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ - + diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index bbc235170c1..2a9d19849bf 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-l/sources.xml b/b2g/config/emulator-l/sources.xml index f94cf8b2e1b..0dd3564dd0d 100644 --- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index c350f11d753..948f932d87e 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml index a0d1dbd8d12..3d83c74f40b 100644 --- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4-kk/sources.xml b/b2g/config/nexus-4-kk/sources.xml index c5a8655dd27..f0228416378 100644 --- a/b2g/config/nexus-4-kk/sources.xml +++ b/b2g/config/nexus-4-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml index f13a59b189e..097e67e23bc 100644 --- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -18,7 +18,7 @@ - + diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml index c8fdf21f4ef..c9be1d7e2ff 100644 --- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -15,7 +15,7 @@ - + From 51079889fc3457b083bb298de328d4355fb5428e Mon Sep 17 00:00:00 2001 From: Kan-Ru Chen Date: Wed, 4 Nov 2015 12:02:26 +0800 Subject: [PATCH 13/40] Bug 1216937 - Assign default URL for mozbrowseropenwindow event. r=smaug --- dom/browser-element/BrowserElementParent.cpp | 7 ++++- .../browserElement_OpenWindowEmpty.js | 31 +++++++++++++++++++ .../file_browserElement_OpenWindowEmpty.html | 7 +++++ .../mochitest/mochitest-oop.ini | 1 + dom/browser-element/mochitest/mochitest.ini | 3 ++ ...browserElement_inproc_OpenWindowEmpty.html | 13 ++++++++ ...st_browserElement_oop_OpenWindowEmpty.html | 13 ++++++++ 7 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 dom/browser-element/mochitest/browserElement_OpenWindowEmpty.js create mode 100644 dom/browser-element/mochitest/file_browserElement_OpenWindowEmpty.html create mode 100644 dom/browser-element/mochitest/test_browserElement_inproc_OpenWindowEmpty.html create mode 100644 dom/browser-element/mochitest/test_browserElement_oop_OpenWindowEmpty.html diff --git a/dom/browser-element/BrowserElementParent.cpp b/dom/browser-element/BrowserElementParent.cpp index 015c33e4a5e..ec8326494a4 100644 --- a/dom/browser-element/BrowserElementParent.cpp +++ b/dom/browser-element/BrowserElementParent.cpp @@ -150,7 +150,12 @@ BrowserElementParent::DispatchOpenWindowEvent(Element* aOpenerFrameElement, // Create the event's detail object. OpenWindowEventDetail detail; - detail.mUrl = aURL; + if (aURL.IsEmpty()) { + // URL should never be empty. Assign about:blank as default. + detail.mUrl = NS_LITERAL_STRING("about:blank"); + } else { + detail.mUrl = aURL; + } detail.mName = aName; detail.mFeatures = aFeatures; detail.mFrameElement = aPopupFrameElement; diff --git a/dom/browser-element/mochitest/browserElement_OpenWindowEmpty.js b/dom/browser-element/mochitest/browserElement_OpenWindowEmpty.js new file mode 100644 index 00000000000..6b8dd0340ba --- /dev/null +++ b/dom/browser-element/mochitest/browserElement_OpenWindowEmpty.js @@ -0,0 +1,31 @@ +/* Any copyright is dedicated to the public domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Bug 1216937 - Test that window.open with null/empty URL should use +// about:blank as default + +"use strict"; +SimpleTest.waitForExplicitFinish(); +browserElementTestHelpers.setEnabledPref(true); +browserElementTestHelpers.addPermission(); + +function runTest() { + var iframe = document.createElement('iframe'); + iframe.setAttribute('mozbrowser', 'true'); + + var gotPopup = false; + iframe.addEventListener('mozbrowseropenwindow', function(e) { + is(gotPopup, false, 'Should get just one popup.'); + gotPopup = true; + + is(e.detail.url, 'about:blank', "Popup's has correct URL"); + e.preventDefault(); + + SimpleTest.finish(); + }); + + iframe.src = 'file_browserElement_OpenWindowEmpty.html'; + document.body.appendChild(iframe); +} + +addEventListener('testready', runTest); diff --git a/dom/browser-element/mochitest/file_browserElement_OpenWindowEmpty.html b/dom/browser-element/mochitest/file_browserElement_OpenWindowEmpty.html new file mode 100644 index 00000000000..fefd6f6ca1f --- /dev/null +++ b/dom/browser-element/mochitest/file_browserElement_OpenWindowEmpty.html @@ -0,0 +1,7 @@ + + + + + diff --git a/dom/browser-element/mochitest/mochitest-oop.ini b/dom/browser-element/mochitest/mochitest-oop.ini index 17b4c805199..0bcdddd175a 100644 --- a/dom/browser-element/mochitest/mochitest-oop.ini +++ b/dom/browser-element/mochitest/mochitest-oop.ini @@ -119,3 +119,4 @@ disabled = bug 924771 [test_browserElement_oop_GetContentDimensions.html] [test_browserElement_oop_AudioChannel.html] [test_browserElement_oop_SetNFCFocus.html] +[test_browserElement_oop_OpenWindowEmpty.html] diff --git a/dom/browser-element/mochitest/mochitest.ini b/dom/browser-element/mochitest/mochitest.ini index c2dc66c55e0..6db4b4e1b46 100644 --- a/dom/browser-element/mochitest/mochitest.ini +++ b/dom/browser-element/mochitest/mochitest.ini @@ -48,6 +48,7 @@ support-files = browserElement_OpenTab.js browserElement_OpenWindow.js browserElement_OpenWindowDifferentOrigin.js + browserElement_OpenWindowEmpty.js browserElement_OpenWindowInFrame.js browserElement_OpenWindowRejected.js browserElement_Opensearch.js @@ -104,6 +105,7 @@ support-files = file_browserElement_OpenNamed.html file_browserElement_OpenNamed2.html file_browserElement_OpenWindowDifferentOrigin.html + file_browserElement_OpenWindowEmpty.html file_browserElement_OpenWindowInFrame.html file_browserElement_OpenWindowRejected.html file_browserElement_PrivateBrowsing.html @@ -243,3 +245,4 @@ disabled = bug 774100 [test_browserElement_inproc_AudioChannel.html] [test_browserElement_inproc_SetNFCFocus.html] [test_browserElement_inproc_getStructuredData.html] +[test_browserElement_inproc_OpenWindowEmpty.html] diff --git a/dom/browser-element/mochitest/test_browserElement_inproc_OpenWindowEmpty.html b/dom/browser-element/mochitest/test_browserElement_inproc_OpenWindowEmpty.html new file mode 100644 index 00000000000..03738de71c0 --- /dev/null +++ b/dom/browser-element/mochitest/test_browserElement_inproc_OpenWindowEmpty.html @@ -0,0 +1,13 @@ + + + + Test for Bug 1216937 + + + + + + + + \ No newline at end of file diff --git a/dom/browser-element/mochitest/test_browserElement_oop_OpenWindowEmpty.html b/dom/browser-element/mochitest/test_browserElement_oop_OpenWindowEmpty.html new file mode 100644 index 00000000000..03738de71c0 --- /dev/null +++ b/dom/browser-element/mochitest/test_browserElement_oop_OpenWindowEmpty.html @@ -0,0 +1,13 @@ + + + + Test for Bug 1216937 + + + + + + + + \ No newline at end of file From 6f4fc727c7441b517ac5603ae467d743afcc5f87 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 22:49:45 -0800 Subject: [PATCH 14/40] Bumping gaia.json for 2 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/d8c76992641f Author: Timothy Guan-tin Chien Desc: Merge pull request #33012 from timdream/keyboard-style Bug 1221887 - Remove redundant styles in keyboard.css, r=me ======== https://hg.mozilla.org/integration/gaia-central/rev/85a40cdf6e0d Author: Timothy Guan-tin Chien Desc: Bug 1221887 - Remove redundant styles in keyboard.css --- b2g/config/gaia.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 5f4e1b5d950..7c35806bdba 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "8d78e18bb619abac74d58d97ab20f5fbdf173ac6", + "git_revision": "8e8c14205407ec2dcffc32c9ecc454aa4cd34c6b", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "5a315229282863bae786b6cc5ff148cbd58c1a46", + "revision": "d8c76992641f3b517d8c7c6855713ea4034b6a77", "repo_path": "integration/gaia-central" } From 9340d005b03d9a35704eb1322a27d6abfac0cde0 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 22:51:46 -0800 Subject: [PATCH 15/40] Bumping manifests a=b2g-bump --- b2g/config/aries/sources.xml | 2 +- b2g/config/dolphin/sources.xml | 2 +- b2g/config/emulator-ics/sources.xml | 2 +- b2g/config/emulator-jb/sources.xml | 2 +- b2g/config/emulator-kk/sources.xml | 2 +- b2g/config/emulator-l/sources.xml | 2 +- b2g/config/emulator/sources.xml | 2 +- b2g/config/flame-kk/sources.xml | 2 +- b2g/config/nexus-4-kk/sources.xml | 2 +- b2g/config/nexus-4/sources.xml | 2 +- b2g/config/nexus-5-l/sources.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/b2g/config/aries/sources.xml b/b2g/config/aries/sources.xml index 84b8cdc62d1..3d370423a23 100644 --- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml index 60813072b41..7d7da2ba536 100644 --- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index 948f932d87e..61f1d64f0b0 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index fc471266557..820f0b32313 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ - + diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index 2a9d19849bf..fcb251c98a0 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-l/sources.xml b/b2g/config/emulator-l/sources.xml index 0dd3564dd0d..c2f7ce02d94 100644 --- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index 948f932d87e..61f1d64f0b0 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml index 3d83c74f40b..36c273706cc 100644 --- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4-kk/sources.xml b/b2g/config/nexus-4-kk/sources.xml index f0228416378..5ee1a65840f 100644 --- a/b2g/config/nexus-4-kk/sources.xml +++ b/b2g/config/nexus-4-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml index 097e67e23bc..b941c458c47 100644 --- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -18,7 +18,7 @@ - + diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml index c9be1d7e2ff..fc18f57bb67 100644 --- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -15,7 +15,7 @@ - + From 735476015e94df56d5856dc3b11244f118d24c86 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 23:10:39 -0800 Subject: [PATCH 16/40] Bumping gaia.json for 2 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/4dddbdb17102 Author: Sean Lee Desc: Merge pull request #32998 from weilonge/seanlee/TVBrowser/master/Bug1221472 Bug 1221472 - Show URI as title when a record is without title. r=danhuang ======== https://hg.mozilla.org/integration/gaia-central/rev/3f45d479610e Author: Sean Lee Desc: Bug 1221472 - Show URI as title when a record is without title. r=danhuang --- b2g/config/gaia.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 7c35806bdba..46d0a81c490 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "8e8c14205407ec2dcffc32c9ecc454aa4cd34c6b", + "git_revision": "8950676a273bd902a9ae63d7ef9afc59e14ebd81", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "d8c76992641f3b517d8c7c6855713ea4034b6a77", + "revision": "4dddbdb17102ff915e270021a0faf187ba9d39dc", "repo_path": "integration/gaia-central" } From c8f9a0459ed4562eeae54c33a48522bbaa845c34 Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Wed, 4 Nov 2015 23:13:04 -0800 Subject: [PATCH 17/40] Bumping manifests a=b2g-bump --- b2g/config/aries/sources.xml | 2 +- b2g/config/dolphin/sources.xml | 2 +- b2g/config/emulator-ics/sources.xml | 2 +- b2g/config/emulator-jb/sources.xml | 2 +- b2g/config/emulator-kk/sources.xml | 2 +- b2g/config/emulator-l/sources.xml | 2 +- b2g/config/emulator/sources.xml | 2 +- b2g/config/flame-kk/sources.xml | 2 +- b2g/config/nexus-4-kk/sources.xml | 2 +- b2g/config/nexus-4/sources.xml | 2 +- b2g/config/nexus-5-l/sources.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/b2g/config/aries/sources.xml b/b2g/config/aries/sources.xml index 3d370423a23..356c09f2130 100644 --- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml index 7d7da2ba536..bfe9149e565 100644 --- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index 61f1d64f0b0..67cf250685a 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index 820f0b32313..1c74b7a1dcf 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ - + diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index fcb251c98a0..8dcd3787bba 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-l/sources.xml b/b2g/config/emulator-l/sources.xml index c2f7ce02d94..ee502d1c3e9 100644 --- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index 61f1d64f0b0..67cf250685a 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml index 36c273706cc..517ce449e88 100644 --- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4-kk/sources.xml b/b2g/config/nexus-4-kk/sources.xml index 5ee1a65840f..3f30fec365a 100644 --- a/b2g/config/nexus-4-kk/sources.xml +++ b/b2g/config/nexus-4-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml index b941c458c47..3bd28ac35ff 100644 --- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -18,7 +18,7 @@ - + diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml index fc18f57bb67..5aba2668a46 100644 --- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -15,7 +15,7 @@ - + From fd47f2a0cbb47c4c085f2a57c8cc390a44e1ec56 Mon Sep 17 00:00:00 2001 From: Alexandre Lissy Date: Wed, 4 Nov 2015 11:51:00 +0100 Subject: [PATCH 18/40] Bug 1221645 - Make Nexus 4 KK and Nexus 5 L full images public. r=wcosta --- b2g/config/nexus-4-kk/config.json | 3 ++- b2g/config/nexus-5-l/config.json | 3 ++- testing/taskcluster/scripts/phone-builder/post-build.sh | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/b2g/config/nexus-4-kk/config.json b/b2g/config/nexus-4-kk/config.json index 100deb9d59e..aaaf402790a 100644 --- a/b2g/config/nexus-4-kk/config.json +++ b/b2g/config/nexus-4-kk/config.json @@ -17,7 +17,8 @@ "{objdir}/dist/b2g-*.crashreporter-symbols.zip", "{objdir}/dist/b2g-*.tar.gz", "{workdir}/sources.xml", - "{objdir}/dist/b2g-update/*.mar" + "{objdir}/dist/b2g-update/*.mar", + "{workdir}/mako.zip" ], "zip_files": [ ["{workdir}/out/target/product/mako/*.img", "out/target/product/mako/"], diff --git a/b2g/config/nexus-5-l/config.json b/b2g/config/nexus-5-l/config.json index 6174ea507b7..3de1ca340cd 100644 --- a/b2g/config/nexus-5-l/config.json +++ b/b2g/config/nexus-5-l/config.json @@ -17,7 +17,8 @@ "{objdir}/dist/b2g-*.crashreporter-symbols.zip", "{objdir}/dist/b2g-*.tar.gz", "{workdir}/sources.xml", - "{objdir}/dist/b2g-update/*.mar" + "{objdir}/dist/b2g-update/*.mar", + "{workdir}/hammerhead.zip" ], "zip_files": [ ["{workdir}/out/target/product/hammerhead/*.img", "out/target/product/hammerhead/"], diff --git a/testing/taskcluster/scripts/phone-builder/post-build.sh b/testing/taskcluster/scripts/phone-builder/post-build.sh index 9d8fc3eab8d..cd49faa1566 100755 --- a/testing/taskcluster/scripts/phone-builder/post-build.sh +++ b/testing/taskcluster/scripts/phone-builder/post-build.sh @@ -17,6 +17,11 @@ mv $WORKSPACE/B2G/upload/b2g-*.android-arm.tar.gz $HOME/artifacts/b2g-android-ar mv $WORKSPACE/B2G/upload/${TARGET}.zip $HOME/artifacts/${TARGET}.zip mv $WORKSPACE/B2G/upload/gaia.zip $HOME/artifacts/gaia.zip +# Upload public images as public artifacts on Nexus 4 KK and Nexus 5 L +if [ "${TARGET}" = "nexus-4-kk" -o "${TARGET}" = "nexus-5-l" ]; then + mv $HOME/artifacts/${TARGET}.zip $HOME/artifacts-public/ +fi + if [ -f $WORKSPACE/B2G/upload/b2g-*.crashreporter-symbols.zip ]; then mv $WORKSPACE/B2G/upload/b2g-*.crashreporter-symbols.zip $HOME/artifacts/b2g-crashreporter-symbols.zip fi From e40f4c2ae68f7783e7529764a32106bae36b279f Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Thu, 5 Nov 2015 00:09:43 -0800 Subject: [PATCH 19/40] Bumping gaia.json for 2 gaia revision(s) a=gaia-bump ======== https://hg.mozilla.org/integration/gaia-central/rev/8f31a6d5a60d Author: Yura Zenevich Desc: Merge pull request #32958 from yzen/bug-1209062-announce-app Bug 1209062 - announce app/homescreen when app is opened. ======== https://hg.mozilla.org/integration/gaia-central/rev/31df8cf211db Author: Yura Zenevich Desc: Bug 1209062 - announce app/homescreen when app is opened. --- b2g/config/gaia.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/b2g/config/gaia.json b/b2g/config/gaia.json index 46d0a81c490..ca1f904dd51 100644 --- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "8950676a273bd902a9ae63d7ef9afc59e14ebd81", + "git_revision": "cf0703f147e17bea1b18b58ada82625151238220", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "4dddbdb17102ff915e270021a0faf187ba9d39dc", + "revision": "8f31a6d5a60d8dc410f74c0a03cf7249a9e2ba34", "repo_path": "integration/gaia-central" } From 470debdd49dde2aa60e539b37b98ea78f990085e Mon Sep 17 00:00:00 2001 From: B2G Bumper Bot Date: Thu, 5 Nov 2015 00:11:56 -0800 Subject: [PATCH 20/40] Bumping manifests a=b2g-bump --- b2g/config/aries/sources.xml | 2 +- b2g/config/dolphin/sources.xml | 2 +- b2g/config/emulator-ics/sources.xml | 2 +- b2g/config/emulator-jb/sources.xml | 2 +- b2g/config/emulator-kk/sources.xml | 2 +- b2g/config/emulator-l/sources.xml | 2 +- b2g/config/emulator/sources.xml | 2 +- b2g/config/flame-kk/sources.xml | 2 +- b2g/config/nexus-4-kk/sources.xml | 2 +- b2g/config/nexus-4/sources.xml | 2 +- b2g/config/nexus-5-l/sources.xml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/b2g/config/aries/sources.xml b/b2g/config/aries/sources.xml index 356c09f2130..462eaa65f04 100644 --- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/dolphin/sources.xml b/b2g/config/dolphin/sources.xml index bfe9149e565..4a4ff01e925 100644 --- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-ics/sources.xml b/b2g/config/emulator-ics/sources.xml index 67cf250685a..0503c361fb0 100644 --- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/emulator-jb/sources.xml b/b2g/config/emulator-jb/sources.xml index 1c74b7a1dcf..b913b0b7168 100644 --- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -17,7 +17,7 @@ - + diff --git a/b2g/config/emulator-kk/sources.xml b/b2g/config/emulator-kk/sources.xml index 8dcd3787bba..f59c6f4f17a 100644 --- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator-l/sources.xml b/b2g/config/emulator-l/sources.xml index ee502d1c3e9..3937dbdfb35 100644 --- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/emulator/sources.xml b/b2g/config/emulator/sources.xml index 67cf250685a..0503c361fb0 100644 --- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -19,7 +19,7 @@ - + diff --git a/b2g/config/flame-kk/sources.xml b/b2g/config/flame-kk/sources.xml index 517ce449e88..6867878e941 100644 --- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4-kk/sources.xml b/b2g/config/nexus-4-kk/sources.xml index 3f30fec365a..ad7cfce9e63 100644 --- a/b2g/config/nexus-4-kk/sources.xml +++ b/b2g/config/nexus-4-kk/sources.xml @@ -15,7 +15,7 @@ - + diff --git a/b2g/config/nexus-4/sources.xml b/b2g/config/nexus-4/sources.xml index 3bd28ac35ff..1ffa9e3967c 100644 --- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -18,7 +18,7 @@ - + diff --git a/b2g/config/nexus-5-l/sources.xml b/b2g/config/nexus-5-l/sources.xml index 5aba2668a46..fd4daab700b 100644 --- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -15,7 +15,7 @@ - + From 4f6fdc985b08ca4f66764dc99694b687c865dc4d Mon Sep 17 00:00:00 2001 From: Alexandre Lissy Date: Tue, 3 Nov 2015 10:25:00 +0100 Subject: [PATCH 21/40] Bug 1201540 - Add support for multiple OTA/FOTA types. r=catlee B2G updates can be of multiple types: - OTA, applied without rebooting the device, - FOTA with only Gecko/Gaia, - FOTA with whole system partition files, - FOTA dumping partitions images. Each type of updates has its advantages and drawbacks. There is an extensive documentation maintained on MDN about each and the options: https://developer.mozilla.org/en-US/Firefox_OS/Building_and_installing_Firefox_OS/Firefox_OS_update_packages All those updates are being packaged as a MAR file that gets injected into the classical Firefox update mechanism, submitted to Balrog and downloaded by the client. The content of the MAR will however depend on the type of update: an OTA update will packate a Gecko and Gaia set of files to update those parts; while any FOTA package is just an update.zip that will get applied in recovery mode on the device. So one fundamental difference is that OTA will not reboot your device (just Gecko) while FOTA requires a working recovery mode and will reboot your device. But OTA needs more system partition space to get applied, and it can only update files that are within the /system/b2g/ directory. FOTA on the other hand can update anything since the payload will contain an update script written in Edify (Android recovery update scripting language). For each device we might need to produce several types of updates that will be pushed to users depending on the context: for some users we want to push just a Gecko/Gaia update, for some we know that we need to update more content and thus we need to send some partitions. Previously, the b2g_build.py script would only allow one kind of update payload to be produced for each device available: we would need to have a device "flame-kk-ota" and "flame-kk-fota" just to produce the OTA and FOTA packages for the same device, thus resulting in a waste of computing power and storage. This commit introduces a new field "update_types" that can take an array of values: - ota, to produce an OTA package as before - fota, to produce a FOTA package with only Gecko/Gaia - fota:full, to produce a FOTA package of all files of the system partition - fota:fullimg, to produce a FOTA package dumping partitions The old "update_type" will be used in the absence of "update_types". And if none are present, we will keep defaulting to generating OTA as previously. --- testing/mozharness/scripts/b2g_build.py | 156 +++++++++++------- .../scripts/phone-builder/build-phone-ota.sh | 3 +- .../scripts/phone-builder/post-build.sh | 15 +- 3 files changed, 107 insertions(+), 67 deletions(-) diff --git a/testing/mozharness/scripts/b2g_build.py b/testing/mozharness/scripts/b2g_build.py index 67597ab00e8..43fc9b434e0 100755 --- a/testing/mozharness/scripts/b2g_build.py +++ b/testing/mozharness/scripts/b2g_build.py @@ -165,14 +165,16 @@ class B2GBuild(LocalesMixin, PurgeMixin, self.objdir = self.config.get("gecko_objdir", os.path.join(dirs['work_dir'], 'objdir-gecko')) self.abs_dirs['abs_obj_dir'] = self.objdir - if self.config.get("update_type", "ota") == "fota": - self.make_updates_cmd = ['./build.sh', 'gecko-update-fota'] - self.extra_update_attrs = 'isOsUpdate="true"' - self.isOSUpdate = True + + # Evaluating the update type to build. + # Default is OTA if config do not specifies anything + if "update_types" in self.config: + self.update_types = self.config["update_types"] + elif "update_type" in self.config: + self.update_types = [self.config["update_type"]] else: - self.make_updates_cmd = ['./build.sh', 'gecko-update-full'] - self.extra_update_attrs = None - self.isOSUpdate = False + self.update_types = ["ota"] + self.package_urls = {} # We need to create the virtualenv directly (without using an action) in @@ -306,31 +308,55 @@ class B2GBuild(LocalesMixin, PurgeMixin, output_dir = os.path.join(dirs['work_dir'], 'out', 'target', 'product', devicedir) return output_dir + def query_device_name(self): + return os.path.basename(self.query_device_outputdir()) + def query_application_ini(self): return os.path.join(self.query_device_outputdir(), 'system', 'b2g', 'application.ini') - def query_marfile_path(self): - if self.config.get("update_type", "ota") == "fota": + def query_marfile_path(self, update_type): + if update_type.startswith("fota"): mardir = self.query_device_outputdir() else: mardir = "%s/dist/b2g-update" % self.objdir + device_name = self.query_device_name() + update_type_files = { + 'ota': 'b2g-%s-gecko-update.mar' % device_name, + 'fota': 'fota-%s-update.mar' % device_name, + 'fota:full': 'fota-%s-update-full.mar' % device_name, + 'fota:fullimg': 'fota-%s-update-fullimg.mar' % device_name + } + mars = [] for f in os.listdir(mardir): - if f.endswith(".mar"): + if f.endswith(update_type_files[update_type]): mars.append(f) - if len(mars) != 1: + if len(mars) < 1: self.fatal("Found none or too many marfiles in %s, don't know what to do:\n%s" % (mardir, mars), exit_code=1) return "%s/%s" % (mardir, mars[0]) - def query_complete_mar_url(self): + def query_complete_mar_url(self, marfile=None): + mar_url = None if "complete_mar_url" in self.config: - return self.config["complete_mar_url"] - if "completeMarUrl" in self.package_urls: - return self.package_urls["completeMarUrl"] - self.fatal("Couldn't find complete mar url in config or package_urls") + mar_url = self.config["complete_mar_url"] + elif "completeMarUrl" in self.package_urls: + mar_url = self.package_urls["completeMarUrl"] + else: + self.fatal("Couldn't find complete mar url in config or package_urls") + + # To support OTA and FOTA update payload, we cannot rely on the filename + # being computed before we get called since we will determine the filename + # ourselves. Let's detect when the URL does not ends with ".mar" and in + # this case, we append the MAR file we just collected + if not mar_url.endswith(".mar"): + if marfile is not None: + self.fatal("URL does not contains a MAR file and none found") + mar_url = os.path.join(mar_url, os.path.basename(marfile)) + + return mar_url # Actions {{{2 def clobber(self): @@ -613,36 +639,39 @@ class B2GBuild(LocalesMixin, PurgeMixin, self.fatal("failed to upload symbols", exit_code=2) def make_updates(self): - if not self.query_is_nightly(): - self.info("Not a nightly build. Skipping...") - return + if not self.update_types: + self.fatal("No update types defined. We should have had at least defaulted to OTA ...") + dirs = self.query_abs_dirs() + self.load_gecko_config() - cmd = self.make_updates_cmd[:] + env = self.query_build_env() - self.enable_mock() - retval = self.run_command(cmd, cwd=dirs['work_dir'], env=env, error_list=B2GMakefileErrorList) - self.disable_mock() + for update_type in self.update_types: + # Defaulting to OTA + make_target = "gecko-update-full" - if retval != 0: - self.fatal("failed to create complete update", exit_code=2) + # Building a FOTA with only Gecko/Gaia (+ a few redistribuable) + if update_type == "fota": + make_target = "gecko-update-fota" - # Sign the updates - self.sign_updates() + # Building a FOTA with all system partition files + if update_type == "fota:full": + make_target = "gecko-update-fota-full" - def sign_updates(self): - if 'MOZ_SIGNING_SERVERS' not in os.environ: - self.info("Skipping signing since no MOZ_SIGNING_SERVERS set") - return + # Building a FOTA with full partitions images + if update_type == "fota:fullimg": + make_target = "gecko-update-fota-fullimg" - self.checkout_tools() - cmd = self.query_moz_sign_cmd(formats=['b2gmar']) - cmd.append(self.query_marfile_path()) + cmd = ['./build.sh', make_target] - retval = self.run_command(cmd) - if retval != 0: - self.fatal("failed to sign complete update", exit_code=2) + self.enable_mock() + retval = self.run_command(cmd, cwd=dirs['work_dir'], env=env, error_list=B2GMakefileErrorList) + self.disable_mock() + + if retval != 0: + self.fatal("failed to create update", exit_code=2) def prep_upload(self): if not self.query_do_upload(): @@ -722,8 +751,7 @@ class B2GBuild(LocalesMixin, PurgeMixin, if base_pattern in public_upload_patterns: public_files.append(f) - device_name = os.path.basename(output_dir) - blobfree_dist = device_name + '.blobfree-dist.zip' + blobfree_dist = self.query_device_name() + '.blobfree-dist.zip' blobfree_zip = os.path.join(output_dir, blobfree_dist) if os.path.exists(blobfree_zip): @@ -1081,32 +1109,34 @@ class B2GBuild(LocalesMixin, PurgeMixin, self.checkout_tools() - marfile = self.query_marfile_path() - # Need to update the base url to point at FTP, or better yet, read post_upload.py output? - mar_url = self.query_complete_mar_url() + for update_type in self.update_types: + marfile = self.query_marfile_path(update_type) + # Need to update the base url to point at FTP, or better yet, read + # post_upload.py output? + mar_url = self.query_complete_mar_url(marfile) - # Set other necessary properties for Balrog submission. None need to - # be passed back to buildbot, so we won't write them to the properties - # files. - # Locale is hardcoded to en-US, for silly reasons - self.set_buildbot_property("locale", "en-US") - self.set_buildbot_property("appVersion", self.query_version()) - # The Balrog submitter translates this platform into a build target - # via https://github.com/mozilla/build-tools/blob/master/lib/python/release/platforms.py#L23 - if "platform" in self.config: - self.set_buildbot_property("platform", self.config["platform"]) - else: - self.set_buildbot_property("platform", self.buildbot_config["properties"]["platform"]) - # TODO: Is there a better way to get this? - self.set_buildbot_property("appName", "B2G") - # TODO: don't hardcode - self.set_buildbot_property("hashType", "sha512") - self.set_buildbot_property("completeMarSize", self.query_filesize(marfile)) - self.set_buildbot_property("completeMarHash", self.query_sha512sum(marfile)) - self.set_buildbot_property("completeMarUrl", mar_url) - self.set_buildbot_property("isOSUpdate", self.isOSUpdate) + # Set other necessary properties for Balrog submission. None need to + # be passed back to buildbot, so we won't write them to the properties + # files. + # Locale is hardcoded to en-US, for silly reasons + self.set_buildbot_property("locale", "en-US") + self.set_buildbot_property("appVersion", self.query_version()) + # The Balrog submitter translates this platform into a build target + # via https://github.com/mozilla/build-tools/blob/master/lib/python/release/platforms.py#L23 + if "platform" in self.config: + self.set_buildbot_property("platform", self.config["platform"]) + else: + self.set_buildbot_property("platform", self.buildbot_config["properties"]["platform"]) + # TODO: Is there a better way to get this? + self.set_buildbot_property("appName", "B2G") + # TODO: don't hardcode + self.set_buildbot_property("hashType", "sha512") + self.set_buildbot_property("completeMarSize", self.query_filesize(marfile)) + self.set_buildbot_property("completeMarHash", self.query_sha512sum(marfile)) + self.set_buildbot_property("completeMarUrl", mar_url) + self.set_buildbot_property("isOSUpdate", update_type.startswith("fota")) - self.submit_balrog_updates(product='b2g') + self.submit_balrog_updates(product='b2g') @PostScriptRun def _remove_userconfig(self): diff --git a/testing/taskcluster/scripts/phone-builder/build-phone-ota.sh b/testing/taskcluster/scripts/phone-builder/build-phone-ota.sh index 968a7ffd946..3119ac5ee63 100755 --- a/testing/taskcluster/scripts/phone-builder/build-phone-ota.sh +++ b/testing/taskcluster/scripts/phone-builder/build-phone-ota.sh @@ -11,7 +11,6 @@ fi PLATFORM=${TARGET%%-*} aws s3 cp s3://b2g-nightly-credentials/balrog_credentials . -mar_file=b2g-$PLATFORM-gecko-update.mar # We need different platform names for each variant (user, userdebug and # eng). We do not append variant suffix for "user" to keep compability with @@ -41,6 +40,6 @@ $WORKSPACE/gecko/testing/mozharness/scripts/b2g_build.py \ --repo=$WORKSPACE/gecko \ --platform $PLATFORM \ --gecko-objdir=$gecko_objdir \ - --complete-mar-url https://queue.taskcluster.net/v1/task/$TASK_ID/runs/$RUN_ID/artifacts/public/build/$mar_file + --complete-mar-url https://queue.taskcluster.net/v1/task/$TASK_ID/runs/$RUN_ID/artifacts/public/build/ . post-build.sh diff --git a/testing/taskcluster/scripts/phone-builder/post-build.sh b/testing/taskcluster/scripts/phone-builder/post-build.sh index cd49faa1566..817ae5c86b7 100755 --- a/testing/taskcluster/scripts/phone-builder/post-build.sh +++ b/testing/taskcluster/scripts/phone-builder/post-build.sh @@ -30,8 +30,19 @@ if [ -f $WORKSPACE/B2G/upload-public/*.blobfree-dist.zip ]; then mv $WORKSPACE/B2G/upload-public/*.blobfree-dist.zip $HOME/artifacts-public/ fi -if [ -f $WORKSPACE/B2G/upload-public/$mar_file ]; then - mv $WORKSPACE/B2G/upload-public/$mar_file $HOME/artifacts-public/ +# FOTA full and fullimg might contain blobs +if [ -f $WORKSPACE/B2G/upload/fota-*-update-*.mar ]; then + mv $WORKSPACE/B2G/upload/fota-*-update-*.mar $HOME/artifacts/ +fi + +# Gecko/Gaia OTA is clean +if [ -f $WORKSPACE/B2G/upload-public/b2g-*-gecko-update.mar ]; then + mv $WORKSPACE/B2G/upload-public/b2g-*-gecko-update.mar $HOME/artifacts-public/ +fi + +# Gecko/Gaia FOTA is clean +if [ -f $WORKSPACE/B2G/upload-public/fota-*-update.mar ]; then + mv $WORKSPACE/B2G/upload-public/fota-*-update.mar $HOME/artifacts-public/ fi ccache -s From fd96f1fa0f5d7e3e96f3b507a0ba643695995cc5 Mon Sep 17 00:00:00 2001 From: Alexandre Lissy Date: Wed, 4 Nov 2015 07:47:00 +0100 Subject: [PATCH 22/40] Bug 1201540 - Producing FOTA packages for foxfood. r=wcosta Foxfood devices are Sony Xperia Z3c devices. We need to be able to push updates of the Gonk layer to fix some bugs. Those requires changes to the kernel, to boot partition and to some other assets. Hence we add support for producing all kind of updates packages we might need on that device: - ota, to update just Gecko/Gaia - fota, to update Gecko/Gaia in recovery mode - fota:fullimg, to be able to update gonk also --- b2g/config/aries/config.json | 6 ++++-- .../mozharness/configs/b2g/taskcluster-spark-dogfood.py | 8 ++++---- .../taskcluster/tasks/builds/b2g_aries_spark_dogfood.yml | 1 - 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/b2g/config/aries/config.json b/b2g/config/aries/config.json index 93683c532cf..6e1e4552ee9 100644 --- a/b2g/config/aries/config.json +++ b/b2g/config/aries/config.json @@ -11,13 +11,15 @@ "upload_files": [ "{objdir}/dist/b2g-*.crashreporter-symbols.zip", "{objdir}/dist/b2g-*.tar.gz", - "{workdir}/sources.xml" + "{workdir}/sources.xml", + "{workdir}/out/target/product/aries/fota-*-update-*.mar" ], "public_upload_files": [ "{objdir}/dist/b2g-*.crashreporter-symbols.zip", "{objdir}/dist/b2g-*.tar.gz", "{workdir}/sources.xml", - "{objdir}/dist/b2g-update/*.mar" + "{objdir}/dist/b2g-update/*.mar", + "{workdir}/out/target/product/aries/fota-*-update.mar" ], "zip_files": [ ["{workdir}/out/target/product/aries/*.img", "out/target/product/aries/"], diff --git a/testing/mozharness/configs/b2g/taskcluster-spark-dogfood.py b/testing/mozharness/configs/b2g/taskcluster-spark-dogfood.py index b5183baa745..e11a3ca3101 100644 --- a/testing/mozharness/configs/b2g/taskcluster-spark-dogfood.py +++ b/testing/mozharness/configs/b2g/taskcluster-spark-dogfood.py @@ -7,10 +7,8 @@ config = { 'build', 'build-symbols', 'make-updates', - 'prep-upload', - 'submit-to-balrog' + 'prep-upload' ], - "balrog_credentials_file": "balrog_credentials", "nightly_build": True, "env": { "GAIA_OPTIMIZE": "1", @@ -21,8 +19,10 @@ config = { "BOWER_FLAGS": "--allow-root", "B2G_PATH": "%(work_dir)s", "GAIA_DISTRIBUTION_DIR": "%(work_dir)s/gaia/distros/spark", - "WGET_OPTS": "-c -q" + "WGET_OPTS": "-c -q", + "B2G_FOTA_FULLIMG_PARTS": "/boot:boot.img /system:system.img /recovery:recovery.img" }, + "update_types": [ "ota", "fota", "fota:fullimg" ], "is_automation": True, "repo_remote_mappings": { 'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp', diff --git a/testing/taskcluster/tasks/builds/b2g_aries_spark_dogfood.yml b/testing/taskcluster/tasks/builds/b2g_aries_spark_dogfood.yml index 99a85948789..228201a5f36 100644 --- a/testing/taskcluster/tasks/builds/b2g_aries_spark_dogfood.yml +++ b/testing/taskcluster/tasks/builds/b2g_aries_spark_dogfood.yml @@ -16,7 +16,6 @@ task: env: VARIANT: userdebug DOGFOOD: 1 - HARDWARE_COMPOSER: 0 MOZHARNESS_CONFIG: b2g/taskcluster-spark-dogfood.py extra: treeherderEnv: From 23d6b452dec0b80b8808ebc945e01bc747a5cc3b Mon Sep 17 00:00:00 2001 From: Alexandre Lissy Date: Tue, 3 Nov 2015 01:56:00 +0100 Subject: [PATCH 23/40] Bug 1037056 - Producing FOTA packages for Flame. r=wcosta The Flame device updates have been broken for a while because of updates starting to be too big. Because of the way applying OTA works, there is no good solution except switching to applying Gecko/Gaia updates in recovery mode. This was done in bug 1037056 on the Buildbot instances, but we need to support this on TaskCluster also. --- testing/mozharness/configs/b2g/taskcluster-phone-ota.py | 1 + testing/taskcluster/tasks/branches/base_job_flags.yml | 1 + .../tasks/branches/mozilla-central/job_flags.yml | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/testing/mozharness/configs/b2g/taskcluster-phone-ota.py b/testing/mozharness/configs/b2g/taskcluster-phone-ota.py index 2ca68c2a88f..339a241289e 100644 --- a/testing/mozharness/configs/b2g/taskcluster-phone-ota.py +++ b/testing/mozharness/configs/b2g/taskcluster-phone-ota.py @@ -38,6 +38,7 @@ config = { "GAIA_OPTIMIZE": "1", "WGET_OPTS": "-c -q" }, + "update_types": [ "ota", "fota" ], "is_automation": True, "repo_remote_mappings": { 'https://android.googlesource.com/': 'https://git.mozilla.org/external/aosp', diff --git a/testing/taskcluster/tasks/branches/base_job_flags.yml b/testing/taskcluster/tasks/branches/base_job_flags.yml index e0eafaccf6e..20c094f8916 100644 --- a/testing/taskcluster/tasks/branches/base_job_flags.yml +++ b/testing/taskcluster/tasks/branches/base_job_flags.yml @@ -61,6 +61,7 @@ flags: - flame-kk # b2g flame kitkat - flame-kk-eng # b2g flame eng build - flame-kk-spark-eng + - flame-kk-ota - nexus-4 - nexus-4-eng - nexus-4-kk diff --git a/testing/taskcluster/tasks/branches/mozilla-central/job_flags.yml b/testing/taskcluster/tasks/branches/mozilla-central/job_flags.yml index a04e01375d5..eeb336e0656 100644 --- a/testing/taskcluster/tasks/branches/mozilla-central/job_flags.yml +++ b/testing/taskcluster/tasks/branches/mozilla-central/job_flags.yml @@ -31,6 +31,14 @@ builds: task: tasks/builds/b2g_aries_spark_ota_opt.yml debug: task: tasks/builds/b2g_aries_spark_ota_debug.yml + flame-kk-ota: + platforms: + - b2g + types: + opt: + task: tasks/builds/b2g_flame_kk_ota_opt.yml + debug: + task: tasks/builds/b2g_flame_kk_ota_debug.yml post-build: simulator: From 048f143d4f0c1b0de8cc437beaca49a6f0939aba Mon Sep 17 00:00:00 2001 From: Jan Keromnes Date: Wed, 4 Nov 2015 06:27:00 +0100 Subject: [PATCH 24/40] Bug 1049704 - Add a "type" parameter to Simulator configurations in WebIDE. r=jryans --- devtools/client/webide/content/simulator.js | 4 +- devtools/client/webide/modules/simulators.js | 62 +++++++++++++++--- .../addons/fxos_3_0_tv_simulator-linux.xpi | Bin 0 -> 1087 bytes .../addons/fxos_3_0_tv_simulator-linux64.xpi | Bin 0 -> 1087 bytes .../addons/fxos_3_0_tv_simulator-mac64.xpi | Bin 0 -> 1087 bytes .../addons/fxos_3_0_tv_simulator-win32.xpi | Bin 0 -> 1087 bytes .../client/webide/test/addons/simulators.json | 2 +- devtools/client/webide/test/chrome.ini | 4 ++ .../client/webide/test/test_simulators.html | 47 +++++++++---- 9 files changed, 95 insertions(+), 24 deletions(-) create mode 100644 devtools/client/webide/test/addons/fxos_3_0_tv_simulator-linux.xpi create mode 100644 devtools/client/webide/test/addons/fxos_3_0_tv_simulator-linux64.xpi create mode 100644 devtools/client/webide/test/addons/fxos_3_0_tv_simulator-mac64.xpi create mode 100644 devtools/client/webide/test/addons/fxos_3_0_tv_simulator-win32.xpi diff --git a/devtools/client/webide/content/simulator.js b/devtools/client/webide/content/simulator.js index ea406cc0d7e..d49e18e6021 100644 --- a/devtools/client/webide/content/simulator.js +++ b/devtools/client/webide/content/simulator.js @@ -44,7 +44,7 @@ var SimulatorEditor = { Simulators.on("configure", (e, simulator) => { this.edit(simulator) }); // Extract the list of device simulation options we'll support. let deviceFields = form.querySelectorAll("*[data-device]"); - this._deviceOptions = [].map.call(deviceFields, field => field.name); + this._deviceOptions = Array.map(deviceFields, field => field.name); } // Append a new