Reviewed by Darin Adler.
authorkevino@webkit.org <kevino@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Mar 2011 14:59:20 +0000 (14:59 +0000)
committerkevino@webkit.org <kevino@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Mar 2011 14:59:20 +0000 (14:59 +0000)
Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
info into the headers rather than in export symbol definition files, but disable it on
all platforms initially so we can deal with port build issues one port at a time.

https://bugs.webkit.org/show_bug.cgi?id=27551

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@81135 268f45cc-cd09-0410-ab3c-d52691b4dbfc

58 files changed:
Source/JavaScriptCore/API/JSBase.h
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/config.h
Source/JavaScriptCore/wtf/Assertions.h
Source/JavaScriptCore/wtf/ExportMacros.h [new file with mode: 0644]
Source/JavaScriptCore/wtf/Platform.h
Source/JavaScriptGlue/ChangeLog
Source/JavaScriptGlue/config.h
Source/WebCore/ChangeLog
Source/WebCore/config.h
Source/WebCore/platform/mac/LoggingMac.mm
Source/WebKit/cf/ChangeLog
Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebKitPrefix.h
Source/WebKit/qt/ChangeLog
Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp
Source/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp
Source/WebKit/wx/ChangeLog
Source/WebKit/wx/bindings/python/webview.i
Source/WebKit2/ChangeLog
Source/WebKit2/config.h
Tools/ChangeLog
Tools/DumpRenderTree/cg/ImageDiffCG.cpp
Tools/DumpRenderTree/chromium/config.h
Tools/DumpRenderTree/config.h
Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp
Tools/TestWebKitAPI/TestWebKitAPIPrefix.h
Tools/WebKitAPITest/HostWindow.cpp
Tools/WebKitAPITest/TestsController.cpp
Tools/WebKitAPITest/config.h [new file with mode: 0644]
Tools/WebKitAPITest/main.cpp
Tools/WebKitAPITest/tests/WebViewDestruction.cpp
Tools/WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp
Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp
Tools/WebKitTestRunner/InjectedBundle/GCController.cpp
Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp
Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp
Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp
Tools/WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp
Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp
Tools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp
Tools/WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp
Tools/WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp
Tools/WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp
Tools/WebKitTestRunner/TestController.cpp
Tools/WebKitTestRunner/TestInvocation.cpp
Tools/WebKitTestRunner/config.h [new file with mode: 0644]
Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
Tools/WebKitTestRunner/qt/TestControllerQt.cpp
Tools/WebKitTestRunner/qt/TestInvocationQt.cpp
Tools/WebKitTestRunner/qt/main.cpp
Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp
Tools/WebKitTestRunner/win/TestControllerWin.cpp
Tools/WebKitTestRunner/win/TestInvocationWin.cpp
Tools/WebKitTestRunner/win/main.cpp
Tools/wx/build/settings.py

index d962b01..fed54fe 100644 (file)
@@ -80,6 +80,11 @@ typedef struct OpaqueJSValue* JSObjectRef;
 #define JS_EXPORT
 #endif /* defined(JS_NO_EXPORT) */
 
+/* JS tests uses WTF but has no config.h, so we need to set the export defines here. */
+#ifndef WTF_EXPORT_PRIVATE
+#define WTF_EXPORT_PRIVATE JS_EXPORT
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
index 352036e..2a44a30 100644 (file)
@@ -1,3 +1,19 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * API/JSBase.h:
+        * config.h:
+        * wtf/Assertions.h:
+        * wtf/ExportMacros.h: Added.
+        * wtf/Platform.h:
+
 2011-03-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
 
         Unreviewed build fix.
index 1c14917..ea10e77 100644 (file)
 
 #include <wtf/Platform.h>
 
+/* See note in wtf/Platform.h for more info on EXPORT_MACROS. */
+#if USE(EXPORT_MACROS)
+
+#include <wtf/ExportMacros.h>
+
+#if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF)
+#define WTF_EXPORT_PRIVATE WTF_EXPORT
+#define JS_EXPORT_PRIVATE WTF_EXPORT
+#else
+#define WTF_EXPORT_PRIVATE WTF_IMPORT
+#define JS_EXPORT_PRIVATE WTF_IMPORT
+#endif
+
+#define JS_EXPORTDATA JS_EXPORT_PRIVATE
+#define JS_EXPORTCLASS JS_EXPORT_PRIVATE
+
+#else /* !USE(EXPORT_MACROS) */
+
 #if !PLATFORM(CHROMIUM) && OS(WINDOWS) && !defined(BUILDING_WX__) && !COMPILER(GCC)
 #if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF)
 #define JS_EXPORTDATA __declspec(dllexport)
 #define JS_EXPORTCLASS
 #endif
 
