Fix compilation with Qt namespaces
authorhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Apr 2008 09:40:59 +0000 (09:40 +0000)
committerhausmann@webkit.org <hausmann@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Apr 2008 09:40:59 +0000 (09:40 +0000)
Qt can be configured to have all of its classes inside a specified namespaces.
This is for example used in plugin/component environments like Eclipse.

This change makes it possible to let the Qt port compile against a namespaced
Qt by the use of macros Qt provides to properly forward declare Qt classes in
the namespace.

Signed-off-by: Simon
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31899 268f45cc-cd09-0410-ab3c-d52691b4dbfc

44 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h
WebCore/ChangeLog
WebCore/WebCore.pro
WebCore/bridge/qt/qt_class.h
WebCore/bridge/qt/qt_instance.h
WebCore/html/HTMLCanvasElement.h
WebCore/platform/DragData.h
WebCore/platform/DragImage.h
WebCore/platform/KURL.h
WebCore/platform/PlatformKeyboardEvent.h
WebCore/platform/PlatformMouseEvent.h
WebCore/platform/PlatformWheelEvent.h
WebCore/platform/Widget.h
WebCore/platform/graphics/Color.h
WebCore/platform/graphics/FloatPoint.h
WebCore/platform/graphics/FloatRect.h
WebCore/platform/graphics/Gradient.h
WebCore/platform/graphics/GraphicsContext.h
WebCore/platform/graphics/ImageBuffer.h
WebCore/platform/graphics/ImageSource.h
WebCore/platform/graphics/IntPoint.h
WebCore/platform/graphics/IntRect.h
WebCore/platform/graphics/IntSize.h
WebCore/platform/graphics/Path.h
WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.h
WebCore/platform/network/qt/QNetworkReplyHandler.h
WebCore/platform/network/qt/ResourceRequest.h
WebCore/platform/qt/ClipboardQt.h
WebCore/platform/qt/RenderThemeQt.h
WebCore/platform/text/PlatformString.h
WebCore/platform/text/qt/TextCodecQt.h
WebCore/svg/graphics/SVGPaintServer.h
WebCore/svg/graphics/SVGPaintServerGradient.h
WebKit/qt/Api/qwebframe.h
WebKit/qt/Api/qwebpage.h
WebKit/qt/Api/qwebpage_p.h
WebKit/qt/Api/qwebpluginfactory.h
WebKit/qt/Api/qwebsettings.h
WebKit/qt/Api/qwebview.h
WebKit/qt/ChangeLog
WebKitTools/ChangeLog
WebKitTools/DumpRenderTree/qt/DumpRenderTree.h

index 975e449..a2638ea 100644 (file)
@@ -1,3 +1,18 @@
+2008-04-15  Andre Poenitz  <andre.poenitz@trolltech.com>
+
+        Reviewed by Simon.
+
+        Fix compilation with Qt namespaces
+
+        Qt can be configured to have all of its classes inside a specified namespaces.
+        This is for example used in plugin/component environments like Eclipse.
+
+        This change makes it possible to let the Qt port compile against a namespaced
+        Qt by the use of macros Qt provides to properly forward declare Qt classes in
+        the namespace.
+
+        * wtf/unicode/qt4/UnicodeQt4.h:
+
 2008-04-14  Anders Carlsson  <andersca@apple.com>
 
         Reviewed by Adam.
index 0fbd869..0f24f0c 100644 (file)
@@ -31,6 +31,7 @@
 #include <stdint.h>
 
 #if QT_VERSION >= 0x040300
