Bug 1282866 - remove widget/qt and other supporting QT code, r=dougt. This patch does not remove all of the checks for MOZ_WIDGET_QT (which are dead code), but that will be a followup mentored bug.
authorBenjamin Smedberg <benjamin@smedbergs.us>
Thu, 07 Jul 2016 12:14:25 -0400
changeset 344159 cdbdbb4df09a8413b124b5f7a200d44380e5a2f8
parent 344158 df9a54d23bbcdd005266f61f85239fe9bebf386e
child 344160 b534c2d22202d33918abc186910bddb215ba92bc
push id6389
push userraliiev@mozilla.com
push dateMon, 19 Sep 2016 13:38:22 +0000
treeherdermozilla-beta@01d67bfe6c81 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdougt
bugs1282866
milestone50.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 1282866 - remove widget/qt and other supporting QT code, r=dougt. This patch does not remove all of the checks for MOZ_WIDGET_QT (which are dead code), but that will be a followup mentored bug. MozReview-Commit-ID: EGqHHhCD7vD
build/moz.configure/old.configure
dom/geolocation/moz.build
dom/geolocation/nsGeolocation.cpp
dom/plugins/ipc/NestedLoopTimer.cpp
dom/plugins/ipc/NestedLoopTimer.h
dom/plugins/ipc/PluginHelperQt.cpp
dom/plugins/ipc/moz.build
dom/plugins/test/testplugin/nptest_qt.cpp
dom/plugins/test/testplugin/testplugin.mozbuild
dom/system/qt/QTMLocationProvider.cpp
dom/system/qt/QTMLocationProvider.h
dom/system/qt/QtHapticFeedback.cpp
dom/system/qt/QtHapticFeedback.h
dom/system/qt/moz.build
gfx/cairo/cairo/src/moz.build
gfx/src/moz.build
image/decoders/icon/qt/gtkqticonsconverter.js
image/decoders/icon/qt/gtkqticonsconverter.manifest
image/decoders/icon/qt/moz.build
image/decoders/icon/qt/nsGtkQtIconsConverter.idl
image/decoders/icon/qt/nsIconChannel.cpp
image/decoders/icon/qt/nsIconChannel.h
image/decoders/moz.build
intl/locale/moz.build
intl/unicharutil/tables/moz.build
ipc/chromium/moz.build
layout/generic/moz.build
netwerk/base/moz.build
netwerk/build/moz.build
netwerk/build/nsNetModule.cpp
netwerk/system/moz.build
netwerk/system/qt/moz.build
netwerk/system/qt/nsQtNetworkLinkService.cpp
netwerk/system/qt/nsQtNetworkLinkService.h
netwerk/system/qt/nsQtNetworkManager.cpp
netwerk/system/qt/nsQtNetworkManager.h
old-configure.in
toolkit/library/moz.build
toolkit/moz.configure
widget/moz.build
widget/qt/GfxInfo.cpp
widget/qt/GfxInfo.h
widget/qt/moz.build
widget/qt/mozqwidget.cpp
widget/qt/mozqwidget.h
widget/qt/nsAppShell.cpp
widget/qt/nsAppShell.h
widget/qt/nsBidiKeyboard.cpp
widget/qt/nsBidiKeyboard.h
widget/qt/nsClipboard.cpp
widget/qt/nsClipboard.h
widget/qt/nsDeviceContextSpecQt.cpp
widget/qt/nsDeviceContextSpecQt.h
widget/qt/nsIdleServiceQt.cpp
widget/qt/nsIdleServiceQt.h
widget/qt/nsLookAndFeel.cpp
widget/qt/nsLookAndFeel.h
widget/qt/nsPrintDialogQt.cpp
widget/qt/nsPrintDialogQt.h
widget/qt/nsPrintOptionsQt.cpp
widget/qt/nsPrintOptionsQt.h
widget/qt/nsPrintSettingsQt.cpp
widget/qt/nsPrintSettingsQt.h
widget/qt/nsQtKeyUtils.cpp
widget/qt/nsQtKeyUtils.h
widget/qt/nsScreenManagerQt.cpp
widget/qt/nsScreenManagerQt.h
widget/qt/nsScreenQt.cpp
widget/qt/nsScreenQt.h
widget/qt/nsWidgetFactory.cpp
widget/qt/nsWindow.cpp
widget/qt/nsWindow.h
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -301,17 +301,16 @@ def old_configure_options(*options):
     '--with-nspr-cflags',
     '--with-nspr-exec-prefix',
     '--with-nspr-libs',
     '--with-nspr-prefix',
     '--with-nss-exec-prefix',
     '--with-nss-prefix',
     '--with-pthreads',
     '--with-qemu-exe',
-    '--with-qtdir',
     '--with-servo',
     '--with-sixgill',
     '--with-soft-float',
     '--with-system-bz2',
     '--with-system-icu',
     '--with-system-jpeg',
     '--with-system-libevent',
     '--with-system-libvpx',
--- a/dom/geolocation/moz.build
+++ b/dom/geolocation/moz.build
@@ -21,22 +21,16 @@ UNIFIED_SOURCES += [
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 LOCAL_INCLUDES += [
     '/dom/base',
     '/dom/ipc',
 ]
 
-if CONFIG['MOZ_ENABLE_QT5GEOPOSITION']:
-    LOCAL_INCLUDES += [
-        '/dom/system/qt',
-    ]
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
-
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
     LOCAL_INCLUDES += [
         '/dom/system/android',
     ]
 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
     LOCAL_INCLUDES += [
         '/dom/system/gonk',
     ]
--- a/dom/geolocation/nsGeolocation.cpp
+++ b/dom/geolocation/nsGeolocation.cpp
@@ -30,20 +30,16 @@
 #include "mozilla/ClearOnShutdown.h"
 #include "mozilla/dom/Event.h"
 #include "mozilla/WeakPtr.h"
 #include "mozilla/dom/PermissionMessageUtils.h"
 #include "mozilla/dom/WakeLock.h"
 
 class nsIPrincipal;
 
-#ifdef MOZ_ENABLE_QT5GEOPOSITION
-#include "QTMLocationProvider.h"
-#endif
-
 #ifdef MOZ_WIDGET_ANDROID
 #include "AndroidLocationProvider.h"
 #endif
 
 #ifdef MOZ_WIDGET_GONK
 #include "GonkGPSGeolocationProvider.h"
 #endif
 
@@ -693,20 +689,16 @@ nsresult nsGeolocationService::Init()
   // geolocation service can be enabled -> now register observer
   nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
   if (!obs) {
     return NS_ERROR_FAILURE;
   }
 
   obs->AddObserver(this, "xpcom-shutdown", false);
 
-#ifdef MOZ_ENABLE_QT5GEOPOSITION
-  mProvider = new QTMLocationProvider();
-#endif
-
 #ifdef MOZ_WIDGET_ANDROID
   mProvider = new AndroidLocationProvider();
 #endif
 
 #ifdef MOZ_WIDGET_GONK
   // GonkGPSGeolocationProvider can be started at boot up time for initialization reasons.
   // do_getService gets hold of the already initialized component and starts
   // processing location requests immediately.
deleted file mode 100644
--- a/dom/plugins/ipc/NestedLoopTimer.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- * vim: sw=4 ts=4 et :
- * 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/. */
-
-#include <QtCore/QTimer>
-
-#include "NestedLoopTimer.h"
-#include "mozilla/plugins/PluginModuleChild.h"
-
-namespace mozilla {
-namespace plugins {
-
-NestedLoopTimer::NestedLoopTimer(PluginModuleChild *pmc):
-     QObject(), mModule(pmc), mQTimer(nullptr)
-{
-}
-
-NestedLoopTimer::~NestedLoopTimer()
-{
-    if (mQTimer) {
-        mQTimer->stop();
-        delete mQTimer;
-        mQTimer = nullptr;
-    }
-}
-
-void NestedLoopTimer::timeOut()
-{
-    // just detected a nested loop; start a timer that will
-    // periodically rpc-call back into the browser and process some
-    // events
-    mQTimer = new QTimer(this);
-    QObject::connect(mQTimer, SIGNAL(timeout()), this,
-                     SLOT(processSomeEvents()));
-    mQTimer->setInterval(kNestedLoopDetectorIntervalMs);
-    mQTimer->start();
-}
-
-void NestedLoopTimer::processSomeEvents()
-{
-    if (mModule)
-        mModule->CallProcessSomeEvents();
-}
-
-} /* namespace plugins */
-} /* namespace mozilla */
deleted file mode 100644
--- a/dom/plugins/ipc/NestedLoopTimer.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- * vim: sw=4 ts=4 et :
- * 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/. */
-
-#ifndef NESTEDLOOPTIMER_H
-#define NESTEDLOOPTIMER_H
-
-#include <QtCore/QObject>
-
-class QTimer;
-
-namespace mozilla {
-namespace plugins {
-
-class PluginModuleChild;
-
-class NestedLoopTimer: public QObject
-{
-    Q_OBJECT
-public:
-    NestedLoopTimer(PluginModuleChild *pmc);
-
-    virtual ~NestedLoopTimer();
-
-public Q_SLOTS:
-    virtual void timeOut();
-    virtual void processSomeEvents();
-   
-private:
-    PluginModuleChild *mModule;
-    QTimer *mQTimer;
-};
-
-} /* namespace plugins */
-} /* namespace mozilla */
-
-#undef slots
-
-#endif
deleted file mode 100644
--- a/dom/plugins/ipc/PluginHelperQt.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-/* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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/. */
-
-#include "PluginHelperQt.h"
-#include <QtCore/QCoreApplication>
-#include <QtCore/QEventLoop>
-
-static const int kMaxtimeToProcessEvents = 30;
-
-bool
-PluginHelperQt::AnswerProcessSomeEvents()
-{
-    QCoreApplication::processEvents(QEventLoop::AllEvents, kMaxtimeToProcessEvents);
-    return true;
-}
--- a/dom/plugins/ipc/moz.build
+++ b/dom/plugins/ipc/moz.build
@@ -62,23 +62,16 @@ if CONFIG['OS_ARCH'] == 'WINNT':
         'hangui',
     ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     EXPORTS.mozilla.plugins += [
         'PluginInterposeOSX.h',
     ]
 
-if CONFIG['MOZ_ENABLE_QT']:
-    SOURCES += [
-        '!moc_NestedLoopTimer.cpp',
-        'NestedLoopTimer.cpp',
-        'PluginHelperQt.cpp',
-    ]
-
 UNIFIED_SOURCES += [
     'BrowserStreamChild.cpp',
     'BrowserStreamParent.cpp',
     'ChildAsyncCall.cpp',
     'ChildTimer.cpp',
     'PluginAsyncSurrogate.cpp',
     'PluginBackgroundDestroyer.cpp',
     'PluginInstanceParent.cpp',
deleted file mode 100644
--- a/dom/plugins/test/testplugin/nptest_qt.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * 
- * Copyright (c) 2008, Mozilla Corporation
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * * Redistributions of source code must retain the above copyright notice, this
- *   list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright notice,
- *   this list of conditions and the following disclaimer in the documentation
- *   and/or other materials provided with the distribution.
- * * Neither the name of the Mozilla Corporation nor the names of its
- *   contributors may be used to endorse or promote products derived from this
- *   software without specific prior written permission.
- * 
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * 
- * Contributor(s):
- *   Josh Aas <josh@mozilla.com>
- * 
- * ***** END LICENSE BLOCK ***** */
-#include "nptest_platform.h"
-#include "npapi.h"
-
-using namespace std;
-
-bool
-pluginSupportsWindowMode()
-{
-  return false;
-}
-
-bool
-pluginSupportsWindowlessMode()
-{
-  return true;
-}
-
-NPError
-pluginInstanceInit(InstanceData* instanceData)
-{
-  printf("NPERR_INCOMPATIBLE_VERSION_ERROR\n");
-  return NPERR_INCOMPATIBLE_VERSION_ERROR;
-}
-
-void
-pluginInstanceShutdown(InstanceData* instanceData)
-{
-  NPN_MemFree(instanceData->platformData);
-  instanceData->platformData = 0;
-}
-
-void
-pluginDoSetWindow(InstanceData* instanceData, NPWindow* newWindow)
-{
-  instanceData->window = *newWindow;
-}
-
-void
-pluginWidgetInit(InstanceData* instanceData, void* oldWindow)
-{
-  // XXX nothing here yet since we don't support windowed plugins
-}
-
-int16_t
-pluginHandleEvent(InstanceData* instanceData, void* event)
-{
-  return 0;
-}
-
-int32_t pluginGetEdge(InstanceData* instanceData, RectEdge edge)
-{
-  // XXX nothing here yet since we don't support windowed plugins
-  return NPTEST_INT32_ERROR;
-}
-
-int32_t pluginGetClipRegionRectCount(InstanceData* instanceData)
-{
-  // XXX nothing here yet since we don't support windowed plugins
-  return NPTEST_INT32_ERROR;
-}
-
-int32_t pluginGetClipRegionRectEdge(InstanceData* instanceData, 
-    int32_t rectIndex, RectEdge edge)
-{
-  // XXX nothing here yet since we don't support windowed plugins
-  return NPTEST_INT32_ERROR;
-}
-
-void pluginDoInternalConsistencyCheck(InstanceData* instanceData, string& error)
-{
-}
--- a/dom/plugins/test/testplugin/testplugin.mozbuild
+++ b/dom/plugins/test/testplugin/testplugin.mozbuild
@@ -21,20 +21,16 @@ if toolkit == 'cocoa':
 elif toolkit in ('gtk2', 'gtk3'):
     UNIFIED_SOURCES += [
         'nptest_gtk2.cpp',
     ]
 elif toolkit == 'android':
     UNIFIED_SOURCES += [
         'nptest_droid.cpp',
     ]
-elif toolkit == 'qt':
-    UNIFIED_SOURCES += [
-        'nptest_qt.cpp',
-    ]
 elif toolkit == 'windows':
     UNIFIED_SOURCES += [
         'nptest_windows.cpp',
     ]
     OS_LIBS += [
         'msimg32',
         'imm32'
     ]
@@ -56,23 +52,16 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
     CXXFLAGS += CONFIG['MOZ_GTK2_CFLAGS']
     CFLAGS += CONFIG['MOZ_GTK2_CFLAGS']
     OS_LIBS += CONFIG['MOZ_GTK2_LIBS']
     OS_LIBS += CONFIG['XLDFLAGS']
     OS_LIBS += CONFIG['XLIBS']
     OS_LIBS += CONFIG['XEXT_LIBS']
 
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
-    CFLAGS += CONFIG['MOZ_QT_CFLAGS']
-    OS_LIBS += CONFIG['MOZ_QT_LIBS']
-    OS_LIBS += CONFIG['XLDFLAGS']
-    OS_LIBS += CONFIG['XLIBS']
-
 if CONFIG['_MSC_VER']:
     # This is intended as a temporary hack to support building with VS2015.
     # conversion from 'X' to 'Y' requires a narrowing conversion
     CXXFLAGS += ['-wd4838']
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     FINAL_TARGET = 'dist/plugins/%s.plugin/Contents/MacOS' % cocoa_name
     OBJDIR_FILES.dist.plugins['%s.plugin' % cocoa_name].Contents += ['%s/Info.plist' % relative_path]
deleted file mode 100644
--- a/dom/system/qt/QTMLocationProvider.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/* -*- Mode: c++; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
- * 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/. */
-
-#include "QTMLocationProvider.h"
-#include "nsGeoPosition.h"
-
-using namespace mozilla;
-
-NS_IMPL_ISUPPORTS(QTMLocationProvider, nsIGeolocationProvider)
-
-QTMLocationProvider::QTMLocationProvider()
-{
-    if (QMetaType::type("QGeoPositionInfo") == QMetaType::UnknownType) {
-        qRegisterMetaType<QGeoPositionInfo>("QGeoPositionInfo");
-    }
-    mLocation = QGeoPositionInfoSource::createDefaultSource(this);
-    if (mLocation)
-        connect(mLocation, SIGNAL(positionUpdated(QGeoPositionInfo)), this, SLOT(positionUpdated(QGeoPositionInfo)));
-}
-
-QTMLocationProvider::~QTMLocationProvider()
-{
-    delete mLocation;
-}
-
-void
-QTMLocationProvider::positionUpdated(const QGeoPositionInfo &geoPosition)
-{
-    if (!geoPosition.isValid()) {
-        NS_WARNING("Invalida geoposition received");
-        return;
-    }
-
-    QGeoCoordinate coord = geoPosition.coordinate();
-    double latitude = coord.latitude();
-    double longitude = coord.longitude();
-    double altitude = coord.altitude();
-    double accuracy = geoPosition.attribute(QGeoPositionInfo::HorizontalAccuracy);
-    double altitudeAccuracy = geoPosition.attribute(QGeoPositionInfo::VerticalAccuracy);
-    double heading = geoPosition.attribute(QGeoPositionInfo::Direction);
-
-    bool providesSpeed = geoPosition.hasAttribute(QGeoPositionInfo::GroundSpeed);
-    double speed = geoPosition.attribute(QGeoPositionInfo::GroundSpeed);
-
-    RefPtr<nsGeoPosition> p =
-        new nsGeoPosition(latitude, longitude,
-                          altitude, accuracy,
-                          altitudeAccuracy, heading,
-                          speed, geoPosition.timestamp().toTime_t());
-    if (mCallback) {
-        mCallback->Update(p);
-    }
-}
-
-NS_IMETHODIMP
-QTMLocationProvider::Startup()
-{
-    if (!mLocation)
-        return NS_ERROR_NOT_IMPLEMENTED;
-
-    // Not all versions of qt5positioning set default prefered method
-    // thus this workaround initializing QGeoPositionSource explicitly
-    SetHighAccuracy(false);
-    mLocation->startUpdates();
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-QTMLocationProvider::Watch(nsIGeolocationUpdate* aCallback)
-{
-    mCallback = aCallback;
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-QTMLocationProvider::Shutdown()
-{
-    if (!mLocation)
-        return NS_ERROR_NOT_IMPLEMENTED;
-
-    mLocation->stopUpdates();
-    mCallback = nullptr;
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-QTMLocationProvider::SetHighAccuracy(bool aHigh)
-{
-    if (!mLocation)
-        return NS_ERROR_NOT_IMPLEMENTED;
-
-    mLocation->setPreferredPositioningMethods(aHigh ?
-                                              QGeoPositionInfoSource::SatellitePositioningMethods :
-                                              QGeoPositionInfoSource::AllPositioningMethods);
-    return NS_OK;
-}
deleted file mode 100644
--- a/dom/system/qt/QTMLocationProvider.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* 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/. */
-
-#ifndef QTMLocationProvider_h
-#define QTMLocationProvider_h
-
-#include <QGeoPositionInfoSource>
-#include "nsGeolocation.h"
-#include "nsIGeolocationProvider.h"
-#include "nsCOMPtr.h"
-
-class QTMLocationProvider : public QObject,
-                            public nsIGeolocationProvider
-{
-    Q_OBJECT
-
-public:
-    NS_DECL_ISUPPORTS
-    NS_DECL_NSIGEOLOCATIONPROVIDER
-
-    QTMLocationProvider();
-
-public Q_SLOTS:
-    // QGeoPositionInfoSource
-    void positionUpdated(const QGeoPositionInfo&);
-
-private:
-    ~QTMLocationProvider();
-
-    QGeoPositionInfoSource* mLocation;
-    nsCOMPtr<nsIGeolocationUpdate> mCallback;
-};
-
-#endif /* QTMLocationProvider_h */
deleted file mode 100644
--- a/dom/system/qt/QtHapticFeedback.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-/* -*- Mode: c++; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
- * 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/. */
-
-#include <QFeedbackEffect>
-#include "QtHapticFeedback.h"
-
-NS_IMPL_ISUPPORTS(QtHapticFeedback, nsIHapticFeedback)
-
-NS_IMETHODIMP
-QtHapticFeedback::PerformSimpleAction(int32_t aType)
-{
-    if (aType == ShortPress)
-        QFeedbackEffect::playThemeEffect(QFeedbackEffect::PressWeak);
-    if (aType == LongPress)
-        QFeedbackEffect::playThemeEffect(QFeedbackEffect::PressStrong);
-
-    return NS_OK;
-}
deleted file mode 100644
--- a/dom/system/qt/QtHapticFeedback.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* -*- Mode: c++; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
- * 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/. */
-
-#include "nsIHapticFeedback.h"
-
-class QtHapticFeedback : public nsIHapticFeedback
-{
-public:
-  NS_DECL_ISUPPORTS
-  NS_DECL_NSIHAPTICFEEDBACK
-protected:
-  virtual ~QtHapticFeedback() {}
-};
deleted file mode 100644
--- a/dom/system/qt/moz.build
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# 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/.
-
-if CONFIG['MOZ_ENABLE_QT5GEOPOSITION']:
-    SOURCES += [
-        '!moc_QTMLocationProvider.cpp',
-        'QTMLocationProvider.cpp',
-    ]
-
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
-
-    LOCAL_INCLUDES += [
-        '/dom/geolocation',
-    ]
-
-if CONFIG['MOZ_ENABLE_QT5FEEDBACK']:
-    SOURCES += [
-        'QtHapticFeedback.cpp',
-    ]
-
-include('/ipc/chromium/chromium-config.mozbuild')
-
-FINAL_LIBRARY = 'xul'
--- a/gfx/cairo/cairo/src/moz.build
+++ b/gfx/cairo/cairo/src/moz.build
@@ -76,23 +76,16 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'be
     ]
 elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
     EXPORTS.cairo += [
         'cairo-ps.h',
     ]
     SOURCES += [
         'cairo-ps-surface.c',
     ]
-elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
-    EXPORTS.cairo += [
-        'cairo-qt.h',
-    ]
-    SOURCES += [
-        'cairo-qt-surface.cpp',
-    ]
 
 if CONFIG['MOZ_X11']:
     EXPORTS.cairo += [
         'cairo-xlib-xrender.h',
         'cairo-xlib.h',
     ]
     SOURCES += [
         'cairo-xlib-display.c',
@@ -244,18 +237,14 @@ if CONFIG['CLANG_CL']:
         '-Wno-unused-variable',
     ]
 
 # See bug 386897.
 if CONFIG['GNU_CC'] and CONFIG['OS_TARGET'] == 'Android' and CONFIG['MOZ_OPTIMIZE']:
     CFLAGS += ['-O2']
     CXXFLAGS += ['-O2']
 
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
-    CFLAGS += CONFIG['MOZ_QT_CFLAGS']
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
-
 if CONFIG['MOZ_X11']:
     CFLAGS += CONFIG['XCFLAGS']
 
 if CONFIG['MOZ_ENABLE_CAIRO_FT']:
     CFLAGS += CONFIG['CAIRO_FT_CFLAGS']
     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
--- a/gfx/src/moz.build
+++ b/gfx/src/moz.build
@@ -86,11 +86,8 @@ LOCAL_INCLUDES += [
 
 FINAL_LIBRARY = 'xul'
 
 CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 CXXFLAGS += CONFIG['TK_CFLAGS']
 
 if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
     CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
-
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
deleted file mode 100644
--- a/image/decoders/icon/qt/gtkqticonsconverter.js
+++ /dev/null
@@ -1,141 +0,0 @@
-/* vim:set ts=2 sw=2 sts=2 cin et: */
-/* 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/. */
-
-Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-
-
-function GtkQtIconsConverter()
-{ };
-GtkQtIconsConverter.prototype =
-{
-  classID:          Components.ID("{c0783c34-a831-40c6-8c03-98c9f74cca45}"),
-  QueryInterface: XPCOMUtils.generateQI(
-                                [Components.interfaces.nsIGtkQtIconsConverter]),
-  convert: function(icon) { return this._gtk_qt_icons_table[icon]; },
-  _gtk_qt_icons_table:
-  {
-    'about':
-    0,
-    'add':
-    0,
-    'apply':
-    44, // QStyle::SP_DialogApplyButton
-    'cancel':
-    39, // QStyle::SP_DialogCancelButton
-    'clear':
-    45, // QStyle::SP_DialogResetButton
-    'color-picker':
-    0,
-    'copy':
-    0,
-    'close':
-    43, // QStyle::SP_DialogCloseButton
-    'cut':
-    0,
-    'delete':
-    0,
-    'dialog-error':
-    0,
-    'dialog-info':
-    0,
-    'dialog-question':
-    12, // QStyle::SP_MessageBoxQuestion
-    'dialog-warning':
-    10, // QStyle::SP_MessageBoxWarning
-    'directory':
-    37, // QStyle::SP_DirIcon
-    'file':
-    24, // QStyle::SP_FileIcon
-    'find':
-    0,
-    'go-back-ltr':
-    53, // QStyle::SP_ArrowBack
-    'go-back-rtl':
-    53, // QStyle::SP_ArrowBack
-    'go-back':
-    53, // QStyle::SP_ArrowBack
-    'go-forward-ltr':
-    54, // QStyle::SP_ArrowForward
-    'go-forward-rtl':
-    54, // QStyle::SP_ArrowForward
-    'go-forward':
-    54, // QStyle::SP_ArrowForward
-    'go-up':
-    49, // QStyle::SP_ArrowUp
-    'goto-first':
-    0,
-    'goto-last':
-    0,
-    'help':
-    7, // QStyle::SP_TitleBarContextHelpButton
-    'home':
-    55, // QStyle::SP_DirHomeIcon
-    'info':
-    9, // QStyle::SP_MessageBoxInformation
-    'jump-to':
-    0,
-    'media-pause':
-    0,
-    'media-play':
-    0,
-    'network':
-    20, // QStyle::SP_DriveNetIcon
-    'no':
-    48, // QStyle::SP_DialogNoButton
-    'ok':
-    38, // QStyle::SP_DialogOkButton
-    'open':
-    21, // QStyle::SP_DirOpenIcon
-    'orientation-landscape':
-    0,
-    'orientation-portrait':
-    0,
-    'paste':
-    0,
-    'preferences':
-    34, // QStyle::SP_FileDialogContentsView
-    'print-preview':
-    0,
-    'print':
-    0,
-    'properties':
-    0,
-    'quit':
-    0,
-    'redo':
-    0,
-    'refresh':
-    58, // QStyle::SP_BrowserReload
-    'remove':
-    0,
-    'revert-to-saved':
-    0,
-    'save-as':
-    42, // QStyle::SP_DialogSaveButton
-    'save':
-    42, // QStyle::SP_DialogSaveButton
-    'select-all':
-    0,
-    'select-font':
-    0,
-    'stop':
-    59, // QStyle::SP_BrowserStop
-    'undelete':
-    0,
-    'undo':
-    0,
-    'yes':
-    47, // QStyle::SP_DialogYesButton
-    'zoom-100':
-    0,
-    'zoom-in':
-    0,
-    'zoom-out':
-    0
-  },
-}
-var components = [GtkQtIconsConverter];
-this.NSGetFactory = XPCOMUtils.generateNSGetFactory(components);
-
deleted file mode 100644
--- a/image/decoders/icon/qt/gtkqticonsconverter.manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-component {c0783c34-a831-40c6-8c03-98c9f74cca45} gtkqticonsconverter.js
-contract @mozilla.org/gtkqticonsconverter;1 {c0783c34-a831-40c6-8c03-98c9f74cca45}
deleted file mode 100644
--- a/image/decoders/icon/qt/moz.build
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# 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/.
-
-XPIDL_SOURCES += [
-    'nsGtkQtIconsConverter.idl',
-]
-
-XPIDL_MODULE = 'gtkqticonsconverter'
-
-SOURCES += [
-    'nsIconChannel.cpp',
-]
-
-EXTRA_COMPONENTS += [
-    'gtkqticonsconverter.manifest',
-]
-
-EXTRA_PP_COMPONENTS += [
-    'gtkqticonsconverter.js',
-]
-
-FINAL_LIBRARY = 'xul'
-
-CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
deleted file mode 100644
--- a/image/decoders/icon/qt/nsGtkQtIconsConverter.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-/* vim:set ts=2 sw=2 sts=2 cin et: */
-/* 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/. */
-
-#include "nsISupports.idl"
-
-[scriptable, uuid(c0783c34-a831-40c6-8c03-98c9f74cca45)]
-interface nsIGtkQtIconsConverter : nsISupports
-{
-  long convert(in string icon);
-};
deleted file mode 100644
--- a/image/decoders/icon/qt/nsIconChannel.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-/* vim:set ts=2 sw=2 sts=2 cin et: */
-/* 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/. */
-
-#include <QIcon>
-
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "mozilla/EndianUtils.h"
-
-#include "nsMimeTypes.h"
-#include "nsIMIMEService.h"
-
-#include "nsIStringBundle.h"
-
-#include "nsNetUtil.h"
-#include "nsNullPrincipal.h"
-#include "nsIURL.h"
-
-#include "nsIconChannel.h"
-#include "nsGtkQtIconsConverter.h"
-
-NS_IMPL_ISUPPORTS(nsIconChannel,
-                  nsIRequest,
-                  nsIChannel)
-
-static nsresult
-moz_qicon_to_channel(QImage* image, nsIURI* aURI,
-                     nsIChannel** aChannel)
-{
-  NS_ENSURE_ARG_POINTER(image);
-
-  int width = image->width();
-  int height = image->height();
-
-  NS_ENSURE_TRUE(height < 256 && width < 256 && height > 0 && width > 0,
-                 NS_ERROR_UNEXPECTED);
-
-  const int n_channels = 4;
-  long int buf_size = 2 + n_channels * height * width;
-  uint8_t* const buf = (uint8_t*)moz_xmalloc(buf_size);
-  NS_ENSURE_TRUE(buf, NS_ERROR_OUT_OF_MEMORY);
-  uint8_t* out = buf;
-
-  *(out++) = width;
-  *(out++) = height;
-
-  const uchar* const pixels = image->bits();
-  int rowextra = image->bytesPerLine() - width * n_channels;
-
-  // encode the RGB data and the A data
-  const uchar* in = pixels;
-  for (int y = 0; y < height; ++y, in += rowextra) {
-    for (int x = 0; x < width; ++x) {
-      uint8_t r = *(in++);
-      uint8_t g = *(in++);
-      uint8_t b = *(in++);
-      uint8_t a = *(in++);
-#define DO_PREMULTIPLY(c_) uint8_t(uint16_t(c_) * uint16_t(a) / uint16_t(255))
-#if MOZ_LITTLE_ENDIAN
-      *(out++) = DO_PREMULTIPLY(b);
-      *(out++) = DO_PREMULTIPLY(g);
-      *(out++) = DO_PREMULTIPLY(r);
-      *(out++) = a;
-#else
-      *(out++) = a;
-      *(out++) = DO_PREMULTIPLY(r);
-      *(out++) = DO_PREMULTIPLY(g);
-      *(out++) = DO_PREMULTIPLY(b);
-#endif
-#undef DO_PREMULTIPLY
-    }
-  }
-
-  NS_ASSERTION(out == buf + buf_size, "size miscalculation");
-
-  nsresult rv;
-  nsCOMPtr<nsIStringInputStream> stream =
-    do_CreateInstance("@mozilla.org/io/string-input-stream;1", &rv);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  rv = stream->AdoptData((char*)buf, buf_size);
-  NS_ENSURE_SUCCESS(rv, rv);
-
-  // nsIconProtocolHandler::NewChannel2 will provide the correct loadInfo for
-  // this iconChannel. Use the most restrictive security settings for the
-  // temporary loadInfo to make sure the channel can not be openend.
-  nsCOMPtr<nsIPrincipal> nullPrincipal = nsNullPrincipal::Create();
-  return NS_NewInputStreamChannel(aChannel,
-                                  aURI,
-                                  stream,
-                                  nullPrincipal,
-                                  nsILoadInfo::SEC_REQUIRE_SAME_ORIGIN_DATA_IS_BLOCKED,
-                                  nsIContentPolicy::TYPE_INTERNAL_IMAGE,
-                                  NS_LITERAL_CSTRING(IMAGE_ICON_MS));
-}
-
-nsresult
-nsIconChannel::Init(nsIURI* aURI)
-{
-
-  nsCOMPtr<nsIMozIconURI> iconURI = do_QueryInterface(aURI);
-  NS_ASSERTION(iconURI, "URI is not an nsIMozIconURI");
-
-  nsAutoCString stockIcon;
-  iconURI->GetStockIcon(stockIcon);
-
-  nsAutoCString iconSizeString;
-  iconURI->GetIconSize(iconSizeString);
-
-  uint32_t desiredImageSize;
-  iconURI->GetImageSize(&desiredImageSize);
-
-  nsAutoCString iconStateString;
-  iconURI->GetIconState(iconStateString);
-  bool disabled = iconStateString.EqualsLiteral("disabled");
-
-  // This is a workaround for
-  // https://bugzilla.mozilla.org/show_bug.cgi?id=662299
-  // Try to find corresponding freedesktop icon and fallback to empty QIcon
-  // if failed.
-  QIcon icon = QIcon::fromTheme(QString(stockIcon.get()).replace("gtk-",
-                                                                 "edit-"));
-  QPixmap pixmap = icon.pixmap(desiredImageSize, desiredImageSize,
-                               disabled ? QIcon::Disabled : QIcon::Normal);
-
-  QImage image = pixmap.toImage();
-
-  return moz_qicon_to_channel(&image, iconURI,
-                              getter_AddRefs(mRealChannel));
-}
deleted file mode 100644
--- a/image/decoders/icon/qt/nsIconChannel.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* vim:set ts=2 sw=2 sts=2 cin et: */
-/* 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/. */
-
-#ifndef mozilla_image_encoders_icon_qt_nsIconChannel_h
-#define mozilla_image_encoders_icon_qt_nsIconChannel_h
-
-#include "mozilla/Attributes.h"
-
-#include "nsIChannel.h"
-#include "nsIStreamListener.h"
-#include "nsIURI.h"
-#include "nsIIconURI.h"
-#include "nsCOMPtr.h"
-
-/// This class is the gnome implementation of nsIconChannel. It basically asks
-/// qt for an icon, and creates a new channel for
-/// that file to which all calls will be proxied.
-class nsIconChannel final : public nsIChannel {
-  public:
-    NS_DECL_ISUPPORTS
-    NS_FORWARD_NSIREQUEST(mRealChannel->)
-    NS_FORWARD_NSICHANNEL(mRealChannel->)
-
-    nsIconChannel() { };
-
-    /// Called by nsIconProtocolHandler after it creates this channel.
-    /// Must be called before calling any other function on this object.
-    /// If this method fails, no other function must be called on this object.
-    nsresult Init(nsIURI* aURI);
-  private:
-    ~nsIconChannel() { };
-
-    /// The channel to the temp icon file (e.g. to /tmp/2qy9wjqw.html).
-    /// Will always be non-null after a successful Init.
-    nsCOMPtr<nsIChannel> mRealChannel;
-};
-
-#endif // mozilla_image_encoders_icon_qt_nsIconChannel_h
--- a/image/decoders/moz.build
+++ b/image/decoders/moz.build
@@ -5,18 +5,16 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 toolkit = CONFIG['MOZ_WIDGET_TOOLKIT']
 
 # The Icon Channel stuff really shouldn't live in decoders/icon, but we'll
 # fix that another time.
 if 'gtk' in toolkit:
     DIRS += ['icon/gtk', 'icon']
-elif toolkit == 'qt':
-    DIRS += ['icon/qt', 'icon']
 
 if CONFIG['OS_ARCH'] == 'WINNT':
     DIRS += ['icon/win', 'icon']
 
 if toolkit == 'cocoa':
     DIRS += ['icon/mac', 'icon']
 elif toolkit == 'android':
     DIRS += ['icon/android', 'icon']
--- a/intl/locale/moz.build
+++ b/intl/locale/moz.build
@@ -61,11 +61,8 @@ RESOURCE_FILES += [
 ]
 
 GENERATED_FILES += [
     'langGroups.properties.h',
 ]
 langgroups = GENERATED_FILES['langGroups.properties.h']
 langgroups.script = 'props2arrays.py'
 langgroups.inputs = ['langGroups.properties']
-
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
--- a/intl/unicharutil/tables/moz.build
+++ b/intl/unicharutil/tables/moz.build
@@ -5,12 +5,8 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 RESOURCE_FILES.entityTables = [
     'html40Latin1.properties',
     'html40Special.properties',
     'html40Symbols.properties',
     'mathml20.properties',
 ]
-
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
-    CFLAGS += CONFIG['MOZ_QT_CFLAGS']
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
--- a/ipc/chromium/moz.build
+++ b/ipc/chromium/moz.build
@@ -134,21 +134,16 @@ if os_linux:
         if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
             DEFINES['HAVE_ANDROID_OS'] = True
 
 if os_bsd or os_linux:
     if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
         SOURCES += [
             'src/base/message_pump_glib.cc',
         ]
-    if CONFIG['MOZ_ENABLE_QT']:
-        SOURCES += [
-            '!moc_message_pump_qt.cc',
-            'src/base/message_pump_qt.cc',
-        ]
 
 ost = CONFIG['OS_TEST']
 if '86' not in ost and 'arm' not in ost and 'aarch64' != ost and 'mips' not in ost:
     SOURCES += [
         'src/base/atomicops_internals_mutex.cc',
     ]
 
 CXXFLAGS += CONFIG['TK_CFLAGS']
--- a/layout/generic/moz.build
+++ b/layout/generic/moz.build
@@ -208,13 +208,10 @@ RESOURCE_FILES.html = [
 MOCHITEST_MANIFESTS += ['test/mochitest.ini']
 MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
 
 CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 
 if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
     CXXFLAGS += CONFIG['TK_CFLAGS']
 
-if CONFIG['MOZ_ENABLE_QT']:
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
-
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
--- a/netwerk/base/moz.build
+++ b/netwerk/base/moz.build
@@ -298,20 +298,16 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'an
         'nsNetworkInfoService.cpp',
     ]
 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
     SOURCES += [
         'NetworkInfoServiceLinux.cpp',
         'nsNetworkInfoService.cpp',
     ]
 
-if CONFIG['MOZ_ENABLE_QTNETWORK']:
-    SOURCES += [
-    ]
-
 EXTRA_COMPONENTS += [
     'PACGenerator.js',
     'PACGenerator.manifest'
 ]
 
 EXTRA_JS_MODULES += [
     'NetUtil.jsm',
 ]
@@ -327,18 +323,10 @@ LOCAL_INCLUDES += [
 ]
 
 if 'rtsp' in CONFIG['NECKO_PROTOCOLS']:
     LOCAL_INCLUDES += [
         '/netwerk/protocol/rtsp/controller',
         '/netwerk/protocol/rtsp/rtsp',
     ]
 
-if CONFIG['MOZ_ENABLE_QTNETWORK']:
-    LOCAL_INCLUDES += [
-        '/netwerk/system/qt',
-    ]
-
-if CONFIG['MOZ_ENABLE_QTNETWORK']:
-    CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
-
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
--- a/netwerk/build/moz.build
+++ b/netwerk/build/moz.build
@@ -38,21 +38,16 @@ if CONFIG['OS_ARCH'] == 'WINNT':
         '/netwerk/system/win32',
     ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     LOCAL_INCLUDES += [
         '/netwerk/system/mac',
     ]
 
-if CONFIG['MOZ_ENABLE_QTNETWORK']:
-    LOCAL_INCLUDES += [
-        '/netwerk/system/qt',
-    ]
-
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
     LOCAL_INCLUDES += [
         '/netwerk/system/android',
     ]
 
 elif CONFIG['OS_ARCH'] == 'Linux':
     LOCAL_INCLUDES += [
         '/netwerk/system/linux',
--- a/netwerk/build/nsNetModule.cpp
+++ b/netwerk/build/nsNetModule.cpp
@@ -410,19 +410,16 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsID
 
 ///////////////////////////////////////////////////////////////////////////////
 #if defined(XP_WIN)
 #include "nsNotifyAddrListener.h"
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNotifyAddrListener, Init)
 #elif defined(MOZ_WIDGET_COCOA)
 #include "nsNetworkLinkService.h"
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNetworkLinkService, Init)
-#elif defined(MOZ_ENABLE_QTNETWORK)
-#include "nsQtNetworkLinkService.h"
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsQtNetworkLinkService, Init)
 #elif defined(MOZ_WIDGET_ANDROID)
 #include "nsAndroidNetworkLinkService.h"
 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAndroidNetworkLinkService)
 #elif defined(XP_LINUX)
 #include "nsNotifyAddrListener_Linux.h"
 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNotifyAddrListener, Init)
 #endif
 
@@ -851,18 +848,16 @@ NS_DEFINE_NAMED_CID(NS_WEBSOCKETSSLPROTO
 #endif
 #ifdef NECKO_PROTOCOL_rtsp
 NS_DEFINE_NAMED_CID(NS_RTSPPROTOCOLHANDLER_CID);
 #endif
 #if defined(XP_WIN)
 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID);
 #elif defined(MOZ_WIDGET_COCOA)
 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID);