+#define WTF_EXPORT_PRIVATE JS_EXPORTDATA
+#define JS_EXPORT_PRIVATE JS_EXPORTDATA
+
+#endif /* USE(EXPORT_MACROS) */
+
 #if OS(WINDOWS)
 
 // If we don't define these, they get defined in windef.h. 
index 13ece31..1d108e4 100644 (file)
@@ -142,14 +142,14 @@ typedef struct {
     WTFLogChannelState state;
 } WTFLogChannel;
 
-void WTFReportAssertionFailure(const char* file, int line, const char* function, const char* assertion);
-void WTFReportAssertionFailureWithMessage(const char* file, int line, const char* function, const char* assertion, const char* format, ...) WTF_ATTRIBUTE_PRINTF(5, 6);
-void WTFReportArgumentAssertionFailure(const char* file, int line, const char* function, const char* argName, const char* assertion);
-void WTFReportBacktrace();
-void WTFReportFatalError(const char* file, int line, const char* function, const char* format, ...) WTF_ATTRIBUTE_PRINTF(4, 5);
-void WTFReportError(const char* file, int line, const char* function, const char* format, ...) WTF_ATTRIBUTE_PRINTF(4, 5);
-void WTFLog(WTFLogChannel* channel, const char* format, ...) WTF_ATTRIBUTE_PRINTF(2, 3);
-void WTFLogVerbose(const char* file, int line, const char* function, WTFLogChannel* channel, const char* format, ...) WTF_ATTRIBUTE_PRINTF(5, 6);
+WTF_EXPORT_PRIVATE void WTFReportAssertionFailure(const char* file, int line, const char* function, const char* assertion);
+WTF_EXPORT_PRIVATE void WTFReportAssertionFailureWithMessage(const char* file, int line, const char* function, const char* assertion, const char* format, ...) WTF_ATTRIBUTE_PRINTF(5, 6);
+WTF_EXPORT_PRIVATE void WTFReportArgumentAssertionFailure(const char* file, int line, const char* function, const char* argName, const char* assertion);
+WTF_EXPORT_PRIVATE void WTFReportBacktrace();
+WTF_EXPORT_PRIVATE void WTFReportFatalError(const char* file, int line, const char* function, const char* format, ...) WTF_ATTRIBUTE_PRINTF(4, 5);
+WTF_EXPORT_PRIVATE void WTFReportError(const char* file, int line, const char* function, const char* format, ...) WTF_ATTRIBUTE_PRINTF(4, 5);
+WTF_EXPORT_PRIVATE void WTFLog(WTFLogChannel*, const char* format, ...) WTF_ATTRIBUTE_PRINTF(2, 3);
+WTF_EXPORT_PRIVATE void WTFLogVerbose(const char* file, int line, const char* function, WTFLogChannel*, const char* format, ...) WTF_ATTRIBUTE_PRINTF(5, 6);
 
 #ifdef __cplusplus
 }
diff --git a/Source/JavaScriptCore/wtf/ExportMacros.h b/Source/JavaScriptCore/wtf/ExportMacros.h
new file mode 100644 (file)
index 0000000..3fadd37
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2011 Apple Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``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 APPLE COMPUTER, INC. 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. 
+ *
+ * This file handles shared library symbol export decorations. It is recommended
+ * that all WebKit projects use these definitions so that symbol exports work
+ * properly on all platforms and compilers that WebKit builds under.
+ */
+
+#ifndef ExportMacros_h
+#define ExportMacros_h
+
+#include "Platform.h"
+
+#if !PLATFORM(CHROMIUM) && OS(WINDOWS) && !COMPILER(GCC)
+#define WTF_EXPORT __declspec(dllexport)
+#define WTF_IMPORT __declspec(dllimport)
+#elif defined(__GNUC__) && !defined(__CC_ARM) && !defined(__ARMCC__)
+#define WTF_EXPORT __attribute__((visibility("default")))
+#define WTF_IMPORT WTF_EXPORT
+#else
+#define WTF_EXPORT
+#define WTF_IMPORT
+#endif
+
+#endif /* ExportMacros_h */
index 9ad22f1..7396743 100644 (file)
 #include "GTypedefs.h"
 #endif
 
