Bug 1389598 - Part 3: Remove gonk references from dom/ r=bkelly
authorEric Rahm <erahm@mozilla.com>
Fri, 11 Aug 2017 17:42:11 -0700
changeset 375682 69da38fcf84c9091473c4c501df11d6f6b9e0e60
parent 375681 4d161570009cb679d7df4d196578248b5f5cbfc1
child 375683 65558d987c7ea5b6f35cb09c1f444c7d4353935e
push id32358
push userkwierso@gmail.com
push dateFri, 18 Aug 2017 22:53:28 +0000
treeherdermozilla-central@4f4487cc2d30 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbkelly
bugs1389598
milestone57.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
Bug 1389598 - Part 3: Remove gonk references from dom/ r=bkelly
dom/canvas/ImageUtils.cpp
dom/indexedDB/test/unit/xpcshell-child-process.ini
dom/indexedDB/test/unit/xpcshell-parent-process.ini
dom/interfaces/base/nsIDOMWindowUtils.idl
dom/media/MediaDevices.cpp
dom/media/MediaPrefs.h
dom/media/fmp4/MP4Decoder.cpp
dom/media/fmp4/moz.build
dom/media/mediasource/moz.build
dom/media/moz.build
dom/media/platforms/PDMFactory.cpp
dom/media/platforms/omx/OmxDataDecoder.cpp
dom/media/platforms/omx/OmxPlatformLayer.cpp
dom/media/platforms/omx/OmxPlatformLayer.h
dom/media/platforms/omx/OmxPromiseLayer.h
dom/media/webrtc/MediaEngine.h
dom/media/webrtc/MediaEngineCameraVideoSource.h
dom/media/webspeech/synth/pico/nsPicoService.cpp
dom/webidl/Window.webidl
dom/xhr/tests/mochitest.ini
--- a/dom/canvas/ImageUtils.cpp
+++ b/dom/canvas/ImageUtils.cpp
@@ -231,17 +231,16 @@ private:
     if (mImage->GetFormat() == ImageFormat::PLANAR_YCBCR) {
       return mImage->AsPlanarYCbCrImage()->GetData();
     }
     return mImage->AsNVImage()->GetData();
   }
 };
 
 // TODO: optimize for other platforms.
