diff --git a/examples/widgets/browser/browsermainwindow.h b/examples/widgets/browser/browsermainwindow.h
index 2e59a73c85561e84aa012176345a623b60fe409d..2ad5ab62ef4479c10e45bb53c6bd4db7eaa5b685 100644
--- a/examples/widgets/browser/browsermainwindow.h
+++ b/examples/widgets/browser/browsermainwindow.h
@@ -46,10 +46,13 @@
 #include <QtGui/QIcon>
 #include <QtCore/QUrl>
 
+QT_BEGIN_NAMESPACE
+class QWebEngineFrame;
+QT_END_NAMESPACE
+
 class AutoSaver;
 class BookmarksToolBar;
 class ChaseWidget;
-class QWebEngineFrame;
 class TabWidget;
 class ToolbarSearch;
 class WebView;
diff --git a/examples/widgets/widgetsnanobrowser/widgetwindow.h b/examples/widgets/widgetsnanobrowser/widgetwindow.h
index d11f946e939c4f7207a0ec22cfe4e7fc541c493e..b162efd52a7d47c2c905198c64af11e7498475a2 100644
--- a/examples/widgets/widgetsnanobrowser/widgetwindow.h
+++ b/examples/widgets/widgetsnanobrowser/widgetwindow.h
@@ -45,7 +45,9 @@
 #include <QtWidgets>
 #include <QScopedPointer>
 
+QT_BEGIN_NAMESPACE
 class QWebEngineView;
+QT_END_NAMESPACE
 
 class WidgetWindow : public QWidget {
     Q_OBJECT
diff --git a/lib/quick/qquickwebengineview.cpp b/lib/quick/qquickwebengineview.cpp
index fa68660aec565e9e2d8d06b60529aeede9457a20..ee01e15f9af8c988baa05bed249de5d2dea84eb7 100644
--- a/lib/quick/qquickwebengineview.cpp
+++ b/lib/quick/qquickwebengineview.cpp
@@ -47,6 +47,7 @@
 
 #include <QUrl>
 
+QT_BEGIN_NAMESPACE
 
 QQuickWebEngineViewPrivate::QQuickWebEngineViewPrivate()
     : adapter(new WebContentsAdapter)
@@ -183,3 +184,5 @@ void QQuickWebEngineView::geometryChanged(const QRectF &newGeometry, const QRect
         child->setSize(newGeometry.size());
     }
 }
+
+QT_END_NAMESPACE
diff --git a/lib/quick/qquickwebengineview_p.h b/lib/quick/qquickwebengineview_p.h
index 484f6bba6e4deb7355bb01452128c8020289a51d..faeb234a12295e21ed438b74c3ed3d33614b5073 100644
--- a/lib/quick/qquickwebengineview_p.h
+++ b/lib/quick/qquickwebengineview_p.h
@@ -44,6 +44,8 @@
 
 #include <QQuickItem>
 
+QT_BEGIN_NAMESPACE
+
 class QQuickWebEngineViewPrivate;
 
 class QQuickWebEngineView : public QQuickItem {
@@ -83,6 +85,8 @@ private:
     Q_DECLARE_PRIVATE(QQuickWebEngineView)
 };
 
+QT_END_NAMESPACE
+
 QML_DECLARE_TYPE(QQuickWebEngineView)
 
 #endif // QQUICKWEBENGINEVIEW_P_H
diff --git a/lib/quick/qquickwebengineview_p_p.h b/lib/quick/qquickwebengineview_p_p.h
index f2475954db14667cca981e96a8761684a7300a03..50e84d194d749f861c15b8d7fc339e8d3150419e 100644
--- a/lib/quick/qquickwebengineview_p_p.h
+++ b/lib/quick/qquickwebengineview_p_p.h
@@ -47,10 +47,12 @@
 #include <QSharedData>
 #include <QtQuick/private/qquickitem_p.h>
 
-class QQuickWebEngineView;
 class RenderWidgetHostViewQtDelegateQuick;
 class WebContentsAdapter;
 
+QT_BEGIN_NAMESPACE
+class QQuickWebEngineView;
+
 class QQuickWebEngineViewPrivate : public QQuickItemPrivate, public WebContentsAdapterClient
 {
     Q_DECLARE_PUBLIC(QQuickWebEngineView)
@@ -67,7 +69,9 @@ public:
     virtual void adoptNewWindow(WebContentsAdapter *newWebContents, WindowOpenDisposition disposition) Q_DECL_OVERRIDE;
 
     QExplicitlySharedDataPointer<WebContentsAdapter> adapter;
-    friend class RenderWidgetHostViewQtDelegateQuick;
+    friend class ::RenderWidgetHostViewQtDelegateQuick;
 };
 
