From 57f8c26c77095d2dc7c5b67f33444add7e7d181a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20Br=C3=BCning?= <michael.bruning@digia.com>
Date: Mon, 16 Sep 2013 16:02:22 +0200
Subject: [PATCH] Add Qt namespace macros QtWebEngine classes.

This should enable namespaced builds of Qt and QtWebEngine.
Change-Id: I4c9d506d864b42a346026b980dcf3777b9680957
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
---
 examples/widgets/browser/browsermainwindow.h             | 5 ++++-
 examples/widgets/widgetsnanobrowser/widgetwindow.h       | 2 ++
 lib/quick/qquickwebengineview.cpp                        | 3 +++
 lib/quick/qquickwebengineview_p.h                        | 4 ++++
 lib/quick/qquickwebengineview_p_p.h                      | 8 ++++++--
 lib/quick/render_widget_host_view_qt_delegate_quick.h    | 3 +++
 lib/render_widget_host_view_qt.h                         | 4 ++++
 lib/render_widget_host_view_qt_delegate.h                | 4 ++++
 lib/web_event_factory.h                                  | 4 ++++
 lib/widgets/Api/qtwebenginewidgetsglobal.h               | 4 ++++
 lib/widgets/Api/qwebenginehistory.cpp                    | 4 ++++
 lib/widgets/Api/qwebenginehistory.h                      | 4 ++++
 lib/widgets/Api/qwebenginehistory_p.h                    | 4 ++++
 lib/widgets/Api/qwebenginehistoryinterface.h             | 4 ++++
 lib/widgets/Api/qwebengineinspector.h                    | 4 ++++
 lib/widgets/Api/qwebenginepage.cpp                       | 4 ++++
 lib/widgets/Api/qwebenginepage.h                         | 3 ++-
 lib/widgets/Api/qwebenginepage_p.h                       | 8 ++++++--
 lib/widgets/Api/qwebenginesecurityorigin.h               | 3 +++
 lib/widgets/Api/qwebenginesettings.h                     | 4 ++++
 lib/widgets/Api/qwebengineview.cpp                       | 4 ++++
 lib/widgets/Api/qwebengineview.h                         | 3 +++
 lib/widgets/Api/qwebengineview_p.h                       | 4 ++++
 lib/widgets/render_widget_host_view_qt_delegate_widget.h | 3 +++
 shared/shared_globals.h                                  | 3 +++
 25 files changed, 94 insertions(+), 6 deletions(-)

diff --git a/examples/widgets/browser/browsermainwindow.h b/examples/widgets/browser/browsermainwindow.h
index 2e59a73c8..2ad5ab62e 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 d11f946e9..b162efd52 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 fa68660ae..ee01e15f9 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 484f6bba6..faeb234a1 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 f2475954d..50e84d194 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 843bc90c7..b90cc1971 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 6b84db392..97261ca92 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 138cdb5ad..efcff1fc2 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 ab7981535..e5ee91510 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 c85640f97..d875c1cbe 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 3f580d814..2dd69dcff 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 a1097df1c..b8ea6b863 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 52439b93f..42f3ff73c 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 73b3f5630..b8108c516 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 b5b652181..9427b4e5c 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 f3f046675..cfcae35c4 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 808ce8435..2ac0b9dc6 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 79c40db02..6ef22531a 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 66ccfebd4..c943bec84 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 b6c8b6a19..177a975fd 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 298ddac43..c8001245e 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 6ab7dee07..c3b3067bc 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 4cf29f8c6..73e5d45d8 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 c133edafd..ac3daeb05 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 314c7fbf1..6ad97e181 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);
 
-- 
GitLab