-// For GONK: implement GrallocImageImpl, GrallocPlanarYCbCrImpl and GonkCameraImpl.
 // For Windows: implement D3D9RGB32TextureImpl and D3D11ShareHandleTextureImpl.
 // Others: SharedBGRImpl, MACIOSrufaceImpl, GLImageImpl, SurfaceTextureImpl
 //         EGLImageImpl and OverlayImegImpl.
 
 ImageUtils::ImageUtils(layers::Image* aImage)
 : mImpl(nullptr)
 {
   MOZ_ASSERT(aImage, "Create ImageUtils with nullptr.");
--- a/dom/indexedDB/test/unit/xpcshell-child-process.ini
+++ b/dom/indexedDB/test/unit/xpcshell-child-process.ini
@@ -1,17 +1,17 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 [DEFAULT]
 dupe-manifest =
 head = xpcshell-head-child-process.js
 tail =
-skip-if = toolkit == 'android' || toolkit == 'gonk'
+skip-if = toolkit == 'android'
 support-files =
   GlobalObjectsChild.js
   GlobalObjectsComponent.js
   GlobalObjectsComponent.manifest
   GlobalObjectsModule.jsm
   GlobalObjectsSandbox.js
   xpcshell-head-parent-process.js
   xpcshell-shared.ini
--- a/dom/indexedDB/test/unit/xpcshell-parent-process.ini
+++ b/dom/indexedDB/test/unit/xpcshell-parent-process.ini
@@ -1,17 +1,16 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 [DEFAULT]
 dupe-manifest =
 head = xpcshell-head-parent-process.js
 tail =
-skip-if = toolkit == 'gonk'
 support-files =
   bug1056939_profile.zip
   defaultStorageUpgrade_profile.zip
   idbSubdirUpgrade1_profile.zip
   idbSubdirUpgrade2_profile.zip
   mutableFileUpgrade_profile.zip
   obsoleteOriginAttributes_profile.zip
   oldDirectories_profile.zip
--- a/dom/interfaces/base/nsIDOMWindowUtils.idl
+++ b/dom/interfaces/base/nsIDOMWindowUtils.idl
@@ -716,18 +716,17 @@ interface nsIDOMWindowUtils : nsISupport
    * Create a new or update an existing touch point on the digitizer.
    * To trigger os level gestures, individual touch points should
    * transition through a complete set of touch states which should be
    * sent as individual calls. For example:
    * tap - msg1:TOUCH_CONTACT, msg2:TOUCH_REMOVE
    * drag - msg1-n:TOUCH_CONTACT (moving), msgn+1:TOUCH_REMOVE
    * hover drag - msg1-n:TOUCH_HOVER (moving), msgn+1:TOUCH_REMOVE
    *
-   * Widget support: Windows 8.0+, Winrt/Win32. Gonk supports CONTACT, REMOVE,
-   * and CANCEL but no HOVER. Other widgets will throw.
+   * Widget support: Windows 8.0+, Winrt/Win32. Other widgets will throw.
    *
    * NOTE: The synthesized native event will be fired asynchronously, and upon
    * completion the observer, if provided, will be notified with a "touchpoint"
    * topic.
    *
    * @param aPointerId The touch point id to create or update.
    * @param aTouchState one or more of the touch states listed above
    * @param aScreenX, aScreenY screen coords of this event
--- a/dom/media/MediaDevices.cpp
+++ b/dom/media/MediaDevices.cpp
@@ -77,18 +77,16 @@ public:
   NS_DECL_ISUPPORTS
 
   EnumDevResolver(Promise* aPromise, uint64_t aWindowId)
   : mPromise(aPromise), mWindowId(aWindowId) {}
 
   NS_IMETHOD
   OnSuccess(nsIVariant* aDevices) override
   {
-    // Cribbed from MediaPermissionGonk.cpp
-
     // Create array for nsIMediaDevice
     nsTArray<nsCOMPtr<nsIMediaDevice>> devices;
     // Contain the fumes
     {
       uint16_t vtype;
       nsresult rv = aDevices->GetDataType(&vtype);
       NS_ENSURE_SUCCESS(rv, rv);
       if (vtype != nsIDataType::VTYPE_EMPTY_ARRAY) {
--- a/dom/media/MediaPrefs.h
+++ b/dom/media/MediaPrefs.h
@@ -111,19 +111,16 @@ private:
   DECL_MEDIA_PREF("media.clearkey.persistent-license.enabled", ClearKeyPersistentLicenseEnabled, bool, false);
 
   // PlatformDecoderModule
   DECL_MEDIA_PREF("media.apple.forcevda",                     AppleForceVDA, bool, false);
   DECL_MEDIA_PREF("media.gmp.insecure.allow",                 GMPAllowInsecure, bool, false);
   DECL_MEDIA_PREF("media.eme.enabled",                        EMEEnabled, bool, false);
   DECL_MEDIA_PREF("media.use-blank-decoder",                  PDMUseBlankDecoder, bool, false);
   DECL_MEDIA_PREF("media.gpu-process-decoder",                PDMUseGPUDecoder, bool, false);
-#ifdef MOZ_GONK_MEDIACODEC
-  DECL_MEDIA_PREF("media.gonk.enabled",                       PDMGonkDecoderEnabled, bool, true);
-#endif
 #ifdef MOZ_WIDGET_ANDROID
   DECL_MEDIA_PREF("media.android-media-codec.enabled",        PDMAndroidMediaCodecEnabled, bool, false);
   DECL_MEDIA_PREF("media.android-media-codec.preferred",      PDMAndroidMediaCodecPreferred, bool, false);
   DECL_MEDIA_PREF("media.navigator.hardware.vp8_encode.acceleration_remote_enabled", RemoteMediaCodecVP8EncoderEnabled, bool, false);
 #endif
   // WebRTC
   DECL_MEDIA_PREF("media.navigator.mediadatadecoder_enabled", MediaDataDecoderEnabled, bool, false);
 #ifdef MOZ_FFMPEG
--- a/dom/media/fmp4/MP4Decoder.cpp
+++ b/dom/media/fmp4/MP4Decoder.cpp
@@ -66,20 +66,16 @@ MP4Decoder::IsSupportedType(const MediaC
 
   // Whitelist MP4 types, so they explicitly match what we encounter on
   // the web, as opposed to what we use internally (i.e. what our demuxers
   // etc output).
   const bool isAudio = aType.Type() == MEDIAMIMETYPE("audio/mp4")
                        || aType.Type() == MEDIAMIMETYPE("audio/x-m4a");
   const bool isVideo = aType.Type() == MEDIAMIMETYPE("video/mp4")
                        || aType.Type() == MEDIAMIMETYPE("video/quicktime")
-  // On B2G, treat 3GPP as MP4 when Gonk PDM is available.
-#ifdef MOZ_GONK_MEDIACODEC
-                       || aType.Type() == MEDIAMIMETYPE(VIDEO_3GPP)
-#endif
                        || aType.Type() == MEDIAMIMETYPE("video/x-m4v");
 
   if (!isAudio && !isVideo) {
     return false;
   }
 
   nsTArray<UniquePtr<TrackInfo>> trackInfos;
   if (aType.ExtendedType().Codecs().IsEmpty()) {
--- a/dom/media/fmp4/moz.build
+++ b/dom/media/fmp4/moz.build
@@ -13,11 +13,8 @@ UNIFIED_SOURCES += [
     'MP4Decoder.cpp',
 ]
 
 SOURCES += [
     'MP4Demuxer.cpp',
 ]
 
 FINAL_LIBRARY = 'xul'
-
-if CONFIG['MOZ_GONK_MEDIACODEC']:
-    DEFINES['MOZ_GONK_MEDIACODEC'] = True
--- a/dom/media/mediasource/moz.build
+++ b/dom/media/mediasource/moz.build
@@ -33,17 +33,14 @@ UNIFIED_SOURCES += [
     'SourceBufferResource.cpp',
     'TrackBuffersManager.cpp',
 ]
 
 TEST_DIRS += [
     'gtest',
 ]
 
-if CONFIG['MOZ_GONK_MEDIACODEC']:
-    DEFINES['MOZ_GONK_MEDIACODEC'] = True
-
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -315,19 +315,16 @@ DEFINES['MOZILLA_INTERNAL_API'] = True
 if CONFIG['OS_TARGET'] == 'WINNT':
     DEFINES['WEBRTC_WIN'] = True
 else:
     DEFINES['WEBRTC_POSIX'] = True
 
 if CONFIG['ANDROID_VERSION'] > '15':
     DEFINES['MOZ_OMX_WEBM_DECODER'] = True
 
-if CONFIG['MOZ_GONK_MEDIACODEC']:
-    DEFINES['MOZ_GONK_MEDIACODEC'] = True
-
 if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
     DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 # Suppress some GCC warnings being treated as errors:
 #  - about attributes on forward declarations for types that are already
 #    defined, which complains about an important MOZ_EXPORT for android::AString
--- a/dom/media/platforms/PDMFactory.cpp
+++ b/dom/media/platforms/PDMFactory.cpp
@@ -13,19 +13,16 @@
 #include "FFVPXRuntimeLinker.h"
 #endif
 #ifdef MOZ_FFMPEG
 #include "FFmpegRuntimeLinker.h"
 #endif
 #ifdef MOZ_APPLEMEDIA
 #include "AppleDecoderModule.h"
 #endif
-#ifdef MOZ_GONK_MEDIACODEC
-#include "GonkDecoderModule.h"
-#endif
 #ifdef MOZ_WIDGET_ANDROID
 #include "AndroidDecoderModule.h"
 #endif
 #include "GMPDecoderModule.h"
 
 #include "mozilla/CDMProxy.h"
 #include "mozilla/ClearOnShutdown.h"
 #include "mozilla/SharedThreadPool.h"
@@ -366,22 +363,16 @@ PDMFactory::CreatePDMs()
   } else {
     mFFmpegFailedToLoad = false;
   }
 #endif
 #ifdef MOZ_APPLEMEDIA
   m = new AppleDecoderModule();
   StartupPDM(m);
 #endif
-#ifdef MOZ_GONK_MEDIACODEC
-  if (MediaPrefs::PDMGonkDecoderEnabled()) {
-    m = new GonkDecoderModule();
-    StartupPDM(m);
-  }
-#endif
 #ifdef MOZ_WIDGET_ANDROID
   if(MediaPrefs::PDMAndroidMediaCodecEnabled()){
     m = new AndroidDecoderModule();
     StartupPDM(m, MediaPrefs::PDMAndroidMediaCodecPreferred());
   }
 #endif
 
   m = new AgnosticDecoderModule();
--- a/dom/media/platforms/omx/OmxDataDecoder.cpp
+++ b/dom/media/platforms/omx/OmxDataDecoder.cpp
@@ -295,18 +295,18 @@ OmxDataDecoder::DoAsyncShutdown()
 }
 
 void
 OmxDataDecoder::FillBufferDone(BufferData* aData)
 {
   MOZ_ASSERT(!aData || aData->mStatus == BufferData::BufferStatus::OMX_CLIENT);
 
   // Don't output sample when flush or shutting down, especially for video
-  // decoded frame. Because video decoded frame has a promise in BufferData
-  // waiting for layer to resolve it via recycle callback on Gonk, if other
+  // decoded frame. Because video decoded frame can have a promise in
+  // BufferData waiting for layer to resolve it via recycle callback, if other
   // module doesn't send it to layer, it will cause a unresolved promise and
   // waiting for resolve infinitely.
   if (mFlushing || mShuttingDown) {
     LOG("mFlush or mShuttingDown, drop data");
     aData->mStatus = BufferData::BufferStatus::FREE;
     return;
   }
 
@@ -331,18 +331,17 @@ OmxDataDecoder::Output(BufferData* aData
   RefPtr<MediaData> data = mMediaDataHelper->GetMediaData(aData, isPlatformData);
   if (!data) {
     aData->mStatus = BufferData::BufferStatus::FREE;
     return;
   }
 
   if (isPlatformData) {
     // If the MediaData is platform dependnet data, it's mostly a kind of
-    // limited resource, for example, GraphicBuffer on Gonk. So we use promise
-    // to notify when the resource is free.
+    // limited resource, so we use promise to notify when the resource is free.
     aData->mStatus = BufferData::BufferStatus::OMX_CLIENT_OUTPUT;
 
     MOZ_RELEASE_ASSERT(aData->mPromise.IsEmpty());
     RefPtr<OmxBufferPromise> p = aData->mPromise.Ensure(__func__);
 
     RefPtr<OmxDataDecoder> self = this;
     RefPtr<BufferData> buffer = aData;
     p->Then(mOmxTaskQueue, __func__,
--- a/dom/media/platforms/omx/OmxPlatformLayer.cpp
+++ b/dom/media/platforms/omx/OmxPlatformLayer.cpp
@@ -277,46 +277,25 @@ OmxPlatformLayer::CompressionFormat()
   } else if (VPXDecoder::IsVP8(mInfo->mMimeType)) {
     return static_cast<OMX_VIDEO_CODINGTYPE>(OMX_VIDEO_CodingVP8);
   } else {
     MOZ_ASSERT_UNREACHABLE("Unsupported compression format");
     return OMX_VIDEO_CodingUnused;
   }
 }
 
-// Implementations for different platforms will be defined in their own files.
-#ifdef OMX_PLATFORM_GONK
-
-bool
-OmxPlatformLayer::SupportsMimeType(const nsACString& aMimeType)
-{
-  return GonkOmxPlatformLayer::FindComponents(aMimeType);
-}
-
-OmxPlatformLayer*
-OmxPlatformLayer::Create(OmxDataDecoder* aDataDecoder,
-                         OmxPromiseLayer* aPromiseLayer,
-                         TaskQueue* aTaskQueue,
-                         layers::ImageContainer* aImageContainer)
-{
-  return new GonkOmxPlatformLayer(aDataDecoder, aPromiseLayer, aTaskQueue, aImageContainer);
-}
-
-#else // For platforms without OMX IL support.
-
+// For platforms without OMX IL support.
 bool
 OmxPlatformLayer::SupportsMimeType(const nsACString& aMimeType)
 {
   return false;
 }
 
 OmxPlatformLayer*
 OmxPlatformLayer::Create(OmxDataDecoder* aDataDecoder,
                         OmxPromiseLayer* aPromiseLayer,
                         TaskQueue* aTaskQueue,
                         layers::ImageContainer* aImageContainer)
 {
   return nullptr;
 }
 
-#endif
-
 }
--- a/dom/media/platforms/omx/OmxPlatformLayer.h
+++ b/dom/media/platforms/omx/OmxPlatformLayer.h
@@ -39,19 +39,19 @@ public:
   virtual OMX_ERRORTYPE EmptyThisBuffer(BufferData* aData) = 0;
 
   virtual OMX_ERRORTYPE FillThisBuffer(BufferData* aData) = 0;
 
   virtual OMX_ERRORTYPE SendCommand(OMX_COMMANDTYPE aCmd,
                                     OMX_U32 aParam1,
                                     OMX_PTR aCmdData) = 0;
 
-  // Buffer could be platform dependent; for example, video decoding needs gralloc
-  // on Gonk. Therefore, derived class needs to implement its owned buffer
-  // allocate/release API according to its platform type.
+  // Buffer could be platform dependent. Therefore, derived class needs to
+  // implement its owned buffer allocate/release API according to its platform
+  // type.
   virtual nsresult AllocateOmxBuffer(OMX_DIRTYPE aType, BUFFERLIST* aBufferList) = 0;
 
   virtual nsresult ReleaseOmxBuffer(OMX_DIRTYPE aType, BUFFERLIST* aBufferList) = 0;
 
   virtual OMX_ERRORTYPE GetState(OMX_STATETYPE* aType) = 0;
 
   virtual OMX_ERRORTYPE GetParameter(OMX_INDEXTYPE aParamIndex,
                                      OMX_PTR aComponentParameterStructure,
--- a/dom/media/platforms/omx/OmxPromiseLayer.h
+++ b/dom/media/platforms/omx/OmxPromiseLayer.h
@@ -131,17 +131,17 @@ public:
       , mBuffer(aBuffer)
     {}
 
     typedef void* BufferID;
 
     NS_INLINE_DECL_THREADSAFE_REFCOUNTING(BufferData)
 
     // In most cases, the ID of this buffer is the pointer address of mBuffer.
-    // However, in platform like gonk, it is another value.
+    // However, on some platforms it may be another value.
     virtual BufferID ID()
     {
       return mBuffer;
     }
 
     // Return the platform dependent MediaData().
     // For example, it returns the MediaData with Gralloc texture.
     // If it returns nullptr, then caller uses the normal way to
--- a/dom/media/webrtc/MediaEngine.h
+++ b/dom/media/webrtc/MediaEngine.h
@@ -25,18 +25,17 @@ enum {
   kAudioTrack = 2,
   kTrackCount
 };
 
 /**
  * Abstract interface for managing audio and video devices. Each platform
  * must implement a concrete class that will map these classes and methods
  * to the appropriate backend. For example, on Desktop platforms, these will
- * correspond to equivalent webrtc (GIPS) calls, and on B2G they will map to
- * a Gonk interface.
+ * correspond to equivalent webrtc (GIPS) calls.
  */
 class MediaEngineVideoSource;
 class MediaEngineAudioSource;
 
 enum MediaEngineState {
   kAllocated,
   kStarted,
   kStopped,
@@ -301,17 +300,16 @@ public:
    */
   virtual bool IsFake() = 0;
 
   /* Returns the type of media source (camera, microphone, screen, window, etc) */
   virtual dom::MediaSourceEnum GetMediaSource() const = 0;
 
   /* If implementation of MediaEngineSource supports TakePhoto(), the picture
    * should be return via aCallback object. Otherwise, it returns NS_ERROR_NOT_IMPLEMENTED.
-   * Currently, only Gonk MediaEngineSource implementation supports it.
    */
   virtual nsresult TakePhoto(MediaEnginePhotoCallback* aCallback) = 0;
 
   /* Return false if device is currently allocated or started */
   bool IsAvailable() {
     if (mState == kAllocated || mState == kStarted) {
       return false;
     } else {
--- a/dom/media/webrtc/MediaEngineCameraVideoSource.h
+++ b/dom/media/webrtc/MediaEngineCameraVideoSource.h
@@ -114,20 +114,19 @@ protected:
   // mSources[] and mPrincipalHandles[] are accessed from webrtc threads.
 
   // All the mMonitor accesses are from the child classes.
   Monitor mMonitor; // Monitor for processing Camera frames.
   nsTArray<RefPtr<SourceMediaStream>> mSources; // When this goes empty, we shut down HW
   nsTArray<PrincipalHandle> mPrincipalHandles; // Directly mapped to mSources.
   RefPtr<layers::Image> mImage;
   RefPtr<layers::ImageContainer> mImageContainer;
-  int mWidth, mHeight; // protected with mMonitor on Gonk due to different threading
   // end of data protected by mMonitor
 
-
+  int mWidth, mHeight;
   bool mInitDone;
   bool mHasDirectListeners;
   int mCaptureIndex;
   TrackID mTrackID;
 
   webrtc::CaptureCapability mCapability;
 
   mutable nsTArray<webrtc::CaptureCapability> mHardcodedCapabilities;
--- a/dom/media/webspeech/synth/pico/nsPicoService.cpp
+++ b/dom/media/webspeech/synth/pico/nsPicoService.cpp
@@ -47,18 +47,18 @@
 #define PICO_RESET_SOFT 0x10
 
 // Currently, Pico only provides mono output.
 #define PICO_CHANNELS_NUM 1
 
 // Pico's sample rate is always 16000
 #define PICO_SAMPLE_RATE 16000
 
-// The path to the language files in Gonk
-#define GONK_PICO_LANG_PATH "/system/tts/lang_pico"
+// The path to the language files in Android
+#define PICO_LANG_PATH "/system/tts/lang_pico"
 
 namespace mozilla {
 namespace dom {
 
 StaticRefPtr<nsPicoService> nsPicoService::sSingleton;
 
 class PicoApi
 {
@@ -509,21 +509,21 @@ nsPicoService::Init()
   MOZ_ASSERT(!NS_IsMainThread());
   MOZ_ASSERT(!mInitialized);
 
   if (!sPicoApi.Init()) {
     NS_WARNING("Failed to initialize pico library");
     return;
   }
 
-  // Use environment variable, or default android/b2g path
+  // Use environment variable, or default android path
   nsAutoCString langPath(PR_GetEnv("PICO_LANG_PATH"));
 
   if (langPath.IsEmpty()) {
-    langPath.AssignLiteral(GONK_PICO_LANG_PATH);
+    langPath.AssignLiteral(PICO_LANG_PATH);
   }
 
   nsCOMPtr<nsIFile> voicesDir;
   NS_NewNativeLocalFile(langPath, true, getter_AddRefs(voicesDir));
 
   nsCOMPtr<nsISimpleEnumerator> dirIterator;
   nsresult rv = voicesDir->GetDirectoryEntries(getter_AddRefs(dirIterator));
 
--- a/dom/webidl/Window.webidl
+++ b/dom/webidl/Window.webidl
@@ -348,17 +348,17 @@ partial interface Window {
   [ChromeOnly, Throws]
   readonly attribute WindowRoot? windowRoot;
 };
 
 Window implements TouchEventHandlers;
 
 Window implements OnErrorEventHandlerForWindow;
 
-#if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GONK)
+#if defined(MOZ_WIDGET_ANDROID)
 // https://compat.spec.whatwg.org/#windoworientation-interface
 partial interface Window {
   [NeedsCallerType]
   readonly attribute short orientation;
            attribute EventHandler onorientationchange;
 };
 #endif
 
--- a/dom/xhr/tests/mochitest.ini
+++ b/dom/xhr/tests/mochitest.ini
@@ -99,17 +99,17 @@ skip-if = toolkit == 'android'
 skip-if = buildapp == 'b2g' # Requires webgl support
 [test_XHR_parameters.html]
 skip-if = buildapp == 'b2g' # b2g(86 total, 4 failing - testing mozAnon - got false, expected true) b2g-debug(86 total, 4 failing - testing mozAnon - got false, expected true) b2g-desktop(86 total, 4 failing - testing mozAnon - got false, expected true)
 [test_xhr_progressevents.html]
 skip-if = toolkit == 'android'
 [test_xhr_send.html]
 [test_xhr_send_readystate.html]
 [test_XHR_system.html]
-skip-if = (buildapp == 'b2g' && (toolkit != 'gonk' || debug)) # b2g-debug(12 total, 2 failing - .mozSystem == true - got false, expected true + ) b2g-desktop(12 total, 2 failing - .mozSystem == true - got false, expected true + )
+skip-if = (buildapp == 'b2g') # b2g-debug(12 total, 2 failing - .mozSystem == true - got false, expected true + ) b2g-desktop(12 total, 2 failing - .mozSystem == true - got false, expected true + )
 [test_XHR_timeout.html]
 skip-if = buildapp == 'b2g' || (android_version == '18' && debug) # b2g(flaky on B2G, bug 960743) b2g-debug(flaky on B2G, bug 960743) b2g-desktop(flaky on B2G, bug 960743)
 support-files = test_XHR_timeout.js
 [test_xhr_withCredentials.html]
 [test_XHRDocURI.html]
 [test_XHRResponseURL.html]
 [test_XHRSendData.html]
 [test_sync_xhr_document_write_with_iframe.html]