+QT_END_NAMESPACE
+
 #endif // QQUICKWEBENGINEVIEW_P_P_H
diff --git a/lib/quick/render_widget_host_view_qt_delegate_quick.h b/lib/quick/render_widget_host_view_qt_delegate_quick.h
index 843bc90c7a29943f595d3cf12d7be171617c4eb9..b90cc197146afa40eafeeea2dbcfd97098f2d94f 100644
--- a/lib/quick/render_widget_host_view_qt_delegate_quick.h
+++ b/lib/quick/render_widget_host_view_qt_delegate_quick.h
@@ -56,12 +56,15 @@
 #include <QQuickPaintedItem>
 
 class BackingStoreQt;
+
+QT_BEGIN_NAMESPACE
 class QWindow;
 class QQuickItem;
 class QFocusEvent;
 class QMouseEvent;
 class QKeyEvent;
 class QWheelEvent;
+QT_END_NAMESPACE
 
 class RenderWidgetHostViewQtDelegateQuick : public QQuickPaintedItem, public RenderWidgetHostViewQtDelegate
 {
diff --git a/lib/render_widget_host_view_qt.h b/lib/render_widget_host_view_qt.h
index 6b84db392e2a097ac5e0639e3b2994eccd9317af..97261ca929e01c5a3433396bf0b627fa52470e9d 100644
--- a/lib/render_widget_host_view_qt.h
+++ b/lib/render_widget_host_view_qt.h
@@ -53,6 +53,8 @@
 #include <QtGlobal>
 
 class BackingStoreQt;
+
+QT_BEGIN_NAMESPACE
 class QEvent;
 class QFocusEvent;
 class QHoverEvent;
@@ -60,6 +62,8 @@ class QKeyEvent;
 class QMouseEvent;
 class QTouchEvent;
 class QWheelEvent;
+QT_END_NAMESPACE
+
 class RenderWidgetHostViewQtDelegate;
 class WebContentsAdapterClient;
 
diff --git a/lib/render_widget_host_view_qt_delegate.h b/lib/render_widget_host_view_qt_delegate.h
index 138cdb5adf9c88b7aa52a2a0ecb6ccd17ab67c69..efcff1fc29c157aba8b473fe0a48f877c16f145b 100644
--- a/lib/render_widget_host_view_qt_delegate.h
+++ b/lib/render_widget_host_view_qt_delegate.h
@@ -49,10 +49,14 @@
 #include <QtGui/qwindowdefs.h>
 
 class BackingStoreQt;
+
+QT_BEGIN_NAMESPACE
 class QCursor;
 class QEvent;
 class QPainter;
 class QWindow;
+QT_END_NAMESPACE
+
 class RenderWidgetHostViewQt;
 class WebContentsAdapterClient;
 
diff --git a/lib/web_event_factory.h b/lib/web_event_factory.h
index ab7981535fb61d87d54eaa65edc96beb016839cd..e5ee9151030b87ba0a43373569362992b29ee639 100644
--- a/lib/web_event_factory.h
+++ b/lib/web_event_factory.h
@@ -45,10 +45,14 @@
 #include "content/public/browser/native_web_keyboard_event.h"
 #include "third_party/WebKit/public/web/WebInputEvent.h"
 
+#include <QtGlobal>
+
+QT_BEGIN_NAMESPACE
 class QHoverEvent;
 class QKeyEvent;
 class QMouseEvent;
 class QWheelEvent;
+QT_END_NAMESPACE
 
 class WebEventFactory {
 
diff --git a/lib/widgets/Api/qtwebenginewidgetsglobal.h b/lib/widgets/Api/qtwebenginewidgetsglobal.h
index c85640f97c5cd5ddb1e8f05913f0958287ca1f8a..d875c1cbeb2ea42ea4bfe622cd72e3ec3b251cdf 100644
--- a/lib/widgets/Api/qtwebenginewidgetsglobal.h
+++ b/lib/widgets/Api/qtwebenginewidgetsglobal.h
@@ -43,6 +43,8 @@
 
 #include <QtCore/qglobal.h>
 
+QT_BEGIN_NAMESPACE
+
 #ifndef QT_STATIC
 #  if defined(QT_BUILD_WEBENGINEWIDGETS_LIB)
 #      define QWEBENGINEWIDGETS_EXPORT Q_DECL_EXPORT
@@ -53,4 +55,6 @@
 #  define QWEBENGINEWIDGETS_EXPORT
 #endif
 
+QT_END_NAMESPACE
+
 #endif // QTWEBENGINEWIDGETSGLOBAL_H
diff --git a/lib/widgets/Api/qwebenginehistory.cpp b/lib/widgets/Api/qwebenginehistory.cpp
index 3f580d814989c57030e3afbf61ee53d2cee318e5..2dd69dcff21a1af428e06012f30250d1a99ee3bb 100644
--- a/lib/widgets/Api/qwebenginehistory.cpp
+++ b/lib/widgets/Api/qwebenginehistory.cpp
@@ -45,6 +45,8 @@
 #include "qwebenginepage_p.h"
 #include "web_contents_adapter.h"
 
+QT_BEGIN_NAMESPACE
+
 QWebEngineHistoryItemPrivate::QWebEngineHistoryItemPrivate(WebContentsAdapter *adapter, int index)
     : adapter(adapter)
     , index(index)
@@ -282,3 +284,5 @@ QDataStream& operator>>(QDataStream& stream, QWebEngineHistory& history)
     qWarning("Not implemented: %s", __func__);
     return stream;
 }
+
+QT_END_NAMESPACE
diff --git a/lib/widgets/Api/qwebenginehistory.h b/lib/widgets/Api/qwebenginehistory.h
index a1097df1cd8b45cc76c5e8a3b4aa55498b67da3d..b8ea6b86367587f05dc6e5b113359fc7c7816483 100644
--- a/lib/widgets/Api/qwebenginehistory.h
+++ b/lib/widgets/Api/qwebenginehistory.h
@@ -28,6 +28,8 @@
 #include <QtGui/qicon.h>
 #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
 
+QT_BEGIN_NAMESPACE
+
 class QWebEngineHistory;
 class QWebEngineHistoryItemPrivate;
 class QWebEnginePage;
@@ -105,4 +107,6 @@ private:
 QWEBENGINEWIDGETS_EXPORT QDataStream& operator<<(QDataStream& stream, const QWebEngineHistory& history);
 QWEBENGINEWIDGETS_EXPORT QDataStream& operator>>(QDataStream& stream, QWebEngineHistory& history);
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINEHISTORY_H
diff --git a/lib/widgets/Api/qwebenginehistory_p.h b/lib/widgets/Api/qwebenginehistory_p.h
index 52439b93f05d1374538d34eb385617317fdeedd6..42f3ff73c335d7f40a629bd761ffa46d16a816b8 100644
--- a/lib/widgets/Api/qwebenginehistory_p.h
+++ b/lib/widgets/Api/qwebenginehistory_p.h
@@ -46,6 +46,8 @@
 
 class WebContentsAdapter;
 
+QT_BEGIN_NAMESPACE
+
 class QWebEngineHistoryItemPrivate : public QSharedData
 {
 public:
@@ -66,4 +68,6 @@ public:
     mutable QList<QWebEngineHistoryItem> items;
 };
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINEHISTORY_P_H
diff --git a/lib/widgets/Api/qwebenginehistoryinterface.h b/lib/widgets/Api/qwebenginehistoryinterface.h
index 73b3f5630f25c4dcb009c55e237ce70f7def2378..b8108c5166fe95367c7f71674bbb162563fc8bc9 100644
--- a/lib/widgets/Api/qwebenginehistoryinterface.h
+++ b/lib/widgets/Api/qwebenginehistoryinterface.h
@@ -26,6 +26,8 @@
 #include <QtCore/qobject.h>
 #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
 
+QT_BEGIN_NAMESPACE
+
 class QWEBENGINEWIDGETS_EXPORT QWebEngineHistoryInterface : public QObject {
     Q_OBJECT
 public:
@@ -39,4 +41,6 @@ public:
     virtual void addHistoryEntry(const QString &url) = 0;
 };
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINEHISTORYINTERFACE_H
diff --git a/lib/widgets/Api/qwebengineinspector.h b/lib/widgets/Api/qwebengineinspector.h
index b5b652181fed5fa749851f447bfd2387ed0b9365..9427b4e5cafa68eb6daada8457091da7a98d6b85 100644
--- a/lib/widgets/Api/qwebengineinspector.h
+++ b/lib/widgets/Api/qwebengineinspector.h
@@ -23,6 +23,8 @@
 
 #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
 
+QT_BEGIN_NAMESPACE
+
 class QWebEnginePage;
 class QWebEngineInspectorPrivate;
 
@@ -36,4 +38,6 @@ public:
     QWebEnginePage* page() const;
 };
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINEINSPECTOR_H
diff --git a/lib/widgets/Api/qwebenginepage.cpp b/lib/widgets/Api/qwebenginepage.cpp
index f3f0466752d21af3a64d69c2b7bbd50d083845cb..cfcae35c41844921cd59380c573b10d30aba56f5 100644
--- a/lib/widgets/Api/qwebenginepage.cpp
+++ b/lib/widgets/Api/qwebenginepage.cpp
@@ -34,6 +34,8 @@
 #include <QLayout>
 #include <QUrl>
 