+/* FIXME: This define won't be needed once #27551 is fully landed. However, 
+   since most ports try to support sub-project independence, adding new headers
+   to WTF causes many ports to break, and so this way we can address the build
+   breakages one port at a time. */
+#define WTF_USE_EXPORT_MACROS 0
+
 #endif /* WTF_Platform_h */
index 9f4c6e3..d0e3f6c 100644 (file)
@@ -1,3 +1,15 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * config.h:
+
 2011-03-10  Geoffrey Garen  <ggaren@apple.com>
 
         Reviewed by Oliver Hunt.
index 62a17f0..2e60237 100644 (file)
@@ -19,3 +19,6 @@
 
 #define JS_EXPORTDATA
 #define JS_EXPORTCLASS
+#define JS_EXPORT_PRIVATE
+#define WTF_EXPORT_PRIVATE
+
index ac6d63b..1defc46 100644 (file)
@@ -1,3 +1,16 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * config.h:
+        * platform/mac/LoggingMac.mm:
+
 2011-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
 
         Unreviewed build fix.
index a00f1e5..9233d07 100644 (file)
 
 #include <wtf/Platform.h>
 
+/* See note in wtf/Platform.h for more info on EXPORT_MACROS. */
+#if USE(EXPORT_MACROS)
+
+#include <wtf/ExportMacros.h>
+
+#if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF)
+#define WTF_EXPORT_PRIVATE WTF_EXPORT
+#define JS_EXPORT_PRIVATE WTF_EXPORT
+#else
+#define WTF_EXPORT_PRIVATE WTF_IMPORT
+#define JS_EXPORT_PRIVATE WTF_IMPORT
+#endif
+
+#define JS_EXPORTDATA JS_EXPORT_PRIVATE
+#define JS_EXPORTCLASS JS_EXPORT_PRIVATE
+
+#if defined(BUILDING_WebCore) || defined(BUILDING_WebKit)
+#define WEBKIT_EXPORTDATA WTF_EXPORT
+#else
+#define WEBKIT_EXPORTDATA WTF_IMPORT
+#endif
+
+#else /* !USE(EXPORT_MACROS) */
+
 #if !PLATFORM(CHROMIUM) && OS(WINDOWS) && !defined(BUILDING_WX__) && !COMPILER(GCC)
 #if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF)
 #define JS_EXPORTDATA __declspec(dllexport)
 #else
 #define WEBKIT_EXPORTDATA __declspec(dllimport)
 #endif
+#define WTF_EXPORT_PRIVATE JS_EXPORTDATA
+#define JS_EXPORT_PRIVATE JS_EXPORTDATA
 #define JS_EXPORTCLASS JS_EXPORTDATA
 #else
 #define JS_EXPORTDATA
 #define JS_EXPORTCLASS
 #define WEBKIT_EXPORTDATA
+#define WTF_EXPORT_PRIVATE
+#define JS_EXPORT_PRIVATE
 #endif
 
+#endif /* USE(EXPORT_MACROS) */
+
 #ifdef __APPLE__
 #define HAVE_FUNC_USLEEP 1
 #endif /* __APPLE__ */