-#elif defined(MOZ_ENABLE_QTNETWORK)
-NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID);
 #elif defined(MOZ_WIDGET_ANDROID)
 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID);
 #elif defined(XP_LINUX)
 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID);
 #endif
 NS_DEFINE_NAMED_CID(NS_SERIALIZATION_HELPER_CID);
 NS_DEFINE_NAMED_CID(NS_REDIRECTCHANNELREGISTRAR_CID);
 NS_DEFINE_NAMED_CID(NS_CACHE_STORAGE_SERVICE_CID);
@@ -1006,18 +1001,16 @@ static const mozilla::Module::CIDEntry k
 #endif
 #ifdef NECKO_PROTOCOL_rtsp
     { &kNS_RTSPPROTOCOLHANDLER_CID, false, nullptr, mozilla::net::RtspHandlerConstructor },
 #endif
 #if defined(XP_WIN)
     { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsNotifyAddrListenerConstructor },
 #elif defined(MOZ_WIDGET_COCOA)
     { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsNetworkLinkServiceConstructor },
-#elif defined(MOZ_ENABLE_QTNETWORK)
-    { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsQtNetworkLinkServiceConstructor },
 #elif defined(MOZ_WIDGET_ANDROID)
     { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsAndroidNetworkLinkServiceConstructor },
 #elif defined(XP_LINUX)
     { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsNotifyAddrListenerConstructor },
 #endif
     { &kNS_SERIALIZATION_HELPER_CID, false, nullptr, nsSerializationHelperConstructor },
     { &kNS_REDIRECTCHANNELREGISTRAR_CID, false, nullptr, RedirectChannelRegistrarConstructor },
     { &kNS_CACHE_STORAGE_SERVICE_CID, false, nullptr, CacheStorageServiceConstructor },
@@ -1166,18 +1159,16 @@ static const mozilla::Module::ContractID
 #endif
 #ifdef NECKO_PROTOCOL_rtsp
     { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "rtsp", &kNS_RTSPPROTOCOLHANDLER_CID },
 #endif
 #if defined(XP_WIN)
     { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID },
 #elif defined(MOZ_WIDGET_COCOA)
     { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID },
-#elif defined(MOZ_ENABLE_QTNETWORK)
-    { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID },
 #elif defined(MOZ_WIDGET_ANDROID)
     { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID },
 #elif defined(XP_LINUX)
     { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID },
 #endif
     { NS_SERIALIZATION_HELPER_CONTRACTID, &kNS_SERIALIZATION_HELPER_CID },
     { NS_REDIRECTCHANNELREGISTRAR_CONTRACTID, &kNS_REDIRECTCHANNELREGISTRAR_CID },
     { NS_CACHE_STORAGE_SERVICE_CONTRACTID, &kNS_CACHE_STORAGE_SERVICE_CID },
--- a/netwerk/system/moz.build
+++ b/netwerk/system/moz.build
@@ -5,16 +5,13 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 if CONFIG['OS_ARCH'] == 'WINNT':
     DIRS += ['win32']
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     DIRS += ['mac']
 
-if CONFIG['MOZ_ENABLE_QTNETWORK']:
-    DIRS += ['qt']
-
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
     DIRS += ['android']
 
 elif CONFIG['OS_ARCH'] == 'Linux':
     DIRS += ['linux']
deleted file mode 100644
--- a/netwerk/system/qt/moz.build
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# 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/.
-
-SOURCES += [
-    '!moc_nsQtNetworkManager.cpp',
-    'nsQtNetworkLinkService.cpp',
-    'nsQtNetworkManager.cpp',
-]
-
-FINAL_LIBRARY = 'xul'
-LOCAL_INCLUDES += [
-    '/netwerk/base',
-]
-
-CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
deleted file mode 100644
--- a/netwerk/system/qt/nsQtNetworkLinkService.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/* 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/. */
-
-#include "nsQtNetworkManager.h"
-#include "nsQtNetworkLinkService.h"
-#include "nsCOMPtr.h"
-#include "nsIObserverService.h"
-#include "nsServiceManagerUtils.h"
-#include "nsString.h"
-#include "mozilla/Services.h"
-#include "nsCRT.h"
-
-NS_IMPL_ISUPPORTS(nsQtNetworkLinkService,
-                  nsINetworkLinkService,
-                  nsIObserver)
-
-nsQtNetworkLinkService::nsQtNetworkLinkService()
-{
-}
-
-nsQtNetworkLinkService::~nsQtNetworkLinkService()
-{
-}
-
-NS_IMETHODIMP
-nsQtNetworkLinkService::GetIsLinkUp(bool* aIsUp)
-{
-  *aIsUp = nsQtNetworkManager::get()->isOnline();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsQtNetworkLinkService::GetLinkStatusKnown(bool* aIsKnown)
-{
-  *aIsKnown = nsQtNetworkManager::get()->isOnline();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsQtNetworkLinkService::GetLinkType(uint32_t *aLinkType)
-{
-  NS_ENSURE_ARG_POINTER(aLinkType);
-
-  // XXX This function has not yet been implemented for this platform
-  *aLinkType = nsINetworkLinkService::LINK_TYPE_UNKNOWN;
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-nsQtNetworkLinkService::Observe(nsISupports* aSubject,
-                                const char* aTopic,
-                                const char16_t* aData)
-{
-  if (!strcmp(aTopic, "xpcom-shutdown")) {
-    Shutdown();
-    nsQtNetworkManager::get()->destroy();
-  }
-
-  if (!strcmp(aTopic, "browser-lastwindow-close-granted")) {
-    Shutdown();
-  }
-
-  return NS_OK;
-}
-
-nsresult
-nsQtNetworkLinkService::Init(void)
-{
-  nsCOMPtr<nsIObserverService> observerService =
-    mozilla::services::GetObserverService();
-  if (!observerService) {
-    return NS_ERROR_FAILURE;
-  }
-
-  nsQtNetworkManager::create();
-  nsresult rv;
-
-  rv = observerService->AddObserver(this, "xpcom-shutdown", false);
-  if (NS_FAILED(rv)) {
-    return NS_ERROR_FAILURE;
-  }
-
-  rv = observerService->AddObserver(this, "browser-lastwindow-close-granted", false);
-  if (NS_FAILED(rv)) {
-    return NS_ERROR_FAILURE;
-  }
-
-
-  return NS_OK;
-}
-
-nsresult
-nsQtNetworkLinkService::Shutdown()
-{
-  nsQtNetworkManager::get()->closeSession();
-  return NS_OK;
-}
deleted file mode 100644
--- a/netwerk/system/qt/nsQtNetworkLinkService.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* 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/. */
-
-#ifndef NSQTNETWORKLINKSERVICE_H_
-#define NSQTNETWORKLINKSERVICE_H_
-
-#include "nsINetworkLinkService.h"
-#include "nsIObserver.h"
-
-class nsQtNetworkLinkService: public nsINetworkLinkService,
-                              public nsIObserver
-{
-
-public:
-  NS_DECL_ISUPPORTS
-  NS_DECL_NSINETWORKLINKSERVICE
-  NS_DECL_NSIOBSERVER
-
-  nsQtNetworkLinkService();
-
-  nsresult Init();
-  nsresult Shutdown();
-
-private:
-  virtual ~nsQtNetworkLinkService();
-};
-
-#endif /* NSQTNETWORKLINKSERVICE_H_ */
deleted file mode 100644
--- a/netwerk/system/qt/nsQtNetworkManager.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/* 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/. */
-
-#include "nsQtNetworkManager.h"
-
-#include "nsCOMPtr.h"
-#include "nsThreadUtils.h"
-#include "nsINetworkLinkService.h"
-#include "nsIOService.h"
-#include "nsIObserverService.h"
-#include "nsIOService.h"
-
-#include <QHostInfo>
-#include <QHostAddress>
-#include <QTime>
-
-nsQtNetworkManager* nsQtNetworkManager::gQtNetworkManager = nullptr;
-
-void nsQtNetworkManager::create()
-{
-    if (!gQtNetworkManager) {
-        gQtNetworkManager = new nsQtNetworkManager();
-        connect(gQtNetworkManager, SIGNAL(openConnectionSignal()),
-                gQtNetworkManager, SLOT(openSession()),
-                Qt::BlockingQueuedConnection);
-        connect(&gQtNetworkManager->networkConfigurationManager,
-                SIGNAL(onlineStateChanged(bool)), gQtNetworkManager,
-                SLOT(onlineStateChanged(bool)));
-    }
-}
-
-void nsQtNetworkManager::destroy()
-{
-    delete gQtNetworkManager;
-    gQtNetworkManager = nullptr;
-}
-
-nsQtNetworkManager::nsQtNetworkManager(QObject* parent)
-  : QObject(parent), networkSession(0)
-{
-    mOnline = networkConfigurationManager.isOnline();
-    NS_ASSERTION(NS_IsMainThread(), "nsQtNetworkManager can only initiated in Main Thread");
-}
-
-nsQtNetworkManager::~nsQtNetworkManager()
-{
-    closeSession();
-    networkSession->deleteLater();
-}
-
-bool
-nsQtNetworkManager::isOnline()
-{
-    static bool sForceOnlineUSB = getenv("MOZ_MEEGO_NET_ONLINE") != 0;
-    return sForceOnlineUSB || mOnline;
-}
-
-void
-nsQtNetworkManager::onlineStateChanged(bool online)
-{
-    mOnline = online;
-}
-
-/*
-  This function is called from different threads, we need to make sure that
-  the attempt to create a network connection is done in the mainthread
-
-  In case this function is called by another thread than the mainthread
-  we emit a signal which is connected through "BlockingQueue"-Connection Type.
-
-  This cause that the current thread is blocked and waiting for the result.
-
-  Of course, in case this gets called from the mainthread we must not emit the signal,
-  but call the slot directly.
-*/
-
-bool
-nsQtNetworkManager::openConnection(const QString& host)
-{
-    // we are already online -> return true.
-    if (isOnline()) {
-        return true;
-    }
-
-    if (NS_IsMainThread()) {
-        openSession();
-    } else {
-        // jump to mainthread and do the work there
-        Q_EMIT openConnectionSignal();
-    }
-
-    // if its claiming its online -> send one resolve request ahead.
-    // this is important because on mobile the first request can take up to 10 seconds
-    // sending here one will help to avoid trouble and timeouts later
-    if (isOnline()) {
-        QHostInfo::fromName(host);
-    }
-
-    return isOnline();
-}
-
-void
-nsQtNetworkManager::openSession()
-{
-    if (mBlockTimer.isActive()) {
-        // if openSession is called within 200 ms again, we forget this attempt since
-        // its mostlike an automatic connection attempt which was not successful or canceled 200ms ago.
-        // we reset the timer and start it again.
-
-        // As example: Go in firefox mobile into AwesomeView, see that the icons are not always cached and
-        // get loaded on the fly. Not having the 200 ms rule here would mean that instantly
-        // after the user dismissed the one connection dialog once another
-        // would get opened. The user will never be able to close / leave the view until each such attempt is gone through.
-
-        // Basically 200 ms are working fine, its huge enough for automatic attempts to get covered and small enough to
-        // still be able to react on direct user request.
-
-        mBlockTimer.stop();
-        mBlockTimer.setSingleShot(true);
-        mBlockTimer.start(200);
-        return;
-    }
-
-    if (isOnline()) {
-        return;
-    }
-
-    // this only means we did not shutdown before...
-    // renew Session every time
-    // fix/workaround for prestart bug
-    if (networkSession) {
-        networkSession->close();
-        networkSession->deleteLater();
-    }
-
-    // renew always to react on changed Configurations
-    networkConfigurationManager.updateConfigurations();
-    // go always with default configuration
-    networkConfiguration = networkConfigurationManager.defaultConfiguration();
-    networkSession = new QNetworkSession(networkConfiguration);
-
-    networkSession->open();
-    QTime current;
-    current.start();
-    networkSession->waitForOpened(-1);
-
-    if (current.elapsed() < 1000) {
-        NS_WARNING("Connection Creation was to fast, something is not right.");
-    }
-
-    mBlockTimer.setSingleShot(true);
-    mBlockTimer.start(200);
-}
-
-void
-nsQtNetworkManager::closeSession()
-{
-    if (networkSession) {
-        networkSession->close();
-    }
-}
deleted file mode 100644
--- a/netwerk/system/qt/nsQtNetworkManager.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* 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/. */
-
-#ifndef NSQTNETWORKMANAGER_H_
-#define NSQTNETWORKMANAGER_H_
-
-#include <QNetworkConfigurationManager>
-#include <QObject>
-#include <QTimer>
-#include <QNetworkConfiguration>
-#include <QNetworkSession>
-#include "nscore.h"
-
-class nsQtNetworkManager;
-
-
-
-class nsQtNetworkManager : public QObject
-{
-  Q_OBJECT
-  public:
-    static void create();
-    static void destroy();
-    virtual ~nsQtNetworkManager();
-
-    static nsQtNetworkManager* get() { return gQtNetworkManager; }
-
-    static bool IsConnected();
-    static bool GetLinkStatusKnown();
-    static void enableInstance();
-    bool openConnection(const QString&);
-    bool isOnline();
-  Q_SIGNALS:
-    void openConnectionSignal();
-
-  public Q_SLOTS:
-    void closeSession();
-    void onlineStateChanged(bool);
-
-  private Q_SLOTS:
-    void openSession();
-
-  private:
-    explicit nsQtNetworkManager(QObject* parent = 0);
-
-    static nsQtNetworkManager* gQtNetworkManager;
-    QNetworkSession* networkSession;
-    QNetworkConfiguration networkConfiguration;
-    QNetworkConfigurationManager networkConfigurationManager;
-    QTimer mBlockTimer;
-    bool mOnline;
-};
-
-#endif /* NSQTNETWORKMANAGER_H_ */
-
--- a/old-configure.in
+++ b/old-configure.in
@@ -2860,22 +2860,16 @@ dnl ====================================
 MOZ_ARG_HEADER(Toolkit Options)
 
 dnl ========================================================
 dnl = Enable the toolkit as needed                         =
 dnl ========================================================
 
 case "$MOZ_WIDGET_TOOLKIT" in
 
-qt)
-    MOZ_ENABLE_QT=1
-
-    AC_DEFINE(QT_NO_KEYWORDS)
-    ;;
-
 cocoa)
     LDFLAGS="$LDFLAGS -framework Cocoa -lobjc"
     # Use -Wl as a trick to avoid -framework and framework names from
     # being separated by AC_SUBST_LIST.
     TK_LIBS='-Wl,-framework,CoreLocation -Wl,-framework,QuartzCore -Wl,-framework,Carbon -Wl,-framework,CoreAudio -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit -Wl,-framework,AddressBook -Wl,-framework,OpenGL -Wl,-framework,Security -Wl,-framework,ServiceManagement'
     TK_CFLAGS=""
     CFLAGS="$CFLAGS $TK_CFLAGS"
     CXXFLAGS="$CXXFLAGS $TK_CFLAGS"
@@ -2980,184 +2974,19 @@ if test -n "$MOZ_IOS" -a -n "$NS_PRINTIN
    AC_MSG_ERROR([Printing is not supported on iOS.])
 fi
 
 if test "$NS_PRINTING"; then
     AC_DEFINE(NS_PRINTING)
     AC_DEFINE(NS_PRINT_PREVIEW)
 fi
 
-dnl ========================================================
-dnl = QT support
-dnl ========================================================
-if test "$MOZ_ENABLE_QT"
-then
-    MOZ_ARG_WITH_STRING(qtdir,
-    [  --with-qtdir=\$dir       Specify Qt directory ],
-    [ QTDIR=$withval])
-
-    if test -z "$QTDIR"; then
-        AC_CHECK_PROGS(HOST_QMAKE, $HOST_QMAKE qmake, "")
-    else
-        HOST_QMAKE="$QTDIR/bin/qmake"
-    fi
-    QT_VERSION=`$HOST_QMAKE -v | grep 'Using Qt version' | egrep -o '[[0-9]]+\.[[0-9]]+\.[[0-9]]+'`
-
-    if test -z "$QTDIR"; then
-        case $QT_VERSION in
-        5.*)
-            AC_MSG_RESULT("Using qt5: $QT_VERSION")
-            PKG_CHECK_MODULES(MOZ_QT, Qt5Gui Qt5Network Qt5Core Qt5Quick, ,
-            [
-              AC_MSG_ERROR([$MOZ_QT_PKG_ERRORS Need qtbase development packages, (On Ubuntu, you might try installing the packages qtbase5-dev libqt5opengl5-dev.)])
-            ])
-            QT5INCDIR=`pkg-config --variable=includedir Qt5Gui`
-            MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QT5INCDIR/QtGui/$QT_VERSION/QtGui"
-            if test "$NS_PRINTING"; then
-                PKG_CHECK_MODULES(MOZ_QT_WIDGETS, Qt5PrintSupport, ,
-                [
-                  AC_MSG_ERROR([$MOZ_QT_PKG_ERRORS Need qt5 printsupport development package])
-                ])
-                MOZ_QT_LIBS="$MOZ_QT_LIBS $MOZ_QT_WIDGETS_LIBS"
-                MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS $MOZ_QT_WIDGETS_CFLAGS"
-            fi
-            ;;
-        *)
-            AC_MSG_ERROR([* * * Unsupported Qt Version: $QT_VERSION])
-            ;;
-        esac
-
-        AC_CHECK_PROGS(HOST_MOC, $MOC moc, "")
-        AC_CHECK_PROGS(HOST_RCC, $RCC rcc, "")
-    else
-        MOZ_QT_CFLAGS="-DQT_SHARED"
-        MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include"
-        MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtGui"
-        MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtCore"
-        MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtNetwork"
-        MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtXml"
-        MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtDeclarative"
-        case $QT_VERSION in
-        5.*)
-            AC_MSG_RESULT("Using qt5: $QT_VERSION")
-            MOZ_QT_LIBS="$MOZ_QT_LIBS -L$QTDIR/lib/ -lQt5Gui -lQt5Network -lQt5Core -lQt5Xml"
-            MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtGui/$QT_VERSION/QtGui"
-            if test "$NS_PRINTING"; then
-                MOZ_QT_LIBS="$MOZ_QT_LIBS -lQt5Widgets -lQt5PrintSupport"
-                MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtPrintSupport"
-            fi
-            ;;
-        *)
-            AC_MSG_ERROR([* * * Unsupported Qt Version: $QT_VERSION])
-            ;;
-        esac
-
-        HOST_MOC="$QTDIR/bin/moc"
-        HOST_RCC="$QTDIR/bin/rcc"
-    fi
-    if test -z "$HOST_MOC"; then
-        AC_MSG_ERROR([No acceptable moc preprocessor found. Qt SDK is not installed or --with-qt is incorrect])
-    fi
-    if test -z "$HOST_RCC"; then
-        AC_MSG_ERROR([No acceptable rcc preprocessor found. Qt SDK is not installed or --with-qt is incorrect])
-    fi
-
-    MOC=$HOST_MOC
-    RCC=$HOST_RCC
-
-    MOZ_ENABLE_QMSYSTEM2=
-    PKG_CHECK_MODULES(_QMSYSTEM2, qmsystem2,
-                      MOZ_ENABLE_QMSYSTEM2=1,
-                      MOZ_ENABLE_QMSYSTEM2=)
-
-    if test "$MOZ_ENABLE_QMSYSTEM2"; then
-      MOZ_ENABLE_QMSYSTEM2=1
-      MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS $_QMSYSTEM2_CFLAGS"
-      MOZ_QT_LIBS="$MOZ_QT_LIBS $_QMSYSTEM2_LIBS"
-      AC_DEFINE(MOZ_ENABLE_QMSYSTEM2)
-    fi
-
-    MOZ_ENABLE_QTNETWORK=
-    PKG_CHECK_MODULES(_QTNETWORK, QtNetwork >= 4.7,
-                      MOZ_ENABLE_QTNETWORK=1,
-                      MOZ_ENABLE_QTNETWORK=)
-
-    if test "$MOZ_ENABLE_QTNETWORK"; then
-      MOZ_ENABLE_QTNETWORK=1
-      AC_DEFINE(MOZ_ENABLE_QTNETWORK)
-    fi
-
-    MOZ_ENABLE_QTMOBILITY=
-    PKG_CHECK_MODULES(_QTMOBILITY, QtSensors QtFeedback QtLocation,
-                      MOZ_ENABLE_QTMOBILITY=1,
-                      MOZ_ENABLE_QTMOBILITY=)
-    if test "$MOZ_ENABLE_QTMOBILITY"; then
-       MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS $_QTMOBILITY_CFLAGS"
-       MOZ_QT_LIBS="$MOZ_QT_LIBS $_QTMOBILITY_LIBS"
-    else
-       AC_CHECK_LIB(QtSensors, main, [
-          MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtMobility"
-          MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtSensors"
-          MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtFeedback"
-          MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS -I$QTDIR/include/QtLocation"
-          MOZ_QT_LIBS="$MOZ_QT_LIBS -lQtSensors -lQtFeedback -lQtLocation"
-       ])
-    fi
-
-    MOZ_ENABLE_QT5FEEDBACK=
-    PKG_CHECK_MODULES(_QT5FEEDBACK, Qt0Feedback,
-                      MOZ_ENABLE_QT5FEEDBACK=1,
-                      MOZ_ENABLE_QT5FEEDBACK=)
-    if test "$MOZ_ENABLE_QT5FEEDBACK"; then
-       MOZ_ENABLE_QT5FEEDBACK=1
-       MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS $_QT5FEEDBACK_CFLAGS"
-       MOZ_QT_LIBS="$MOZ_QT_LIBS $_QT5FEEDBACK_LIBS"
-       AC_DEFINE(MOZ_ENABLE_QT5FEEDBACK)
-       AC_SUBST(MOZ_ENABLE_QT5FEEDBACK)
-    fi
-
-    MOZ_ENABLE_QT5GEOPOSITION=
-    PKG_CHECK_MODULES(_QT5GEOPOSITION, Qt5Positioning,
-                      MOZ_ENABLE_QT5GEOPOSITION=1,
-                      MOZ_ENABLE_QT5GEOPOSITION=)
-    if test "$MOZ_ENABLE_QT5GEOPOSITION"; then
-       MOZ_ENABLE_QT5GEOPOSITION=1
-       MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS $_QT5GEOPOSITION_CFLAGS"
-       MOZ_QT_LIBS="$MOZ_QT_LIBS $_QT5GEOPOSITION_LIBS"
-       AC_DEFINE(MOZ_ENABLE_QT5GEOPOSITION)
-       AC_SUBST(MOZ_ENABLE_QT5GEOPOSITION)
-    fi
-
-    if test "$MOZ_ENABLE_CONTENTACTION"; then
-      MOZ_ENABLE_CONTENTACTION=1
-      AC_DEFINE(MOZ_ENABLE_CONTENTACTION)
-    fi
-
-    MOZ_ENABLE_CONTENTACTION=
-    PKG_CHECK_MODULES(LIBCONTENTACTION, contentaction-0.1, _LIB_FOUND=1, _LIB_FOUND=)
-    if test "$MOZ_ENABLE_CONTENTACTION"; then
-       MOZ_ENABLE_CONTENTACTION=1
-       MOZ_QT_CFLAGS="$MOZ_QT_CFLAGS $_CONTENTACTION_CFLAGS"
-       MOZ_QT_LIBS="$MOZ_QT_LIBS $_CONTENTACTION_LIBS"
-       AC_DEFINE(MOZ_ENABLE_CONTENTACTION)
-       AC_SUBST(MOZ_ENABLE_CONTENTACTION)
-    fi
-    TK_CFLAGS=$MOZ_QT_CFLAGS
-    TK_LIBS=$MOZ_QT_LIBS
-fi
-
 AC_SUBST_LIST(TK_CFLAGS)
 AC_SUBST_LIST(TK_LIBS)
 
-AC_SUBST(MOZ_ENABLE_QT)
-AC_SUBST(MOZ_ENABLE_QTNETWORK)
-AC_SUBST(MOZ_ENABLE_QMSYSTEM2)
-AC_SUBST_LIST(MOZ_QT_CFLAGS)
-AC_SUBST_LIST(MOZ_QT_LIBS)
-
 AC_SUBST(MOC)
 AC_SUBST(RCC)
 
 dnl ========================================================
 dnl =
 dnl = Components & Features
 dnl =
 dnl ========================================================
@@ -3224,17 +3053,17 @@ dnl ====================================
 MOZ_ANDROID_GOOGLE_PLAY_SERVICES
 MOZ_ANDROID_GOOGLE_CLOUD_MESSAGING
 MOZ_ANDROID_INSTALL_TRACKING
 
 
 dnl ========================================================
 dnl = Pango
 dnl ========================================================
-if test "$MOZ_ENABLE_GTK" -o "$MOZ_ENABLE_QT"
+if test "$MOZ_ENABLE_GTK"
 then
     PKG_CHECK_MODULES(_PANGOCHK, pango >= $PANGO_VERSION)
 
     PKG_CHECK_MODULES(MOZ_PANGO, pango >= $PANGO_VERSION pangoft2 >= $PANGO_VERSION pangocairo >= $PANGO_VERSION)
 fi
 
 dnl ========================================================
 dnl = GIO and GConf support module
@@ -3309,17 +3138,17 @@ then
 
     AC_SUBST(MOZ_ENABLE_GCONF)
 fi
 
 dnl ========================================================
 dnl = libproxy support
 dnl ========================================================
 
-if test "$MOZ_ENABLE_GTK" -o "$MOZ_ENABLE_QT"
+if test "$MOZ_ENABLE_GTK"
 then
     MOZ_ENABLE_LIBPROXY=
 
     MOZ_ARG_ENABLE_BOOL(libproxy,
     [  --enable-libproxy         Enable libproxy support ],
     MOZ_ENABLE_LIBPROXY=1,
     MOZ_ENABLE_LIBPROXY=)
 
@@ -3362,17 +3191,17 @@ then
 fi
 
 AC_SUBST(MOZ_ENABLE_GNOMEUI)
 
 dnl ========================================================
 dnl = dbus support
 dnl ========================================================
 
-if test "$MOZ_ENABLE_GTK" -o "$MOZ_ENABLE_QT"
+if test "$MOZ_ENABLE_GTK"
 then
     MOZ_ENABLE_DBUS=1
 
     MOZ_ARG_DISABLE_BOOL(dbus,
     [  --disable-dbus          Disable dbus support ],
         MOZ_ENABLE_DBUS=,
         MOZ_ENABLE_DBUS=1)
 
@@ -3384,17 +3213,17 @@ then
     fi
 fi
 AC_SUBST(MOZ_ENABLE_DBUS)
 
 dnl ========================================================
 dnl = speech-dispatcher support
 dnl ========================================================
 
-if test "$MOZ_ENABLE_GTK" -o "$MOZ_ENABLE_QT"
+if test "$MOZ_ENABLE_GTK"
 then
     MOZ_SYNTH_SPEECHD=1
 
     MOZ_ARG_DISABLE_BOOL(synth-speechd,
     [  --disable-synth-speechd Disable speech-dispatcher support ],
         MOZ_SYNTH_SPEECHD=,
         MOZ_SYNTH_SPEECHD=1)
 fi
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -122,17 +122,17 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3
         'mozgtk_stub',
     ]
 
 if CONFIG['MOZ_JPROF']:
     USE_LIBS += [
         'jprof',
     ]
 