+QT_BEGIN_NAMESPACE
+
 QWebEnginePagePrivate::QWebEnginePagePrivate()
     : QObjectPrivate(QObjectPrivateVersion)
     , adapter(new WebContentsAdapter)
@@ -290,4 +292,6 @@ QWebEnginePage *QWebEnginePage::createWindow(WebWindowType type)
     return 0;
 }
 
+QT_END_NAMESPACE
+
 #include "moc_qwebenginepage.cpp"
diff --git a/lib/widgets/Api/qwebenginepage.h b/lib/widgets/Api/qwebenginepage.h
index 808ce843571952a729146195778c8e083c838af4..2ac0b9dc65e9b705e136eaebfa2df7b3a27212fe 100644
--- a/lib/widgets/Api/qwebenginepage.h
+++ b/lib/widgets/Api/qwebenginepage.h
@@ -35,7 +35,6 @@ QT_BEGIN_NAMESPACE
 class QUndoStack;
 class QMenu;
 class QPrinter;
-QT_END_NAMESPACE
 
 // FIXME: Just forward-declare the to-be-removed frame and element classes for now.
 // Referencing calls should be ported to be page-friendly or removed individually.
@@ -560,4 +559,6 @@ private:
 Q_DECLARE_OPERATORS_FOR_FLAGS(QWebEnginePage::FindFlags);
 Q_DECLARE_OPERATORS_FOR_FLAGS(QWebEnginePage::RenderLayers);
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINEPAGE_H
diff --git a/lib/widgets/Api/qwebenginepage_p.h b/lib/widgets/Api/qwebenginepage_p.h
index 79c40db02bbbcde4883c143e810bc51a111e2db2..6ef22531aa9922f91e951cbfab386126d7963493 100644
--- a/lib/widgets/Api/qwebenginepage_p.h
+++ b/lib/widgets/Api/qwebenginepage_p.h
@@ -48,11 +48,13 @@
 #include <QtCore/private/qobject_p.h>
 #include <QSharedData>
 