index ee2f39e..168d0cc 100644 (file)
@@ -23,6 +23,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
+#include "config.h"
+
 #include "Logging.h"
 
 namespace WebCore {
index 1826525..abcc065 100644 (file)
@@ -1,3 +1,15 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * WebCoreSupport/WebInspectorClientCF.cpp:
+
 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
 
         Reviewed by Darin Adler.
index 7fe7e5f..847c784 100644 (file)
 #define WTF_USE_JSC 1
 #endif
 
+// Leave these set to nothing until we switch Mac and Win ports over to 
+// using the export macros.
+#define JS_EXPORT_PRIVATE
+#define WTF_EXPORT_PRIVATE
+
 #if defined(WIN32) || defined(_WIN32)
 #ifndef WTF_USE_CFNETWORK
 #define WTF_USE_CFNETWORK 1
index fa11757..e10943d 100644 (file)
@@ -1,3 +1,15 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * WebKitPrefix.h:
+
 2011-03-14  Brady Eidson  <beidson@apple.com>
 
         Reviewed by Anders Carlsson.
index fe0f214..6d57815 100644 (file)
@@ -79,12 +79,6 @@ typedef float CGFloat;
 #define WTF_USE_JSC 1
 #define WTF_USE_V8 0
 
-#ifdef __cplusplus
-#include <wtf/FastMalloc.h>
-#endif
-
-#include <wtf/DisallowCType.h>
-
 /* Work around bug with C++ library that screws up Objective-C++ when exception support is disabled. */
 #undef try
 #undef catch
@@ -92,3 +86,11 @@ typedef float CGFloat;
 #define JS_EXPORTDATA
 #define JS_EXPORTCLASS
 #define WEBKIT_EXPORTDATA
+#define WTF_EXPORT_PRIVATE
+#define JS_EXPORT_PRIVATE
+
+#ifdef __cplusplus
+#include <wtf/FastMalloc.h>
+#endif
+
+#include <wtf/DisallowCType.h>
index d476b14..a731b00 100644 (file)
@@ -1,3 +1,16 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * WebCoreSupport/GeolocationClientQt.cpp:
+        * WebCoreSupport/PopupMenuQt.cpp:
+
 2011-03-14  Brady Eidson  <beidson@apple.com>
 
         Reviewed by Anders Carlsson.
index 68a2af5..108b705 100644 (file)
@@ -140,3 +140,5 @@ void GeolocationClientQt::cancelPermissionRequest(Geolocation* geolocation)
 }
 
 } // namespace WebCore
+
+#include "moc_GeolocationClientQt.cpp"
index f7c4edc..b8e45af 100644 (file)
@@ -157,4 +157,6 @@ void PopupMenuQt::selectItem(int index, bool ctrl, bool shift)
 
 }
 
+#include "moc_PopupMenuQt.cpp"
+
 // vim: ts=4 sw=4 et
index 3e385b1..2a3812b 100644 (file)
@@ -1,3 +1,15 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * bindings/python/webview.i:
+
 2011-03-07  Sam Weinig  <sam@webkit.org>
 
         Reviewed by Anders Carlsson.
index f1621b0..118aed1 100644 (file)
@@ -49,6 +49,7 @@
 #include "WebDOMNodeList.h"
 #include "WebDOMObject.h"
 #include "WebDOMRange.h"
+#include "WebDOMWebKitAnimationList.h"
 
 #ifndef __WXMSW__
 PyObject* createDOMNodeSubtype(WebDOMNode* ptr, bool setThisOwn, bool isValueObject)
index 9751de9..94a50fa 100644 (file)
@@ -1,3 +1,15 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * config.h:
+
 2011-03-14  Alexey Proskuryakov  <ap@apple.com>
 
         Reviewed by Darin Adler.
index 36fd989..3723185 100644 (file)
 #include "autotoolsconfig.h"
 #endif /* defined (BUILDING_GTK__) */
 
-#ifdef __cplusplus
-
-// These undefs match up with defines in WebKit2Prefix.h for Mac OS X.
-// Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
-#undef new
-#undef delete
-#include <wtf/FastMalloc.h>
-
-#endif
-
 #include <wtf/DisallowCType.h>
 #include <wtf/Platform.h>
 
@@ -68,6 +58,8 @@ static const type& name() \
 
 #define JS_EXPORTDATA
 #define JS_EXPORTCLASS
+#define WTF_EXPORT_PRIVATE
+#define JS_EXPORT_PRIVATE
 
 #elif defined(__APPLE__)
 
@@ -102,6 +94,9 @@ static const type& name() \
 #define JS_EXPORTCLASS
 #define WEBKIT_EXPORTDATA
 
+#define WTF_EXPORT_PRIVATE
+#define JS_EXPORT_PRIVATE
+
 #include <WebCore/EmptyProtocolDefinitions.h>
 
 #elif defined(WIN32) || defined(_WIN32)
@@ -136,6 +131,16 @@ static const type& name() \
 
 #endif /* defined(WIN32) || defined(_WIN32) */
 