+QT_BEGIN_NAMESPACE
 namespace QUnicodeTables {
     struct Properties {
         ushort category : 8;
@@ -53,6 +54,7 @@ namespace QUnicodeTables {
     Q_CORE_EXPORT const Properties * QT_FASTCALL properties(uint ucs4);
     Q_CORE_EXPORT const Properties * QT_FASTCALL properties(ushort ucs2);
 }
+QT_END_NAMESPACE
 #endif
 
 // ugly hack to make UChar compatible with JSChar in API/JSStringRef.h
index dc1913f..df5fdd4 100644 (file)
@@ -1,3 +1,49 @@
+2008-04-15  Andre Poenitz  <andre.poenitz@trolltech.com>
+
+        Reviewed by Simon.
+
+        Fix compilation with Qt namespaces
+
+        Qt can be configured to have all of its classes inside a specified namespaces.
+        This is for example used in plugin/component environments like Eclipse.
+
+        This change makes it possible to let the Qt port compile against a namespaced
+        Qt by the use of macros Qt provides to properly forward declare Qt classes in
+        the namespace.
+
+        * WebCore.pro:
+        * bridge/qt/qt_class.h:
+        * bridge/qt/qt_instance.h:
+        * html/HTMLCanvasElement.h:
+        * platform/DragData.h:
+        * platform/DragImage.h:
+        * platform/KURL.h:
+        * platform/PlatformKeyboardEvent.h:
+        * platform/PlatformMouseEvent.h:
+        * platform/PlatformWheelEvent.h:
+        * platform/Widget.h:
+        * platform/graphics/Color.h:
+        * platform/graphics/FloatPoint.h:
+        * platform/graphics/FloatRect.h:
+        * platform/graphics/Gradient.h:
+        * platform/graphics/GraphicsContext.h:
+        * platform/graphics/ImageBuffer.h:
+        * platform/graphics/ImageSource.h:
+        * platform/graphics/IntPoint.h:
+        * platform/graphics/IntRect.h:
+        * platform/graphics/IntSize.h:
+        * platform/graphics/Path.h:
+        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
+        * platform/network/qt/QNetworkReplyHandler.h:
+        * platform/network/qt/ResourceRequest.h:
+        * platform/qt/ClipboardQt.h:
+        * platform/qt/RenderThemeQt.h:
+        * platform/text/PlatformString.h:
+        * platform/text/qt/TextCodecQt.h:
+        * svg/graphics/SVGPaintServer.h:
+        * svg/graphics/SVGPaintServerGradient.h:
+
 2008-04-14  Brady Eidson  <beidson@apple.com>
 
         Reviewed by Anders
index 11f04d6..c026d60 100644 (file)
@@ -1044,6 +1044,7 @@ qt-port {
             ../WebKit/qt/Api/qwebnetworkinterface.cpp \
             ../WebKit/qt/Api/qcookiejar.cpp
 
+        DEFINES += QT_BEGIN_NAMESPACE="" QT_END_NAMESPACE=""
      }
 }
 
index c3e59ec..5f4a211 100644 (file)
 #define BINDINGS_QT_CLASS_H_
 
 #include "runtime.h"
+
+#include "qglobal.h"
+
+QT_BEGIN_NAMESPACE
 class QObject;
 class QMetaObject;
+QT_END_NAMESPACE
 
 namespace KJS {
 namespace Bindings {
index 8828cc8..4dc035b 100644 (file)
@@ -25,8 +25,6 @@
 #include <qpointer.h>
 #include <qhash.h>
 
-class QObject;
-
 namespace KJS {
 
 namespace Bindings {
index cfe7128..2c1adac 100644 (file)
 typedef struct CGContext* CGContextRef;
 typedef struct CGImage* CGImageRef;
 #elif PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QPixmap;
 class QPainter;
+QT_END_NAMESPACE
 #elif PLATFORM(CAIRO)
 typedef struct _cairo_surface cairo_surface_t;
 #endif
index c4b9337..290f99a 100644 (file)
@@ -43,7 +43,9 @@ typedef id <NSDraggingInfo> DragDataRef;
 typedef void* DragDataRef;
 #endif
 #elif PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QMimeData;
+QT_END_NAMESPACE
 typedef const QMimeData* DragDataRef;
 #elif PLATFORM(WIN)
 typedef struct IDataObject* DragDataRef;
index 4c0d257..92dc66a 100644 (file)
@@ -37,7 +37,9 @@
 class NSImage;
 #endif
 #elif PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QPixmap;
+QT_END_NAMESPACE
 #elif PLATFORM(WIN)
 typedef struct HBITMAP__* HBITMAP;
 #elif PLATFORM(WX)
index 8eada5e..4c25c01 100644 (file)
@@ -41,7 +41,9 @@ class NSURL;
 #endif
 
 #if PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QUrl;
+QT_END_NAMESPACE
 #endif
 
 namespace WebCore {
index 4346295..44ca3d5 100644 (file)
@@ -50,7 +50,9 @@ typedef struct _GdkEventKey GdkEventKey;
 #endif
 
 #if PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QKeyEvent;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(WX)
index 983a5d1..9252738 100644 (file)
@@ -54,7 +54,9 @@ typedef struct _GdkEventMotion GdkEventMotion;
 #endif
 
 #if PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QInputEvent;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(WX)
index 7623ff8..2f210c9 100644 (file)
@@ -47,7 +47,9 @@ typedef struct _GdkEventScroll GdkEventScroll;
 #endif
 
 #if PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QWheelEvent;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(WX)
index fbe588e..b929456 100644 (file)
@@ -51,7 +51,10 @@ typedef GtkWidget* PlatformWidget;
 #endif
 
 #if PLATFORM(QT)
+#include <qglobal.h>
+QT_BEGIN_NAMESPACE
 class QWidget;
+QT_END_NAMESPACE
 typedef QWidget* PlatformWidget;
 #endif
 
index 5706c6f..65c7858 100644 (file)
@@ -33,7 +33,10 @@ typedef struct CGColor* CGColorRef;
 #endif
 
 #if PLATFORM(QT)
+#include <qglobal.h>
+QT_BEGIN_NAMESPACE
 class QColor;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(GTK)
index 7b8ba1d..9c7a36a 100644 (file)
@@ -43,7 +43,10 @@ typedef struct _NSPoint NSPoint;
 #endif
 
 #if PLATFORM(QT)
+#include "qglobal.h"
+QT_BEGIN_NAMESPACE
 class QPointF;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(SYMBIAN)
index 867813d..26cbbc0 100644 (file)
@@ -42,7 +42,9 @@ typedef struct _NSRect NSRect;
 #endif
 
 #if PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QRectF;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(WX) && USE(WXGC)
index f6ef699..bd8cf1e 100644 (file)
@@ -37,7 +37,9 @@
 typedef struct CGShading* CGShadingRef;
 typedef CGShadingRef PlatformGradient;
 #elif PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QGradient;
+QT_END_NAMESPACE
 typedef QGradient* PlatformGradient;
 #elif PLATFORM(CAIRO)
 typedef struct _cairo_pattern cairo_pattern_t;
index 16a4e5c..afab5b8 100644 (file)
@@ -39,7 +39,9 @@ typedef struct CGContext PlatformGraphicsContext;
 #elif PLATFORM(CAIRO)
 typedef struct _cairo PlatformGraphicsContext;
 #elif PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QPainter;
+QT_END_NAMESPACE
 typedef QPainter PlatformGraphicsContext;
 #elif PLATFORM(WX)
 class wxGCDC;
index c56ec0f..7e11a80 100644 (file)
@@ -43,7 +43,9 @@ typedef struct CGImage* CGImageRef;
 
 #if PLATFORM(QT)
 #include <QPixmap>
+QT_BEGIN_NAMESPACE
 class QPainter;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(CAIRO)
index 8db5cd4..0bd6f46 100644 (file)
@@ -36,7 +36,10 @@ typedef struct CGImageSource* CGImageSourceRef;
 typedef struct CGImage* CGImageRef;
 typedef const struct __CFData* CFDataRef;
 #elif PLATFORM(QT)
+#include <qglobal.h>
+QT_BEGIN_NAMESPACE
 class QPixmap;
+QT_END_NAMESPACE
 #elif PLATFORM(CAIRO)
 struct _cairo_surface;
 typedef struct _cairo_surface cairo_surface_t;
index bd34d2a..0335296 100644 (file)
@@ -45,7 +45,9 @@ typedef struct _NSPoint NSPoint;
 typedef struct tagPOINT POINT;
 typedef struct tagPOINTS POINTS;
 #elif PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QPoint;
+QT_END_NAMESPACE
 #elif PLATFORM(GTK)
 typedef struct _GdkPoint GdkPoint;
 #endif
index 84adf20..5679aac 100644 (file)
@@ -44,7 +44,9 @@ typedef struct _NSRect NSRect;
 #if PLATFORM(WIN)
 typedef struct tagRECT RECT;
 #elif PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QRect;
+QT_END_NAMESPACE
 #elif PLATFORM(GTK)
 typedef struct _GdkRectangle GdkRectangle;
 #endif
index faf58c6..7245408 100644 (file)
@@ -43,7 +43,10 @@ typedef struct _NSSize NSSize;
 #if PLATFORM(WIN)
 typedef struct tagSIZE SIZE;
 #elif PLATFORM(QT)
+#include <qglobal.h>
+QT_BEGIN_NAMESPACE
 class QSize;
+QT_END_NAMESPACE
 #endif
 #if PLATFORM(SYMBIAN)
 class TSize;
index 5150649..8cca420 100644 (file)
 #if PLATFORM(CG)
 typedef struct CGPath PlatformPath;
 #elif PLATFORM(QT)
+#include <qglobal.h>
+QT_BEGIN_NAMESPACE
 class QPainterPath;
+QT_END_NAMESPACE
 typedef QPainterPath PlatformPath;
 #elif PLATFORM(WX) && USE(WXGC)
 class wxGraphicsPath;
index 79af818..e299329 100644 (file)
@@ -32,6 +32,9 @@
 #include <QDebug>
 #include <QPainter>
 #include <QWidget>
+#include <QMetaEnum>
+#include <QUrl>
+#include <QEvent>
 #include <phonon>
 
 using namespace Phonon;
index c57170c..19183fd 100644 (file)
@@ -29,7 +29,6 @@
 QT_BEGIN_NAMESPACE
 class QWidget;
 class QUrl;
-QT_END_NAMESPACE
 
 namespace Phonon {
     class MediaObject;
@@ -37,6 +36,7 @@ namespace Phonon {
     class AudioOutput;
     class MediaSource;
 }
+QT_END_NAMESPACE
 
 namespace WebCore {
 
index cf331f8..20e97a6 100644 (file)
 
 #include "FormData.h"
 
+QT_BEGIN_NAMESPACE
 class QFile;
 class QNetworkReply;
+QT_END_NAMESPACE
 
 namespace WebCore {
 
index 6b40639..31c98cd 100644 (file)
@@ -30,7 +30,9 @@
 
 #include "ResourceRequestBase.h"
 
+QT_BEGIN_NAMESPACE
 class QNetworkRequest;
+QT_END_NAMESPACE
 
 namespace WebCore {
 
index 6e54bcd..ad965ab 100644 (file)
@@ -30,7 +30,9 @@
 #include "CachedResourceClient.h"
 #include "ClipboardAccessPolicy.h"
 
+QT_BEGIN_NAMESPACE
 class QMimeData;
+QT_END_NAMESPACE
 
 namespace WebCore {
 
index 01beae5..dc9ce0b 100644 (file)
 
 #include "RenderTheme.h"
 
+QT_BEGIN_NAMESPACE
 class QStyle;
 class QPainter;
 class QWidget;
 class QStyleOption;
+QT_END_NAMESPACE
 
 namespace WebCore {
 
index 82bedc2..29bbdda 100644 (file)
@@ -32,7 +32,9 @@ typedef const struct __CFString * CFStringRef;
 #endif
 
 #if PLATFORM(QT)
+QT_BEGIN_NAMESPACE
 class QString;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(WX)
index ba7198a..f28f0bb 100644 (file)
@@ -30,8 +30,6 @@
 #include "TextEncoding.h"
 #include <QTextCodec>
 
-class QTextCodec;
-
 namespace WebCore {
 
     class TextCodecQt : public TextCodec {
index 2df381e..a74d62c 100644 (file)
 #endif
 
 #if PLATFORM(QT)
+#include <qglobal.h>
+QT_BEGIN_NAMESPACE
 class QPen;
+QT_END_NAMESPACE
 #endif
 
 #if PLATFORM(CG)
index a4af37b..64f7f3e 100644 (file)
 #include <wtf/RefPtr.h>
 
 #if PLATFORM(QT)
+#include <qglobal.h>
+QT_BEGIN_NAMESPACE
 class QGradient;
+QT_END_NAMESPACE
 #endif
 
 namespace WebCore {
index a1cdb25..66c87e1 100644 (file)
 #endif
 #include "qwebkitglobal.h"
 
+QT_BEGIN_NAMESPACE
 class QRect;
 class QPoint;
 class QPainter;
 class QPixmap;
 class QMouseEvent;
 class QWheelEvent;
-class QWebNetworkRequest;
 class QNetworkRequest;
+class QRegion;
+QT_END_NAMESPACE
 
+class QWebNetworkRequest;
 class QWebFramePrivate;
 class QWebPage;
-class QRegion;
 
 namespace WebCore {
     class WidgetPrivate;
index da3f7cb..2a3c697 100644 (file)
 
 #include <QtCore/qobject.h>
 #include <QtGui/qwidget.h>
+
+QT_BEGIN_NAMESPACE
 class QNetworkProxy;
 class QUndoStack;
 class QUrl;
-class QWebFrame;
-class QWebNetworkRequest;
 class QNetworkRequest;
 class QNetworkReply;
 class QNetworkAccessManager;
+QT_END_NAMESPACE
+
+class QWebFrame;
+class QWebNetworkRequest;
 class QWebHistory;
 
 class QWebPagePrivate;
index cc742e2..822ca0c 100644 (file)
@@ -46,8 +46,10 @@ namespace WebCore
     class Page;
 }
 
+QT_BEGIN_NAMESPACE
 class QUndoStack;
 class QMenu;
+QT_END_NAMESPACE
 
 class QWebPageContextPrivate
 {
index e305f5b..2e53a22 100644 (file)
 #include <QtCore/qobject.h>
 #include <QtCore/qstringlist.h>
 
+QT_BEGIN_NAMESPACE
 class QUrl;
-class QWebPluginFactoryPrivate;
 class QString;
+QT_END_NAMESPACE
+class QWebPluginFactoryPrivate;
 
 class QWEBKIT_EXPORT QWebPluginFactory : public QObject
 {
index ef0593b..3f84b57 100644 (file)
@@ -36,7 +36,9 @@ namespace WebCore
 
 class QWebPage;
 class QWebSettingsPrivate;
+QT_BEGIN_NAMESPACE
 class QUrl;
+QT_END_NAMESPACE
 
 class QWEBKIT_EXPORT QWebSettings
 {
index 53043ae..8c1bcfa 100644 (file)
 #include <QtNetwork/qnetworkaccessmanager.h>
 #endif
 
+QT_BEGIN_NAMESPACE
+class QNetworkRequest;
+QT_END_NAMESPACE
+
 class QWebPage;
 class QWebViewPrivate;
-class QNetworkRequest;
 class QWebNetworkRequest;
 
 class QWEBKIT_EXPORT QWebView : public QWidget
index 53713bc..f647237 100644 (file)
@@ -1,3 +1,23 @@
+2008-04-15  Andre Poenitz  <andre.poenitz@trolltech.com>
+
+        Reviewed by Simon.
+
+        Fix compilation with Qt namespaces
+
+        Qt can be configured to have all of its classes inside a specified namespaces.
+        This is for example used in plugin/component environments like Eclipse.
+
+        This change makes it possible to let the Qt port compile against a namespaced
+        Qt by the use of macros Qt provides to properly forward declare Qt classes in
+        the namespace.
+
+        * Api/qwebframe.h:
+        * Api/qwebpage.h:
+        * Api/qwebpage_p.h:
+        * Api/qwebpluginfactory.h:
+        * Api/qwebsettings.h:
+        * Api/qwebview.h:
+
 2008-04-05  Olivier Goffart  <ogoffart@trolltech.com>
 
         Reviewed by Holger.
index f04246d..1cf94ba 100644 (file)
@@ -1,3 +1,18 @@
+2008-04-15  Andre Poenitz  <andre.poenitz@trolltech.com>
+
+        Reviewed by Simon.
+
+        Fix compilation with Qt namespaces
+
+        Qt can be configured to have all of its classes inside a specified namespaces.
+        This is for example used in plugin/component environments like Eclipse.
+
+        This change makes it possible to let the Qt port compile against a namespaced
+        Qt by the use of macros Qt provides to properly forward declare Qt classes in
+        the namespace.
+
+        * DumpRenderTree/qt/DumpRenderTree.h:
+
 2008-04-08  Kevin Ollivier  <kevino@theolliviers.com>
 
         Reviewed by Darin Adler.
index b939fad..a46cccb 100644 (file)
 #include <QObject>
 #include <QTextStream>
 #include <QSocketNotifier>
+
+QT_BEGIN_NAMESPACE
 class QUrl;
 class QFile;
+QT_END_NAMESPACE
 class QWebPage;
 class QWebFrame;