-if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] or CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt' or \
+if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] or \
         CONFIG['MOZ_TREE_FREETYPE']:
     USE_LIBS += [
         'freetype',
     ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     CXXFLAGS += CONFIG['TK_CFLAGS']
 
@@ -297,23 +297,16 @@ if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']
     OS_LIBS += CONFIG['XLIBS']
     OS_LIBS += CONFIG['XEXT_LIBS']
     OS_LIBS += CONFIG['MOZ_PANGO_LIBS']
     OS_LIBS += CONFIG['XT_LIBS']
     OS_LIBS += [
         'gthread-2.0',
     ]
 
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
-    OS_LIBS += CONFIG['XLDFLAGS']
-    OS_LIBS += CONFIG['XLIBS']
-    OS_LIBS += CONFIG['XT_LIBS']
-    OS_LIBS += CONFIG['MOZ_QT_LIBS']
-    OS_LIBS += CONFIG['MOZ_PANGO_LIBS']
-
 if CONFIG['MOZ_ENABLE_STARTUP_NOTIFICATION']:
     OS_LIBS += CONFIG['MOZ_STARTUP_NOTIFICATION_LIBS']
 
 if CONFIG['MOZ_ENABLE_LIBPROXY']:
     OS_LIBS += CONFIG['MOZ_LIBPROXY_LIBS']
 
 if CONFIG['OS_ARCH'] == 'SunOS':
     OS_LIBS += [
@@ -359,19 +352,16 @@ if CONFIG['OS_ARCH'] == 'WINNT':
         'locationapi',
         'sapi',
     ]
     if CONFIG['ACCESSIBILITY']:
         OS_LIBS += [
             'oleacc',
         ]
 
-if CONFIG['MOZ_ENABLE_QT']:
-    OS_LIBS += CONFIG['XEXT_LIBS']
-
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
     OS_LIBS += [
         'usp10',
         'oleaut32',
     ]
 
 # This needs to be last
 USE_LIBS += ['StaticXULComponentsEnd']
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -93,17 +93,17 @@ set_config('L10NBASEDIR', l10n_base)
 # ==============================================================
 # Normally, we'd want to use the `default` field on the option, but that
 # requires --target to be resolved at --help time, which requires to run
 # config.guess, which we want to avoid. Even better, we could actually set
 # `choices` depending on the target, but that doesn't pan out for the same
 # reason.
 option('--enable-default-toolkit', nargs=1,
        choices=('cairo-windows', 'cairo-gtk2', 'cairo-gtk2-x11', 'cairo-gtk3',
-                'cairo-qt', 'cairo-cocoa', 'cairo-uikit', 'cairo-android',
+                'cairo-cocoa', 'cairo-uikit', 'cairo-android',
                 'cairo-gonk'),
        help='Select default toolkit')
 
 @depends('--enable-default-toolkit', target)
 def toolkit(value, target):
     # Define possible choices for each platform. The default is the first one
     # listed when there are several.
     os = target.os
@@ -116,18 +116,17 @@ def toolkit(value, target):
     elif target.os == 'Android':
         if value.origin == 'implied':
             # Trust values coming from imply_option() (used in
             # b2g/moz.configure).
             platform_choices = tuple(value)
         else:
             platform_choices = ('cairo-android',)
     else:
-        platform_choices = ('cairo-gtk3', 'cairo-gtk2', 'cairo-gtk2-x11',
-                            'cairo-qt')
+        platform_choices = ('cairo-gtk3', 'cairo-gtk2', 'cairo-gtk2-x11')
 
     if value:
         if value[0] not in platform_choices:
             die('`%s` is not a valid value for --enable-default-toolkit on %s\n'
                 'Valid values: %s', value[0], os, ', '.join(platform_choices))
         return value[0]
 
     return platform_choices[0]
@@ -160,20 +159,20 @@ def toolkit_define(toolkit):
 
 set_define(toolkit_define, True)
 
 
 option('--without-x', env='WITHOUT_X', help='Disable X11 support')
 
 @depends('--without-x', toolkit)
 def x11(value, toolkit):
-    if not value and toolkit != 'qt':
-        die('--without-x is only valid with --enable-default-toolkit=qt')
+    if not value:
+        die('--without-x is not supported')
 
-    x11_toolkits = ('gtk2', 'gtk3', 'qt')
+    x11_toolkits = ('gtk2', 'gtk3')
     if value and value.origin != 'default' and toolkit not in x11_toolkits:
         die('--with-x is only valid with --enable-default-toolkit={%s}',
             ','.join(x11_toolkits))
 
     return True if value and toolkit in x11_toolkits else None
 
 set_config('MOZ_ENABLE_XREMOTE', x11)
 set_define('MOZ_ENABLE_XREMOTE', x11)
@@ -214,17 +213,17 @@ def gl_provider_define(provider):
 
 set_define(gl_provider_define, True)
 
 
 # PDF printing
 # ==============================================================
 @depends(toolkit)
 def pdf_printing(toolkit):
-    if toolkit in ('windows', 'gtk2', 'gtk3', 'qt', 'android', 'gonk'):
+    if toolkit in ('windows', 'gtk2', 'gtk3', 'android', 'gonk'):
         return True
 
 @depends(pdf_printing)
 def pdf_surface_feature(pdf_printing):
     if pdf_printing:
         return '#define CAIRO_HAS_PDF_SURFACE 1'
     else:
         # CONFIGURE_SUBST_FILES need explicit empty values.
@@ -251,17 +250,17 @@ set_define('MOZ_INSTRUMENT_EVENT_LOOP', 
 
 # Fontconfig Freetype
 # ==============================================================
 option(env='USE_FC_FREETYPE',
        help='Force-enable the use of fontconfig freetype')
 
 @depends('USE_FC_FREETYPE', toolkit)
 def fc_freetype(value, toolkit):
-    if value or (toolkit in ('gtk2', 'gtk3', 'qt') and
+    if value or (toolkit in ('gtk2', 'gtk3') and
                  value.origin == 'default'):
         return True
 
 add_old_configure_assignment('USE_FC_FREETYPE', fc_freetype)
 
 
 # Apple platform decoder support
 # ==============================================================
--- a/widget/moz.build
+++ b/widget/moz.build
@@ -1,19 +1,19 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # 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/.
 
 toolkit = CONFIG['MOZ_WIDGET_TOOLKIT']
 
-if toolkit in ('cocoa', 'qt', 'android', 'gonk', 'uikit'):
+if toolkit in ('cocoa', 'android', 'gonk', 'uikit'):
     DIRS += [toolkit]
-if toolkit in ('qt', 'android', 'gonk', 'gtk2', 'gtk3'):
+if toolkit in ('android', 'gonk', 'gtk2', 'gtk3'):
     EXPORTS += ['nsIPrintDialogService.h']
 
 if toolkit == 'windows':
     DIRS += ['windows']
 
     XPIDL_SOURCES += [
         'nsIJumpListBuilder.idl',
         'nsIJumpListItem.idl',
@@ -206,23 +206,23 @@ if CONFIG['MOZ_X11']:
         'nsShmImage.cpp'
     ]
 
 if toolkit in ('cocoa', 'windows'):
     UNIFIED_SOURCES += [
         'nsBaseClipboard.cpp',
     ]
 
-if toolkit in {'qt', 'gtk2', 'gtk3', 'cocoa', 'windows',
+if toolkit in {'gtk2', 'gtk3', 'cocoa', 'windows',
                'android', 'gonk', 'uikit'}:
     UNIFIED_SOURCES += [
         'nsBaseFilePicker.cpp',
     ]
 
-if toolkit in ('qt', 'gtk2', 'gtk3', 'windows', 'cocoa'):
+if toolkit in ('gtk2', 'gtk3', 'windows', 'cocoa'):
     UNIFIED_SOURCES += [
         'nsNativeTheme.cpp',
     ]
 if toolkit == 'gtk3':
     XPIDL_SOURCES += [
         'nsIApplicationChooser.idl',
     ]
 
deleted file mode 100644
--- a/widget/qt/GfxInfo.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/. */
-
-#include "GfxInfo.h"
-
-using namespace mozilla::widget;
-
-/* GetD2DEnabled and GetDwriteEnabled shouldn't be called until after gfxPlatform initialization
- * has occurred because they depend on it for information. (See bug 591561) */
-nsresult
-GfxInfo::GetD2DEnabled(bool *aEnabled)
-{
-  return NS_ERROR_FAILURE;
-}
-
-nsresult
-GfxInfo::GetDWriteEnabled(bool *aEnabled)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetDWriteVersion(nsAString & aDwriteVersion)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetCleartypeParameters(nsAString & aCleartypeParams)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDescription(nsAString & aAdapterDescription)
-{
-  aAdapterDescription.Truncate();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDescription2(nsAString & aAdapterDescription)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterRAM(nsAString & aAdapterRAM)
-{
-  aAdapterRAM.Truncate();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterRAM2(nsAString & aAdapterRAM)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDriver(nsAString & aAdapterDriver)
-{
-  aAdapterDriver.Truncate();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDriver2(nsAString & aAdapterDriver)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDriverVersion(nsAString & aAdapterDriverVersion)
-{
-  aAdapterDriverVersion.Truncate();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDriverVersion2(nsAString & aAdapterDriverVersion)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDriverDate(nsAString & aAdapterDriverDate)
-{
-  aAdapterDriverDate.Truncate();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDriverDate2(nsAString & aAdapterDriverDate)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterVendorID(nsAString & aAdapterVendorID)
-{
-  aAdapterVendorID.Truncate();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterVendorID2(nsAString & aAdapterVendorID)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDeviceID(nsAString & aAdapterDeviceID)
-{
-  aAdapterDeviceID.Truncate();
-  return NS_OK;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterDeviceID2(nsAString & aAdapterDeviceID)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterSubsysID(nsAString & aAdapterSubsysID)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetAdapterSubsysID2(nsAString & aAdapterSubsysID)
-{
-  return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-GfxInfo::GetIsGPU2Active(bool* aIsGPU2Active)
-{
-  return NS_ERROR_FAILURE;
-}
-
-const nsTArray<GfxDriverInfo>&
-GfxInfo::GetGfxDriverInfo()
-{
-  return *mDriverInfo;
-}
-
-uint32_t GfxInfo::OperatingSystemVersion()
-{
-  return 0;
-}
-
-nsresult
-GfxInfo::GetFeatureStatusImpl(int32_t /*aFeature*/, 
-                              int32_t *aStatus, 
-                              nsAString & /*aSuggestedDriverVersion*/,
-                              const nsTArray<GfxDriverInfo>& /*aDriverInfo*/, 
-                              OperatingSystem* /*aOS*/ /* = nullptr */)
-{
-  NS_ENSURE_ARG_POINTER(aStatus);
-  *aStatus = nsIGfxInfo::FEATURE_STATUS_OK;
-
-  return NS_OK;
-}
-
-#ifdef DEBUG
-
-// Implement nsIGfxInfoDebug
-
-NS_IMETHODIMP GfxInfo::SpoofVendorID(const nsAString &)
-{
-  return NS_OK;
-}
-
-NS_IMETHODIMP GfxInfo::SpoofDeviceID(const nsAString &)
-{
-  return NS_OK;
-}
-
-NS_IMETHODIMP GfxInfo::SpoofDriverVersion(const nsAString &)
-{
-  return NS_OK;
-}
-
-NS_IMETHODIMP GfxInfo::SpoofOSVersion(uint32_t)
-{
-  return NS_OK;
-}
-
-#endif
deleted file mode 100644
--- a/widget/qt/GfxInfo.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* vim: se cin sw=2 ts=2 et : */
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * 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/. */
-
-#ifndef __mozilla_widget_GfxInfo_h__
-#define __mozilla_widget_GfxInfo_h__
-
-#include "GfxInfoBase.h"
-#include "GfxDriverInfo.h"
-
-#include "nsString.h"
-
-namespace mozilla {
-namespace widget {
-
-class GfxInfo : public GfxInfoBase
-{
-public:
-  // We only declare the subset of nsIGfxInfo that we actually implement. The
-  // rest is brought forward from GfxInfoBase.
-  NS_IMETHOD GetD2DEnabled(bool *aD2DEnabled);
-  NS_IMETHOD GetDWriteEnabled(bool *aDWriteEnabled);
-  NS_IMETHOD GetDWriteVersion(nsAString & aDwriteVersion);
-  NS_IMETHOD GetCleartypeParameters(nsAString & aCleartypeParams);
-  NS_IMETHOD GetAdapterDescription(nsAString & aAdapterDescription);
-  NS_IMETHOD GetAdapterDriver(nsAString & aAdapterDriver);
-  NS_IMETHOD GetAdapterVendorID(nsAString & aAdapterVendorID);
-  NS_IMETHOD GetAdapterDeviceID(nsAString & aAdapterDeviceID);
-  NS_IMETHOD GetAdapterSubsysID(nsAString & aAdapterSubsysID);
-  NS_IMETHOD GetAdapterRAM(nsAString & aAdapterRAM);
-  NS_IMETHOD GetAdapterDriverVersion(nsAString & aAdapterDriverVersion);
-  NS_IMETHOD GetAdapterDriverDate(nsAString & aAdapterDriverDate);
-  NS_IMETHOD GetAdapterDescription2(nsAString & aAdapterDescription);
-  NS_IMETHOD GetAdapterDriver2(nsAString & aAdapterDriver);
-  NS_IMETHOD GetAdapterVendorID2(nsAString & aAdapterVendorID);
-  NS_IMETHOD GetAdapterDeviceID2(nsAString & aAdapterDeviceID);
-  NS_IMETHOD GetAdapterSubsysID2(nsAString & aAdapterSubsysID);
-  NS_IMETHOD GetAdapterRAM2(nsAString & aAdapterRAM);
-  NS_IMETHOD GetAdapterDriverVersion2(nsAString & aAdapterDriverVersion);
-  NS_IMETHOD GetAdapterDriverDate2(nsAString & aAdapterDriverDate);
-  NS_IMETHOD GetIsGPU2Active(bool *aIsGPU2Active);
-  using GfxInfoBase::GetFeatureStatus;
-  using GfxInfoBase::GetFeatureSuggestedDriverVersion;
-  using GfxInfoBase::GetWebGLParameter;
-
-  virtual uint32_t OperatingSystemVersion() override;
-
-#ifdef DEBUG
-  NS_DECL_NSIGFXINFODEBUG
-#endif
-
-protected:
-
-  virtual nsresult GetFeatureStatusImpl(int32_t aFeature,
-                                        int32_t *aStatus,
-                                        nsAString & aSuggestedDriverVersion,
-                                        const nsTArray<GfxDriverInfo>& aDriverInfo,
-                                        OperatingSystem* aOS = nullptr);
-  virtual const nsTArray<GfxDriverInfo>& GetGfxDriverInfo();
-};
-
-} // namespace widget
-} // namespace mozilla
-
-#endif /* __mozilla_widget_GfxInfo_h__ */
deleted file mode 100644
--- a/widget/qt/moz.build
+++ /dev/null
@@ -1,66 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# 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/.
-
-SOURCES += [
-    '!moc_mozqwidget.cpp',
-    '!moc_nsAppShell.cpp',
-    'mozqwidget.cpp',
-    'nsAppShell.cpp',
-    'nsBidiKeyboard.cpp',
-    'nsClipboard.cpp',
-    'nsIdleServiceQt.cpp',
-    'nsLookAndFeel.cpp',
-    'nsQtKeyUtils.cpp',
-    'nsScreenManagerQt.cpp',
-    'nsScreenQt.cpp',
-    'nsWidgetFactory.cpp',
-    'nsWindow.cpp',
-]
-
-
-if CONFIG['NS_PRINTING']:
-    SOURCES += [
-        'nsDeviceContextSpecQt.cpp',
-        'nsPrintDialogQt.cpp',
-        'nsPrintOptionsQt.cpp',
-        'nsPrintSettingsQt.cpp',
-    ]
-
-include('/ipc/chromium/chromium-config.mozbuild')
-
-FINAL_LIBRARY = 'xul'
-
-LOCAL_INCLUDES += [
-    '/widget',
-]
-
-if CONFIG['MOZ_X11']:
-    LOCAL_INCLUDES += [
-        '../x11',
-    ]
-else:
-    SOURCES += [
-        'GfxInfo.cpp',
-    ]
-
-
-#DEFINES['DEBUG_WIDGETS'] = True
-
-if CONFIG['OS_ARCH'] == 'Linux':
-    DEFINES['_BSD_SOURCE'] = True
-
-if CONFIG['OS_ARCH'] == 'SunOS' and not CONFIG['GNU_CC']:
-    # When using Sun's WorkShop compiler, including
-    # /wherever/workshop-5.0/SC5.0/include/CC/std/time.h
-    # causes most of these compiles to fail with:
-    # line 29: Error: Multiple declaration for std::tm.
-    # So, this gets around the problem.
-    DEFINES['_TIME_H'] = 1
-
-CXXFLAGS += CONFIG['MOZ_QT_CFLAGS']
-CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
-CFLAGS += CONFIG['MOZ_QT_CFLAGS']
-CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
deleted file mode 100644
--- a/widget/qt/mozqwidget.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=4 et sw=4 tw=80: */
-/* 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/. */
-
-#include <QtCore/QCoreApplication>
-#include <QtGui/QResizeEvent>
-
-#include "mozqwidget.h"
-#include "nsWindow.h"
-
-using namespace mozilla::widget;
-
-MozQWidget::MozQWidget(nsWindow* aReceiver, QWindow* aParent)
-  : QWindow(aParent)
-  , mReceiver(aReceiver)
-  , mUpdatePending(false)
-{
-    mWindowType = mReceiver->WindowType();
-}
-
-MozQWidget::~MozQWidget()
-{
-}
-
-void MozQWidget::render(QPainter* painter)
-{
-    Q_UNUSED(painter);
-}
-
-void MozQWidget::renderLater()
-{
-    if (!isExposed() || eWindowType_child != mWindowType || !isVisible()) {
-        return;
-    }
-
-    if (!mUpdatePending) {
-        mUpdatePending = true;
-        QCoreApplication::postEvent(this, new QEvent(QEvent::UpdateRequest));
-    }
-}
-
-void MozQWidget::renderNow()
-{
-    if (!isExposed() || eWindowType_child != mWindowType || !isVisible()) {
-        return;
-    }
-
-    mReceiver->OnPaint();
-}
-
-bool MozQWidget::event(QEvent* event)
-{
-    switch (event->type()) {
-    case QEvent::UpdateRequest:
-        mUpdatePending = false;
-        renderNow();
-        return true;
-    default:
-        return QWindow::event(event);
-    }
-}
-
-void MozQWidget::exposeEvent(QExposeEvent* event)
-{
-    Q_UNUSED(event);
-    if (!isExposed() || eWindowType_child != mWindowType || !isVisible()) {
-        return;
-    }
-    LOG(("MozQWidget::%s [%p] flags:%x\n", __FUNCTION__, (void *)this, flags()));
-    renderNow();
-
-}
-
-void MozQWidget::resizeEvent(QResizeEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->resizeEvent(event);
-    QWindow::resizeEvent(event);
-}
-
-void MozQWidget::focusInEvent(QFocusEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->focusInEvent(event);
-    QWindow::focusInEvent(event);
-}
-
-void MozQWidget::focusOutEvent(QFocusEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->focusOutEvent(event);
-    QWindow::focusOutEvent(event);
-}
-
-void MozQWidget::hideEvent(QHideEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->hideEvent(event);
-    QWindow::hideEvent(event);
-}
-
-void MozQWidget::keyPressEvent(QKeyEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->keyPressEvent(event);
-    QWindow::keyPressEvent(event);
-}
-
-void MozQWidget::keyReleaseEvent(QKeyEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->keyReleaseEvent(event);
-    QWindow::keyReleaseEvent(event);
-}
-
-void MozQWidget::mouseDoubleClickEvent(QMouseEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->mouseDoubleClickEvent(event);
-    QWindow::mouseDoubleClickEvent(event);
-}
-
-void MozQWidget::mouseMoveEvent(QMouseEvent* event)
-{
-    mReceiver->mouseMoveEvent(event);
-    QWindow::mouseMoveEvent(event);
-}
-
-void MozQWidget::mousePressEvent(QMouseEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->mousePressEvent(event);
-    QWindow::mousePressEvent(event);
-}
-
-void MozQWidget::mouseReleaseEvent(QMouseEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->mouseReleaseEvent(event);
-    QWindow::mouseReleaseEvent(event);
-}
-
-void MozQWidget::moveEvent(QMoveEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->moveEvent(event);
-    QWindow::moveEvent(event);
-}
-
-void MozQWidget::showEvent(QShowEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->showEvent(event);
-    QWindow::showEvent(event);
-}
-
-void MozQWidget::wheelEvent(QWheelEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    mReceiver->wheelEvent(event);
-    QWindow::wheelEvent(event);
-}
-
-void MozQWidget::tabletEvent(QTabletEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    QWindow::tabletEvent(event);
-}
-
-void MozQWidget::touchEvent(QTouchEvent* event)
-{
-    LOG(("MozQWidget::%s [%p]\n", __FUNCTION__, (void *)this));
-    QWindow::touchEvent(event);
-}
-
-void MozQWidget::SetCursor(nsCursor aCursor)
-{
-    Qt::CursorShape cursor = Qt::ArrowCursor;
-    switch(aCursor) {
-    case eCursor_standard:
-        cursor = Qt::ArrowCursor;
-        break;
-    case eCursor_wait:
-        cursor = Qt::WaitCursor;
-        break;
-    case eCursor_select:
-        cursor = Qt::IBeamCursor;
-        break;
-    case eCursor_hyperlink:
-        cursor = Qt::PointingHandCursor;
-        break;
-    case eCursor_ew_resize:
-        cursor = Qt::SplitHCursor;
-        break;
-    case eCursor_ns_resize:
-        cursor = Qt::SplitVCursor;
-        break;
-    case eCursor_nw_resize:
-    case eCursor_se_resize:
-        cursor = Qt::SizeBDiagCursor;
-        break;
-    case eCursor_ne_resize:
-    case eCursor_sw_resize:
-        cursor = Qt::SizeFDiagCursor;
-        break;
-    case eCursor_crosshair:
-    case eCursor_move:
-        cursor = Qt::SizeAllCursor;
-        break;
-    case eCursor_help:
-        cursor = Qt::WhatsThisCursor;
-        break;
-    case eCursor_copy:
-    case eCursor_alias:
-        break;
-    case eCursor_context_menu:
-    case eCursor_cell:
-    case eCursor_grab:
-    case eCursor_grabbing:
-    case eCursor_spinning:
-    case eCursor_zoom_in:
-    case eCursor_zoom_out:
-
-    default:
-        break;
-    }
-
-    setCursor(cursor);
-}
deleted file mode 100644
--- a/widget/qt/mozqwidget.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim: set ts=4 et sw=4 tw=80: */
-/* 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/. */
-
-#ifndef MOZQWIDGET_H
-#define MOZQWIDGET_H
-
-#include "nsIWidget.h"
-
-#include <QtGui/QWindow>
-
-QT_BEGIN_NAMESPACE
-class QPainter;
-class QExposeEvent;
-class QResizeEvent;
-QT_END_NAMESPACE
-
-namespace mozilla {
-namespace widget {
-
-class nsWindow;
-
-class MozQWidget : public QWindow
-{
-    Q_OBJECT
-public:
-    explicit MozQWidget(nsWindow* aReceiver, QWindow* aParent = 0);
-    ~MozQWidget();
-
-    virtual void render(QPainter* painter);
-
-    virtual nsWindow* getReceiver() { return mReceiver; };
-    virtual void dropReceiver() { mReceiver = nullptr; };
-    virtual void SetCursor(nsCursor aCursor);
-
-public Q_SLOTS:
-    void renderLater();
-    void renderNow();
-
-protected:
-    virtual bool event(QEvent* event);
-    virtual void exposeEvent(QExposeEvent* event);
-    virtual void focusInEvent(QFocusEvent* event);
-    virtual void focusOutEvent(QFocusEvent* event);
-    virtual void hideEvent(QHideEvent* event);
-    virtual void keyPressEvent(QKeyEvent* event);
-    virtual void keyReleaseEvent(QKeyEvent* event);
-    virtual void mouseDoubleClickEvent(QMouseEvent* event);
-    virtual void mouseMoveEvent(QMouseEvent* event);
-    virtual void mousePressEvent(QMouseEvent* event);
-    virtual void mouseReleaseEvent(QMouseEvent* event);
-    virtual void moveEvent(QMoveEvent* event);
-    virtual void resizeEvent(QResizeEvent* event);
-    virtual void showEvent(QShowEvent* event);
-    virtual void tabletEvent(QTabletEvent* event);
-    virtual void touchEvent(QTouchEvent* event);
-    virtual void wheelEvent(QWheelEvent* event);
-
-private:
-    nsWindow* mReceiver;
-    bool mUpdatePending;
-    nsWindowType mWindowType;
-};
-
-} // namespace widget
-} // namespace mozilla
-
-#endif // MOZQWIDGET_H
-
deleted file mode 100644
--- a/widget/qt/nsAppShell.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:expandtab:shiftwidth=4:tabstop=4:
- */
-/* 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/. */
-
-#include "nsAppShell.h"
-#include <QGuiApplication>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#include <qabstracteventdispatcher.h>
-#include <qthread.h>
-
-#include "prenv.h"
-#include "nsQAppInstance.h"
-
-#ifdef MOZ_LOGGING
-#include "mozilla/Logging.h"
-#endif
-
-PRLogModuleInfo *gWidgetLog = nullptr;
-PRLogModuleInfo *gWidgetFocusLog = nullptr;
-PRLogModuleInfo *gWidgetIMLog = nullptr;
-PRLogModuleInfo *gWidgetDrawLog = nullptr;
-
-static int sPokeEvent;
-
-nsAppShell::~nsAppShell()
-{
-    nsQAppInstance::Release();
-}
-
-nsresult
-nsAppShell::Init()
-{
-    if (!gWidgetLog)
-        gWidgetLog = PR_NewLogModule("Widget");
-    if (!gWidgetFocusLog)
-        gWidgetFocusLog = PR_NewLogModule("WidgetFocus");
-    if (!gWidgetIMLog)
-        gWidgetIMLog = PR_NewLogModule("WidgetIM");
-    if (!gWidgetDrawLog)
-        gWidgetDrawLog = PR_NewLogModule("WidgetDraw");
-
-    sPokeEvent = QEvent::registerEventType();
-
-    nsQAppInstance::AddRef();
-
-    return nsBaseAppShell::Init();
-}
-
-void
-nsAppShell::ScheduleNativeEventCallback()
-{
-    QCoreApplication::postEvent(this,
-                                new QEvent((QEvent::Type) sPokeEvent));
-}
-
-
-bool
-nsAppShell::ProcessNextNativeEvent(bool mayWait)
-{
-    QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents;
-
-    if (mayWait)
-        flags |= QEventLoop::WaitForMoreEvents;
-
-    QAbstractEventDispatcher *dispatcher =  QAbstractEventDispatcher::instance(QThread::currentThread());
-    if (!dispatcher)
-        return false;
-
-    return dispatcher->processEvents(flags) ? true : false;
-}
-
-bool
-nsAppShell::event (QEvent *e)
-{
-    if (e->type() == sPokeEvent) {
-        NativeEventCallback();
-        return true;
-    }
-
-    return false;
-}
deleted file mode 100644
--- a/widget/qt/nsAppShell.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: c++; tab-width: 2; indent-tabs-mode: nil; -*- */
-/* 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/. */
-
-#ifndef nsAppShell_h__
-#define nsAppShell_h__
-
-#include <qsocketnotifier.h>
-#include "nsBaseAppShell.h"
-#include "nsCOMPtr.h"
-
-/**
- * Native QT Application shell wrapper
- */
-
-class nsAppShell : public QObject,
-                   public nsBaseAppShell
-{
-  Q_OBJECT
-
-public:
-  nsAppShell() { };
-
-  nsresult Init();
-
-  virtual bool event (QEvent *e);
-
-protected:
-  virtual void ScheduleNativeEventCallback();
-  virtual bool ProcessNextNativeEvent(bool mayWait);
-  virtual ~nsAppShell();
-};
-
-
-#endif // nsAppShell_h__
-
deleted file mode 100644
--- a/widget/qt/nsBidiKeyboard.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:expandtab:shiftwidth=4:tabstop=4:
- */
-/* 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/. */
-
-#include <Qt>
-#include <QGuiApplication>
-
-#include "nsBidiKeyboard.h"
-
-NS_IMPL_ISUPPORTS(nsBidiKeyboard, nsIBidiKeyboard)
-
-nsBidiKeyboard::nsBidiKeyboard() : nsIBidiKeyboard()
-{
-  Reset();
-}
-
-nsBidiKeyboard::~nsBidiKeyboard()
-{
-}
-
-NS_IMETHODIMP nsBidiKeyboard::Reset()
-{
-  return NS_OK;
-}
-
-NS_IMETHODIMP nsBidiKeyboard::IsLangRTL(bool *aIsRTL)
-{
-    *aIsRTL = false;
-
-    QInputMethod* input = qApp->inputMethod();
-    Qt::LayoutDirection layoutDir = input ? input->inputDirection() : Qt::LeftToRight;
-
-    if (layoutDir == Qt::RightToLeft) {
-        *aIsRTL = true;
-    }
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP nsBidiKeyboard::GetHaveBidiKeyboards(bool* aResult)
-{
-  // not implemented yet
-  return NS_ERROR_NOT_IMPLEMENTED;
-}
deleted file mode 100644
--- a/widget/qt/nsBidiKeyboard.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:expandtab:shiftwidth=4:tabstop=4:
- */
-/* 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/. */
-
-#ifndef __nsBidiKeyboard
-#define __nsBidiKeyboard
-#include "nsIBidiKeyboard.h"
-
-class nsBidiKeyboard : public nsIBidiKeyboard
-{
-public:
-    NS_DECL_ISUPPORTS
-    NS_DECL_NSIBIDIKEYBOARD
-
-    nsBidiKeyboard();
-
-protected:
-    virtual ~nsBidiKeyboard();
-};
-
-
-#endif // __nsBidiKeyboard
deleted file mode 100644
--- a/widget/qt/nsClipboard.cpp
+++ /dev/null
@@ -1,568 +0,0 @@
-/* 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/. */
-
-#include <QGuiApplication>
-#include <QMimeData>
-#include <QString>
-#include <QStringList>
-#include <QByteArray>
-#include <QImage>
-#include <QImageWriter>
-#include <QBuffer>
-
-#include "gfxPlatform.h"
-#include "mozilla/ArrayUtils.h"
-#include "mozilla/gfx/2D.h"
-
-#include "nsClipboard.h"
-#include "nsISupportsPrimitives.h"
-#include "nsXPIDLString.h"
-#include "nsPrimitiveHelpers.h"
-#include "nsIInputStream.h"
-#include "nsReadableUtils.h"
-#include "nsStringStream.h"
-#include "nsComponentManagerUtils.h"
-
-#include "imgIContainer.h"
-
-using namespace mozilla;
-using namespace mozilla::gfx;
-
-NS_IMPL_ISUPPORTS(nsClipboard, nsIClipboard)
-
-//-------------------------------------------------------------------------
-//
-// nsClipboard constructor
-//
-//-------------------------------------------------------------------------
-nsClipboard::nsClipboard() : nsIClipboard(),
-                             mSelectionOwner(nullptr),
-                             mGlobalOwner(nullptr),
-                             mSelectionTransferable(nullptr),
-                             mGlobalTransferable(nullptr)
-{
-    // No implementation needed
-}
-
-//-------------------------------------------------------------------------
-//
-// nsClipboard destructor
-//
-//-------------------------------------------------------------------------
-nsClipboard::~nsClipboard()
-{
-}
-
-static inline QImage::Format
-_moz2dformat_to_qformat(SurfaceFormat aFormat)
-{
-    switch (aFormat) {
-    case SurfaceFormat::B8G8R8A8:
-        return QImage::Format_ARGB32_Premultiplied;
-    case SurfaceFormat::B8G8R8X8:
-        return QImage::Format_ARGB32;
-    case SurfaceFormat::R5G6B5_UINT16:
-        return QImage::Format_RGB16;
-    default:
-        return QImage::Format_Invalid;
-    }
-}
-
-// nsClipboard::SetNativeClipboardData ie. Copy
-
-NS_IMETHODIMP
-nsClipboard::SetNativeClipboardData( nsITransferable *aTransferable,
-                                     QClipboard::Mode clipboardMode )
-{
-    if (nullptr == aTransferable)
-    {
-        NS_WARNING("nsClipboard::SetNativeClipboardData(): no transferable!");
-        return NS_ERROR_FAILURE;
-    }
-
-    // get flavor list that includes all flavors that can be written (including
-    // ones obtained through conversion)
-    nsCOMPtr<nsISupportsArray> flavorList;
-    nsresult rv = aTransferable->FlavorsTransferableCanExport( getter_AddRefs(flavorList) );
-
-    if (NS_FAILED(rv))
-    {
-        NS_WARNING("nsClipboard::SetNativeClipboardData(): no FlavorsTransferable !");
-        return NS_ERROR_FAILURE;
-    }
-
-    QClipboard *cb = QGuiApplication::clipboard();
-    QMimeData *mimeData = new QMimeData;
-
-    uint32_t flavorCount = 0;
-    flavorList->Count(&flavorCount);
-    bool imageAdded = false;
-
-    for (uint32_t i = 0; i < flavorCount; ++i)
-    {
-        nsCOMPtr<nsISupports> genericFlavor;
-        flavorList->GetElementAt(i,getter_AddRefs(genericFlavor));
-        nsCOMPtr<nsISupportsCString> currentFlavor(do_QueryInterface(genericFlavor));
-        
-        if (currentFlavor)
-        {
-            // flavorStr is the mime type
-            nsXPIDLCString flavorStr;
-            currentFlavor->ToString(getter_Copies(flavorStr));
-
-            // Clip is the data which will be sent to the clipboard
-            nsCOMPtr<nsISupports> clip;
-            // len is the length of the data
-            uint32_t len;
-
-            // Unicode text?
-            if (!strcmp(flavorStr.get(), kUnicodeMime))
-            {
-                rv = aTransferable->GetTransferData(flavorStr,getter_AddRefs(clip),&len);
-                nsCOMPtr<nsISupportsString> wideString;
-                wideString = do_QueryInterface(clip);
-                if (!wideString || NS_FAILED(rv))
-                    continue;
-
-                nsAutoString utf16string;
-                wideString->GetData(utf16string);
-                QString str = QString::fromUtf16((const ushort*)utf16string.get());
-
-                // Add text to the mimeData
-                mimeData->setText(str);
-            }
-
-            // html?
-            else if (!strcmp(flavorStr.get(), kHTMLMime))
-            {
-                rv = aTransferable->GetTransferData(flavorStr,getter_AddRefs(clip),&len);
-                nsCOMPtr<nsISupportsString> wideString;
-                wideString = do_QueryInterface(clip);
-                if (!wideString || NS_FAILED(rv))
-                    continue;
-
-                nsAutoString utf16string;
-                wideString->GetData(utf16string);
-                QString str = QString::fromUtf16((const ushort*)utf16string.get());
-
-                // Add html to the mimeData
-                mimeData->setHtml(str);
-            }
-
-            // image?
-            else if (!imageAdded // image is added only once to the clipboard
-                     && (!strcmp(flavorStr.get(), kNativeImageMime)
-                     ||  !strcmp(flavorStr.get(), kPNGImageMime)
-                     ||  !strcmp(flavorStr.get(), kJPEGImageMime)
-                     ||  !strcmp(flavorStr.get(), kJPGImageMime)
-                     ||  !strcmp(flavorStr.get(), kGIFImageMime))
-                    )
-            {
-                // Look through our transfer data for the image
-                static const char* const imageMimeTypes[] = {
-                    kNativeImageMime, kPNGImageMime, kJPEGImageMime, kJPGImageMime, kGIFImageMime };
-                nsCOMPtr<nsISupportsInterfacePointer> ptrPrimitive;
-                for (uint32_t i = 0; !ptrPrimitive && i < ArrayLength(imageMimeTypes); i++)
-                {
-                    aTransferable->GetTransferData(imageMimeTypes[i], getter_AddRefs(clip), &len);
-                    ptrPrimitive = do_QueryInterface(clip);
-                }
-
-                if (!ptrPrimitive)
-                    continue;
-
-                nsCOMPtr<nsISupports> primitiveData;
-                ptrPrimitive->GetData(getter_AddRefs(primitiveData));
-                nsCOMPtr<imgIContainer> image(do_QueryInterface(primitiveData));
-                if (!image)  // Not getting an image for an image mime type!?
-                   continue;
-
-                RefPtr<SourceSurface> surface =
-                  image->GetFrame(imgIContainer::FRAME_CURRENT,
-                                  imgIContainer::FLAG_SYNC_DECODE);
-                if (!surface)
-                  continue;
-
-                RefPtr<DataSourceSurface> dataSurface =
-                  surface->GetDataSurface();
-                if (!dataSurface)
-                  continue;
-
-                DataSourceSurface::MappedSurface map;
-                if (!dataSurface->Map(DataSourceSurface::MapType::READ, &map))
-                  continue;
-
-                QImage qImage(map.mData,
-                              dataSurface->GetSize().width,
-                              dataSurface->GetSize().height,
-                              map.mStride,
-                              _moz2dformat_to_qformat(dataSurface->GetFormat()));
-
-                dataSurface->Unmap();
-
-                // Add image to the mimeData
-                mimeData->setImageData(qImage);
-                imageAdded = true;
-            }
-
-            // Other flavors, adding data to clipboard "as is"
-            else
-            {
-                rv = aTransferable->GetTransferData(flavorStr.get(), getter_AddRefs(clip), &len);
-                // nothing found?
-                if (!clip || NS_FAILED(rv))
-                    continue;
-
-                void *primitive_data = nullptr;
-                nsPrimitiveHelpers::CreateDataFromPrimitive(flavorStr.get(), clip,
-                                                            &primitive_data, len);
-
-                if (primitive_data)
-                {
-                    QByteArray data ((const char *)primitive_data, len);
-                    // Add data to the mimeData
-                    mimeData->setData(flavorStr.get(), data);
-                    free(primitive_data);
-                }
-            }
-        }
-    }
-
-    // If we have some mime data, add it to the clipboard
-    if(!mimeData->formats().isEmpty())
-        cb->setMimeData(mimeData, clipboardMode);
-    else
-        delete mimeData;
-
-    return NS_OK;
-}
-
-// nsClipboard::GetNativeClipboardData ie. Paste
-//
-NS_IMETHODIMP
-nsClipboard::GetNativeClipboardData(nsITransferable *aTransferable,
-                                    QClipboard::Mode clipboardMode)
-{
-    if (nullptr == aTransferable)
-    {
-        NS_WARNING("GetNativeClipboardData: Transferable is null!");
-        return NS_ERROR_FAILURE;
-    }
-
-    // get flavor list that includes all acceptable flavors (including
-    // ones obtained through conversion)
-    nsCOMPtr<nsISupportsArray> flavorList;
-    nsresult errCode = aTransferable->FlavorsTransferableCanImport(
-        getter_AddRefs(flavorList));
-
-    if (NS_FAILED(errCode))
-    {
-        NS_WARNING("nsClipboard::GetNativeClipboardData(): no FlavorsTransferable!");
-        return NS_ERROR_FAILURE;
-    }
-
-    QClipboard *cb = QGuiApplication::clipboard();
-    const QMimeData *mimeData = cb->mimeData(clipboardMode);
-
-    // Walk through flavors and see which flavor matches the one being pasted
-    uint32_t flavorCount;
-    flavorList->Count(&flavorCount);
-    nsAutoCString foundFlavor;
-
-    for (uint32_t i = 0; i < flavorCount; ++i)
-    {
-        nsCOMPtr<nsISupports> genericFlavor;
-        flavorList->GetElementAt(i,getter_AddRefs(genericFlavor));
-        nsCOMPtr<nsISupportsCString> currentFlavor(do_QueryInterface( genericFlavor) );
-
-        if (currentFlavor)
-        {
-            nsXPIDLCString flavorStr;
-            currentFlavor->ToString(getter_Copies(flavorStr));
-
-            // Ok, so which flavor the data being pasted could be?
-            // Text?
-            if (!strcmp(flavorStr.get(), kUnicodeMime) && mimeData->hasText())
-            {
-                // Clipboard has text and flavor accepts text, so lets
-                // handle the data as text
-                foundFlavor = nsAutoCString(flavorStr);
-
-                // Get the text data from clipboard
-                QString text = mimeData->text();
-                const QChar *unicode = text.unicode();
-                // Is there a more correct way to get the size in UTF16?
-                uint32_t len = (uint32_t) 2*text.size();
-
-                // And then to genericDataWrapper
-                nsCOMPtr<nsISupports> genericDataWrapper;
-                nsPrimitiveHelpers::CreatePrimitiveForData(
-                        foundFlavor.get(),
-                        (void*)unicode,
-                        len,
-                        getter_AddRefs(genericDataWrapper));
-                // Data is good, set it to the transferable
-                aTransferable->SetTransferData(foundFlavor.get(),
-                                               genericDataWrapper,len);
-                // And thats all
-                break;
-            }
-
-            // html?
-            if (!strcmp(flavorStr.get(), kHTMLMime) && mimeData->hasHtml())
-            {
-                // Clipboard has text/html and flavor accepts text/html, so lets
-                // handle the data as text/html
-                foundFlavor = nsAutoCString(flavorStr);
-
-                // Get the text data from clipboard
-                QString html = mimeData->html();
-                const QChar *unicode = html.unicode();
-                // Is there a more correct way to get the size in UTF16?
-                uint32_t len = (uint32_t) 2*html.size();
-
-                // And then to genericDataWrapper
-                nsCOMPtr<nsISupports> genericDataWrapper;
-                nsPrimitiveHelpers::CreatePrimitiveForData(
-                        foundFlavor.get(),
-                        (void*)unicode,
-                        len,
-                        getter_AddRefs(genericDataWrapper));
-                // Data is good, set it to the transferable
-                aTransferable->SetTransferData(foundFlavor.get(),
-                                               genericDataWrapper,len);
-                // And thats all
-                break;
-            }
-
-            // Image?
-            if ((  !strcmp(flavorStr.get(), kJPEGImageMime)
-                || !strcmp(flavorStr.get(), kJPGImageMime)
-                || !strcmp(flavorStr.get(), kPNGImageMime)
-                || !strcmp(flavorStr.get(), kGIFImageMime))
-                && mimeData->hasImage())
-            {
-                // Try to retrieve an image from clipboard
-                QImage image = cb->image();
-                if(image.isNull())
-                    continue;
-
-                // Lets set the image format
-                QByteArray imageFormat;
-                if (!strcmp(flavorStr.get(), kJPEGImageMime) || !strcmp(flavorStr.get(), kJPGImageMime))
-                    imageFormat = "jpeg";
-                else if (!strcmp(flavorStr.get(), kPNGImageMime))
-                    imageFormat = "png";
-                else if (!strcmp(flavorStr.get(), kGIFImageMime))
-                    imageFormat = "gif";
-                else
-                    continue;
-
-                // Write image from clippboard to a QByteArrayBuffer
-                QByteArray imageData;
-                QBuffer imageBuffer(&imageData);
-                QImageWriter imageWriter(&imageBuffer, imageFormat);
-                if(!imageWriter.write(image))
-                    continue;
-
-                // Add the data to inputstream
-                nsCOMPtr<nsIInputStream> byteStream;
-                NS_NewByteInputStream(getter_AddRefs(byteStream), imageData.constData(),
-                                      imageData.size(), NS_ASSIGNMENT_COPY);
-                // Data is good, set it to the transferable
-                aTransferable->SetTransferData(flavorStr, byteStream, sizeof(nsIInputStream*));
-
-                imageBuffer.close();
-
-                // And thats all
-                break;
-            }
-
-            // Other mimetype?
-            // Trying to forward the data "as is"
-            if(mimeData->hasFormat(flavorStr.get()))
-            {
-                // get the data from the clipboard
-                QByteArray clipboardData = mimeData->data(flavorStr.get());
-                // And add it to genericDataWrapper
-                nsCOMPtr<nsISupports> genericDataWrapper;
-                nsPrimitiveHelpers::CreatePrimitiveForData(
-                        foundFlavor.get(),
-                        (void*) clipboardData.data(),
-                        clipboardData.size(),
-                        getter_AddRefs(genericDataWrapper));
-
-                // Data is good, set it to the transferable
-                aTransferable->SetTransferData(foundFlavor.get(),
-                                               genericDataWrapper,clipboardData.size());
-                // And thats all
-                break;
-            }
-        }
-    }
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsClipboard::HasDataMatchingFlavors(const char** aFlavorList, uint32_t aLength,
-                                    int32_t aWhichClipboard, bool *_retval)
-{
-    *_retval = false;
-    if (aWhichClipboard != kGlobalClipboard)
-        return NS_OK;
-
-    // Which kind of data in the clipboard
-    QClipboard *cb = QGuiApplication::clipboard();
-    const QMimeData *mimeData = cb->mimeData();
-    const char *flavor=nullptr;
-    QStringList formats = mimeData->formats();
-    for (uint32_t i = 0; i < aLength; ++i)
-    {
-        flavor = aFlavorList[i];
-        if (flavor)
-        {
-            QString qflavor(flavor);
-
-            if (strcmp(flavor,kTextMime) == 0)
-            {
-                NS_WARNING("DO NOT USE THE text/plain DATA FLAVOR ANY MORE. USE text/unicode INSTEAD");
-            }
-
-            // QClipboard says it has text/plain, mozilla wants to
-            // know if the data is text/unicode -> interpret text/plain to text/unicode
-            if (formats.contains(qflavor) ||
-                strcmp(flavor, kUnicodeMime) == 0)
-            {
-                // A match has been found, return'
-                *_retval = true;
-                break;
-            }
-        }
-    }
-    return NS_OK;
-}
-
-/**
- * Sets the transferable object
- */
-NS_IMETHODIMP
-nsClipboard::SetData(nsITransferable *aTransferable,
-                     nsIClipboardOwner *aOwner,
-                     int32_t aWhichClipboard)
-{
-    // See if we can short cut
-    if (
-        (aWhichClipboard == kGlobalClipboard
-           && aTransferable == mGlobalTransferable.get()
-           && aOwner == mGlobalOwner.get()
-        )
-       ||
-        (aWhichClipboard == kSelectionClipboard
-         && aTransferable == mSelectionTransferable.get()
-         && aOwner == mSelectionOwner.get()
-        )
-       )
-    {
-        return NS_OK;
-    }
-
-    EmptyClipboard(aWhichClipboard);
-
-    QClipboard::Mode mode;
-
-    if (kGlobalClipboard == aWhichClipboard)
-    {
-        mGlobalOwner = aOwner;
-        mGlobalTransferable = aTransferable;
-
-        mode = QClipboard::Clipboard;
-    }
-    else
-    {
-        mSelectionOwner = aOwner;
-        mSelectionTransferable = aTransferable;
-
-        mode = QClipboard::Selection;
-    }
-    return SetNativeClipboardData( aTransferable, mode );
-}
-
-/**
- * Gets the transferable object
- */
-NS_IMETHODIMP
-nsClipboard::GetData(nsITransferable *aTransferable, int32_t aWhichClipboard)
-{
-    if (nullptr != aTransferable)
-    {
-        QClipboard::Mode mode;
-        if (kGlobalClipboard == aWhichClipboard)
-        {
-            mode = QClipboard::Clipboard;
-        }
-        else
-        {
-            mode = QClipboard::Selection;
-        }
-        return GetNativeClipboardData(aTransferable, mode);
-    }
-    else
-    {
-        NS_WARNING("nsClipboard::GetData(), aTransferable is NULL.");
-    }
-    return NS_ERROR_FAILURE;
-}
-
-NS_IMETHODIMP
-nsClipboard::EmptyClipboard(int32_t aWhichClipboard)
-{
-    if (aWhichClipboard == kSelectionClipboard)
-    {
-        if (mSelectionOwner)
-        {
-            mSelectionOwner->LosingOwnership(mSelectionTransferable);
-            mSelectionOwner = nullptr;
-        }
-        mSelectionTransferable = nullptr;
-    }
-    else
-    {
-        if (mGlobalOwner)
-        {
-            mGlobalOwner->LosingOwnership(mGlobalTransferable);
-            mGlobalOwner = nullptr;
-        }
-        mGlobalTransferable = nullptr;
-    }
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsClipboard::SupportsSelectionClipboard(bool *_retval)
-{
-    NS_ENSURE_ARG_POINTER(_retval);
-
-    QClipboard *cb = QGuiApplication::clipboard();
-    if (cb->supportsSelection())
-    {
-        *_retval = true; // we support the selection clipboard 
-    }
-    else
-    {
-        *_retval = false;
-    }
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsClipboard::SupportsFindClipboard(bool* _retval)
-{
-  NS_ENSURE_ARG_POINTER(_retval);
-
-  *_retval = false;
-  return NS_OK;
-}
deleted file mode 100644
--- a/widget/qt/nsClipboard.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* 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/. */
-#ifndef nsClipboard_h__
-#define nsClipboard_h__
-
-#include "nsIClipboard.h"
-#include "nsITransferable.h"
-#include "nsIClipboardOwner.h"
-#include "nsCOMPtr.h"
-
-#include <qclipboard.h>
-
-/* Native Qt Clipboard wrapper */
-class nsClipboard : public nsIClipboard
-{
-public:
-    nsClipboard();
-
-    //nsISupports
-    NS_DECL_ISUPPORTS
-
-    // nsIClipboard
-    NS_DECL_NSICLIPBOARD
-
-protected:
-    virtual ~nsClipboard();
-
-    NS_IMETHOD SetNativeClipboardData(nsITransferable *aTransferable,
-                                      QClipboard::Mode cbMode);
-    NS_IMETHOD GetNativeClipboardData(nsITransferable *aTransferable,
-                                      QClipboard::Mode cbMode);
-
-    nsCOMPtr<nsIClipboardOwner> mSelectionOwner;
-    nsCOMPtr<nsIClipboardOwner> mGlobalOwner;
-    nsCOMPtr<nsITransferable>   mSelectionTransferable;
-    nsCOMPtr<nsITransferable>   mGlobalTransferable;
-};
-
-#endif // nsClipboard_h__
deleted file mode 100644
--- a/widget/qt/nsDeviceContextSpecQt.cpp
+++ /dev/null
@@ -1,249 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* 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/. */
-
-
-#include <QTemporaryFile>
-#include <QPrinterInfo>
-
-#define SET_PRINTER_FEATURES_VIA_PREFS 1
-#define PRINTERFEATURES_PREF "print.tmp.printerfeatures"
-
-#include "mozilla/gfx/PrintTargetPDF.h"
-#include "mozilla/Logging.h"
-
-#include "plstr.h"
-
-#include "nsDeviceContextSpecQt.h"
-
-#include "prenv.h" /* for PR_GetEnv */
-
-#include "nsReadableUtils.h"
-#include "nsStringEnumerator.h"
-#include "nsIServiceManager.h"
-#include "nsPrintSettingsQt.h"
-#include "nsIFileStreams.h"
-#include "nsIFile.h"
-#include "nsTArray.h"
-
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-using namespace mozilla;
-using namespace mozilla::gfx;
-
-static PRLogModuleInfo* DeviceContextSpecQtLM =
-    PR_NewLogModule("DeviceContextSpecQt");
-/* Macro to make lines shorter */
-#define DO_PR_DEBUG_LOG(x) MOZ_LOG(DeviceContextSpecQtLM, mozilla::LogLevel::Debug, x)
-
-nsDeviceContextSpecQt::nsDeviceContextSpecQt()
-{
-    DO_PR_DEBUG_LOG(("nsDeviceContextSpecQt::nsDeviceContextSpecQt()\n"));
-}
-
-nsDeviceContextSpecQt::~nsDeviceContextSpecQt()
-{
-    DO_PR_DEBUG_LOG(("nsDeviceContextSpecQt::~nsDeviceContextSpecQt()\n"));
-}
-
-NS_IMPL_ISUPPORTS(nsDeviceContextSpecQt,
-        nsIDeviceContextSpec)
-
-already_AddRefed<PrintTarget> nsDeviceContextSpecQt::MakePrintTarget()
-{
-    double width, height;
-    mPrintSettings->GetEffectivePageSize(&width, &height);
-
-    // If we're in landscape mode, we'll be rotating the output --
-    // need to swap width & height.
-    int32_t orientation;
-    mPrintSettings->GetOrientation(&orientation);
-    if (nsIPrintSettings::kLandscapeOrientation == orientation) {
-        double tmp = width;
-        width = height;
-        height = tmp;
-    }
-
-    // convert twips to points
-    width  /= TWIPS_PER_POINT_FLOAT;
-    height /= TWIPS_PER_POINT_FLOAT;
-
-    DO_PR_DEBUG_LOG(("\"%s\", %f, %f\n", mPath, width, height));
-
-    QTemporaryFile file;
-    if(!file.open()) {
-        return nullptr;
-    }
-    file.setAutoRemove(false);
-
-    nsresult rv = NS_NewNativeLocalFile(
-            nsDependentCString(file.fileName().toUtf8().constData()),
-            false,
-            getter_AddRefs(mSpoolFile));
-    if (NS_FAILED(rv)) {
-        file.remove();
-        return nullptr;
-    }
-
-    mSpoolName = file.fileName().toUtf8().constData();
-
-    mSpoolFile->SetPermissions(0600);
-
-    nsCOMPtr<nsIFileOutputStream> stream =
-        do_CreateInstance("@mozilla.org/network/file-output-stream;1");
-
-    rv = stream->Init(mSpoolFile, -1, -1, 0);
-    if (NS_FAILED(rv))
-        return nullptr;
-
-    int16_t format;
-    mPrintSettings->GetOutputFormat(&format);
-
-    if (format == nsIPrintSettings::kOutputFormatNative) {
-        if (mIsPPreview) {
-            // There is nothing to detect on Print Preview, use PS.
-            // TODO: implement for Qt?
-            //format = nsIPrintSettings::kOutputFormatPS;
-            return nullptr;
-        }
-        format = nsIPrintSettings::kOutputFormatPDF;
-    }
-
-    if (format == nsIPrintSettings::kOutputFormatPDF) {
-        return PrintTargetPDF::CreateOrNull(stream, IntSize(width, height));
-    }
-
-    return nullptr;
-}
-
-NS_IMETHODIMP nsDeviceContextSpecQt::Init(nsIWidget* aWidget,
-        nsIPrintSettings* aPS,
-        bool aIsPrintPreview)
-{
-    DO_PR_DEBUG_LOG(("nsDeviceContextSpecQt::Init(aPS=%p)\n", aPS));
-
-    mPrintSettings = aPS;
-    mIsPPreview = aIsPrintPreview;
-
-    // This is only set by embedders
-    bool toFile;
-    aPS->GetPrintToFile(&toFile);
-
-    mToPrinter = !toFile && !aIsPrintPreview;
-
-    nsCOMPtr<nsPrintSettingsQt> printSettingsQt(do_QueryInterface(aPS));
-    if (!printSettingsQt)
-        return NS_ERROR_NO_INTERFACE;
-    return NS_OK;
-}
-
-NS_IMETHODIMP nsDeviceContextSpecQt::BeginDocument(
-        const nsAString& aTitle,
-        const nsAString& aPrintToFileName,
-        int32_t aStartPage,
-        int32_t aEndPage)
-{
-    if (mToPrinter) {
-        return NS_ERROR_NOT_IMPLEMENTED;
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP nsDeviceContextSpecQt::EndDocument()
-{
-    if (mToPrinter) {
-        return NS_ERROR_NOT_IMPLEMENTED;
-    }
-    // Handle print-to-file ourselves for the benefit of embedders
-    nsXPIDLString targetPath;
-    nsCOMPtr<nsIFile> destFile;
-    mPrintSettings->GetToFileName(getter_Copies(targetPath));
-
-    nsresult rv = NS_NewNativeLocalFile(NS_ConvertUTF16toUTF8(targetPath),
-            false, getter_AddRefs(destFile));
-    NS_ENSURE_SUCCESS(rv, rv);
-
-    nsAutoString destLeafName;
-    rv = destFile->GetLeafName(destLeafName);
-    NS_ENSURE_SUCCESS(rv, rv);
-
-    nsCOMPtr<nsIFile> destDir;
-    rv = destFile->GetParent(getter_AddRefs(destDir));
-    NS_ENSURE_SUCCESS(rv, rv);
-
-    rv = mSpoolFile->MoveTo(destDir, destLeafName);
-    NS_ENSURE_SUCCESS(rv, rv);
-
-    // This is the standard way to get the UNIX umask. Ugh.
-    mode_t mask = umask(0);
-    umask(mask);
-    // If you're not familiar with umasks, they contain the bits of what NOT
-    // to set in the permissions
-    // (thats because files and directories have different numbers of bits
-    // for their permissions)
-    destFile->SetPermissions(0666 & ~(mask));
-
-    return NS_OK;
-}
-
-//  Printer Enumerator
-nsPrinterEnumeratorQt::nsPrinterEnumeratorQt()
-{
-}
-
-nsPrinterEnumeratorQt::~nsPrinterEnumeratorQt()
-{
-}
-
-NS_IMPL_ISUPPORTS(nsPrinterEnumeratorQt, nsIPrinterEnumerator)
-
-NS_IMETHODIMP nsPrinterEnumeratorQt::GetPrinterNameList(
-        nsIStringEnumerator** aPrinterNameList)
-{
-    NS_ENSURE_ARG_POINTER(aPrinterNameList);
-    *aPrinterNameList = nullptr;
-
-    QList<QPrinterInfo> qprinters = QPrinterInfo::availablePrinters();
-    if (qprinters.size() == 0)
-        return NS_ERROR_NOT_AVAILABLE;
-
-    nsTArray<nsString>* printers =
-        new nsTArray<nsString>(qprinters.size()); 
-
-    for (int32_t i = 0; i < qprinters.size(); ++i) {
-        printers->AppendElement(
-                nsDependentString(
-                    (const char16_t*)qprinters[i].printerName().constData()));
-    }
-
-    return NS_NewAdoptingStringEnumerator(aPrinterNameList, printers);
-}
-
-NS_IMETHODIMP nsPrinterEnumeratorQt::GetDefaultPrinterName(
-        char16_t** aDefaultPrinterName)
-{
-    DO_PR_DEBUG_LOG(("nsPrinterEnumeratorQt::GetDefaultPrinterName()\n"));
-    NS_ENSURE_ARG_POINTER(aDefaultPrinterName);
-
-    QString defprinter = QPrinterInfo::defaultPrinter().printerName();
-    *aDefaultPrinterName = ToNewUnicode(nsDependentString(
-        (const char16_t*)defprinter.constData()));
-
-    DO_PR_DEBUG_LOG(("GetDefaultPrinterName(): default printer='%s'.\n",
-        NS_ConvertUTF16toUTF8(*aDefaultPrinterName).get()));
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP nsPrinterEnumeratorQt::InitPrintSettingsFromPrinter(
-        const char16_t* aPrinterName,
-        nsIPrintSettings* aPrintSettings)
-{
-    DO_PR_DEBUG_LOG(("nsPrinterEnumeratorQt::InitPrintSettingsFromPrinter()"));
-    // XXX Leave NS_OK for now
-    // Probably should use NS_ERROR_NOT_IMPLEMENTED
-    return NS_OK;
-}
deleted file mode 100644
--- a/widget/qt/nsDeviceContextSpecQt.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* 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/. */
-
-
-#ifndef nsDeviceContextSpecQt_h___
-#define nsDeviceContextSpecQt_h___
-
-#include "nsIDeviceContextSpec.h"
-#include "nsIPrintSettings.h"
-#include "nsIPrintOptions.h"
-#include "nsCOMPtr.h"
-#include "nsString.h"
-
-#include "nsCRT.h" /* should be <limits.h>? */
-
-class nsDeviceContextSpecQt : public nsIDeviceContextSpec
-{
-public:
-    nsDeviceContextSpecQt();
-
-    NS_DECL_ISUPPORTS
-
-    virtual already_AddRefed<PrintTarget> MakePrintTarget() final;
-
-    NS_IMETHOD Init(nsIWidget* aWidget,
-                    nsIPrintSettings* aPS,
-                    bool aIsPrintPreview);
-    NS_IMETHOD BeginDocument(const nsAString& aTitle,
-                             const nsAString& aPrintToFileName,
-                             int32_t aStartPage,
-                             int32_t aEndPage);
-    NS_IMETHOD EndDocument();
-    NS_IMETHOD BeginPage() { return NS_OK; }
-    NS_IMETHOD EndPage() { return NS_OK; }
-
-protected:
-    virtual ~nsDeviceContextSpecQt();
-
-    nsCOMPtr<nsIPrintSettings> mPrintSettings;
-    bool mToPrinter : 1;      /* If true, print to printer */
-    bool mIsPPreview : 1;     /* If true, is print preview */
-    char   mPath[PATH_MAX];     /* If toPrinter = false, dest file */
-    char   mPrinter[256];       /* Printer name */
-    nsCString         mSpoolName;
-    nsCOMPtr<nsIFile> mSpoolFile;
-};
-
-class nsPrinterEnumeratorQt : public nsIPrinterEnumerator
-{
-public:
-    nsPrinterEnumeratorQt();
-    NS_DECL_ISUPPORTS
-    NS_DECL_NSIPRINTERENUMERATOR
-
-protected:
-    virtual ~nsPrinterEnumeratorQt();
-
-};
-
-#endif /* !nsDeviceContextSpecQt_h___ */
deleted file mode 100644
--- a/widget/qt/nsIdleServiceQt.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:expandtab:shiftwidth=4:tabstop=4:
- */
-/* 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/. */
-
-#ifdef MOZ_X11
-#include "mozilla/X11Util.h"
-#endif
-#include "nsIdleServiceQt.h"
-#include "nsIServiceManager.h"
-#include "nsDebug.h"
-#include "prlink.h"
-
-#if defined(MOZ_X11)
-typedef bool (*_XScreenSaverQueryExtension_fn)(Display* dpy, int* event_base,
-                                                 int* error_base);
-
-typedef XScreenSaverInfo* (*_XScreenSaverAllocInfo_fn)(void);
-
-typedef void (*_XScreenSaverQueryInfo_fn)(Display* dpy, Drawable drw,
-                                          XScreenSaverInfo *info);
-
-static _XScreenSaverQueryExtension_fn _XSSQueryExtension = nullptr;
-static _XScreenSaverAllocInfo_fn _XSSAllocInfo = nullptr;
-static _XScreenSaverQueryInfo_fn _XSSQueryInfo = nullptr;
-#endif
-
-static bool sInitialized = false;
-
-NS_IMPL_ISUPPORTS_INHERITED0(nsIdleServiceQt, nsIdleService)
-
-nsIdleServiceQt::nsIdleServiceQt()
-#if defined(MOZ_X11)
-    : mXssInfo(nullptr)
-#endif
-{
-}
-
-static void Initialize()
-{
-    sInitialized = true;
-
-#if defined(MOZ_X11)
-    // This will leak - See comments in ~nsIdleServiceQt().
-    PRLibrary* xsslib = PR_LoadLibrary("libXss.so.1");
-    if (!xsslib) {
-        return;
-    }
-
-    _XSSQueryExtension = (_XScreenSaverQueryExtension_fn)
-        PR_FindFunctionSymbol(xsslib, "XScreenSaverQueryExtension");
-    _XSSAllocInfo = (_XScreenSaverAllocInfo_fn)
-        PR_FindFunctionSymbol(xsslib, "XScreenSaverAllocInfo");
-    _XSSQueryInfo = (_XScreenSaverQueryInfo_fn)
-        PR_FindFunctionSymbol(xsslib, "XScreenSaverQueryInfo");
-#endif
-}
-
-nsIdleServiceQt::~nsIdleServiceQt()
-{
-#if defined(MOZ_X11)
-    if (mXssInfo)
-        XFree(mXssInfo);
-
-// It is not safe to unload libXScrnSaver until each display is closed because
-// the library registers callbacks through XESetCloseDisplay (Bug 397607).
-// (Also the library and its functions are scoped for the file not the object.)
-#if 0
-    if (xsslib) {
-        PR_UnloadLibrary(xsslib);
-        xsslib = nullptr;
-    }
-#endif
-#endif
-}
-
-bool
-nsIdleServiceQt::PollIdleTime(uint32_t *aIdleTime)
-{
-#if defined(MOZ_X11)
-    // Ask xscreensaver about idle time:
-    *aIdleTime = 0;
-
-    // We might not have a display (cf. in xpcshell)
-    Display *dplay = mozilla::DefaultXDisplay();
-    if (!dplay) {
-        return false;
-    }
-
-    if (!sInitialized) {
-        Initialize();
-    }
-    if (!_XSSQueryExtension || !_XSSAllocInfo || !_XSSQueryInfo) {
-        return false;
-    }
-
-    int event_base, error_base;
-    if (_XSSQueryExtension(dplay, &event_base, &error_base)) {
-        if (!mXssInfo)
-            mXssInfo = _XSSAllocInfo();
-        if (!mXssInfo)
-            return false;
-
-        _XSSQueryInfo(dplay, RootWindowOfScreen(DefaultScreenOfDisplay(mozilla::DefaultXDisplay())), mXssInfo);
-        *aIdleTime = mXssInfo->idle;
-        return true;
-    }
-#endif
-
-    return false;
-}
-
-bool
-nsIdleServiceQt::UsePollMode()
-{
-#if defined(MOZ_X11)
-    return false;
-#endif
-    return true;
-}
-
deleted file mode 100644
--- a/widget/qt/nsIdleServiceQt.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:expandtab:shiftwidth=4:tabstop=4:
- */
-/* 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/. */
-
-#ifndef nsIdleServiceQt_h__
-#define nsIdleServiceQt_h__
-
-#include "nsIdleService.h"
-
-#if defined(MOZ_X11)
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-
-typedef struct {
-    Window window;              // Screen saver window
-    int state;                  // ScreenSaver(Off,On,Disabled)
-    int kind;                   // ScreenSaver(Blanked,Internal,External)
-    unsigned long til_or_since; // milliseconds since/til screensaver kicks in
-    unsigned long idle;         // milliseconds idle
-    unsigned long event_mask;   // event stuff
-} XScreenSaverInfo;
-#endif
-
-class nsIdleServiceQt : public nsIdleService
-{
-public:
-    NS_DECL_ISUPPORTS_INHERITED
-
-    bool PollIdleTime(uint32_t* aIdleTime);
-
-    static already_AddRefed<nsIdleServiceQt> GetInstance()
-    {
-        RefPtr<nsIdleServiceQt> idleService =
-            nsIdleService::GetInstance().downcast<nsIdleServiceQt>();
-        if (!idleService) {
-            idleService = new nsIdleServiceQt();
-        }
-        
-        return idleService.forget();
-    }
-
-private:
-#if defined(MOZ_X11)
-    XScreenSaverInfo* mXssInfo;
-#endif
-
-protected:
-    nsIdleServiceQt();
-    virtual ~nsIdleServiceQt();
-    bool UsePollMode();
-};
-
-#endif // nsIdleServiceQt_h__
deleted file mode 100644
--- a/widget/qt/nsLookAndFeel.cpp
+++ /dev/null
@@ -1,457 +0,0 @@
-/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* Copyright 2012 Mozilla Foundation and Mozilla contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <QGuiApplication>
-#include <QFont>
-#include <QScreen>
-#include <QPalette>
-
-#include "nsLookAndFeel.h"
-#include "nsStyleConsts.h"
-#include "gfxFont.h"
-#include "gfxFontConstants.h"
-#include "mozilla/gfx/2D.h"
-
-static const char16_t UNICODE_BULLET = 0x2022;
-
-#define QCOLOR_TO_NS_RGB(c)                     \
-  ((nscolor)NS_RGB(c.red(),c.green(),c.blue()))
-
-nsLookAndFeel::nsLookAndFeel()
-    : nsXPLookAndFeel()
-{
-}
-
-nsLookAndFeel::~nsLookAndFeel()
-{
-}
-
-nsresult
-nsLookAndFeel::NativeGetColor(ColorID aID, nscolor &aColor)
-{
-    nsresult rv = NS_OK;
-
-#define BG_PRELIGHT_COLOR     NS_RGB(0xee,0xee,0xee)
-#define FG_PRELIGHT_COLOR     NS_RGB(0x77,0x77,0x77)
-#define RED_COLOR             NS_RGB(0xff,0x00,0x00)
-
-    QPalette palette = QGuiApplication::palette();
-
-    switch (aID) {
-        // These colors don't seem to be used for anything anymore in Mozilla
-        // (except here at least TextSelectBackground and TextSelectForeground)
-        // The CSS2 colors below are used.
-    case eColorID_WindowBackground:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_WindowForeground:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::WindowText));
-        break;
-    case eColorID_WidgetBackground:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_WidgetForeground:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::WindowText));
-        break;
-    case eColorID_WidgetSelectBackground:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_WidgetSelectForeground:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::WindowText));
-        break;
-    case eColorID_Widget3DHighlight:
-        aColor = NS_RGB(0xa0,0xa0,0xa0);
-        break;
-    case eColorID_Widget3DShadow:
-        aColor = NS_RGB(0x40,0x40,0x40);
-        break;
-    case eColorID_TextBackground:
-        // not used?
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_TextForeground:
-        // not used?
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::WindowText));
-        break;
-    case eColorID_TextSelectBackground:
-    case eColorID_IMESelectedRawTextBackground:
-    case eColorID_IMESelectedConvertedTextBackground:
-        // still used
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Highlight));
-        break;
-    case eColorID_TextSelectForeground:
-    case eColorID_IMESelectedRawTextForeground:
-    case eColorID_IMESelectedConvertedTextForeground:
-        // still used
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::HighlightedText));
-        break;
-    case eColorID_IMERawInputBackground:
-    case eColorID_IMEConvertedTextBackground:
-        aColor = NS_TRANSPARENT;
-        break;
-    case eColorID_IMERawInputForeground:
-    case eColorID_IMEConvertedTextForeground:
-        aColor = NS_SAME_AS_FOREGROUND_COLOR;
-        break;
-    case eColorID_IMERawInputUnderline:
-    case eColorID_IMEConvertedTextUnderline:
-        aColor = NS_SAME_AS_FOREGROUND_COLOR;
-        break;
-    case eColorID_IMESelectedRawTextUnderline:
-    case eColorID_IMESelectedConvertedTextUnderline:
-        aColor = NS_TRANSPARENT;
-        break;
-    case eColorID_SpellCheckerUnderline:
-        aColor = RED_COLOR;
-        break;
-
-        // css2  http://www.w3.org/TR/REC-CSS2/ui.html#system-colors
-    case eColorID_activeborder:
-        // active window border
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_activecaption:
-        // active window caption background
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_appworkspace:
-        // MDI background color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_background:
-        // desktop background
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_captiontext:
-        // text in active window caption, size box, and scrollbar arrow box (!)
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Text));
-        break;
-    case eColorID_graytext:
-        // disabled text in windows, menus, etc.
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Disabled, QPalette::Text));
-        break;
-    case eColorID_highlight:
-        // background of selected item
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Highlight));
-        break;
-    case eColorID_highlighttext:
-        // text of selected item
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::HighlightedText));
-        break;
-    case eColorID_inactiveborder:
-        // inactive window border
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Disabled, QPalette::Window));
-        break;
-    case eColorID_inactivecaption:
-        // inactive window caption
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Disabled, QPalette::Window));
-        break;
-    case eColorID_inactivecaptiontext:
-        // text in inactive window caption
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Disabled, QPalette::Text));
-        break;
-    case eColorID_infobackground:
-        // tooltip background color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::ToolTipBase));
-        break;
-    case eColorID_infotext:
-        // tooltip text color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::ToolTipText));
-        break;
-    case eColorID_menu:
-        // menu background
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID_menutext:
-        // menu text
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Text));
-        break;
-    case eColorID_scrollbar:
-        // scrollbar gray area
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Mid));
-        break;
-
-    case eColorID_threedface:
-    case eColorID_buttonface:
-        // 3-D face color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Button));
-        break;
-
-    case eColorID_buttontext:
-        // text on push buttons
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::ButtonText));
-        break;
-
-    case eColorID_buttonhighlight:
-        // 3-D highlighted edge color
-    case eColorID_threedhighlight:
-        // 3-D highlighted outer edge color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Dark));
-        break;
-
-    case eColorID_threedlightshadow:
-        // 3-D highlighted inner edge color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Light));
-        break;
-
-    case eColorID_buttonshadow:
-        // 3-D shadow edge color
-    case eColorID_threedshadow:
-        // 3-D shadow inner edge color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Dark));
-        break;
-
-    case eColorID_threeddarkshadow:
-        // 3-D shadow outer edge color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Shadow));
-        break;
-
-    case eColorID_window:
-    case eColorID_windowframe:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-
-    case eColorID_windowtext:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Text));
-        break;
-
-    case eColorID__moz_eventreerow:
-    case eColorID__moz_field:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Base));
-        break;
-    case eColorID__moz_fieldtext:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Text));
-        break;
-    case eColorID__moz_dialog:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID__moz_dialogtext:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::WindowText));
-        break;
-    case eColorID__moz_dragtargetzone:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Window));
-        break;
-    case eColorID__moz_buttondefault:
-        // default button border color
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Button));
-        break;
-    case eColorID__moz_buttonhoverface:
-        aColor = BG_PRELIGHT_COLOR;
-        break;
-    case eColorID__moz_buttonhovertext:
-        aColor = FG_PRELIGHT_COLOR;
-        break;
-    case eColorID__moz_cellhighlight:
-    case eColorID__moz_html_cellhighlight:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Highlight));
-        break;
-    case eColorID__moz_cellhighlighttext:
-    case eColorID__moz_html_cellhighlighttext:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::HighlightedText));
-        break;
-    case eColorID__moz_menuhover:
-        aColor = BG_PRELIGHT_COLOR;
-        break;
-    case eColorID__moz_menuhovertext:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Text));
-        break;
-    case eColorID__moz_oddtreerow:
-        aColor = NS_TRANSPARENT;
-        break;
-    case eColorID__moz_nativehyperlinktext:
-        aColor = NS_SAME_AS_FOREGROUND_COLOR;
-        break;
-    case eColorID__moz_comboboxtext:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Text));
-        break;
-    case eColorID__moz_combobox:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Base));
-        break;
-    case eColorID__moz_menubartext:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Text));
-        break;
-    case eColorID__moz_menubarhovertext:
-        aColor = QCOLOR_TO_NS_RGB(palette.color(QPalette::Normal, QPalette::Text));
-        break;
-    default:
-        /* default color is BLACK */
-        aColor = 0;
-        rv = NS_ERROR_FAILURE;
-        break;
-    }
-
-    return rv;
-}
-
-nsresult
-nsLookAndFeel::GetIntImpl(IntID aID, int32_t &aResult)
-{
-    nsresult rv = nsXPLookAndFeel::GetIntImpl(aID, aResult);
-    if (NS_SUCCEEDED(rv))
-        return rv;
-
-    rv = NS_OK;
-
-    switch (aID) {
-        case eIntID_CaretBlinkTime:
-            aResult = 500;
-            break;
-
-        case eIntID_CaretWidth:
-            aResult = 1;
-            break;
-
-        case eIntID_ShowCaretDuringSelection:
-            aResult = 0;
-            break;
-
-        case eIntID_SelectTextfieldsOnKeyFocus:
-            // Select textfield content when focused by kbd
-            // used by EventStateManager::sTextfieldSelectModel
-            aResult = 1;
-            break;
-
-        case eIntID_SubmenuDelay:
-            aResult = 200;
-            break;
-
-        case eIntID_TooltipDelay:
-            aResult = 500;
-            break;
-
-        case eIntID_MenusCanOverlapOSBar:
-            // we want XUL popups to be able to overlap the task bar.
-            aResult = 1;
-            break;
-
-        case eIntID_ScrollArrowStyle:
-            aResult = eScrollArrowStyle_Single;
-            break;
-
-        case eIntID_ScrollSliderStyle:
-            aResult = eScrollThumbStyle_Proportional;
-            break;
-
-        case eIntID_TouchEnabled:
-            aResult = 1;
-            break;
-
-        case eIntID_WindowsDefaultTheme:
-        case eIntID_WindowsThemeIdentifier:
-        case eIntID_OperatingSystemVersionIdentifier:
-            aResult = 0;
-            rv = NS_ERROR_NOT_IMPLEMENTED;
-            break;
-
-        case eIntID_IMERawInputUnderlineStyle:
-        case eIntID_IMEConvertedTextUnderlineStyle:
-            aResult = NS_STYLE_TEXT_DECORATION_STYLE_SOLID;
-            break;
-
-        case eIntID_IMESelectedRawTextUnderlineStyle:
-        case eIntID_IMESelectedConvertedTextUnderline:
-            aResult = NS_STYLE_TEXT_DECORATION_STYLE_NONE;
-            break;
-
-        case eIntID_SpellCheckerUnderlineStyle:
-            aResult = NS_STYLE_TEXT_DECORATION_STYLE_WAVY;
-            break;
-
-        case eIntID_ScrollbarButtonAutoRepeatBehavior:
-            aResult = 0;
-            break;
-        
-        case eIntID_ContextMenuOffsetVertical:
-        case eIntID_ContextMenuOffsetHorizontal:
-            aResult = 2;
-            break;
-
-        default:
-            aResult = 0;
-            rv = NS_ERROR_FAILURE;
-    }
-
-    return rv;
-}
-
-nsresult
-nsLookAndFeel::GetFloatImpl(FloatID aID, float &aResult)
-{
-  nsresult res = nsXPLookAndFeel::GetFloatImpl(aID, aResult);
-  if (NS_SUCCEEDED(res))
-    return res;
-  res = NS_OK;
-
-  switch (aID) {
-    case eFloatID_IMEUnderlineRelativeSize:
-        aResult = 1.0f;
-        break;
-    case eFloatID_SpellCheckerUnderlineRelativeSize:
-        aResult = 1.0f;
-        break;
-    default:
-        aResult = -1.0;
-        res = NS_ERROR_FAILURE;
-    }
-  return res;
-}
-
-/*virtual*/
-bool
-nsLookAndFeel::GetFontImpl(FontID aID, nsString& aFontName,
-                           gfxFontStyle& aFontStyle,
-                           float aDevPixPerCSSPixel)
-{
-  QFont qFont = QGuiApplication::font();
-
-  NS_NAMED_LITERAL_STRING(quote, "\"");
-  nsString family((char16_t*)qFont.family().data());
-  aFontName = quote + family + quote;
-
-  aFontStyle.systemFont = true;
-  aFontStyle.style = qFont.style();
-  aFontStyle.weight = qFont.weight();
-  aFontStyle.stretch = qFont.stretch();
-  // use pixel size directly if it is set, otherwise compute from point size
-  if (qFont.pixelSize() != -1) {
-    aFontStyle.size = qFont.pixelSize();
-  } else {
-    aFontStyle.size = qFont.pointSizeF() * qApp->primaryScreen()->logicalDotsPerInch() / 72.0f;
-  }
-
-  return true;
-}
-
-/*virtual*/
-bool
-nsLookAndFeel::GetEchoPasswordImpl() {
-    return true;
-}
-
-/*virtual*/
-uint32_t
-nsLookAndFeel::GetPasswordMaskDelayImpl()
-{
-    // Same value on Android framework
-    return 1500;
-}
-
-/* virtual */
-char16_t
-nsLookAndFeel::GetPasswordCharacterImpl()
-{
-    return UNICODE_BULLET;
-}
deleted file mode 100644
--- a/widget/qt/nsLookAndFeel.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* Copyright 2012 Mozilla Foundation and Mozilla contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __nsLookAndFeel
-#define __nsLookAndFeel
-
-#include "nsXPLookAndFeel.h"
-
-class nsLookAndFeel : public nsXPLookAndFeel
-{
-public:
-    nsLookAndFeel();
-    virtual ~nsLookAndFeel();
-
-    virtual bool GetFontImpl(FontID aID, nsString& aName, gfxFontStyle& aStyle,
-                             float aDevPixPerCSSPixel);
-    virtual nsresult GetIntImpl(IntID aID, int32_t &aResult);
-    virtual nsresult GetFloatImpl(FloatID aID, float &aResult);
-    virtual bool GetEchoPasswordImpl();
-    virtual uint32_t GetPasswordMaskDelayImpl();
-    virtual char16_t GetPasswordCharacterImpl();
-
-protected:
-    virtual nsresult NativeGetColor(ColorID aID, nscolor &aColor);
-};
-
-#endif
deleted file mode 100644
--- a/widget/qt/nsPrintDialogQt.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * 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/. */
-
-#include "nsPrintSettingsQt.h"
-#include "nsPrintDialogQt.h"
-
-// For Qt, we only support printing to PDF, and that doesn't need a
-// print dialog at this point.  So, this class's methods are left
-// un-implemented for now.
-
-NS_IMPL_ISUPPORTS(nsPrintDialogServiceQt, nsIPrintDialogService)
-
-nsPrintDialogServiceQt::nsPrintDialogServiceQt()
-{
-}
-
-nsPrintDialogServiceQt::~nsPrintDialogServiceQt()
-{
-}
-
-NS_IMETHODIMP
-nsPrintDialogServiceQt::Init()
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP
-nsPrintDialogServiceQt::Show(nsIDOMWindow* aParent,
-                             nsIPrintSettings* aSettings,
-                             nsIWebBrowserPrint* aWebBrowserPrint)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP
-nsPrintDialogServiceQt::ShowPageSetup(nsIDOMWindow* aParent,
-                                      nsIPrintSettings* aNSSettings)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
deleted file mode 100644
--- a/widget/qt/nsPrintDialogQt.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * 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/. */
-
-#ifndef nsPrintDialogQt_h__
-#define nsPrintDialogQt_h__
-
-#include "nsIPrintDialogService.h"
-
-class nsIPrintSettings;
-
-class nsPrintDialogServiceQt : public nsIPrintDialogService
-{
-public:
-    nsPrintDialogServiceQt();
-
-    NS_DECL_ISUPPORTS
-
-    NS_IMETHODIMP Init();
-    NS_IMETHODIMP Show(nsIDOMWindow* aParent, 
-                       nsIPrintSettings* aSettings,
-                       nsIWebBrowserPrint* aWebBrowserPrint);
-    NS_IMETHODIMP ShowPageSetup(nsIDOMWindow* aParent,
-                                nsIPrintSettings* aSettings);
-
-protected:
-    virtual ~nsPrintDialogServiceQt();
-};
-
-#endif
deleted file mode 100644
--- a/widget/qt/nsPrintOptionsQt.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * 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/. */
-#include "nsPrintSettingsQt.h"
-#include "nsPrintOptionsQt.h"
-
-nsPrintOptionsQt::nsPrintOptionsQt()
-{
-}
-
-nsPrintOptionsQt::~nsPrintOptionsQt()
-{
-}
-
-nsresult nsPrintOptionsQt::_CreatePrintSettings(nsIPrintSettings** _retval)
-{
-    nsPrintSettingsQt* printSettings = 
-        new nsPrintSettingsQt(); // does not initially ref count
-    NS_ADDREF(*_retval = printSettings); // ref count
-    return NS_OK;
-}
deleted file mode 100644
--- a/widget/qt/nsPrintOptionsQt.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * 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/. */
-
-#ifndef nsPrintOptionsQt_h__
-#define nsPrintOptionsQt_h__
-
-#include "nsPrintOptionsImpl.h"
-
-class nsPrintOptionsQt : public nsPrintOptions
-{
-public:
-    nsPrintOptionsQt();
-    virtual ~nsPrintOptionsQt();
-    virtual nsresult _CreatePrintSettings(nsIPrintSettings** _retval);
-};
-
-#endif /* nsPrintOptionsQt_h__ */
deleted file mode 100644
--- a/widget/qt/nsPrintSettingsQt.cpp
+++ /dev/null
@@ -1,427 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * 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/. */
-
-#include <QPrinter>
-#include <QDebug>
-#include "nsPrintSettingsQt.h"
-#include "nsIFile.h"
-#include "nsCRTGlue.h"
-
-NS_IMPL_ISUPPORTS_INHERITED(nsPrintSettingsQt,
-                            nsPrintSettings,
-                            nsPrintSettingsQt)
-
-nsPrintSettingsQt::nsPrintSettingsQt():
-    mQPrinter(new QPrinter())
-{
-}
-
-nsPrintSettingsQt::~nsPrintSettingsQt()
-{
-    //smart pointer should take care of cleanup
-}
-
-nsPrintSettingsQt::nsPrintSettingsQt(const nsPrintSettingsQt& aPS):
-    mQPrinter(aPS.mQPrinter)
-{
-}
-
-nsPrintSettingsQt& 
-nsPrintSettingsQt::operator=(const nsPrintSettingsQt& rhs)
-{
-    if (this == &rhs) {
-        return *this;
-    }
-
-    nsPrintSettings::operator=(rhs);
-    mQPrinter = rhs.mQPrinter;
-    return *this;
-}
-
-nsresult 
-nsPrintSettingsQt::_Clone(nsIPrintSettings** _retval)
-{
-    NS_ENSURE_ARG_POINTER(_retval);
-
-    nsPrintSettingsQt* newSettings = new nsPrintSettingsQt(*this);
-    *_retval = newSettings;
-    NS_ADDREF(*_retval);
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::_Assign(nsIPrintSettings* aPS)
-{
-    nsPrintSettingsQt* printSettingsQt = static_cast<nsPrintSettingsQt*>(aPS);
-    if (!printSettingsQt)
-        return NS_ERROR_UNEXPECTED;
-    *this = *printSettingsQt;
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetPrintRange(int16_t* aPrintRange)
-{
-    NS_ENSURE_ARG_POINTER(aPrintRange);
-
-    QPrinter::PrintRange range = mQPrinter->printRange();
-    if (range == QPrinter::PageRange) {
-        *aPrintRange = kRangeSpecifiedPageRange;
-    } else if (range == QPrinter::Selection) {
-        *aPrintRange = kRangeSelection;
-    } else {
-        *aPrintRange = kRangeAllPages;
-    }
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP 
-nsPrintSettingsQt::SetPrintRange(int16_t aPrintRange)
-{
-    if (aPrintRange == kRangeSelection) {
-        mQPrinter->setPrintRange(QPrinter::Selection);
-    } else if (aPrintRange == kRangeSpecifiedPageRange) {
-        mQPrinter->setPrintRange(QPrinter::PageRange);
-    } else {
-        mQPrinter->setPrintRange(QPrinter::AllPages);
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetStartPageRange(int32_t* aStartPageRange)
-{
-    NS_ENSURE_ARG_POINTER(aStartPageRange);
-    int32_t start = mQPrinter->fromPage();
-    *aStartPageRange = start;
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetStartPageRange(int32_t aStartPageRange)
-{
-    int32_t endRange = mQPrinter->toPage();
-    mQPrinter->setFromTo(aStartPageRange, endRange);
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetEndPageRange(int32_t* aEndPageRange)
-{
-    NS_ENSURE_ARG_POINTER(aEndPageRange);
-    int32_t end = mQPrinter->toPage();
-    *aEndPageRange = end;
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetEndPageRange(int32_t aEndPageRange)
-{
-    int32_t startRange = mQPrinter->fromPage();
-    mQPrinter->setFromTo(startRange, aEndPageRange);
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetPrintReversed(bool* aPrintReversed)
-{
-    NS_ENSURE_ARG_POINTER(aPrintReversed);
-    if (mQPrinter->pageOrder() == QPrinter::LastPageFirst) {
-        *aPrintReversed = true;
-    } else {
-        *aPrintReversed = false;
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetPrintReversed(bool aPrintReversed)
-{
-    if (aPrintReversed) {
-        mQPrinter->setPageOrder(QPrinter::LastPageFirst);
-    } else {
-        mQPrinter->setPageOrder(QPrinter::FirstPageFirst);
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetPrintInColor(bool* aPrintInColor)
-{
-    NS_ENSURE_ARG_POINTER(aPrintInColor);
-    if (mQPrinter->colorMode() == QPrinter::Color) {
-        *aPrintInColor = true;
-    } else {
-        *aPrintInColor = false;
-    }
-    return NS_OK;
-}
-NS_IMETHODIMP
-nsPrintSettingsQt::SetPrintInColor(bool aPrintInColor)
-{
-    if (aPrintInColor) {
-        mQPrinter->setColorMode(QPrinter::Color);
-    } else {
-        mQPrinter->setColorMode(QPrinter::GrayScale);
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetOrientation(int32_t* aOrientation)
-{
-    NS_ENSURE_ARG_POINTER(aOrientation);
-    QPrinter::Orientation orientation = mQPrinter->orientation();
-    if (orientation == QPrinter::Landscape) {
-        *aOrientation = kLandscapeOrientation;
-    } else {
-        *aOrientation = kPortraitOrientation;
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetOrientation(int32_t aOrientation)
-{
-    if (aOrientation == kLandscapeOrientation) {
-        mQPrinter->setOrientation(QPrinter::Landscape);
-    } else {
-        mQPrinter->setOrientation(QPrinter::Portrait);
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetToFileName(char16_t** aToFileName)
-{
-    NS_ENSURE_ARG_POINTER(aToFileName);
-    QString filename;
-    filename = mQPrinter->outputFileName();
-    *aToFileName = ToNewUnicode(
-            nsDependentString((char16_t*)filename.data()));
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetToFileName(const char16_t* aToFileName)
-{
-    nsCOMPtr<nsIFile> file;
-    nsresult rv = NS_NewLocalFile(nsDependentString(aToFileName), true,
-                                getter_AddRefs(file));
-    NS_ENSURE_SUCCESS(rv, rv);
-
-    QString filename((const QChar*)aToFileName, NS_strlen(aToFileName));
-    mQPrinter->setOutputFileName(filename);
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetPrinterName(char16_t** aPrinter)
-{
-    NS_ENSURE_ARG_POINTER(aPrinter);
-    *aPrinter = ToNewUnicode(nsDependentString(
-                (const char16_t*)mQPrinter->printerName().constData()));
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetPrinterName(const char16_t* aPrinter)
-{
-    QString printername((const QChar*)aPrinter, NS_strlen(aPrinter));
-    mQPrinter->setPrinterName(printername);
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetNumCopies(int32_t* aNumCopies)
-{
-    NS_ENSURE_ARG_POINTER(aNumCopies);
-    *aNumCopies = mQPrinter->numCopies();
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetNumCopies(int32_t aNumCopies)
-{
-    mQPrinter->setNumCopies(aNumCopies);
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetScaling(double* aScaling)
-{
-    NS_ENSURE_ARG_POINTER(aScaling);
-    qDebug()<<Q_FUNC_INFO;
-    qDebug()<<"Scaling not implemented in Qt port";
-    *aScaling = 1.0; //FIXME
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetScaling(double aScaling)
-{
-    qDebug()<<Q_FUNC_INFO;
-    qDebug()<<"Scaling not implemented in Qt port"; //FIXME
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-static const char* const indexToPaperName[] =
-{ "A4", "B5", "Letter", "Legal", "Executive",
-  "A0", "A1", "A2", "A3", "A5", "A6", "A7", "A8", "A9",
-  "B0", "B1", "B10", "B2", "B3", "B4", "B6", "B7", "B8", "B9",
-  "C5E", "Comm10E", "DLE", "Folio", "Ledger", "Tabloid"
-};
-
-static const QPrinter::PageSize indexToQtPaperEnum[] =
-{
-    QPrinter::A4, QPrinter::B5, QPrinter::Letter, QPrinter::Legal,
-    QPrinter::Executive, QPrinter::A0, QPrinter::A1, QPrinter::A2, QPrinter::A3,
-    QPrinter::A5, QPrinter::A6, QPrinter::A7, QPrinter::A8, QPrinter::A9,
-    QPrinter::B0, QPrinter::B1, QPrinter::B10, QPrinter::B2, QPrinter::B3,
-    QPrinter::B4, QPrinter::B6, QPrinter::B7, QPrinter::B8, QPrinter::B9,
-    QPrinter::C5E, QPrinter::Comm10E, QPrinter::DLE, QPrinter::Folio,
-    QPrinter::Ledger, QPrinter::Tabloid
-};
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetPaperName(char16_t** aPaperName)
-{
-    QPrinter::PaperSize size = mQPrinter->paperSize();
-    QString name(indexToPaperName[size]);
-    *aPaperName = ToNewUnicode(nsDependentString((const char16_t*)name.constData()));
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetPaperName(const char16_t* aPaperName)
-{
-    QString ref((QChar*)aPaperName, NS_strlen(aPaperName));
-    for (uint32_t i = 0; i < sizeof(indexToPaperName)/sizeof(char*); i++)
-    {
-        if (ref == QString(indexToPaperName[i])) {
-            mQPrinter->setPageSize(indexToQtPaperEnum[i]);
-            return NS_OK;
-        }
-    }
-    return NS_ERROR_FAILURE;
-}
-
-QPrinter::Unit GetQtUnit(int16_t aGeckoUnit)
-{
-    if (aGeckoUnit == nsIPrintSettings::kPaperSizeMillimeters) {
-        return QPrinter::Millimeter;
-    } else {
-        return QPrinter::Inch;
-    }
-}
-
-#define SETUNWRITEABLEMARGIN\
-    mQPrinter->setPageMargins(\
-            NS_TWIPS_TO_INCHES(mUnwriteableMargin.left),\
-            NS_TWIPS_TO_INCHES(mUnwriteableMargin.top),\
-            NS_TWIPS_TO_INCHES(mUnwriteableMargin.right),\
-            NS_TWIPS_TO_INCHES(mUnwriteableMargin.bottom),\
-            QPrinter::Inch);
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetUnwriteableMarginInTwips(nsIntMargin& aUnwriteableMargin)
-{
-    nsPrintSettings::SetUnwriteableMarginInTwips(aUnwriteableMargin);
-    SETUNWRITEABLEMARGIN
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetUnwriteableMarginTop(double aUnwriteableMarginTop)
-{
-    nsPrintSettings::SetUnwriteableMarginTop(aUnwriteableMarginTop);
-    SETUNWRITEABLEMARGIN
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetUnwriteableMarginLeft(double aUnwriteableMarginLeft)
-{
-    nsPrintSettings::SetUnwriteableMarginLeft(aUnwriteableMarginLeft);
-    SETUNWRITEABLEMARGIN
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetUnwriteableMarginBottom(double aUnwriteableMarginBottom)
-{
-    nsPrintSettings::SetUnwriteableMarginBottom(aUnwriteableMarginBottom);
-    SETUNWRITEABLEMARGIN
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetUnwriteableMarginRight(double aUnwriteableMarginRight)
-{
-    nsPrintSettings::SetUnwriteableMarginRight(aUnwriteableMarginRight);
-    SETUNWRITEABLEMARGIN
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetPaperWidth(double* aPaperWidth)
-{
-    NS_ENSURE_ARG_POINTER(aPaperWidth);
-    QSizeF papersize = mQPrinter->paperSize(GetQtUnit(mPaperSizeUnit));
-    *aPaperWidth = papersize.width();
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetPaperWidth(double aPaperWidth)
-{
-    QSizeF papersize = mQPrinter->paperSize(GetQtUnit(mPaperSizeUnit));
-    papersize.setWidth(aPaperWidth);
-    mQPrinter->setPaperSize(papersize, GetQtUnit(mPaperSizeUnit));
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetPaperHeight(double* aPaperHeight)
-{
-    NS_ENSURE_ARG_POINTER(aPaperHeight);
-    QSizeF papersize = mQPrinter->paperSize(GetQtUnit(mPaperSizeUnit));
-    *aPaperHeight = papersize.height();
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetPaperHeight(double aPaperHeight)
-{
-    QSizeF papersize = mQPrinter->paperSize(GetQtUnit(mPaperSizeUnit));
-    papersize.setHeight(aPaperHeight);
-    mQPrinter->setPaperSize(papersize, GetQtUnit(mPaperSizeUnit));
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::SetPaperSizeUnit(int16_t aPaperSizeUnit)
-{
-    mPaperSizeUnit = aPaperSizeUnit;
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsPrintSettingsQt::GetEffectivePageSize(double* aWidth, double* aHeight)
-{
-    QSizeF papersize = mQPrinter->paperSize(QPrinter::Inch);
-    if (mQPrinter->orientation() == QPrinter::Landscape) {
-        *aWidth  = NS_INCHES_TO_INT_TWIPS(papersize.height());
-        *aHeight = NS_INCHES_TO_INT_TWIPS(papersize.width());
-    } else {
-        *aWidth  = NS_INCHES_TO_INT_TWIPS(papersize.width());
-        *aHeight = NS_INCHES_TO_INT_TWIPS(papersize.height());
-    }
-    return NS_OK;
-}
-
deleted file mode 100644
--- a/widget/qt/nsPrintSettingsQt.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * 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/. */
-
-#ifndef nsPrintSettingsQt_h_
-#define nsPrintSettingsQt_h_
-
-#include <QSharedPointer>
-#include "nsPrintSettingsImpl.h"
-#define NS_PRINTSETTINGSQT_IID \
-{0x5bc4c746, 0x8970, 0x43a3, {0xbf, 0xb1, 0x5d, 0xe1, 0x74, 0xaf, 0x7c, 0xea}}
-
-class QPrinter;
-class nsPrintSettingsQt : public nsPrintSettings
-{
-public:
-    NS_DECL_ISUPPORTS_INHERITED
-    NS_DECLARE_STATIC_IID_ACCESSOR(NS_PRINTSETTINGSQT_IID)
-
-    nsPrintSettingsQt();
-
-    NS_IMETHOD GetPrintRange(int16_t* aPrintRange);
-    NS_IMETHOD SetPrintRange(int16_t aPrintRange);
-
-    NS_IMETHOD GetStartPageRange(int32_t* aStartPageRange);
-    NS_IMETHOD SetStartPageRange(int32_t aStartPageRange);
-    NS_IMETHOD GetEndPageRange(int32_t* aEndPageRange);
-    NS_IMETHOD SetEndPageRange(int32_t aEndPageRange);
-
-    NS_IMETHOD GetPrintReversed(bool* aPrintReversed);
-    NS_IMETHOD SetPrintReversed(bool aPrintReversed);
-
-    NS_IMETHOD GetPrintInColor(bool* aPrintInColor);
-    NS_IMETHOD SetPrintInColor(bool aPrintInColor);
-
-    NS_IMETHOD GetOrientation(int32_t* aOrientation);
-    NS_IMETHOD SetOrientation(int32_t aOrientation);
-
-    NS_IMETHOD GetToFileName(char16_t** aToFileName);
-    NS_IMETHOD SetToFileName(const char16_t* aToFileName);
-
-    NS_IMETHOD GetPrinterName(char16_t** aPrinter);
-    NS_IMETHOD SetPrinterName(const char16_t* aPrinter);
-
-    NS_IMETHOD GetNumCopies(int32_t* aNumCopies);
-    NS_IMETHOD SetNumCopies(int32_t aNumCopies);
-
-    NS_IMETHOD GetScaling(double* aScaling);
-    NS_IMETHOD SetScaling(double aScaling);
-
-    NS_IMETHOD GetPaperName(char16_t** aPaperName);
-    NS_IMETHOD SetPaperName(const char16_t* aPaperName);
-
-    NS_IMETHOD SetUnwriteableMarginInTwips(nsIntMargin& aUnwriteableMargin);
-    NS_IMETHOD SetUnwriteableMarginTop(double aUnwriteableMarginTop);
-    NS_IMETHOD SetUnwriteableMarginLeft(double aUnwriteableMarginLeft);
-    NS_IMETHOD SetUnwriteableMarginBottom(double aUnwriteableMarginBottom);
-    NS_IMETHOD SetUnwriteableMarginRight(double aUnwriteableMarginRight);
-
-    NS_IMETHOD GetPaperWidth(double* aPaperWidth);
-    NS_IMETHOD SetPaperWidth(double aPaperWidth);
-
-    NS_IMETHOD GetPaperHeight(double* aPaperHeight);
-    NS_IMETHOD SetPaperHeight(double aPaperHeight);
-
-    NS_IMETHOD SetPaperSizeUnit(int16_t aPaperSizeUnit);
-
-    NS_IMETHOD GetEffectivePageSize(double* aWidth, double* aHeight);
-
-protected:
-    virtual ~nsPrintSettingsQt();
-
-    nsPrintSettingsQt(const nsPrintSettingsQt& src);
-    nsPrintSettingsQt& operator=(const nsPrintSettingsQt& rhs);
-
-    virtual nsresult _Clone(nsIPrintSettings** _retval);
-    virtual nsresult _Assign(nsIPrintSettings* aPS);
-
-    QSharedPointer<QPrinter> mQPrinter;
-};
-
-NS_DEFINE_STATIC_IID_ACCESSOR(nsPrintSettingsQt, NS_PRINTSETTINGSQT_IID)
-#endif // nsPrintSettingsQt_h_
deleted file mode 100644
--- a/widget/qt/nsQtKeyUtils.cpp
+++ /dev/null
@@ -1,480 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * 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/. */
-
-#include <qnamespace.h>
-#include "mozilla/ArrayUtils.h"
-#include "mozilla/TextEvents.h"
-
-#include "nsWindow.h"
-#include "nsQtKeyUtils.h"
-
-using namespace mozilla;
-using namespace mozilla::widget;
-
-struct nsKeyConverter
-{
-    int vkCode; // Platform independent key code
-    int keysym; // Qt key code
-};
-
-static struct nsKeyConverter nsKeycodes[] =
-{
-//  { NS_VK_CANCEL,        Qt::Key_Cancel },
-    { NS_VK_BACK,          Qt::Key_Backspace },
-    { NS_VK_TAB,           Qt::Key_Tab },
-    { NS_VK_TAB,           Qt::Key_Backtab },
-//  { NS_VK_CLEAR,         Qt::Key_Clear },
-    { NS_VK_RETURN,        Qt::Key_Return },
-    { NS_VK_RETURN,        Qt::Key_Enter },
-    { NS_VK_SHIFT,         Qt::Key_Shift },
-    { NS_VK_CONTROL,       Qt::Key_Control },
-    { NS_VK_ALT,           Qt::Key_Alt },
-    { NS_VK_PAUSE,         Qt::Key_Pause },
-    { NS_VK_CAPS_LOCK,     Qt::Key_CapsLock },
-    { NS_VK_ESCAPE,        Qt::Key_Escape },
-    { NS_VK_SPACE,         Qt::Key_Space },
-    { NS_VK_PAGE_UP,       Qt::Key_PageUp },
-    { NS_VK_PAGE_DOWN,     Qt::Key_PageDown },
-    { NS_VK_END,           Qt::Key_End },
-    { NS_VK_HOME,          Qt::Key_Home },
-    { NS_VK_LEFT,          Qt::Key_Left },
-    { NS_VK_UP,            Qt::Key_Up },
-    { NS_VK_RIGHT,         Qt::Key_Right },
-    { NS_VK_DOWN,          Qt::Key_Down },
-    { NS_VK_PRINTSCREEN,   Qt::Key_Print },
-    { NS_VK_INSERT,        Qt::Key_Insert },
-    { NS_VK_DELETE,        Qt::Key_Delete },
-    { NS_VK_HELP,          Qt::Key_Help },
-
-    { NS_VK_0,             Qt::Key_0 },
-    { NS_VK_1,             Qt::Key_1 },
-    { NS_VK_2,             Qt::Key_2 },
-    { NS_VK_3,             Qt::Key_3 },
-    { NS_VK_4,             Qt::Key_4 },
-    { NS_VK_5,             Qt::Key_5 },
-    { NS_VK_6,             Qt::Key_6 },
-    { NS_VK_7,             Qt::Key_7 },
-    { NS_VK_8,             Qt::Key_8 },
-    { NS_VK_9,             Qt::Key_9 },
-
-    { NS_VK_SEMICOLON,     Qt::Key_Semicolon },
-    { NS_VK_EQUALS,        Qt::Key_Equal },
-
-    { NS_VK_A,             Qt::Key_A },
-    { NS_VK_B,             Qt::Key_B },
-    { NS_VK_C,             Qt::Key_C },
-    { NS_VK_D,             Qt::Key_D },
-    { NS_VK_E,             Qt::Key_E },
-    { NS_VK_F,             Qt::Key_F },
-    { NS_VK_G,             Qt::Key_G },
-    { NS_VK_H,             Qt::Key_H },
-    { NS_VK_I,             Qt::Key_I },
-    { NS_VK_J,             Qt::Key_J },
-    { NS_VK_K,             Qt::Key_K },
-    { NS_VK_L,             Qt::Key_L },
-    { NS_VK_M,             Qt::Key_M },
-    { NS_VK_N,             Qt::Key_N },
-    { NS_VK_O,             Qt::Key_O },
-    { NS_VK_P,             Qt::Key_P },
-    { NS_VK_Q,             Qt::Key_Q },
-    { NS_VK_R,             Qt::Key_R },
-    { NS_VK_S,             Qt::Key_S },
-    { NS_VK_T,             Qt::Key_T },
-    { NS_VK_U,             Qt::Key_U },
-    { NS_VK_V,             Qt::Key_V },
-    { NS_VK_W,             Qt::Key_W },
-    { NS_VK_X,             Qt::Key_X },
-    { NS_VK_Y,             Qt::Key_Y },
-    { NS_VK_Z,             Qt::Key_Z },
-
-    { NS_VK_NUMPAD0,       Qt::Key_0 },
-    { NS_VK_NUMPAD1,       Qt::Key_1 },
-    { NS_VK_NUMPAD2,       Qt::Key_2 },
-    { NS_VK_NUMPAD3,       Qt::Key_3 },
-    { NS_VK_NUMPAD4,       Qt::Key_4 },
-    { NS_VK_NUMPAD5,       Qt::Key_5 },
-    { NS_VK_NUMPAD6,       Qt::Key_6 },
-    { NS_VK_NUMPAD7,       Qt::Key_7 },
-    { NS_VK_NUMPAD8,       Qt::Key_8 },
-    { NS_VK_NUMPAD9,       Qt::Key_9 },
-    { NS_VK_MULTIPLY,      Qt::Key_Asterisk },
-    { NS_VK_ADD,           Qt::Key_Plus },
-//  { NS_VK_SEPARATOR,     Qt::Key_Separator },
-    { NS_VK_SUBTRACT,      Qt::Key_Minus },
-    { NS_VK_DECIMAL,       Qt::Key_Period },
-    { NS_VK_DIVIDE,        Qt::Key_Slash },
-    { NS_VK_F1,            Qt::Key_F1 },
-    { NS_VK_F2,            Qt::Key_F2 },
-    { NS_VK_F3,            Qt::Key_F3 },
-    { NS_VK_F4,            Qt::Key_F4 },
-    { NS_VK_F5,            Qt::Key_F5 },
-    { NS_VK_F6,            Qt::Key_F6 },
-    { NS_VK_F7,            Qt::Key_F7 },
-    { NS_VK_F8,            Qt::Key_F8 },
-    { NS_VK_F9,            Qt::Key_F9 },
-    { NS_VK_F10,           Qt::Key_F10 },
-    { NS_VK_F11,           Qt::Key_F11 },
-    { NS_VK_F12,           Qt::Key_F12 },
-    { NS_VK_F13,           Qt::Key_F13 },
-    { NS_VK_F14,           Qt::Key_F14 },
-    { NS_VK_F15,           Qt::Key_F15 },
-    { NS_VK_F16,           Qt::Key_F16 },
-    { NS_VK_F17,           Qt::Key_F17 },
-    { NS_VK_F18,           Qt::Key_F18 },
-    { NS_VK_F19,           Qt::Key_F19 },
-    { NS_VK_F20,           Qt::Key_F20 },
-    { NS_VK_F21,           Qt::Key_F21 },
-    { NS_VK_F22,           Qt::Key_F22 },
-    { NS_VK_F23,           Qt::Key_F23 },
-    { NS_VK_F24,           Qt::Key_F24 },
-
-    { NS_VK_NUM_LOCK,      Qt::Key_NumLock },
-    { NS_VK_SCROLL_LOCK,   Qt::Key_ScrollLock },
-
-    { NS_VK_COMMA,         Qt::Key_Comma },
-    { NS_VK_PERIOD,        Qt::Key_Period },
-    { NS_VK_SLASH,         Qt::Key_Slash },
-    { NS_VK_BACK_QUOTE,    Qt::Key_QuoteLeft },
-    { NS_VK_OPEN_BRACKET,  Qt::Key_ParenLeft },
-    { NS_VK_CLOSE_BRACKET, Qt::Key_ParenRight },
-    { NS_VK_QUOTE,         Qt::Key_QuoteDbl },
-
-    { NS_VK_META,          Qt::Key_Meta }
-};
-
-int
-QtKeyCodeToDOMKeyCode(int aKeysym)
-{
-    unsigned int i;
-
-    // First, try to handle alphanumeric input, not listed in nsKeycodes:
-    // most likely, more letters will be getting typed in than things in
-    // the key list, so we will look through these first.
-
-    // since X has different key symbols for upper and lowercase letters and
-    // mozilla does not, convert gdk's to mozilla's
-    if (aKeysym >= Qt::Key_A && aKeysym <= Qt::Key_Z)
-        return aKeysym - Qt::Key_A + NS_VK_A;
-
-    // numbers
-    if (aKeysym >= Qt::Key_0 && aKeysym <= Qt::Key_9)
-        return aKeysym - Qt::Key_0 + NS_VK_0;
-
-    // keypad numbers
-//    if (aKeysym >= Qt::Key_KP_0 && aKeysym <= Qt::Key_KP_9)
-//        return aKeysym - Qt::Key_KP_0 + NS_VK_NUMPAD0;
-
-    // misc other things
-    for (i = 0; i < ArrayLength(nsKeycodes); i++) {
-        if (nsKeycodes[i].keysym == aKeysym)
-            return(nsKeycodes[i].vkCode);
-    }
-
-    // function keys
-    if (aKeysym >= Qt::Key_F1 && aKeysym <= Qt::Key_F24)
-        return aKeysym - Qt::Key_F1 + NS_VK_F1;
-
-    return((int)0);
-}
-
-int
-DOMKeyCodeToQtKeyCode(int aKeysym)
-{
-    unsigned int i;
-
-    // First, try to handle alphanumeric input, not listed in nsKeycodes:
-    // most likely, more letters will be getting typed in than things in
-    // the key list, so we will look through these first.
-
-    if (aKeysym >= NS_VK_A && aKeysym <= NS_VK_Z)
-      // gdk and DOM both use the ASCII codes for these keys.
-      return aKeysym;
-
-    // numbers
-    if (aKeysym >= NS_VK_0 && aKeysym <= NS_VK_9)
-      // gdk and DOM both use the ASCII codes for these keys.
-      return aKeysym - Qt::Key_0 + NS_VK_0;
-
-    // keypad numbers
-    if (aKeysym >= NS_VK_NUMPAD0 && aKeysym <= NS_VK_NUMPAD9) {
-      NS_ERROR("keypad numbers conversion not implemented");
-      //return aKeysym - NS_VK_NUMPAD0 + Qt::Key_KP_0;
-      return 0;
-    }
-
-    // misc other things
-    for (i = 0; i < ArrayLength(nsKeycodes); ++i) {
-      if (nsKeycodes[i].vkCode == aKeysym) {
-        return nsKeycodes[i].keysym;
-      }
-    }
-
-    // function keys
-    if (aKeysym >= NS_VK_F1 && aKeysym <= NS_VK_F9)
-      return aKeysym - NS_VK_F1 + Qt::Key_F1;
-
-    return 0;
-}
-
-KeyNameIndex
-QtKeyCodeToDOMKeyNameIndex(int aKeysym)
-{
-    switch (aKeysym) {
-
-#define NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, aKeyNameIndex) \
-        case aNativeKey: return aKeyNameIndex;
-
-#include "NativeKeyToDOMKeyName.h"
-
-#undef NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX
-
-        case Qt::Key_Exclam:
-        case Qt::Key_QuoteDbl:
-        case Qt::Key_NumberSign:
-        case Qt::Key_Dollar:
-        case Qt::Key_Percent:
-        case Qt::Key_Ampersand:
-        case Qt::Key_Apostrophe:
-        case Qt::Key_ParenLeft:
-        case Qt::Key_ParenRight:
-        case Qt::Key_Asterisk:
-        case Qt::Key_Plus:
-        case Qt::Key_Comma:
-        case Qt::Key_Minus:
-        case Qt::Key_Period:
-        case Qt::Key_Slash:
-        case Qt::Key_0:
-        case Qt::Key_1:
-        case Qt::Key_2:
-        case Qt::Key_3:
-        case Qt::Key_4:
-        case Qt::Key_5:
-        case Qt::Key_6:
-        case Qt::Key_7:
-        case Qt::Key_8:
-        case Qt::Key_9:
-        case Qt::Key_Colon:
-        case Qt::Key_Semicolon:
-        case Qt::Key_Less:
-        case Qt::Key_Equal:
-        case Qt::Key_Greater:
-        case Qt::Key_Question:
-        case Qt::Key_At:
-        case Qt::Key_A:
-        case Qt::Key_B:
-        case Qt::Key_C:
-        case Qt::Key_D:
-        case Qt::Key_E:
-        case Qt::Key_F:
-        case Qt::Key_G:
-        case Qt::Key_H:
-        case Qt::Key_I:
-        case Qt::Key_J:
-        case Qt::Key_K:
-        case Qt::Key_L:
-        case Qt::Key_M:
-        case Qt::Key_N:
-        case Qt::Key_O:
-        case Qt::Key_P:
-        case Qt::Key_Q:
-        case Qt::Key_R:
-        case Qt::Key_S:
-        case Qt::Key_T:
-        case Qt::Key_U:
-        case Qt::Key_V:
-        case Qt::Key_W:
-        case Qt::Key_X:
-        case Qt::Key_Y:
-        case Qt::Key_Z:
-        case Qt::Key_BracketLeft:
-        case Qt::Key_Backslash:
-        case Qt::Key_BracketRight:
-        case Qt::Key_AsciiCircum:
-        case Qt::Key_Underscore:
-        case Qt::Key_QuoteLeft:
-        case Qt::Key_BraceLeft:
-        case Qt::Key_Bar:
-        case Qt::Key_BraceRight:
-        case Qt::Key_AsciiTilde:
-        case Qt::Key_exclamdown:
-        case Qt::Key_cent:
-        case Qt::Key_sterling:
-        case Qt::Key_currency:
-        case Qt::Key_yen:
-        case Qt::Key_brokenbar:
-        case Qt::Key_section:
-        case Qt::Key_diaeresis:
-        case Qt::Key_copyright:
-        case Qt::Key_ordfeminine:
-        case Qt::Key_guillemotleft:
-        case Qt::Key_notsign:
-        case Qt::Key_hyphen:
-        case Qt::Key_registered:
-        case Qt::Key_macron:
-        case Qt::Key_degree:
-        case Qt::Key_plusminus:
-        case Qt::Key_twosuperior:
-        case Qt::Key_threesuperior:
-        case Qt::Key_acute:
-        case Qt::Key_mu:
-        case Qt::Key_paragraph:
-        case Qt::Key_periodcentered:
-        case Qt::Key_cedilla:
-        case Qt::Key_onesuperior:
-        case Qt::Key_masculine:
-        case Qt::Key_guillemotright:
-        case Qt::Key_onequarter:
-        case Qt::Key_onehalf:
-        case Qt::Key_threequarters:
-        case Qt::Key_questiondown:
-        case Qt::Key_Agrave:
-        case Qt::Key_Aacute:
-        case Qt::Key_Acircumflex:
-        case Qt::Key_Atilde:
-        case Qt::Key_Adiaeresis:
-        case Qt::Key_Aring:
-        case Qt::Key_AE:
-        case Qt::Key_Ccedilla:
-        case Qt::Key_Egrave:
-        case Qt::Key_Eacute:
-        case Qt::Key_Ecircumflex:
-        case Qt::Key_Ediaeresis:
-        case Qt::Key_Igrave:
-        case Qt::Key_Iacute:
-        case Qt::Key_Icircumflex:
-        case Qt::Key_Idiaeresis:
-        case Qt::Key_ETH:
-        case Qt::Key_Ntilde:
-        case Qt::Key_Ograve:
-        case Qt::Key_Oacute:
-        case Qt::Key_Ocircumflex:
-        case Qt::Key_Otilde:
-        case Qt::Key_Odiaeresis:
-        case Qt::Key_multiply:
-        case Qt::Key_Ooblique:
-        case Qt::Key_Ugrave:
-        case Qt::Key_Uacute:
-        case Qt::Key_Ucircumflex:
-        case Qt::Key_Udiaeresis:
-        case Qt::Key_Yacute:
-        case Qt::Key_THORN:
-        case Qt::Key_ssharp:
-        case Qt::Key_division:
-        case Qt::Key_ydiaeresis:
-            return KEY_NAME_INDEX_PrintableKey;
-
-        case Qt::Key_Backtab:
-        case Qt::Key_Direction_L:
-        case Qt::Key_Direction_R:
-        case Qt::Key_Touroku:
-        case Qt::Key_Massyo:
-        case Qt::Key_Hangul:
-        case Qt::Key_Hangul_Start:
-        case Qt::Key_Hangul_End:
-        case Qt::Key_Hangul_Hanja:
-        case Qt::Key_Hangul_Jamo:
-        case Qt::Key_Hangul_Romaja:
-        case Qt::Key_Hangul_Jeonja:
-        case Qt::Key_Hangul_Banja:
-        case Qt::Key_Hangul_PreHanja:
-        case Qt::Key_Hangul_PostHanja:
-        case Qt::Key_Hangul_Special:
-        case Qt::Key_TrebleUp:
-        case Qt::Key_TrebleDown:
-        case Qt::Key_OpenUrl:
-        case Qt::Key_KeyboardLightOnOff:
-        case Qt::Key_KeyboardBrightnessUp:
-        case Qt::Key_KeyboardBrightnessDown:
-        case Qt::Key_Memo:
-        case Qt::Key_LightBulb:
-        case Qt::Key_Shop:
-        case Qt::Key_History:
-        case Qt::Key_AddFavorite:
-        case Qt::Key_HotLinks:
-        case Qt::Key_Finance:
-        case Qt::Key_Community:
-        case Qt::Key_BackForward:
-        case Qt::Key_ApplicationLeft:
-        case Qt::Key_ApplicationRight:
-        case Qt::Key_Book:
-        case Qt::Key_ToDoList:
-        case Qt::Key_ClearGrab:
-        case Qt::Key_Display:
-        case Qt::Key_DOS:
-        case Qt::Key_Documents:
-        case Qt::Key_Game:
-        case Qt::Key_Go:
-        case Qt::Key_iTouch:
-        case Qt::Key_Market:
-        case Qt::Key_Meeting:
-        case Qt::Key_MenuKB:
-        case Qt::Key_MenuPB:
-        case Qt::Key_MySites:
-        case Qt::Key_News:
-        case Qt::Key_OfficeHome:
-        case Qt::Key_Option:
-        case Qt::Key_Phone:
-        case Qt::Key_RotateWindows:
-        case Qt::Key_RotationPB:
-        case Qt::Key_RotationKB:
-        case Qt::Key_SplitScreen:
-        case Qt::Key_Support:
-        case Qt::Key_TaskPane:
-        case Qt::Key_Terminal:
-        case Qt::Key_Tools:
-        case Qt::Key_Travel:
-        case Qt::Key_Xfer:
-        case Qt::Key_Away:
-        case Qt::Key_Messenger:
-        case Qt::Key_Pictures:
-        case Qt::Key_Battery:
-        case Qt::Key_Bluetooth:
-        case Qt::Key_WLAN:
-        case Qt::Key_UWB:
-        case Qt::Key_AudioRepeat:
-        case Qt::Key_AudioCycleTrack:
-        case Qt::Key_Time:
-        case Qt::Key_View:
-        case Qt::Key_TopMenu:
-        case Qt::Key_ContrastAdjust:
-        case Qt::Key_TouchpadToggle:
-        case Qt::Key_TouchpadOn:
-        case Qt::Key_TouchpadOff:
-        case Qt::Key_unknown:
-        case Qt::Key_Call:
-        case Qt::Key_Context1:
-        case Qt::Key_Context2:
-        case Qt::Key_Context3:
-        case Qt::Key_Context4:
-        case Qt::Key_Flip:
-        case Qt::Key_Hangup:
-        case Qt::Key_No:
-        case Qt::Key_Select:
-        case Qt::Key_Yes:
-        case Qt::Key_ToggleCallHangup:
-        case Qt::Key_VoiceDial:
-        case Qt::Key_LastNumberRedial:
-        default:
-            return KEY_NAME_INDEX_Unidentified;
-    }
-}
-
-CodeNameIndex
-ScanCodeToDOMCodeNameIndex(int32_t aScanCode)
-{
-    switch (aScanCode) {
-
-#define NS_NATIVE_KEY_TO_DOM_CODE_NAME_INDEX(aNativeKey, aCodeNameIndex) \
-        case aNativeKey: return aCodeNameIndex;
-
-#include "NativeKeyToDOMCodeName.h"
-
-#undef NS_NATIVE_KEY_TO_DOM_CODE_NAME_INDEX
-
-        default:
-            return CODE_NAME_INDEX_UNKNOWN;
-    }
-}
deleted file mode 100644
--- a/widget/qt/nsQtKeyUtils.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:expandtab:shiftwidth=4:tabstop=4:
- */
-/* 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/. */
-
-#ifndef __nsQtKeyUtils_h__
-#define __nsQtKeyUtils_h__
-
-#include "mozilla/EventForwards.h"
-
-int      QtKeyCodeToDOMKeyCode     (int aKeysym);
-int      DOMKeyCodeToQtKeyCode     (int aKeysym);
-
-mozilla::KeyNameIndex QtKeyCodeToDOMKeyNameIndex(int aKeysym);
-mozilla::CodeNameIndex ScanCodeToDOMCodeNameIndex(int32_t aScanCode);
-
-#endif /* __nsQtKeyUtils_h__ */
deleted file mode 100644
--- a/widget/qt/nsScreenManagerQt.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/* 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/. */
-
-#include <QGuiApplication>
-#include <QScreen>
-
-#include "nsScreenManagerQt.h"
-#include "nsScreenQt.h"
-
-nsScreenManagerQt::nsScreenManagerQt()
-{
-    mInitialized = false;
-    desktop = 0;
-    screens = 0;
-}
-
-nsScreenManagerQt::~nsScreenManagerQt()
-{
-    delete [] screens;
-}
-
-// addref, release, QI
-NS_IMPL_ISUPPORTS(nsScreenManagerQt, nsIScreenManager)
-
-void nsScreenManagerQt::init()
-{
-    if (mInitialized)
-        return;
-
-    nScreens = QGuiApplication::screens().size();
-    screens = new nsCOMPtr<nsIScreen>[nScreens];
-
-    for (int i = 0; i < nScreens; ++i)
-        screens[i] = new nsScreenQt(i);
-    mInitialized = true;
-}
-
-//
-// ScreenForRect
-//
-// Returns the screen that contains the rectangle. If the rect overlaps
-// multiple screens, it picks the screen with the greatest area of intersection.
-//
-// The coordinates are in pixels (not twips) and in screen coordinates.
-//
-NS_IMETHODIMP
-nsScreenManagerQt::ScreenForRect(int32_t inLeft, int32_t inTop,
-                                 int32_t inWidth, int32_t inHeight,
-                                 nsIScreen **outScreen)
-{
-    if (!mInitialized)
-        init();
-
-    QRect r(inLeft, inTop, inWidth, inHeight);
-    int best = 0;
-    int area = 0;
-    for (int i = 0; i < nScreens; ++i) {
-        const QRect& rect = QGuiApplication::screens()[i]->geometry();
-        QRect intersection = r&rect;
-        int a = intersection.width()*intersection.height();
-        if (a > area) {
-            best = i;
-            area = a;
-        }
-    }
-
-    NS_IF_ADDREF(*outScreen = screens[best]);
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsScreenManagerQt::ScreenForId(uint32_t aId, nsIScreen** aOutScreen)
-{
-    if (!mInitialized) {
-        init();
-    }
-
-    if (aId < nScreens) {
-        NS_IF_ADDREF(*aOutScreen = screens[aId]);
-        return NS_OK;
-    }
-
-    return NS_ERROR_FAILURE;
-}
-
-//
-// GetPrimaryScreen
-//
-// The screen with the menubar/taskbar. This shouldn't be needed very
-// often.
-//
-NS_IMETHODIMP
-nsScreenManagerQt::GetPrimaryScreen(nsIScreen **aPrimaryScreen)
-{
-    if (!desktop)
-        init();
-
-    NS_IF_ADDREF(*aPrimaryScreen = screens[0]);
-    return NS_OK;
-}
-
-//
-// GetNumberOfScreens
-//
-// Returns how many physical screens are available.
-//
-NS_IMETHODIMP
-nsScreenManagerQt::GetNumberOfScreens(uint32_t *aNumberOfScreens)
-{
-    if (!desktop)
-        init();
-
-    *aNumberOfScreens = nScreens;
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsScreenManagerQt::GetSystemDefaultScale(float *aDefaultScale)
-{
-    *aDefaultScale = 1.0f;
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsScreenManagerQt::ScreenForNativeWidget(void *aWidget, nsIScreen **outScreen)
-{
-    // I don't know how to go from GtkWindow to nsIScreen, especially
-    // given xinerama and stuff, so let's just do this
-    QRect rect(0, 0, 1, 1);
-    return ScreenForRect(rect.x(), rect.y(), rect.width(), rect.height(), outScreen);
-}
deleted file mode 100644
--- a/widget/qt/nsScreenManagerQt.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/. */
-
-#ifndef nsScreenManagerQt_h___
-#define nsScreenManagerQt_h___
-
-#include "nsIScreenManager.h"
-#include "nsIScreen.h"
-#include "nsCOMPtr.h"
-
-//------------------------------------------------------------------------
-class QDesktopWidget;
-
-class nsScreenManagerQt : public nsIScreenManager
-{
-public:
-  nsScreenManagerQt ( );
-
-  NS_DECL_ISUPPORTS
-  NS_DECL_NSISCREENMANAGER
-
-private:
-  virtual ~nsScreenManagerQt();
-  void init ();
-
-  nsCOMPtr<nsIScreen> *screens;
-  QDesktopWidget *desktop;
-  int nScreens;
-  bool mInitialized;
-};
-
-#endif  // nsScreenManagerQt_h___
deleted file mode 100644
--- a/widget/qt/nsScreenQt.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/* 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/. */
-
-#include <QColor>
-#include <QRect>
-#include <QGuiApplication>
-#include <QTransform>
-#include <QScreen>
-
-#include "nsScreenQt.h"
-#include "nsXULAppAPI.h"
-
-nsScreenQt::nsScreenQt(int aScreen)
-    : mScreen(aScreen)
-{
-    // nothing else to do. I guess we could cache a bunch of information
-    // here, but we want to ask the device at runtime in case anything
-    // has changed.
-}
-
-nsScreenQt::~nsScreenQt()
-{
-}
-
-NS_IMETHODIMP
-nsScreenQt::GetId(uint32_t* aId)
-{
-    *aId = mScreen;
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsScreenQt::GetRect(int32_t *outLeft,int32_t *outTop,
-                    int32_t *outWidth,int32_t *outHeight)
-{
-    QRect r = QGuiApplication::screens()[mScreen]->geometry();
-
-    *outTop = r.x();
-    *outLeft = r.y();
-    *outWidth = r.width();
-    *outHeight = r.height();
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsScreenQt::GetAvailRect(int32_t *outLeft,int32_t *outTop,
-                         int32_t *outWidth,int32_t *outHeight)
-{
-    QRect r = QGuiApplication::screens()[mScreen]->geometry();
-
-    *outTop = r.x();
-    *outLeft = r.y();
-    *outWidth = r.width();
-    *outHeight = r.height();
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsScreenQt::GetPixelDepth(int32_t *aPixelDepth)
-{
-    // #############
-    *aPixelDepth = QGuiApplication::primaryScreen()->depth();
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsScreenQt::GetColorDepth(int32_t *aColorDepth)
-{
-    // ###############
-    return GetPixelDepth(aColorDepth);
-}
deleted file mode 100644
--- a/widget/qt/nsScreenQt.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* 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/. */
-
-#ifndef nsScreenQt_h___
-#define nsScreenQt_h___
-
-#include "nsBaseScreen.h"
-
-//------------------------------------------------------------------------
-
-class nsScreenQt : public nsBaseScreen
-{
-public:
-  nsScreenQt (int aScreen);
-  virtual ~nsScreenQt();
-
-  NS_IMETHOD GetId(uint32_t* aId);
-  NS_IMETHOD GetRect(int32_t* aLeft, int32_t* aTop, int32_t* aWidth, int32_t* aHeight);
-  NS_IMETHOD GetAvailRect(int32_t* aLeft, int32_t* aTop, int32_t* aWidth, int32_t* aHeight);
-  NS_IMETHOD GetPixelDepth(int32_t* aPixelDepth);
-  NS_IMETHOD GetColorDepth(int32_t* aColorDepth);
-
-private:
-  int mScreen;
-};
-
-#endif  // nsScreenQt_h___
deleted file mode 100644
--- a/widget/qt/nsWidgetFactory.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* Copyright 2012 Mozilla Foundation and Mozilla contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "base/basictypes.h"
-
-#include "mozilla/ModuleUtils.h"
-#include "mozilla/WidgetUtils.h"
-
-#include "nsCOMPtr.h"
-#include "nsWidgetsCID.h"
-#include "nsAppShell.h"
-
-#include "nsWindow.h"
-#include "nsLookAndFeel.h"
-#include "nsAppShellSingleton.h"
-#include "nsScreenManagerQt.h"
-#include "nsIdleServiceQt.h"
-#include "nsTransferable.h"
-#include "nsBidiKeyboard.h"
-
-#include "nsHTMLFormatConverter.h"
-#include "nsXULAppAPI.h"
-
-#ifdef NS_PRINTING
-#include "nsDeviceContextSpecQt.h"
-#include "nsPrintSession.h"
-#include "nsPrintOptionsQt.h"
-#include "nsPrintDialogQt.h"
-#endif
-
-#include "nsClipboard.h"
-#include "nsClipboardHelper.h"
-
-#if defined(MOZ_X11)
-#include "GfxInfoX11.h"
-#else
-#include "GfxInfo.h"
-#endif
-
-using namespace mozilla::widget;
-
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindow)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerQt)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLFormatConverter)
-NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIdleServiceQt, nsIdleServiceQt::GetInstance)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsTransferable)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboard)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboardHelper)
-#ifdef NS_PRINTING
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecQt)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintOptionsQt, Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrinterEnumeratorQt)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintSession, Init)
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintDialogServiceQt, Init)
-#endif
-
-namespace mozilla {
-namespace widget {
-// This constructor should really be shared with all platforms.
-NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(GfxInfo, Init)
-}
-}
-
-
-NS_DEFINE_NAMED_CID(NS_APPSHELL_CID);
-NS_DEFINE_NAMED_CID(NS_BIDIKEYBOARD_CID);
-NS_DEFINE_NAMED_CID(NS_WINDOW_CID);
-NS_DEFINE_NAMED_CID(NS_CHILD_CID);
-NS_DEFINE_NAMED_CID(NS_SCREENMANAGER_CID);
-NS_DEFINE_NAMED_CID(NS_HTMLFORMATCONVERTER_CID);
-NS_DEFINE_NAMED_CID(NS_IDLE_SERVICE_CID);
-NS_DEFINE_NAMED_CID(NS_TRANSFERABLE_CID);
-NS_DEFINE_NAMED_CID(NS_CLIPBOARD_CID);
-NS_DEFINE_NAMED_CID(NS_CLIPBOARDHELPER_CID);
-NS_DEFINE_NAMED_CID(NS_GFXINFO_CID);
-#ifdef NS_PRINTING
-NS_DEFINE_NAMED_CID(NS_PRINTSETTINGSSERVICE_CID);
-NS_DEFINE_NAMED_CID(NS_PRINTER_ENUMERATOR_CID);
-NS_DEFINE_NAMED_CID(NS_PRINTSESSION_CID);
-NS_DEFINE_NAMED_CID(NS_DEVICE_CONTEXT_SPEC_CID);
-NS_DEFINE_NAMED_CID(NS_PRINTDIALOGSERVICE_CID);
-#endif
-
-static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
-    { &kNS_APPSHELL_CID, false, nullptr, nsAppShellConstructor },
-    { &kNS_BIDIKEYBOARD_CID, false, nullptr, nsBidiKeyboardConstructor },
-    { &kNS_CHILD_CID, false, nullptr, nsWindowConstructor },
-    { &kNS_CLIPBOARD_CID, false, nullptr, nsClipboardConstructor },
-    { &kNS_CLIPBOARDHELPER_CID, false, nullptr, nsClipboardHelperConstructor },
-    { &kNS_HTMLFORMATCONVERTER_CID, false, nullptr, nsHTMLFormatConverterConstructor },
-    { &kNS_IDLE_SERVICE_CID, false, nullptr, nsIdleServiceQtConstructor },
-    { &kNS_SCREENMANAGER_CID, false, nullptr, nsScreenManagerQtConstructor },
-    { &kNS_TRANSFERABLE_CID, false, nullptr, nsTransferableConstructor },
-    { &kNS_WINDOW_CID, false, nullptr, nsWindowConstructor },
-    { &kNS_GFXINFO_CID, false, nullptr, mozilla::widget::GfxInfoConstructor },
-#ifdef NS_PRINTING
-    { &kNS_DEVICE_CONTEXT_SPEC_CID, false, nullptr, nsDeviceContextSpecQtConstructor },
-    { &kNS_PRINTDIALOGSERVICE_CID, false, nullptr, nsPrintDialogServiceQtConstructor },
-    { &kNS_PRINTER_ENUMERATOR_CID, false, nullptr, nsPrinterEnumeratorQtConstructor },
-    { &kNS_PRINTSESSION_CID, false, nullptr, nsPrintSessionConstructor },
-    { &kNS_PRINTSETTINGSSERVICE_CID, false, nullptr, nsPrintOptionsQtConstructor },
-#endif
-    { nullptr }
-};
-
-static const mozilla::Module::ContractIDEntry kWidgetContracts[] = {
-    { "@mozilla.org/gfx/screenmanager;1", &kNS_SCREENMANAGER_CID },
-    { "@mozilla.org/widget/appshell/qt;1", &kNS_APPSHELL_CID },
-    { "@mozilla.org/widget/bidikeyboard;1", &kNS_BIDIKEYBOARD_CID },
-    { "@mozilla.org/widget/clipboard;1", &kNS_CLIPBOARD_CID },
-    { "@mozilla.org/widget/clipboardhelper;1", &kNS_CLIPBOARDHELPER_CID },
-    { "@mozilla.org/widget/htmlformatconverter;1", &kNS_HTMLFORMATCONVERTER_CID },
-    { "@mozilla.org/widget/idleservice;1", &kNS_IDLE_SERVICE_CID },
-    { "@mozilla.org/widgets/child_window/qt;1", &kNS_CHILD_CID },
-    { "@mozilla.org/widgets/window/qt;1", &kNS_WINDOW_CID },
-    { "@mozilla.org/widget/transferable;1", &kNS_TRANSFERABLE_CID },
-    { "@mozilla.org/gfx/info;1", &kNS_GFXINFO_CID },
-#ifdef NS_PRINTING
-    { "@mozilla.org/gfx/devicecontextspec;1", &kNS_DEVICE_CONTEXT_SPEC_CID },
-    { "@mozilla.org/gfx/printerenumerator;1", &kNS_PRINTER_ENUMERATOR_CID },
-    { "@mozilla.org/gfx/printsession;1", &kNS_PRINTSESSION_CID },
-    { "@mozilla.org/gfx/printsettings-service;1", &kNS_PRINTSETTINGSSERVICE_CID },
-    { NS_PRINTDIALOGSERVICE_CONTRACTID, &kNS_PRINTDIALOGSERVICE_CID },
-#endif
-    { nullptr }
-};
-
-static void
-nsWidgetQtModuleDtor()
-{
-    // Shutdown all XP level widget classes.
-    WidgetUtils::Shutdown();
-
-    nsLookAndFeel::Shutdown();
-    nsAppShellShutdown();
-}
-
-static const mozilla::Module kWidgetModule = {
-    mozilla::Module::kVersion,
-    kWidgetCIDs,
-    kWidgetContracts,
-    nullptr,
-    nullptr,
-    nsAppShellInit,
-    nsWidgetQtModuleDtor
-};
-
-NSMODULE_DEFN(nsWidgetQtModule) = &kWidgetModule;
deleted file mode 100644
--- a/widget/qt/nsWindow.cpp
+++ /dev/null
@@ -1,2001 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:expandtab:shiftwidth=4:tabstop=4:
- */
-/* 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/. */
-
-#include "mozilla/ArrayUtils.h"
-#include "mozilla/MiscEvents.h"
-#include "mozilla/MouseEvents.h"
-#include "mozilla/TextEvents.h"
-#include "mozilla/TouchEvents.h"
-
-#include <QGuiApplication>
-#include <QtGui/QCursor>
-#include <QIcon>
-#include <QMouseEvent>
-#include <QWheelEvent>
-#include <QResizeEvent>
-#include <QPaintEngine>
-#include <QMimeData>
-#include <QScreen>
-
-#include <QtCore/QDebug>
-#include <QtCore/QEvent>
-#include <QtCore/QVariant>
-#include <algorithm>
-
-#ifdef MOZ_X11
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include "gfxXlibSurface.h"
-#endif //MOZ_X11
-
-#include "nsXULAppAPI.h"
-
-#include "prlink.h"
-
-#include "nsWindow.h"
-#include "mozqwidget.h"
-
-#include "nsIdleService.h"
-#include "nsIRollupListener.h"
-#include "nsWidgetsCID.h"
-#include "nsQtKeyUtils.h"
-#include "mozilla/Services.h"
-#include "mozilla/Preferences.h"
-#include "mozilla/Likely.h"
-#include "mozilla/layers/LayersTypes.h"
-#include "nsIWidgetListener.h"
-#include "ClientLayerManager.h"
-#include "BasicLayers.h"
-
-#include "nsIStringBundle.h"
-#include "nsGfxCIID.h"
-
-#include "imgIContainer.h"
-#include "nsGfxCIID.h"
-#include "nsIInterfaceRequestorUtils.h"
-
-#include "gfxQtPlatform.h"
-
-#include "nsIDOMWheelEvent.h"
-
-#include "GLContext.h"
-
-#ifdef MOZ_X11
-#include "keysym2ucs.h"
-#endif
-
-#include "Layers.h"
-#include "GLContextProvider.h"
-
-using namespace mozilla;
-using namespace mozilla::gl;
-using namespace mozilla::widget;
-using namespace mozilla::gfx;
-using namespace mozilla::layers;
-using mozilla::gl::GLContext;
-
-#define kWindowPositionSlop 20
-
-// Qt
-static const int WHEEL_DELTA = 120;
-static bool gGlobalsInitialized = false;
-static bool sAltGrModifier = false;
-
-static void find_first_visible_parent(QWindow* aItem, QWindow*& aVisibleItem);
-static bool is_mouse_in_window (MozQWidget* aWindow, double aMouseX, double aMouseY);
-
-NS_IMPL_ISUPPORTS_INHERITED0(nsWindow, nsBaseWidget)
-
-nsWindow::nsWindow()
-{
-    LOG(("%s [%p]\n", __PRETTY_FUNCTION__, (void *)this));
-
-    mIsTopLevel       = false;
-    mIsDestroyed      = false;
-    mIsShown          = false;
-    mEnabled          = true;
-    mWidget              = nullptr;
-    mVisible           = false;
-    mActivatePending     = false;
-    mWindowType          = eWindowType_child;
-    mSizeState           = nsSizeMode_Normal;
-    mLastSizeMode        = nsSizeMode_Normal;
-    mQCursor             = Qt::ArrowCursor;
-    mNeedsResize         = false;
-    mNeedsMove           = false;
-    mListenForResizes    = false;
-    mNeedsShow           = false;
-    mTimerStarted        = false;
-    mMoveEvent.needDispatch = false;
-
-    if (!gGlobalsInitialized) {
-        gfxPlatform::GetPlatform();
-        gGlobalsInitialized = true;
-    }
-
-    memset(mKeyDownFlags, 0, sizeof(mKeyDownFlags));
-
-    mIsTransparent = false;
-
-    mCursor = eCursor_standard;
-}
-
-nsWindow::~nsWindow()
-{
-    LOG(("%s [%p]\n", __PRETTY_FUNCTION__, (void *)this));
-
-    Destroy();
-}
-
-nsresult
-nsWindow::Create(nsIWidget* aParent,
-                 nsNativeWidget aNativeParent,
-                 const LayoutDeviceIntRect& aRect,
-                 nsWidgetInitData* aInitData)
-{
-    // only set the base parent if we're not going to be a dialog or a
-    // toplevel
-    nsIWidget *baseParent = aParent;
-
-    // initialize all the common bits of this class
-    BaseCreate(baseParent, aInitData);
-
-    mVisible = true;
-
-    // and do our common creation
-    mParent = (nsWindow *)aParent;
-
-    // save our bounds
-    mBounds = aRect;
-
-    // find native parent
-    MozQWidget *parent = nullptr;
-
-    if (aParent != nullptr) {
-        parent = static_cast<MozQWidget*>(aParent->GetNativeData(NS_NATIVE_WIDGET));
-    } else if (aNativeParent != nullptr) {
-        parent = static_cast<MozQWidget*>(aNativeParent);
-        if (parent && mParent == nullptr) {
-            mParent = parent->getReceiver();
-        }
-    }
-
-    LOG(("Create: nsWindow [%p] mWidget:[%p] parent:[%p], natPar:[%p] mParent:%p\n", (void *)this, (void*)mWidget, parent, aNativeParent, mParent));
-
-    // ok, create our QGraphicsWidget
-    mWidget = createQWidget(parent, aInitData);
-
-    if (!mWidget) {
-        return NS_ERROR_OUT_OF_MEMORY;
-    }
-
-
-    // resize so that everything is set to the right dimensions
-    Resize(mBounds.x, mBounds.y, mBounds.width, mBounds.height, false);
-
-    // check if we should listen for resizes
-    mListenForResizes = (aNativeParent ||
-                         (aInitData && aInitData->mListenForResizes));
-
-    return NS_OK;
-}
-
-MozQWidget*
-nsWindow::createQWidget(MozQWidget* parent,
-                        nsWidgetInitData* aInitData)
-{
-    const char *windowName = nullptr;
-    Qt::WindowFlags flags = Qt::Widget;
-
-    // ok, create our windows
-    switch (mWindowType) {
-    case eWindowType_dialog:
-        windowName = "topLevelDialog";
-        flags = Qt::Dialog;
-        break;
-    case eWindowType_popup:
-        windowName = "topLevelPopup";
-        flags = Qt::Popup;
-        break;
-    case eWindowType_toplevel:
-        windowName = "topLevelWindow";
-        flags = Qt::Window;
-        break;
-    case eWindowType_invisible:
-        windowName = "topLevelInvisible";
-        break;
-    case eWindowType_child:
-    case eWindowType_plugin:
-    default: // sheet
-        windowName = "paintArea";
-        break;
-    }
-
-    MozQWidget* widget = new MozQWidget(this, parent);
-    if (!widget) {
-        return nullptr;
-    }
-
-    widget->setObjectName(QString(windowName));
-    if (mWindowType == eWindowType_invisible) {
-#if (QT_VERSION >= QT_VERSION_CHECK(5, 1, 0))
-        widget->setVisibility(QWindow::Hidden);
-#else
-        widget->hide();
-#endif
-    }
-    if (mWindowType == eWindowType_dialog) {
-        widget->setModality(Qt::WindowModal);
-    }
-
-    widget->create();
-
-    // create a QGraphicsView if this is a new toplevel window
-    LOG(("nsWindow::%s [%p] Created Window: %s, widget:%p, par:%p\n", __FUNCTION__, (void *)this, windowName, widget, parent));
-
-    return widget;
-}
-
-NS_IMETHODIMP
-nsWindow::Destroy(void)
-{
-    if (mIsDestroyed || !mWidget) {
-        return NS_OK;
-    }
-
-    LOG(("nsWindow::Destroy [%p]\n", (void *)this));
-    mIsDestroyed = true;
-
-    /** Need to clean our LayerManager up while still alive */
-    if (mLayerManager) {
-        mLayerManager->Destroy();
-    }
-    mLayerManager = nullptr;
-
-    // It is safe to call DestroyeCompositor several times (here and 
-    // in the parent class) since it will take effect only once.
-    // The reason we call it here is because on gtk platforms we need 
-    // to destroy the compositor before we destroy the gdk window (which
-    // destroys the the gl context attached to it).
-    DestroyCompositor();
-
-    ClearCachedResources();
-
-    nsIRollupListener* rollupListener = nsBaseWidget::GetActiveRollupListener();
-    if (rollupListener) {
-        nsCOMPtr<nsIWidget> rollupWidget = rollupListener->GetRollupWidget();
-        if (static_cast<nsIWidget *>(this) == rollupWidget) {
-            rollupListener->Rollup(0, false, nullptr, nullptr);
-        }
-    }
-
-    Show(false);
-
-    // walk the list of children and call destroy on them.  Have to be
-    // careful, though -- calling destroy on a kid may actually remove
-    // it from our child list, losing its sibling links.
-    for (nsIWidget* kid = mFirstChild; kid; ) {
-        nsIWidget* next = kid->GetNextSibling();
-        kid->Destroy();
-        kid = next;
-    }
-
-    // Destroy thebes surface now. Badness can happen if we destroy
-    // the surface after its X Window.
-    if (mWidget) {
-        mWidget->dropReceiver();
-
-        // Call deleteLater instead of delete; Qt still needs the object
-        // to be valid even after sending it a Close event.  We could
-        // also set WA_DeleteOnClose, but this gives us more control.
-        mWidget->deleteLater();
-    }
-    mWidget = nullptr;
-
-    OnDestroy();
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::Show(bool aState)
-{
-    LOG(("nsWindow::Show [%p] state %d\n", (void *)this, aState));
-    if (aState == mIsShown) {
-        return NS_OK;
-    }
-
-    // Clear our cached resources when the window is hidden.
-    if (mIsShown && !aState) {
-        ClearCachedResources();
-    }
-
-    mIsShown = aState;
-
-    if ((aState && !AreBoundsSane()) || !mWidget) {
-        LOG(("\tbounds are insane or window hasn't been created yet\n"));
-        mNeedsShow = true;
-        return NS_OK;
-    }
-
-    if (aState) {
-        if (mNeedsMove) {
-            NativeResize(mBounds.x, mBounds.y, mBounds.width, mBounds.height,
-                         false);
-        } else if (mNeedsResize) {
-            NativeResize(mBounds.width, mBounds.height, false);
-        }
-    }
-    else {
-        // If someone is hiding this widget, clear any needing show flag.
-        mNeedsShow = false;
-    }
-
-    NativeShow(aState);
-
-    return NS_OK;
-}
-
-bool
-nsWindow::IsVisible() const
-{
-    return mIsShown;
-}
-
-NS_IMETHODIMP
-nsWindow::ConstrainPosition(bool aAllowSlop, int32_t *aX, int32_t *aY)
-{
-    if (!mWidget) {
-        return NS_ERROR_FAILURE;
-    }
-
-    int32_t screenWidth  = qApp->primaryScreen()->size().width();
-    int32_t screenHeight = qApp->primaryScreen()->size().height();
-
-    if (aAllowSlop) {
-        if (*aX < (kWindowPositionSlop - mBounds.width))
-            *aX = kWindowPositionSlop - mBounds.width;
-        if (*aX > (screenWidth - kWindowPositionSlop))
-            *aX = screenWidth - kWindowPositionSlop;
-        if (*aY < (kWindowPositionSlop - mBounds.height))
-            *aY = kWindowPositionSlop - mBounds.height;
-        if (*aY > (screenHeight - kWindowPositionSlop))
-            *aY = screenHeight - kWindowPositionSlop;
-    } else {
-        if (*aX < 0)
-            *aX = 0;
-        if (*aX > (screenWidth - mBounds.width))
-            *aX = screenWidth - mBounds.width;
-        if (*aY < 0)
-            *aY = 0;
-        if (*aY > (screenHeight - mBounds.height))
-            *aY = screenHeight - mBounds.height;
-    }
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::Move(double aX, double aY)
-{
-    LOG(("nsWindow::Move [%p] %f %f\n", (void *)this,
-         aX, aY));
-
-    int32_t x = NSToIntRound(aX);
-    int32_t y = NSToIntRound(aY);
-
-    if (mIsTopLevel) {
-        SetSizeMode(nsSizeMode_Normal);
-    }
-
-    if (x == mBounds.x && y == mBounds.y) {
-        return NS_OK;
-    }
-
-    mNeedsMove = false;
-
-    // update the bounds
-    QPoint pos(x, y);
-    if (mIsTopLevel) {
-        mWidget->setPosition(x, y);
-    }
-    else if (mWidget) {
-        // the position of the widget is set relative to the parent
-        // so we map the coordinates accordingly
-        pos = mWidget->mapToGlobal(pos);
-        mWidget->setPosition(pos);
-    }
-
-    mBounds.x = pos.x();
-    mBounds.y = pos.y();
-
-    NotifyRollupGeometryChange();
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::Resize(double aWidth, double aHeight, bool aRepaint)
-{
-    mBounds.width = NSToIntRound(aWidth);
-    mBounds.height = NSToIntRound(aHeight);
-
-    if (!mWidget)
-        return NS_OK;
-
-    if (mIsShown) {
-        if (AreBoundsSane()) {
-            if (mIsTopLevel || mNeedsShow)
-                NativeResize(mBounds.x, mBounds.y,
-                             mBounds.width, mBounds.height, aRepaint);
-            else
-                NativeResize(mBounds.width, mBounds.height, aRepaint);
-
-            // Does it need to be shown because it was previously insane?
-            if (mNeedsShow) {
-                NativeShow(true);
-            }
-        }
-        else {
-            // If someone has set this so that the needs show flag is false
-            // and it needs to be hidden, update the flag and hide the
-            // window.  This flag will be cleared the next time someone
-            // hides the window or shows it.  It also prevents us from
-            // calling NativeShow(false) excessively on the window which
-            // causes unneeded X traffic.
-            if (!mNeedsShow) {
-                mNeedsShow = true;
-                NativeShow(false);
-            }
-        }
-    }
-    else if (AreBoundsSane() && mListenForResizes) {
-        // For widgets that we listen for resizes for (widgets created
-        // with native parents) we apparently _always_ have to resize.  I
-        // dunno why, but apparently we're lame like that.
-        NativeResize(mBounds.width, mBounds.height, aRepaint);
-    }
-    else {
-        mNeedsResize = true;
-    }
-
-    // synthesize a resize event if this isn't a toplevel
-    if (mIsTopLevel || mListenForResizes) {
-        nsEventStatus status;
-        DispatchResizeEvent(mBounds, status);
-    }
-
-    NotifyRollupGeometryChange();
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::Resize(double aX, double aY, double aWidth, double aHeight,
-                 bool aRepaint)
-{
-    mBounds.x = NSToIntRound(aX);
-    mBounds.y = NSToIntRound(aY);
-    mBounds.width = NSToIntRound(aWidth);
-    mBounds.height = NSToIntRound(aHeight);
-
-    mPlaced = true;
-
-    if (!mWidget) {
-        return NS_OK;
-    }
-
-    // Has this widget been set to visible?
-    if (mIsShown) {
-        // Are the bounds sane?
-        if (AreBoundsSane()) {
-            // Yep?  Resize the window
-            NativeResize(mBounds.x, mBounds.y, mBounds.width, mBounds.height,
-                         aRepaint);
-            // Does it need to be shown because it was previously insane?
-            if (mNeedsShow)
-                NativeShow(true);
-        }
-        else {
-            // If someone has set this so that the needs show flag is false
-            // and it needs to be hidden, update the flag and hide the
-            // window.  This flag will be cleared the next time someone
-            // hides the window or shows it.  It also prevents us from
-            // calling NativeShow(false) excessively on the window which
-            // causes unneeded X traffic.
-            if (!mNeedsShow) {
-                mNeedsShow = true;
-                NativeShow(false);
-            }
-        }
-    }
-    // If the widget hasn't been shown, mark the widget as needing to be
-    // resized before it is shown
-    else if (AreBoundsSane() && mListenForResizes) {
-        // For widgets that we listen for resizes for (widgets created
-        // with native parents) we apparently _always_ have to resize.  I
-        // dunno why, but apparently we're lame like that.
-        NativeResize(mBounds.x, mBounds.y, mBounds.width, mBounds.height,
-                     aRepaint);
-    }
-    else {
-        mNeedsResize = true;
-        mNeedsMove = true;
-    }
-
-    if (mIsTopLevel || mListenForResizes) {
-        // synthesize a resize event
-        nsEventStatus status;
-        DispatchResizeEvent(mBounds, status);
-    }
-
-    if (aRepaint) {
-        mWidget->renderLater();
-    }
-
-    NotifyRollupGeometryChange();
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::Enable(bool aState)
-{
-    mEnabled = aState;
-
-    return NS_OK;
-}
-
-bool
-nsWindow::IsEnabled() const
-{
-    return mEnabled;
-}
-
-NS_IMETHODIMP
-nsWindow::SetFocus(bool aRaise)
-{
-    // Make sure that our owning widget has focus.  If it doesn't try to
-    // grab it.  Note that we don't set our focus flag in this case.
-    LOGFOCUS(("  SetFocus [%p]\n", (void *)this));
-
-    if (!mWidget) {
-        return NS_ERROR_FAILURE;
-    }
-
-    if (mWidget->focusObject()) {
-        return NS_OK;
-    }
-
-    // Because QGraphicsItem cannot get the focus if they are
-    // invisible, we look up the chain, for the lowest visible
-    // parent and focus that one
-    QWindow* realFocusItem = nullptr;
-    find_first_visible_parent(mWidget, realFocusItem);
-
-    if (!realFocusItem || realFocusItem->focusObject()) {
-        return NS_OK;
-    }
-
-    if (aRaise && mWidget) {
-        // the raising has to happen on the view widget
-        mWidget->raise();
-    }
-
-    // XXXndeakin why is this here? It should dispatch only when the OS
-    // notifies us.
-    DispatchActivateEvent();
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::ConfigureChildren(const nsTArray<nsIWidget::Configuration>& aConfigurations)
-{
-    for (uint32_t i = 0; i < aConfigurations.Length(); ++i) {
-        const Configuration& configuration = aConfigurations[i];
-
-        nsWindow* w = static_cast<nsWindow*>(configuration.mChild.get());
-        NS_ASSERTION(w->GetParent() == this,
-                     "Configured widget is not a child");
-
-        if (w->mBounds.Size() != configuration.mBounds.Size()) {
-            w->Resize(configuration.mBounds.x, configuration.mBounds.y,
-                      configuration.mBounds.width, configuration.mBounds.height,
-                      true);
-        } else if (w->mBounds.TopLeft() != configuration.mBounds.TopLeft()) {
-            w->Move(configuration.mBounds.x, configuration.mBounds.y);
-        }
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::Invalidate(const LayoutDeviceIntRect& aRect)
-{
-    LOGDRAW(("Invalidate (rect) [%p,%p]: %d %d %d %d\n", (void *)this,
-             (void*)mWidget, aRect.x, aRect.y, aRect.width, aRect.height));
-
-    if (!mWidget) {
-        return NS_OK;
-    }
-
-    mWidget->renderLater();
-
-    return NS_OK;
-}
-
-LayoutDeviceIntPoint
-nsWindow::WidgetToScreenOffset()
-{
-    NS_ENSURE_TRUE(mWidget, LayoutDeviceIntPoint(0,0));
-
-    QPoint origin(0, 0);
-    origin = mWidget->mapToGlobal(origin);
-
-    return LayoutDeviceIntPoint(origin.x(), origin.y());
-}
-
-void*
-nsWindow::GetNativeData(uint32_t aDataType)
-{
-    switch (aDataType) {
-    case NS_NATIVE_WINDOW:
-    case NS_NATIVE_WIDGET: {
-        return mWidget;
-    }
-    case NS_NATIVE_SHAREABLE_WINDOW: {
-        return mWidget ? (void*)mWidget->winId() : nullptr;
-    }
-    case NS_NATIVE_DISPLAY: {
-#ifdef MOZ_X11
-        return gfxQtPlatform::GetXDisplay(mWidget);
-#endif
-        break;
-    }
-    case NS_NATIVE_PLUGIN_PORT:
-    case NS_NATIVE_GRAPHIC:
-    case NS_NATIVE_SHELLWIDGET: {
-        break;
-    }
-    case NS_RAW_NATIVE_IME_CONTEXT: {
-        void* pseudoIMEContext = GetPseudoIMEContext();
-        if (pseudoIMEContext) {
-            return pseudoIMEContext;
-        }
-        // Our qt widget looks like using only one context per process.
-        // However, it's better to set the context's pointer.
-        return qApp->inputMethod();
-    }
-    default:
-        NS_WARNING("nsWindow::GetNativeData called with bad value");
-        return nullptr;
-    }
-    LOG(("nsWindow::%s [%p] aDataType:%i\n", __FUNCTION__, (void *)this, aDataType));
-    return nullptr;
-}
-
-NS_IMETHODIMP
-nsWindow::DispatchEvent(WidgetGUIEvent* aEvent, nsEventStatus& aStatus)
-{
-#ifdef DEBUG
-    debug_DumpEvent(stdout, aEvent->mWidget, aEvent,
-                    "something", 0);
-#endif
-
-    aStatus = nsEventStatus_eIgnore;
-
-    // send it to the standard callback
-    if (mWidgetListener) {
-        aStatus = mWidgetListener->HandleEvent(aEvent, mUseAttachedEvents);
-    }
-
-    return NS_OK;
-}
-
-NS_IMETHODIMP_(void)
-nsWindow::SetInputContext(const InputContext& aContext,
-                          const InputContextAction& aAction)
-{
-    NS_ENSURE_TRUE_VOID(mWidget);
-
-    // SetSoftwareKeyboardState uses mInputContext,
-    // so, before calling that, record aContext in mInputContext.
-    mInputContext = aContext;
-
-    switch (mInputContext.mIMEState.mEnabled) {
-        case IMEState::ENABLED:
-        case IMEState::PASSWORD:
-        case IMEState::PLUGIN:
-            SetSoftwareKeyboardState(true, aAction);
-            break;
-        default:
-            SetSoftwareKeyboardState(false, aAction);
-            break;
-    }
-}
-
-NS_IMETHODIMP_(InputContext)
-nsWindow::GetInputContext()
-{
-    mInputContext.mIMEState.mOpen = IMEState::OPEN_STATE_NOT_SUPPORTED;
-    return mInputContext;
-}
-
-NS_IMETHODIMP
-nsWindow::ReparentNativeWidget(nsIWidget *aNewParent)
-{
-    NS_PRECONDITION(aNewParent, "");
-
-    MozQWidget* newParent = static_cast<MozQWidget*>(aNewParent->GetNativeData(NS_NATIVE_WINDOW));
-    NS_ASSERTION(newParent, "Parent widget has a null native window handle");
-    if (mWidget) {
-        mWidget->setParent(newParent);
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::MakeFullScreen(bool aFullScreen, nsIScreen*)
-{
-    NS_ENSURE_TRUE(mWidget, NS_ERROR_FAILURE);
-
-    if (aFullScreen) {
-        if (mSizeMode != nsSizeMode_Fullscreen) {
-            mLastSizeMode = mSizeMode;
-        }
-
-        mSizeMode = nsSizeMode_Fullscreen;
-        mWidget->showFullScreen();
-    }
-    else {
-        mSizeMode = mLastSizeMode;
-
-        switch (mSizeMode) {
-        case nsSizeMode_Maximized:
-            mWidget->showMaximized();
-            break;
-        case nsSizeMode_Minimized:
-            mWidget->showMinimized();
-            break;
-        case nsSizeMode_Normal:
-            mWidget->showNormal();
-            break;
-        default:
-            mWidget->showNormal();
-            break;
-        }
-    }
-
-    NS_ASSERTION(mLastSizeMode != nsSizeMode_Fullscreen,
-                 "mLastSizeMode should never be fullscreen");
-    return nsBaseWidget::MakeFullScreen(aFullScreen);
-}
-
-LayerManager*
-nsWindow::GetLayerManager(PLayerTransactionChild* aShadowManager,
-                          LayersBackend aBackendHint,
-                          LayerManagerPersistence aPersistence)
-{
-    if (!mLayerManager && eTransparencyTransparent == GetTransparencyMode()) {
-        mLayerManager = CreateBasicLayerManager();
-    }
-
-    return nsBaseWidget::GetLayerManager(aShadowManager, aBackendHint,
-                                         aPersistence);
-}
-
-void
-nsWindow::UserActivity()
-{
-    if (!mIdleService) {
-        mIdleService = do_GetService("@mozilla.org/widget/idleservice;1");
-    }
-
-    if (mIdleService) {
-        mIdleService->ResetIdleTimeOut(0);
-    }
-}
-
-uint32_t
-nsWindow::GetGLFrameBufferFormat()
-{
-    if (mLayerManager &&
-        mLayerManager->GetBackendType() == mozilla::layers::LayersBackend::LAYERS_OPENGL) {
-        return LOCAL_GL_RGB;
-    }
-    return LOCAL_GL_NONE;
-}
-
-already_AddRefed<DrawTarget>
-nsWindow::StartRemoteDrawing()
-{
-    if (!mWidget) {
-        return nullptr;
-    }
-
-#ifdef MOZ_X11
-    Display* dpy = gfxQtPlatform::GetXDisplay(mWidget);
-    Screen* screen = DefaultScreenOfDisplay(dpy);
-    Visual* defaultVisual = DefaultVisualOfScreen(screen);
-    gfxASurface* surf = new gfxXlibSurface(dpy, mWidget->winId(), defaultVisual,
-                                           IntSize(mWidget->width(),
-                                                   mWidget->height()));
-
-    IntSize size(surf->GetSize().width, surf->GetSize().height);
-    if (size.width <= 0 || size.height <= 0) {
-        return nullptr;
-    }
-
-    return gfxPlatform::GetPlatform()->CreateDrawTargetForSurface(surf, size);
-#else
-    return nullptr;
-#endif
-}
-
-NS_IMETHODIMP
-nsWindow::SetCursor(nsCursor aCursor)
-{
-    if (mCursor == aCursor && !mUpdateCursor) {
-        return NS_OK;
-    }
-    mUpdateCursor = false;
-    mCursor = aCursor;
-    if (mWidget) {
-        mWidget->SetCursor(mCursor);
-    }
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::SetTitle(const nsAString& aTitle)
-{
-    QString qStr(QString::fromUtf16((const ushort*)aTitle.BeginReading(), aTitle.Length()));
-
-    mWidget->setTitle(qStr);
-
-    return NS_OK;
-}
-
-// EVENTS
-
-nsIWidgetListener*
-nsWindow::GetPaintListener()
-{
-    return mAttachedWidgetListener ? mAttachedWidgetListener : mWidgetListener;
-}
-
-void
-nsWindow::OnPaint()
-{
-    LOGDRAW(("nsWindow::%s [%p]\n", __FUNCTION__, (void *)this));
-    nsIWidgetListener* listener = GetPaintListener();
-    if (!listener) {
-        return;
-    }
-
-    listener->WillPaintWindow(this);
-
-    nsIWidgetListener* listener = GetPaintListener();
-    if (!listener) {
-        return;
-    }
-
-    switch (GetLayerManager()->GetBackendType()) {
-        case mozilla::layers::LayersBackend::LAYERS_CLIENT: {
-            LayoutDeviceIntRegion region(
-              LayoutDeviceIntRect(0, 0, mWidget->width(), mWidget->height()));
-            listener->PaintWindow(this, region);
-            break;
-        }
-        default:
-            NS_ERROR("Invalid layer manager");
-    }
-
-    nsIWidgetListener* listener = GetPaintListener();
-    if (!listener) {
-        return;
-    }
-
-    listener->DidPaintWindow();
-}
-
-nsEventStatus
-nsWindow::moveEvent(QMoveEvent* aEvent)
-{
-    LOG(("configure event [%p] %d %d\n", (void *)this,
-        aEvent->pos().x(),  aEvent->pos().y()));
-
-    // can we shortcut?
-    if (!mWidget || !mWidgetListener)
-        return nsEventStatus_eIgnore;
-
-    if ((mBounds.x == aEvent->pos().x() &&
-         mBounds.y == aEvent->pos().y()))
-    {
-        return nsEventStatus_eIgnore;
-    }
-
-    NotifyWindowMoved(aEvent->pos().x(), aEvent->pos().y());
-    return nsEventStatus_eConsumeNoDefault;
-}
-
-nsEventStatus
-nsWindow::resizeEvent(QResizeEvent* aEvent)
-{
-    LayoutDeviceIntRect rect;
-
-    // Generate XPFE resize event
-    GetBounds(rect);
-
-    rect.width = aEvent->size().width();
-    rect.height = aEvent->size().height();
-
-    mBounds.width = rect.width;
-    mBounds.height = rect.height;
-
-    nsEventStatus status;
-    DispatchResizeEvent(rect, status);
-    return status;
-}
-
-nsEventStatus
-nsWindow::mouseMoveEvent(QMouseEvent* aEvent)
-{
-    UserActivity();
-
-    mMoveEvent.pos = aEvent->pos();
-    mMoveEvent.modifiers = aEvent->modifiers();
-    mMoveEvent.needDispatch = true;
-    DispatchMotionToMainThread();
-
-    return nsEventStatus_eIgnore;
-}
-
-static void
-InitMouseEvent(WidgetMouseEvent& aMouseEvent, QMouseEvent* aEvent,
-               int aClickCount)
-{
-    aMouseEvent.mRefPoint.x = nscoord(aEvent->pos().x());
-    aMouseEvent.mRefPoint.y = nscoord(aEvent->pos().y());
-
-    aMouseEvent.InitBasicModifiers(aEvent->modifiers() & Qt::ControlModifier,
-                                   aEvent->modifiers() & Qt::AltModifier,
-                                   aEvent->modifiers() & Qt::ShiftModifier,
-                                   aEvent->modifiers() & Qt::MetaModifier);
-    aMouseEvent.mClickCount = aClickCount;
-
-    switch (aEvent->button()) {
-    case Qt::LeftButton:
-        aMouseEvent.button = WidgetMouseEvent::eLeftButton;
-        break;
-    case Qt::RightButton:
-        aMouseEvent.button = WidgetMouseEvent::eRightButton;
-        break;
-    case Qt::MiddleButton:
-        aMouseEvent.button = WidgetMouseEvent::eMiddleButton;
-        break;
-    default:
-        break;
-    }
-}
-
-static bool
-IsAcceptedButton(Qt::MouseButton button)
-{
-    switch (button) {
-    case Qt::LeftButton:
-    case Qt::RightButton:
-    case Qt::MiddleButton:
-        return true;
-    default:
-        return false;
-    }
-}
-
-nsEventStatus
-nsWindow::mousePressEvent(QMouseEvent* aEvent)
-{
-    // The user has done something.
-    UserActivity();
-
-    QPoint pos = aEvent->pos();
-
-    // we check against the widgets geometry, so use parent coordinates
-    // for the check
-    if (mWidget)
-        pos = mWidget->mapToGlobal(pos);
-
-    if (CheckForRollup(pos.x(), pos.y(), false))
-        return nsEventStatus_eIgnore;
-
-    if (!IsAcceptedButton(aEvent->button())) {
-        if (aEvent->button() == Qt::BackButton)
-            return DispatchCommandEvent(nsGkAtoms::Back);
-        if (aEvent->button() == Qt::ForwardButton)
-            return DispatchCommandEvent(nsGkAtoms::Forward);
-        return nsEventStatus_eIgnore;
-    }
-
-    WidgetMouseEvent event(true, eMouseDown, this, WidgetMouseEvent::eReal);
-    InitMouseEvent(event, aEvent, 1);
-    nsEventStatus status = DispatchEvent(&event);
-
-    // Right click on linux should also pop up a context menu.
-    if (event.button == WidgetMouseEvent::eRightButton &&
-        MOZ_LIKELY(!mIsDestroyed)) {
-        WidgetMouseEvent contextMenuEvent(true, eContextMenu, this,
-                                          WidgetMouseEvent::eReal);
-        InitMouseEvent(contextMenuEvent, aEvent, 1);
-        DispatchEvent(&contextMenuEvent, status);
-    }
-
-    return status;
-}
-
-nsEventStatus
-nsWindow::mouseReleaseEvent(QMouseEvent* aEvent)
-{
-    // The user has done something.
-    UserActivity();
-
-    if (!IsAcceptedButton(aEvent->button()))
-        return nsEventStatus_eIgnore;
-
-    WidgetMouseEvent event(true, eMouseUp, this, WidgetMouseEvent::eReal);
-    InitMouseEvent(event, aEvent, 1);
-    return DispatchEvent(&event);
-}
-
-nsEventStatus
-nsWindow::mouseDoubleClickEvent(QMouseEvent* aEvent)
-{
-    // The user has done something.
-    UserActivity();
-
-    if (!IsAcceptedButton(aEvent->button()))
-        return nsEventStatus_eIgnore;
-
-    WidgetMouseEvent event(true, eMouseDoubleClick, this,
-                           WidgetMouseEvent::eReal);
-    InitMouseEvent(event, aEvent, 2);
-    return DispatchEvent(&event);
-}
-
-nsEventStatus
-nsWindow::focusInEvent(QFocusEvent* aEvent)
-{
-    LOGFOCUS(("OnFocusInEvent [%p]\n", (void *)this));
-
-    if (!mWidget) {
-        return nsEventStatus_eIgnore;
-    }
-
-    DispatchActivateEventOnTopLevelWindow();
-
-    LOGFOCUS(("Events sent from focus in event [%p]\n", (void *)this));
-    return nsEventStatus_eIgnore;
-}
-
-nsEventStatus
-nsWindow::focusOutEvent(QFocusEvent* aEvent)
-{
-    LOGFOCUS(("OnFocusOutEvent [%p]\n", (void *)this));
-
-    if (!mWidget) {
-        return nsEventStatus_eIgnore;
-    }
-
-    DispatchDeactivateEventOnTopLevelWindow();
-
-    LOGFOCUS(("Done with container focus out [%p]\n", (void *)this));
-    return nsEventStatus_eIgnore;
-}
-
-static bool
-IsContextMenuKeyEvent(const QKeyEvent* aQEvent)
-{
-    if (aQEvent->modifiers() & (Qt::ControlModifier |
-                                Qt::AltModifier |
-                                Qt::MetaModifier)) {
-        return false;
-    }
-
-    bool isShift = aQEvent->modifiers() & Qt::ShiftModifier;
-    uint32_t keyCode = QtKeyCodeToDOMKeyCode(aQEvent->key());
-    return (keyCode == NS_VK_F10 && isShift) ||
-           (keyCode == NS_VK_CONTEXT_MENU && !isShift);
-}
-
-static void
-InitKeyEvent(WidgetKeyboardEvent& aEvent, QKeyEvent* aQEvent)
-{
-    aEvent.InitBasicModifiers(aQEvent->modifiers() & Qt::ControlModifier,
-                              aQEvent->modifiers() & Qt::AltModifier,
-                              aQEvent->modifiers() & Qt::ShiftModifier,
-                              aQEvent->modifiers() & Qt::MetaModifier);
-
-    aEvent.mIsRepeat =
-        (aEvent.mMessage == eKeyDown || aEvent.mMessage == eKeyPress) &&
-        aQEvent->isAutoRepeat();
-    aEvent.mTime = 0;
-
-    if (sAltGrModifier) {
-        aEvent.mModifiers |= (MODIFIER_CONTROL | MODIFIER_ALT);
-    }
-
-    if (aQEvent->text().length() && aQEvent->text()[0].isPrint()) {
-        aEvent.mCharCode = static_cast<uint32_t>(aQEvent->text()[0].unicode());
-        aEvent.mKeyCode = 0;
-        aEvent.mKeyNameIndex = KEY_NAME_INDEX_PrintableKey;
-    } else {
-        aEvent.mCharCode = 0;
-        aEvent.mKeyCode = QtKeyCodeToDOMKeyCode(aQEvent->key());
-        aEvent.mKeyNameIndex = QtKeyCodeToDOMKeyNameIndex(aQEvent->key());
-    }
-
-    aEvent.mCodeNameIndex = ScanCodeToDOMCodeNameIndex(aQEvent->nativeScanCode());
-
-    // The transformations above and in qt for the keyval are not invertible
-    // so link to the QKeyEvent (which will vanish soon after return from the
-    // event callback) to give plugins access to hardware_keycode and state.
-    // (An XEvent would be nice but the QKeyEvent is good enough.)
-    aEvent.mPluginEvent.Copy(*aQEvent);
-}
-
-nsEventStatus
-nsWindow::keyPressEvent(QKeyEvent* aEvent)
-{
-    LOGFOCUS(("OnKeyPressEvent [%p]\n", (void *)this));
-
-    // The user has done something.
-    UserActivity();
-
-    if (aEvent->key() == Qt::Key_AltGr) {
-        sAltGrModifier = true;
-    }
-
-    // Before we dispatch a key, check if it's the context menu key.
-    // If so, send a context menu key event instead.
-    if (IsContextMenuKeyEvent(aEvent)) {
-        WidgetMouseEvent contextMenuEvent(true, eContextMenu, this,
-                                          WidgetMouseEvent::eReal,
-                                          WidgetMouseEvent::eContextMenuKey);
-        return DispatchEvent(&contextMenuEvent);
-    }
-
-    //:TODO: fix shortcuts hebrew for non X11,
-    //see Bug 562195##51
-
-    uint32_t domKeyCode = QtKeyCodeToDOMKeyCode(aEvent->key());
-
-    if (!aEvent->isAutoRepeat() && !IsKeyDown(domKeyCode)) {
-        SetKeyDownFlag(domKeyCode);
-
-        WidgetKeyboardEvent downEvent(true, eKeyDown, this);
-        InitKeyEvent(downEvent, aEvent);
-
-        nsEventStatus status = DispatchEvent(&downEvent);
-
-        // DispatchEvent can Destroy us (bug 378273)
-        if (MOZ_UNLIKELY(mIsDestroyed)) {
-            qWarning() << "Returning[" << __LINE__ << "]: " << "Window destroyed";
-            return status;
-        }
-
-        // If prevent default on keydown, don't dispatch keypress event
-        if (status == nsEventStatus_eConsumeNoDefault) {
-            return nsEventStatus_eConsumeNoDefault;
-        }
-    }
-
-    // Don't pass modifiers as eKeyPress events.
-    // Instead of selectively excluding some keys from eKeyPress events,
-    // we instead selectively include (as per MSDN spec
-    // ( http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress%28VS.71%29.aspx );
-    // no official spec covers KeyPress events).
-    if (aEvent->key() == Qt::Key_Shift   ||
-        aEvent->key() == Qt::Key_Control ||
-        aEvent->key() == Qt::Key_Meta    ||
-        aEvent->key() == Qt::Key_Alt     ||
-        aEvent->key() == Qt::Key_AltGr) {
-        return nsEventStatus_eIgnore;
-    }
-
-    // Look for specialized app-command keys
-    switch (aEvent->key()) {
-        case Qt::Key_Back:
-            return DispatchCommandEvent(nsGkAtoms::Back);
-        case Qt::Key_Forward:
-            return DispatchCommandEvent(nsGkAtoms::Forward);
-        case Qt::Key_Refresh:
-            return DispatchCommandEvent(nsGkAtoms::Reload);
-        case Qt::Key_Stop:
-            return DispatchCommandEvent(nsGkAtoms::Stop);
-        case Qt::Key_Search:
-            return DispatchCommandEvent(nsGkAtoms::Search);
-        case Qt::Key_Favorites:
-            return DispatchCommandEvent(nsGkAtoms::Bookmarks);
-        case Qt::Key_HomePage:
-            return DispatchCommandEvent(nsGkAtoms::Home);
-        case Qt::Key_Copy:
-        case Qt::Key_F16: // F16, F20, F18, F14 are old keysyms for Copy Cut Paste Undo
-            return DispatchContentCommandEvent(eContentCommandCopy);
-        case Qt::Key_Cut:
-        case Qt::Key_F20:
-            return DispatchContentCommandEvent(eContentCommandCut);
-        case Qt::Key_Paste:
-        case Qt::Key_F18:
-        case Qt::Key_F9:
-            return DispatchContentCommandEvent(eContentCommandPaste);
-        case Qt::Key_F14:
-            return DispatchContentCommandEvent(eContentCommandUndo);
-    }
-
-    // Qt::Key_Redo and Qt::Key_Undo are not available yet.
-    if (aEvent->nativeVirtualKey() == 0xff66) {
-        return DispatchContentCommandEvent(eContentCommandRedo);
-    }
-    if (aEvent->nativeVirtualKey() == 0xff65) {
-        return DispatchContentCommandEvent(eContentCommandUndo);
-    }
-
-    WidgetKeyboardEvent event(true, eKeyPress, this);
-    InitKeyEvent(event, aEvent);
-    // Seend the key press event
-    return DispatchEvent(&event);
-}
-
-nsEventStatus
-nsWindow::keyReleaseEvent(QKeyEvent* aEvent)
-{
-    LOGFOCUS(("OnKeyReleaseEvent [%p]\n", (void *)this));
-
-    // The user has done something.
-    UserActivity();
-
-    if (IsContextMenuKeyEvent(aEvent)) {
-        // er, what do we do here? DoDefault or NoDefault?
-        return nsEventStatus_eConsumeDoDefault;
-    }
-
-    // send the key event as a key up event
-    WidgetKeyboardEvent event(true, eKeyUp, this);
-    InitKeyEvent(event, aEvent);
-
-    if (aEvent->key() == Qt::Key_AltGr) {
-        sAltGrModifier = false;
-    }
-
-    // unset the key down flag
-    ClearKeyDownFlag(event.keyCode);
-
-    return DispatchEvent(&event);
-}
-
-nsEventStatus
-nsWindow::wheelEvent(QWheelEvent* aEvent)
-{
-    // check to see if we should rollup
-    WidgetWheelEvent wheelEvent(true, eWheel, this);
-    wheelEvent.mDeltaMode = nsIDOMWheelEvent::DOM_DELTA_LINE;
-
-    // negative values for aEvent->delta indicate downward scrolling;
-    // this is opposite Gecko usage.
-    // TODO: Store the unused delta values due to fraction round and add it
-    //       to next event.  The stored values should be reset by other
-    //       direction scroll event.
-    int32_t delta = (int)(aEvent->delta() / WHEEL_DELTA) * -3;
-
-    switch (aEvent->orientation()) {
-    case Qt::Vertical:
-        wheelEvent.mDeltaY = wheelEvent.mLineOrPageDeltaY = delta;
-        break;
-    case Qt::Horizontal:
-        wheelEvent.mDeltaX = wheelEvent.mLineOrPageDeltaX = delta;
-        break;
-    default:
-        Q_ASSERT(0);
-        break;
-    }
-
-    wheelEvent.mRefPoint.x = nscoord(aEvent->pos().x());
-    wheelEvent.mRefPoint.y = nscoord(aEvent->pos().y());
-
-    wheelEvent.InitBasicModifiers(aEvent->modifiers() & Qt::ControlModifier,
-                                  aEvent->modifiers() & Qt::AltModifier,
-                                  aEvent->modifiers() & Qt::ShiftModifier,
-                                  aEvent->modifiers() & Qt::MetaModifier);
-    wheelEvent.mTime = 0;
-
-    return DispatchEvent(&wheelEvent);
-}
-
-nsEventStatus
-nsWindow::showEvent(QShowEvent *)
-{
-    LOG(("%s [%p]\n", __PRETTY_FUNCTION__,(void *)this));
-    mVisible = true;
-    return nsEventStatus_eConsumeDoDefault;
-}
-
-nsEventStatus
-nsWindow::hideEvent(QHideEvent *)
-{
-    LOG(("%s [%p]\n", __PRETTY_FUNCTION__,(void *)this));
-    mVisible = false;
-    return nsEventStatus_eConsumeDoDefault;
-}
-
-nsEventStatus nsWindow::touchEvent(QTouchEvent* aEvent)
-{
-    return nsEventStatus_eIgnore;
-}
-
-nsEventStatus
-nsWindow::tabletEvent(QTabletEvent* aEvent)
-{
-    LOGFOCUS(("nsWindow::%s [%p]\n", __FUNCTION__, (void *)this));
-    return nsEventStatus_eIgnore;
-}
-
-//  Helpers
-
-nsEventStatus
-nsWindow::DispatchEvent(WidgetGUIEvent* aEvent)
-{
-    nsEventStatus status;
-    DispatchEvent(aEvent, status);
-    return status;
-}
-
-void
-nsWindow::DispatchActivateEvent(void)
-{
-    if (mWidgetListener) {
-        mWidgetListener->WindowActivated();
-    }
-}
-
-void
-nsWindow::DispatchDeactivateEvent(void)
-{
-    if (mWidgetListener) {
-        mWidgetListener->WindowDeactivated();
-    }
-}
-
-void
-nsWindow::DispatchActivateEventOnTopLevelWindow(void)
-{
-    nsWindow* topLevelWindow = static_cast<nsWindow*>(GetTopLevelWidget());
-    if (topLevelWindow != nullptr) {
-        topLevelWindow->DispatchActivateEvent();
-    }
-}
-
-void
-nsWindow::DispatchDeactivateEventOnTopLevelWindow(void)
-{
-    nsWindow* topLevelWindow = static_cast<nsWindow*>(GetTopLevelWidget());
-    if (topLevelWindow != nullptr) {
-        topLevelWindow->DispatchDeactivateEvent();
-    }
-}
-
-void
-nsWindow::DispatchResizeEvent(LayoutDeviceIntRect& aRect,
-                              nsEventStatus& aStatus)
-{
-    aStatus = nsEventStatus_eIgnore;
-    if (mWidgetListener &&
-        mWidgetListener->WindowResized(this, aRect.width, aRect.height)) {
-        aStatus = nsEventStatus_eConsumeNoDefault;
-    }
-}
-
-///////////////////////////////////// OLD GECKO ECENTS need to Sort ///////////////////
-
-void
-nsWindow::ClearCachedResources()
-{
-    if (mLayerManager &&
-        mLayerManager->GetBackendType() == mozilla::layers::LayersBackend::LAYERS_BASIC) {
-        mLayerManager->ClearCachedResources();
-    }
-    for (nsIWidget* kid = mFirstChild; kid; ) {
-        nsIWidget* next = kid->GetNextSibling();
-        static_cast<nsWindow*>(kid)->ClearCachedResources();
-        kid = next;
-    }
-}
-
-NS_IMETHODIMP
-nsWindow::SetParent(nsIWidget *aNewParent)
-{
-    NS_ENSURE_ARG_POINTER(aNewParent);
-
-    nsCOMPtr<nsIWidget> kungFuDeathGrip(this);
-    nsIWidget* parent = GetParent();
-    if (parent) {
-        parent->RemoveChild(this);
-    }
-    ReparentNativeWidget(aNewParent);
-    aNewParent->AddChild(this);
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::SetModal(bool aModal)
-{
-    LOG(("nsWindow::SetModal [%p] %d, widget[%p]\n", (void *)this, aModal, mWidget));
-    if (mWidget) {
-        mWidget->setModality(aModal ? Qt::WindowModal : Qt::NonModal);
-    }
-
-    return NS_OK;
-}
-
-
-NS_IMETHODIMP
-nsWindow::PlaceBehind(nsTopLevelWidgetZPlacement  aPlacement,
-                      nsIWidget                  *aWidget,
-                      bool                        aActivate)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP
-nsWindow::SetSizeMode(nsSizeMode aMode)
-{
-    nsresult rv;
-
-    LOG(("nsWindow::SetSizeMode [%p] %d\n", (void *)this, aMode));
-    if (aMode != nsSizeMode_Minimized) {
-        mWidget->requestActivate();
-    }
-
-    // Save the requested state.
-    rv = nsBaseWidget::SetSizeMode(aMode);
-
-    // return if there's no shell or our current state is the same as
-    // the mode we were just set to.
-    if (!mWidget || mSizeState == mSizeMode) {
-        return rv;
-    }
-
-    switch (aMode) {
-    case nsSizeMode_Maximized:
-        mWidget->showMaximized();
-        break;
-    case nsSizeMode_Minimized:
-        mWidget->showMinimized();
-        break;
-    case nsSizeMode_Fullscreen:
-        mWidget->showFullScreen();
-        break;
-
-    default:
-        // nsSizeMode_Normal, really.
-        mWidget->show();
-        break;
-    }
-
-    mSizeState = mSizeMode;
-
-    return rv;
-}
-
-// Helper function to recursively find the first parent item that
-// is still visible (QGraphicsItem can be hidden even if they are
-// set to visible if one of their ancestors is invisible)
-/* static */
-void find_first_visible_parent(QWindow* aItem, QWindow*& aVisibleItem)
-{
-    NS_ENSURE_TRUE_VOID(aItem);
-
-    aVisibleItem = nullptr;
-    QWindow* parItem = nullptr;
-    while (!aVisibleItem) {
-        if (aItem->isVisible()) {
-            aVisibleItem = aItem;
-        }
-        else {
-            parItem = aItem->parent();
-            if (parItem) {
-                aItem = parItem;
-            }
-            else {
-                aItem->setVisible(true);
-                aVisibleItem = aItem;
-            }
-        }
-    }
-}
-
-NS_IMETHODIMP
-nsWindow::GetScreenBounds(LayoutDeviceIntRect& aRect)
-{
-    aRect = LayoutDeviceIntRect(LayoutDeviceIntPoint(0, 0), mBounds.Size());
-    if (mIsTopLevel) {
-        QPoint pos = mWidget->position();
-        aRect.MoveTo(pos.x(), pos.y());
-    } else {
-        aRect.MoveTo(WidgetToScreenOffset());
-    }
-    LOG(("GetScreenBounds %d %d | %d %d | %d %d\n",
-         aRect.x, aRect.y,
-         mBounds.width, mBounds.height,
-         aRect.width, aRect.height));
-    return NS_OK;
-}
-
-NS_IMETHODIMP
-nsWindow::SetIcon(const nsAString& aIconSpec)
-{
-    if (!mWidget)
-        return NS_OK;
-
-    nsCOMPtr<nsIFile> iconFile;
-    nsAutoCString path;
-    nsTArray<nsCString> iconList;
-
-    // Look for icons with the following suffixes appended to the base name.
-    // The last two entries (for the old XPM format) will be ignored unless
-    // no icons are found using the other suffixes. XPM icons are depricated.
-
-    const char extensions[6][7] = { ".png", "16.png", "32.png", "48.png",
-                                    ".xpm", "16.xpm" };
-
-    for (uint32_t i = 0; i < ArrayLength(extensions); i++) {
-        // Don't bother looking for XPM versions if we found a PNG.
-        if (i == ArrayLength(extensions) - 2 && iconList.Length())
-            break;
-
-        nsAutoString extension;
-        extension.AppendASCII(extensions[i]);
-
-        ResolveIconName(aIconSpec, extension, getter_AddRefs(iconFile));
-        if (iconFile) {
-            iconFile->GetNativePath(path);
-            iconList.AppendElement(path);
-        }
-    }
-
-    // leave the default icon intact if no matching icons were found
-    if (iconList.Length() == 0)
-        return NS_OK;
-
-    return SetWindowIconList(iconList);
-}
-
-NS_IMETHODIMP
-nsWindow::CaptureMouse(bool aCapture)
-{
-    LOG(("CaptureMouse %p\n", (void *)this));
-
-    if (!mWidget)
-        return NS_OK;
-
-    mWidget->setMouseGrabEnabled(aCapture);
-
-    return NS_OK;
-}
-
-bool
-nsWindow::CheckForRollup(double aMouseX, double aMouseY,
-                         bool aIsWheel)
-{
-    nsIRollupListener* rollupListener = GetActiveRollupListener();
-    nsCOMPtr<nsIWidget> rollupWidget;
-    if (rollupListener) {
-        rollupWidget = rollupListener->GetRollupWidget();
-    }
-    if (!rollupWidget) {
-        nsBaseWidget::gRollupListener = nullptr;
-        return false;
-    }
-
-    bool retVal = false;
-    MozQWidget *currentPopup =
-        (MozQWidget *)rollupWidget->GetNativeData(NS_NATIVE_WINDOW);
-    if (!is_mouse_in_window(currentPopup, aMouseX, aMouseY)) {
-        bool rollup = true;
-        if (aIsWheel) {
-            rollup = rollupListener->ShouldRollupOnMouseWheelEvent();
-            retVal = true;
-        }
-        // if we're dealing with menus, we probably have submenus and
-        // we don't want to rollup if the clickis in a parent menu of
-        // the current submenu
-        uint32_t popupsToRollup = UINT32_MAX;
-        if (rollupListener) {
-            AutoTArray<nsIWidget*, 5> widgetChain;
-            uint32_t sameTypeCount = rollupListener->GetSubmenuWidgetChain(&widgetChain);
-            for (uint32_t i=0; i<widgetChain.Length(); ++i) {
-                nsIWidget* widget =  widgetChain[i];
-                MozQWidget* currWindow =
-                    (MozQWidget*) widget->GetNativeData(NS_NATIVE_WINDOW);
-                if (is_mouse_in_window(currWindow, aMouseX, aMouseY)) {
-                  if (i < sameTypeCount) {
-                    rollup = false;
-                  }
-                  else {
-                    popupsToRollup = sameTypeCount;
-                  }
-                  break;
-                }
-            } // foreach parent menu widget
-        } // if rollup listener knows about menus
-
-        // if we've determined that we should still rollup, do it.
-        if (rollup) {
-            nsIntPoint pos(aMouseX, aMouseY);
-            retVal = rollupListener->Rollup(popupsToRollup, true, &pos, nullptr);
-        }
-    }
-
-    return retVal;
-}
-
-/* static */
-bool
-is_mouse_in_window (MozQWidget* aWindow, double aMouseX, double aMouseY)
-{
-    return aWindow->geometry().contains(aMouseX, aMouseY);
-}
-
-NS_IMETHODIMP
-nsWindow::GetAttention(int32_t aCycleCount)
-{
-    LOG(("nsWindow::GetAttention [%p]\n", (void *)this));
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-
-
-nsEventStatus
-nsWindow::OnCloseEvent(QCloseEvent *aEvent)
-{
-    if (!mWidgetListener)
-        return nsEventStatus_eIgnore;
-    mWidgetListener->RequestWindowClose(this);
-    return nsEventStatus_eConsumeNoDefault;
-}
-
-
-inline bool
-is_latin_shortcut_key(quint32 aKeyval)
-{
-    return ((Qt::Key_0 <= aKeyval && aKeyval <= Qt::Key_9) ||
-            (Qt::Key_A <= aKeyval && aKeyval <= Qt::Key_Z));
-}
-
-nsEventStatus
-nsWindow::DispatchCommandEvent(nsIAtom* aCommand)
-{
-    WidgetCommandEvent event(true, nsGkAtoms::onAppCommand, aCommand, this);
-
-    nsEventStatus status;
-    DispatchEvent(&event, status);
-
-    return status;
-}
-
-nsEventStatus
-nsWindow::DispatchContentCommandEvent(EventMessage aMsg)
-{
-    WidgetContentCommandEvent event(true, aMsg, this);
-
-    nsEventStatus status;
-    DispatchEvent(&event, status);
-
-    return status;
-}
-
-
-static void
-GetBrandName(nsXPIDLString& brandName)
-{
-    nsCOMPtr<nsIStringBundleService> bundleService =
-        mozilla::services::GetStringBundleService();
-
-    nsCOMPtr<nsIStringBundle> bundle;
-    if (bundleService) {
-        bundleService->CreateBundle(
-            "chrome://branding/locale/brand.properties",
-            getter_AddRefs(bundle));
-    }
-
-    if (bundle) {
-        bundle->GetStringFromName(
-            MOZ_UTF16("brandShortName"),
-            getter_Copies(brandName));
-    }
-
-    if (brandName.IsEmpty()) {
-        brandName.AssignLiteral(MOZ_UTF16("Mozilla"));
-    }
-}
-
-NS_IMETHODIMP
-nsWindow::SetWindowClass(const nsAString &xulWinType)
-{
-    if (!mWidget) {
-        return NS_ERROR_FAILURE;
-    }
-
-    nsXPIDLString brandName;
-    GetBrandName(brandName);
-
-#ifdef MOZ_X11
-    XClassHint *class_hint = XAllocClassHint();
-    if (!class_hint) {
-        return NS_ERROR_OUT_OF_MEMORY;
-    }
-    const char *role = nullptr;
-    class_hint->res_name = ToNewCString(xulWinType);
-    if (!class_hint->res_name) {
-        XFree(class_hint);
-        return NS_ERROR_OUT_OF_MEMORY;
-    }
-    class_hint->res_class = ToNewCString(brandName);
-    if (!class_hint->res_class) {
-        free(class_hint->res_name);
-        XFree(class_hint);
-        return NS_ERROR_OUT_OF_MEMORY;
-    }
-
-    // Parse res_name into a name and role. Characters other than
-    // [A-Za-z0-9_-] are converted to '_'. Anything after the first
-    // colon is assigned to role; if there's no colon, assign the
-    // whole thing to both role and res_name.
-    for (char *c = class_hint->res_name; *c; c++) {
-        if (':' == *c) {
-            *c = 0;
-            role = c + 1;
-        }
-        else if (!isascii(*c) || (!isalnum(*c) && ('_' != *c) && ('-' != *c)))
-            *c = '_';
-    }
-    class_hint->res_name[0] = toupper(class_hint->res_name[0]);
-    if (!role) role = class_hint->res_name;
-
-    QWindow *widget = mWidget;
-    // If widget not show, handle might be null
-    if (widget && widget->winId()) {
-        XSetClassHint(gfxQtPlatform::GetXDisplay(widget),
-                      widget->winId(),
-                      class_hint);
-    }
-
-    free(class_hint->res_class);
-    free(class_hint->res_name);
-    XFree(class_hint);
-#endif
-
-    return NS_OK;
-}
-
-void
-nsWindow::NativeResize(int32_t aWidth, int32_t aHeight, bool    aRepaint)
-{
-    LOG(("nsWindow::NativeResize [%p] %d %d\n", (void *)this,
-         aWidth, aHeight));
-
-    mNeedsResize = false;
-
-    mWidget->resize(aWidth, aHeight);
-
-    if (aRepaint) {
-        mWidget->renderLater();
-    }
-}
-
-void
-nsWindow::NativeResize(int32_t aX, int32_t aY,
-                       int32_t aWidth, int32_t aHeight,
-                       bool    aRepaint)
-{
-    LOG(("nsWindow::NativeResize [%p] %d %d %d %d\n", (void *)this,
-         aX, aY, aWidth, aHeight));
-
-    mNeedsResize = false;
-    mNeedsMove = false;
-
-    mWidget->setGeometry(aX, aY, aWidth, aHeight);
-
-    if (aRepaint) {
-        mWidget->renderLater();
-    }
-}
-
-void
-nsWindow::NativeShow(bool aAction)
-{
-    if (aAction) {
-        // On e10s, we never want the child process or plugin process
-        // to go fullscreen because if we do the window because visible
-        // do to disabled Qt-Xembed
-        mWidget->show();
-        // unset our flag now that our window has been shown
-        mNeedsShow = false;
-    }
-    else {
-        mWidget->hide();
-    }
-}
-
-NS_IMETHODIMP
-nsWindow::SetHasTransparentBackground(bool aTransparent)
-{
-    return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-NS_IMETHODIMP
-nsWindow::GetHasTransparentBackground(bool& aTransparent)
-{
-    aTransparent = mIsTransparent;
-    return NS_OK;
-}
-
-void *
-nsWindow::SetupPluginPort(void)
-{
-    NS_WARNING("Not implemented");
-    return nullptr;
-}
-
-nsresult
-nsWindow::SetWindowIconList(const nsTArray<nsCString> &aIconList)
-{
-    QIcon icon;
-
-    for (uint32_t i = 0; i < aIconList.Length(); ++i) {
-        const char *path = aIconList[i].get();
-        LOG(("window [%p] Loading icon from %s\n", (void *)this, path));
-        icon.addFile(path);
-    }
-
-    mWidget->setIcon(icon);
-
-    return NS_OK;
-}
-
-void
-nsWindow::SetDefaultIcon(void)
-{
-    SetIcon(NS_LITERAL_STRING("default"));
-}
-
-void nsWindow::QWidgetDestroyed()
-{
-    mWidget = nullptr;
-}
-
-
-NS_IMETHODIMP
-nsWindow::HideWindowChrome(bool aShouldHide)
-{
-    if (!mWidget) {
-        // Nothing to hide
-        return NS_ERROR_FAILURE;
-    }
-
-    // Sawfish, metacity, and presumably other window managers get
-    // confused if we change the window decorations while the window
-    // is visible.
-    bool wasVisible = false;
-    if (mWidget->isVisible()) {
-        NativeShow(false);
-        wasVisible = true;
-    }
-
-    if (wasVisible) {
-        NativeShow(true);
-    }
-
-    return NS_OK;
-}
-
-//////////////////////////////////////////////////////////////////////
-
-NS_IMETHODIMP_(bool)
-nsWindow::HasGLContext()
-{
-    return false;
-}
-
-
-nsIWidget*
-nsWindow::GetParent(void)
-{
-    return mParent;
-}
-
-float
-nsWindow::GetDPI()
-{
-    return qApp->primaryScreen()->logicalDotsPerInch();
-}
-
-void
-nsWindow::OnDestroy(void)
-{
-    if (mOnDestroyCalled) {
-        return;
-    }
-
-    mOnDestroyCalled = true;
-
-    // release references to children and device context
-    nsBaseWidget::OnDestroy();
-
-    // let go of our parent
-    mParent = nullptr;
-
-    nsCOMPtr<nsIWidget> kungFuDeathGrip = this;
-    NotifyWindowDestroyed();
-}
-
-bool
-nsWindow::AreBoundsSane(void)
-{
-    if (mBounds.width > 0 && mBounds.height > 0) {
-        return true;
-    }
-
-    return false;
-}
-
-void
-nsWindow::SetSoftwareKeyboardState(bool aOpen,
-                                   const InputContextAction& aAction)
-{
-    if (aOpen) {
-        NS_ENSURE_TRUE_VOID(mInputContext.mIMEState.mEnabled !=
-                            IMEState::DISABLED);
-
-        // Ensure that opening the virtual keyboard is allowed for this specific
-        // InputContext depending on the content.ime.strict.policy pref
-        if (mInputContext.mIMEState.mEnabled != IMEState::PLUGIN &&
-            Preferences::GetBool("content.ime.strict_policy", false) &&
-            !aAction.ContentGotFocusByTrustedCause() &&
-            !aAction.UserMightRequestOpenVKB()) {
-            return;
-        }
-    }
-
-    if (aOpen) {
-        qApp->inputMethod()->show();
-    } else {
-        qApp->inputMethod()->hide();
-    }
-
-    return;
-}
-
-
-void
-nsWindow::ProcessMotionEvent()
-{
-    if (mMoveEvent.needDispatch) {
-        WidgetMouseEvent event(true, eMouseMove, this, WidgetMouseEvent::eReal);
-
-        event.mRefPoint.x = nscoord(mMoveEvent.pos.x());
-        event.mRefPoint.y = nscoord(mMoveEvent.pos.y());
-
-        event.InitBasicModifiers(mMoveEvent.modifiers & Qt::ControlModifier,
-                                 mMoveEvent.modifiers & Qt::AltModifier,
-                                 mMoveEvent.modifiers & Qt::ShiftModifier,
-                                 mMoveEvent.modifiers & Qt::MetaModifier);
-        event.mClickCount = 0;
-
-        DispatchEvent(&event);
-        mMoveEvent.needDispatch = false;
-    }
-
-    mTimerStarted = false;
-}
-
deleted file mode 100644
--- a/widget/qt/nsWindow.h
+++ /dev/null
@@ -1,331 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:expandtab:shiftwidth=4:tabstop=4:
- */
-/* 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/. */
-
-#ifndef __nsWindow_h__
-#define __nsWindow_h__
-
-#include <QPointF>
-
-#include "nsBaseWidget.h"
-#include "mozilla/EventForwards.h"
-
-#include "nsGkAtoms.h"
-#include "nsIIdleServiceInternal.h"
-#include "nsIRunnable.h"
-#include "nsThreadUtils.h"
-
-#ifdef MOZ_LOGGING
-
-#include "mozilla/Logging.h"
-#include "nsTArray.h"
-
-extern PRLogModuleInfo *gWidgetLog;
-extern PRLogModuleInfo *gWidgetFocusLog;
-extern PRLogModuleInfo *gWidgetIMLog;
-extern PRLogModuleInfo *gWidgetDrawLog;
-
-#define LOG(args) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, args)
-#define LOGFOCUS(args) MOZ_LOG(gWidgetFocusLog, mozilla::LogLevel::Debug, args)
-#define LOGIM(args) MOZ_LOG(gWidgetIMLog, mozilla::LogLevel::Debug, args)
-#define LOGDRAW(args) MOZ_LOG(gWidgetDrawLog, mozilla::LogLevel::Debug, args)
-
-#else
-
-#ifdef DEBUG_WIDGETS
-
-#define PR_LOG2(_args)         \
-    PR_BEGIN_MACRO             \
-      qDebug _args;            \
-    PR_END_MACRO
-
-#define LOG(args) PR_LOG2(args)
-#define LOGFOCUS(args) PR_LOG2(args)
-#define LOGIM(args) PR_LOG2(args)
-#define LOGDRAW(args) PR_LOG2(args)
-
-#else
-
-#define LOG(args)
-#define LOGFOCUS(args)
-#define LOGIM(args)
-#define LOGDRAW(args)
-
-#endif
-
-#endif /* MOZ_LOGGING */
-
-class QCloseEvent;
-class QFocusEvent;
-class QHideEvent;
-class QKeyEvent;
-class QMouseEvent;
-class QMoveEvent;
-class QResizeEvent;
-class QShowEvent;
-class QTabletEvent;
-class QTouchEvent;
-class QWheelEvent;
-
-namespace mozilla {
-namespace widget {
-class MozQWidget;
-class nsWindow : public nsBaseWidget
-{
-public:
-    nsWindow();
-
-    NS_DECL_ISUPPORTS_INHERITED
-
-    //
-    // nsIWidget
-    //
-    NS_IMETHOD Create(nsIWidget* aParent,
-                      nsNativeWidget aNativeParent,
-                      const LayoutDeviceIntRect& aRect,
-                      nsWidgetInitData* aInitData);
-    NS_IMETHOD Destroy(void);
-
-    NS_IMETHOD Show(bool aState);
-    virtual bool IsVisible() const;
-    NS_IMETHOD ConstrainPosition(bool aAllowSlop,
-                                 int32_t *aX,
-                                 int32_t *aY);
-    NS_IMETHOD Move(double aX,
-                    double aY);
-    NS_IMETHOD Resize(double aWidth,
-                      double aHeight,
-                      bool   aRepaint);
-    NS_IMETHOD Resize(double aX,
-                      double aY,
-                      double aWidth,
-                      double aHeight,
-                      bool   aRepaint);
-    NS_IMETHOD Enable(bool aState);
-    // Some of the nsIWidget methods
-    virtual bool IsEnabled() const;
-    NS_IMETHOD SetFocus(bool aRaise = false);
-    NS_IMETHOD ConfigureChildren(const nsTArray<nsIWidget::Configuration>&);
-    NS_IMETHOD         Invalidate(const LayoutDeviceIntRect& aRect);
-    virtual void*      GetNativeData(uint32_t aDataType);
-    NS_IMETHOD         SetTitle(const nsAString& aTitle);
-    NS_IMETHOD         SetCursor(nsCursor aCursor);
-    NS_IMETHOD         SetCursor(imgIContainer* aCursor,
-                                 uint32_t aHotspotX, uint32_t aHotspotY)
-    {
-        return NS_OK;
-    }
-    virtual LayoutDeviceIntPoint WidgetToScreenOffset();
-    NS_IMETHOD DispatchEvent(mozilla::WidgetGUIEvent* aEvent,
-                             nsEventStatus& aStatus);
-    NS_IMETHOD CaptureRollupEvents(nsIRollupListener *aListener,
-                                   bool aDoCapture)
-    {
-        return NS_ERROR_NOT_IMPLEMENTED;
-    }
-    NS_IMETHOD ReparentNativeWidget(nsIWidget* aNewParent);
-
-    NS_IMETHOD MakeFullScreen(bool aFullScreen, nsIScreen* aTargetScreen = nullptr);
-    virtual mozilla::layers::LayerManager*
-        GetLayerManager(PLayerTransactionChild* aShadowManager = nullptr,
-                        LayersBackend aBackendHint = mozilla::layers::LayersBackend::LAYERS_NONE,
-                        LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT);
-
-    NS_IMETHOD_(void) SetInputContext(const InputContext& aContext,
-                                      const InputContextAction& aAction);
-    NS_IMETHOD_(InputContext) GetInputContext();
-
-    virtual uint32_t GetGLFrameBufferFormat() override;
-
-    already_AddRefed<mozilla::gfx::DrawTarget> StartRemoteDrawing() override;
-
-    // Widget notifications
-    virtual void OnPaint();
-    virtual nsEventStatus focusInEvent(QFocusEvent* aEvent);
-    virtual nsEventStatus focusOutEvent(QFocusEvent* aEvent);
-    virtual nsEventStatus hideEvent(QHideEvent* aEvent);
-    virtual nsEventStatus showEvent(QShowEvent* aEvent);
-    virtual nsEventStatus keyPressEvent(QKeyEvent* aEvent);
-    virtual nsEventStatus keyReleaseEvent(QKeyEvent* aEvent);
-    virtual nsEventStatus mouseDoubleClickEvent(QMouseEvent* aEvent);
-    virtual nsEventStatus mouseMoveEvent(QMouseEvent* aEvent);
-    virtual nsEventStatus mousePressEvent(QMouseEvent* aEvent);
-    virtual nsEventStatus mouseReleaseEvent(QMouseEvent* aEvent);
-    virtual nsEventStatus moveEvent(QMoveEvent* aEvent);
-    virtual nsEventStatus resizeEvent(QResizeEvent* aEvent);
-    virtual nsEventStatus touchEvent(QTouchEvent* aEvent);
-    virtual nsEventStatus wheelEvent(QWheelEvent* aEvent);
-    virtual nsEventStatus tabletEvent(QTabletEvent* event);
-
-protected:
-    virtual ~nsWindow();
-
-    nsWindow* mParent;
-    bool  mVisible;
-    InputContext mInputContext;
-    nsCOMPtr<nsIIdleServiceInternal> mIdleService;
-    MozQWidget* mWidget;
-
-private:
-    // event handling code
-    nsEventStatus DispatchEvent(mozilla::WidgetGUIEvent* aEvent);
-    void DispatchActivateEvent(void);
-    void DispatchDeactivateEvent(void);
-    void DispatchActivateEventOnTopLevelWindow(void);
-    void DispatchDeactivateEventOnTopLevelWindow(void);
-    void DispatchResizeEvent(LayoutDeviceIntRect &aRect,
-                             nsEventStatus &aStatus);
-
-    // Remember the last sizemode so that we can restore it when
-    // leaving fullscreen
-    nsSizeMode mLastSizeMode;
-    // is this widget enabled?
-    bool mEnabled;
-
-    // Call this function when the users activity is the direct cause of an
-    // event (like a keypress or mouse click).
-    void UserActivity();
-    MozQWidget* createQWidget(MozQWidget* parent,
-                              nsWidgetInitData* aInitData);
-
-public:
-    // Old QtWidget only
-    NS_IMETHOD         SetParent(nsIWidget* aNewParent);
-    virtual nsIWidget *GetParent(void);
-    virtual float      GetDPI();
-    NS_IMETHOD         SetModal(bool aModal);
-    NS_IMETHOD         PlaceBehind(nsTopLevelWidgetZPlacement  aPlacement,
-                                   nsIWidget                  *aWidget,
-                                   bool                        aActivate);
-    NS_IMETHOD         SetSizeMode(nsSizeMode aMode);
-    NS_IMETHOD         GetScreenBounds(LayoutDeviceIntRect& aRect) override;
-    NS_IMETHOD         SetHasTransparentBackground(bool aTransparent);
-    NS_IMETHOD         GetHasTransparentBackground(bool& aTransparent);
-    NS_IMETHOD         HideWindowChrome(bool aShouldHide);
-    NS_IMETHOD         SetIcon(const nsAString& aIconSpec);
-    NS_IMETHOD         CaptureMouse(bool aCapture);
-    NS_IMETHOD         SetWindowClass(const nsAString& xulWinType);
-    NS_IMETHOD         GetAttention(int32_t aCycleCount);
-    NS_IMETHOD_(bool)  HasGLContext();
-
-    //
-    // utility methods
-    //
-    void               QWidgetDestroyed();
-    // called when we are destroyed
-    void OnDestroy(void);
-    // called to check and see if a widget's dimensions are sane
-    bool AreBoundsSane(void);
-private:
-    // Is this a toplevel window?
-    bool                mIsTopLevel;
-    // Has this widget been destroyed yet?
-    bool                mIsDestroyed;
-    // This flag tracks if we're hidden or shown.
-    bool                mIsShown;
-    // Has anyone set an x/y location for this widget yet? Toplevels
-    // shouldn't be automatically set to 0,0 for first show.
-    bool                mPlaced;
-    /**
-     * Event handlers (proxied from the actual qwidget).
-     * They follow normal Qt widget semantics.
-     */
-    void Initialize(MozQWidget *widget);
-    virtual nsEventStatus OnCloseEvent(QCloseEvent *);
-    void               NativeResize(int32_t aWidth,
-                                    int32_t aHeight,
-                                    bool    aRepaint);
-    void               NativeResize(int32_t aX,
-                                    int32_t aY,
-                                    int32_t aWidth,
-                                    int32_t aHeight,
-                                    bool    aRepaint);
-    void               NativeShow  (bool    aAction);
-
-private:
-    typedef struct {
-        QPointF pos;
-        Qt::KeyboardModifiers modifiers;
-        bool needDispatch;
-    } MozCachedMoveEvent;
-
-    nsIWidgetListener* GetPaintListener();
-    bool               CheckForRollup(double aMouseX, double aMouseY, bool aIsWheel);
-    void*              SetupPluginPort(void);
-    nsresult           SetWindowIconList(const nsTArray<nsCString> &aIconList);
-    void               SetDefaultIcon(void);
-
-    nsEventStatus      DispatchCommandEvent(nsIAtom* aCommand);
-    nsEventStatus      DispatchContentCommandEvent(mozilla::EventMessage aMsg);
-    void               SetSoftwareKeyboardState(bool aOpen, const InputContextAction& aAction);
-    void               ClearCachedResources();
-
-    uint32_t           mActivatePending : 1;
-    int32_t            mSizeState;
-
-    bool         mIsTransparent;
-
-    // all of our DND stuff
-    // this is the last window that had a drag event happen on it.
-    void   InitDragEvent(mozilla::WidgetMouseEvent& aEvent);
-
-    // this is everything we need to be able to fire motion events
-    // repeatedly
-    uint32_t mKeyDownFlags[8];
-
-    /* Helper methods for DOM Key Down event suppression. */
-    uint32_t* GetFlagWord32(uint32_t aKeyCode, uint32_t* aMask) {
-        /* Mozilla DOM Virtual Key Code is from 0 to 224. */
-        NS_ASSERTION((aKeyCode <= 0xFF), "Invalid DOM Key Code");
-        aKeyCode &= 0xFF;
-
-        /* 32 = 2^5 = 0x20 */
-        *aMask = uint32_t(1) << (aKeyCode & 0x1F);
-        return &mKeyDownFlags[(aKeyCode >> 5)];
-    }
-
-    bool IsKeyDown(uint32_t aKeyCode) {
-        uint32_t mask;
-        uint32_t* flag = GetFlagWord32(aKeyCode, &mask);
-        return ((*flag) & mask) != 0;
-    }
-
-    void SetKeyDownFlag(uint32_t aKeyCode) {
-        uint32_t mask;
-        uint32_t* flag = GetFlagWord32(aKeyCode, &mask);
-        *flag |= mask;
-    }
-
-    void ClearKeyDownFlag(uint32_t aKeyCode) {
-        uint32_t mask;
-        uint32_t* flag = GetFlagWord32(aKeyCode, &mask);
-        *flag &= ~mask;
-    }
-    int32_t mQCursor;
-
-
-    void ProcessMotionEvent();
-
-    void DispatchMotionToMainThread() {
-        if (!mTimerStarted) {
-            nsCOMPtr<nsIRunnable> event =
-                mozilla::NewRunnableMethod(this, &nsWindow::ProcessMotionEvent);
-            NS_DispatchToMainThread(event);
-            mTimerStarted = true;
-        }
-    }
-
-    bool mNeedsResize;
-    bool mNeedsMove;
-    bool mListenForResizes;
-    bool mNeedsShow;
-    MozCachedMoveEvent mMoveEvent;
-    bool mTimerStarted;
-};
-
-}}
-
-#endif /* __nsWindow_h__ */