+#ifdef __cplusplus
+
+// These undefs match up with defines in WebKit2Prefix.h for Mac OS X.
+// Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
+#undef new
+#undef delete
+#include <wtf/FastMalloc.h>
+
+#endif
+
 #if PLATFORM(MAC) || (OS(MAC_OS_X) && PLATFORM(QT))
 #define PLUGIN_ARCHITECTURE_MAC 1
 #elif PLATFORM(WIN) || (OS(WINDOWS) && PLATFORM(QT))
index fdf934a..8fb1c29 100644 (file)
@@ -1,3 +1,49 @@
+2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
+
+        Reviewed by Darin Adler.
+
+        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
+        info into the headers rather than in export symbol definition files, but disable it on 
+        all platforms initially so we can deal with port build issues one port at a time.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=27551
+
+        * DumpRenderTree/cg/ImageDiffCG.cpp:
+        * DumpRenderTree/chromium/config.h:
+        * DumpRenderTree/config.h:
+        * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+        * TestWebKitAPI/TestWebKitAPIPrefix.h:
+        * WebKitAPITest/HostWindow.cpp:
+        * WebKitAPITest/TestsController.cpp:
+        * WebKitAPITest/config.h: Added.
+        * WebKitAPITest/main.cpp:
+        * WebKitAPITest/tests/WebViewDestruction.cpp:
+        * WebKitTestRunner/InjectedBundle/Bindings/JSWrapper.cpp:
+        * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
+        * WebKitTestRunner/InjectedBundle/GCController.cpp:
+        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
+        * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
+        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
+        * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
+        * WebKitTestRunner/InjectedBundle/qt/ActivateFontsQt.cpp:
+        * WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:
+        * WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp:
+        * WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp:
+        * WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp:
+        * WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp:
+        * WebKitTestRunner/TestController.cpp:
+        * WebKitTestRunner/TestInvocation.cpp:
+        * WebKitTestRunner/config.h: Added.
+        * WebKitTestRunner/qt/PlatformWebViewQt.cpp:
+        * WebKitTestRunner/qt/TestControllerQt.cpp:
+        * WebKitTestRunner/qt/TestInvocationQt.cpp:
+        * WebKitTestRunner/qt/main.cpp:
+        * WebKitTestRunner/win/PlatformWebViewWin.cpp:
+        * WebKitTestRunner/win/TestControllerWin.cpp:
+        * WebKitTestRunner/win/TestInvocationWin.cpp:
+        * WebKitTestRunner/win/main.cpp:
+        * wx/build/settings.py:
+
 2011-03-15  Hayato Ito  <hayato@chromium.org>
 
         Reviewed by Shinichiro Hamaji.
index 593ba64..b4f432f 100644 (file)
 
 #define min min
 
+// FIXME: We need to be able to include these defines from a config.h somewhere.
+#define JS_EXPORT_PRIVATE
+#define WTF_EXPORT_PRIVATE
+
 #include <stdio.h>
 #include <wtf/Platform.h>
 #include <wtf/RetainPtr.h>
index 7dfda18..ed3aad9 100644 (file)
@@ -53,4 +53,7 @@
 #define JS_EXPORTDATA
 #endif
 
+#define WTF_EXPORT_PRIVATE JS_EXPORTDATA
+#define JS_EXPORT_PRIVATE JS_EXPORTDATA
+
 #endif // config_h
index 351a2b1..90cfcf6 100644 (file)
 
 #include <wtf/Platform.h>
 
-#ifdef __cplusplus
-#undef new
-#undef delete
-#include <wtf/FastMalloc.h>
-#endif
+/* See note in wtf/Platform.h for more info on EXPORT_MACROS. */
+#if USE(EXPORT_MACROS)
+
+#include <wtf/ExportMacros.h>
+
+#define WTF_EXPORT_PRIVATE WTF_IMPORT
+#define JS_EXPORT_PRIVATE WTF_IMPORT
+#define WEBKIT_EXPORTDATA WTF_IMPORT
+
+#define JS_EXPORTDATA JS_EXPORT_PRIVATE
+#define JS_EXPORTCLASS JS_EXPORT_PRIVATE
+
+#else /* !USE(EXPORT_MACROS) */
 
-#if OS(WINDOWS) && !COMPILER(GCC)
+#if OS(WINDOWS) && !COMPILER(GCC) && !defined(BUILDING_WX__)
 #define JS_EXPORTDATA __declspec(dllimport)
 #define WEBKIT_EXPORTDATA __declspec(dllimport)
 #else
 #define WEBKIT_EXPORTDATA
 #endif
 