+class RenderWidgetHostViewQtDelegate;
+class WebContentsAdapter;
+
+QT_BEGIN_NAMESPACE
 class QWebEngineHistory;
 class QWebEnginePage;
 class QWebEngineView;
-class RenderWidgetHostViewQtDelegate;
-class WebContentsAdapter;
 
 class QWebEnginePagePrivate : public QObjectPrivate, public WebContentsAdapterClient
 {
@@ -82,4 +84,6 @@ public:
     bool m_isLoading;
 };
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINEPAGE_P_H
diff --git a/lib/widgets/Api/qwebenginesecurityorigin.h b/lib/widgets/Api/qwebenginesecurityorigin.h
index 66ccfebd46801fc9ba44518d33a4fc7ade4398e3..c943bec84fd68871b1d4df19542d88575668d64b 100644
--- a/lib/widgets/Api/qwebenginesecurityorigin.h
+++ b/lib/widgets/Api/qwebenginesecurityorigin.h
@@ -23,6 +23,7 @@
 
 #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
 
+QT_BEGIN_NAMESPACE
 class QWebEngineDatabase;
 class QWebEngineSecurityOriginPrivate;
 
@@ -46,4 +47,6 @@ public:
     QList<QWebEngineDatabase> databases() const;
 };
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINESECURITYORIGIN_H_
diff --git a/lib/widgets/Api/qwebenginesettings.h b/lib/widgets/Api/qwebenginesettings.h
index b6c8b6a19ffa08c1f5c8c1914e6c0a3a948aa373..177a975fd95ff84e6fd63d7d86a46f0def533e27 100644
--- a/lib/widgets/Api/qwebenginesettings.h
+++ b/lib/widgets/Api/qwebenginesettings.h
@@ -24,6 +24,8 @@
 #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
 #include <QtCore/qstring.h>
 
+QT_BEGIN_NAMESPACE
+
 class QIcon;
 class QPixmap;
 class QUrl;