+#define WTF_EXPORT_PRIVATE JS_EXPORTDATA
+#define JS_EXPORT_PRIVATE JS_EXPORTDATA
+
+#endif /* USE(EXPORT_MACROS) */
+
+#ifdef __cplusplus
+#undef new
+#undef delete
+#include <wtf/FastMalloc.h>
+#endif
+
 #if PLATFORM(MAC)
 #define WTF_USE_CF 1
 
index 2bcbb47..c5e0eab 100644 (file)
@@ -575,11 +575,6 @@ void LayoutTestController::observeStorageTrackerNotifications(unsigned number)
     // FIXME: Implement.
 }
 
-void LayoutTestController::clearAllDatabases()
-{
-    // FIXME: Implement.
-}
-
 void LayoutTestController::deleteAllLocalStorage()
 {
     // FIXME: Implement.
index 00e14ad..ee56430 100644 (file)
 
 #endif
 
+/* FIXME: Define these properly once USE(EXPORT_MACROS) is set for ports using this */
+#define JS_EXPORT_PRIVATE
+#define WTF_EXPORT_PRIVATE
+
 #include <stdint.h>
 
 #include <WebKit2/WebKit2.h>
index b364831..e35e96c 100644 (file)
@@ -22,6 +22,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "HostWindow.h"
 
 namespace WebKitAPITest {
index 08b193a..c5cf23a 100644 (file)
@@ -22,6 +22,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "TestsController.h"
 
 #include "Test.h"
diff --git a/Tools/WebKitAPITest/config.h b/Tools/WebKitAPITest/config.h
new file mode 100644 (file)
index 0000000..bee51ac
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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.
+ */
+#ifndef WebKitAPITests_config_h
+#define WebKitAPITests_config_h
+
+#include <wtf/Platform.h>
+
+/* See note in wtf/Platform.h for more info on EXPORT_MACROS. */
+#if USE(EXPORT_MACROS)
+
+#include <wtf/ExportMacros.h>
+
+#define WTF_EXPORT_PRIVATE WTF_IMPORT
+#define JS_EXPORT_PRIVATE WTF_IMPORT
+#define WEBKIT_EXPORTDATA WTF_IMPORT
+
+#define JS_EXPORTDATA JS_EXPORT_PRIVATE
+#define JS_EXPORTCLASS JS_EXPORT_PRIVATE
+
+#else /* !USE(EXPORT_MACROS) */
+
+#if OS(WINDOWS) && !COMPILER(GCC) && !defined(BUILDING_WX__)
+#define JS_EXPORTDATA __declspec(dllimport)
+#define WEBKIT_EXPORTDATA __declspec(dllimport)
+#else
+#define JS_EXPORTDATA
+#define WEBKIT_EXPORTDATA
+#endif
+
+#define WTF_EXPORT_PRIVATE JS_EXPORTDATA
+#define JS_EXPORT_PRIVATE JS_EXPORTDATA
+
+#endif /* USE(EXPORT_MACROS) */
+
+#endif
index 8b54b01..dddba20 100644 (file)
@@ -22,6 +22,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
+
 #include "TestsController.h"
 
 using namespace WebKitAPITest;
index 6c09e6f..b7ae0b6 100644 (file)
@@ -22,6 +22,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
+
 #include "HostWindow.h"
 #include "Test.h"
 #include <WebCore/COMPtr.h>
index a62cb2e..e3cf58c 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "JSWrapper.h"
 
 #include <JavaScriptCore/JSContextRefPrivate.h>
index 73de45b..cc1720e 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "EventSendingController.h"
 
 #include "InjectedBundle.h"
index 0eba2df..10c21db 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "GCController.h"
 
 #include "InjectedBundle.h"
index 00933bd..2c2e551 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "InjectedBundle.h"
 
 #include "ActivateFonts.h"
index 4e7f58b..7244077 100644 (file)
@@ -23,6 +23,8 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
+
 #include "InjectedBundle.h"
 #include <WebKit2/WKBundleInitialize.h>
 
index bf69054..8ba673c 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "InjectedBundlePage.h"
 
 #include "InjectedBundle.h"
index 96a0d47..bd58b7f 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "LayoutTestController.h"
 
 #include "InjectedBundle.h"
index 03cf9a4..e5a7c2e 100644 (file)
@@ -27,6 +27,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "ActivateFonts.h"
 
 #include <QApplication>
index 52502ed..78ec37c 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "InjectedBundle.h"
 
 namespace WTR {
index b515326..91f49ea 100644 (file)
@@ -24,6 +24,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "LayoutTestController.h"
 
 #include "InjectedBundle.h"
index d9f08c9..410d60f 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "ActivateFonts.h"
 
 #include <string>
index af8eaed..c70514a 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "InjectedBundle.h"
 
 namespace WTR {
index 39cd727..7c500f2 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "LayoutTestController.h"
 
 #include "InjectedBundle.h"
index e158eaa..73b753d 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "TestController.h"
 
 #include "PlatformWebView.h"
index 3227be9..bc173eb 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "TestInvocation.h"
 
 #include "PlatformWebView.h"
diff --git a/Tools/WebKitTestRunner/config.h b/Tools/WebKitTestRunner/config.h
new file mode 100644 (file)
index 0000000..38100ad
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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.
+ */
+#ifndef WebKitTestRunner_config_h
+#define WebKitTestRunner_config_h
+
+#include <wtf/Platform.h>
+
+/* See note in wtf/Platform.h for more info on EXPORT_MACROS. */
+#if USE(EXPORT_MACROS)
+
+#include <wtf/ExportMacros.h>
+
+#define WTF_EXPORT_PRIVATE WTF_IMPORT
+#define JS_EXPORT_PRIVATE WTF_IMPORT
+#define WEBKIT_EXPORTDATA WTF_IMPORT
+
+#define JS_EXPORTDATA JS_EXPORT_PRIVATE
+#define JS_EXPORTCLASS JS_EXPORT_PRIVATE
+
+#else /* !USE(EXPORT_MACROS) */
+
+#if OS(WINDOWS) && !COMPILER(GCC) && !defined(BUILDING_WX__)
+#define JS_EXPORTDATA __declspec(dllimport)
+#define WEBKIT_EXPORTDATA __declspec(dllimport)
+#else
+#define JS_EXPORTDATA
+#define WEBKIT_EXPORTDATA
+#endif
+
+#define WTF_EXPORT_PRIVATE JS_EXPORTDATA
+#define JS_EXPORT_PRIVATE JS_EXPORTDATA
+
+#endif /* USE(EXPORT_MACROS) */
+
+#endif
index 18e2523..03e2c02 100644 (file)
@@ -24,6 +24,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
+
 #include "PlatformWebView.h"
 #include "qgraphicswkview.h"
 #include "qwkcontext.h"
index 30a1b5c..bd572b0 100644 (file)
@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "TestController.h"
 
 #include "WKStringQt.h"
index b5fbda4..55d73b8 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "TestInvocation.h"
 
 namespace WTR {
index 4312a05..2061714 100644 (file)
@@ -24,6 +24,8 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
+
 #include "TestController.h"
 
 #include <QApplication>
index e75ccc8..9e23d70 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "PlatformWebView.h"
 
 namespace WTR {
index 6201cf7..44a6138 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "TestController.h"
 
 #include <fcntl.h>
index b5fbda4..55d73b8 100644 (file)
@@ -23,6 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
 #include "TestInvocation.h"
 
 namespace WTR {
index 6ef0f66..14c25dc 100644 (file)
@@ -23,6 +23,8 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "config.h"
+
 #include "TestController.h"
 
 int main(int argc, const char* argv[])
index 605596a..1fccab4 100644 (file)
@@ -188,7 +188,7 @@ os.environ['CREATE_HASH_TABLE'] = create_hash_table
 feature_defines = ['ENABLE_DATABASE', 'ENABLE_XSLT', 'ENABLE_JAVASCRIPT_DEBUGGER',
                     'ENABLE_SVG', 'ENABLE_SVG_USE', 'ENABLE_FILTERS', 'ENABLE_SVG_FONTS',
                     'ENABLE_SVG_ANIMATION', 'ENABLE_SVG_AS_IMAGE', 'ENABLE_SVG_FOREIGN_OBJECT',
-                    'ENABLE_JIT', 'BUILDING_%s' % build_port.upper()]
+                    'ENABLE_JIT', 'ENABLE_DOM_STORAGE', 'BUILDING_%s' % build_port.upper()]
 
 msvc_version = 'msvc2008'