@@ -163,4 +165,6 @@ private:
     QWebEngineSettingsPrivate *d;
 };
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINESETTINGS_H
diff --git a/lib/widgets/Api/qwebengineview.cpp b/lib/widgets/Api/qwebengineview.cpp
index 298ddac43506381463e57525bb37626ecbfcc030..c8001245efb16f7076bf65c837fd1e530005d225 100644
--- a/lib/widgets/Api/qwebengineview.cpp
+++ b/lib/widgets/Api/qwebengineview.cpp
@@ -46,6 +46,8 @@
 
 #include <QStackedLayout>
 
+QT_BEGIN_NAMESPACE
+
 void QWebEngineViewPrivate::bind(QWebEngineView *view, QWebEnginePage *page)
 {
     if (view && page == view->d_func()->page)
@@ -172,4 +174,6 @@ QWebEngineView *QWebEngineView::createWindow(QWebEnginePage::WebWindowType type)
     return 0;
 }
 
+QT_END_NAMESPACE
+
 #include "moc_qwebengineview.cpp"
diff --git a/lib/widgets/Api/qwebengineview.h b/lib/widgets/Api/qwebengineview.h
index 6ab7dee0789cd596bf0f3af5626e61303262acd1..c3b3067bce3c5f6645342357d1ea92699faad784 100644
--- a/lib/widgets/Api/qwebengineview.h
+++ b/lib/widgets/Api/qwebengineview.h
@@ -29,6 +29,7 @@
 #include <QtWebEngineWidgets/qtwebenginewidgetsglobal.h>
 #include <QtWebEngineWidgets/qwebenginepage.h>
 
+QT_BEGIN_NAMESPACE
 class QIcon;
 class QNetworkRequest;
 class QPrinter;
@@ -135,4 +136,6 @@ private:
     friend class QWebEnginePage;
 };
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINEVIEW_H
diff --git a/lib/widgets/Api/qwebengineview_p.h b/lib/widgets/Api/qwebengineview_p.h
index 4cf29f8c6241f46252c6750f6ff7654465d36712..73e5d45d8f0bb2acc6a37679ace05be0d8f7731e 100644
--- a/lib/widgets/Api/qwebengineview_p.h
+++ b/lib/widgets/Api/qwebengineview_p.h
@@ -45,6 +45,8 @@
 #include <QtWidgets/private/qwidget_p.h>
 #include <QtWebEngineWidgets/qwebengineview.h>
 
+QT_BEGIN_NAMESPACE
+
 class QWebEngineView;
 
 class QWebEngineViewPrivate : public QWidgetPrivate
@@ -59,4 +61,6 @@ public:
     QWebEnginePage *page;
 };
 
+QT_END_NAMESPACE
+
 #endif // QWEBENGINEVIEW_P_H
diff --git a/lib/widgets/render_widget_host_view_qt_delegate_widget.h b/lib/widgets/render_widget_host_view_qt_delegate_widget.h
index c133edafd4f8a539d5ea0257423375050dfcbd5f..ac3daeb05cf6cf73a590265f46fb7d12e670133b 100644
--- a/lib/widgets/render_widget_host_view_qt_delegate_widget.h
+++ b/lib/widgets/render_widget_host_view_qt_delegate_widget.h
@@ -47,7 +47,10 @@
 #include <QWidget>
 
 class BackingStoreQt;
+
+QT_BEGIN_NAMESPACE
 class QWindow;
+QT_END_NAMESPACE
 
 class RenderWidgetHostViewQtDelegateWidget : public QWidget, public RenderWidgetHostViewQtDelegate
 {
diff --git a/shared/shared_globals.h b/shared/shared_globals.h
index 314c7fbf114852bd708eb356986522911e037fe8..6ad97e181feba0051287de2182b597df4e6c178d 100644
--- a/shared/shared_globals.h
+++ b/shared/shared_globals.h
@@ -43,6 +43,7 @@
 #define SHARED_GLOBALS_H
 
 #include "third_party/WebKit/public/platform/WebScreenInfo.h"
+#include <QtGlobal>
 
 #ifdef QT_WEBENGINE_LOGGING
 #define QT_NOT_YET_IMPLEMENTED fprintf(stderr, "function %s not implemented! - %s:%d\n", __func__, __FILE__, __LINE__);
@@ -52,7 +53,9 @@
 #define QT_NOT_USED Q_UNREACHABLE(); // This will assert in debug.
 #endif
 
+QT_BEGIN_NAMESPACE
 class QWindow;
+QT_END_NAMESPACE
 
 void GetScreenInfoFromNativeWindow(QWindow* window, WebKit::WebScreenInfo* results);