+2011-12-01 Hajime Morrita <morrita@chromium.org>
+
+ JS_INLINE and WTF_INLINE should be visible from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=73191
+
+ - Moved Export related macro definitions from config.h to ExportMacros.h and JSExportMacros.h.
+ - Moved WTF_USE_JSC and WTF_USE_V8 from various config.h family to Platform.h.
+ - Replaced JS_EXPORTDATA in wtf moudule with newly introduced WTF_EXPORTDATA.
+
+ Reviewed by Kevin Ollivier.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * config.h:
+ * runtime/JSExportMacros.h: Added.
+ * wtf/ExportMacros.h:
+ * wtf/Platform.h:
+ * wtf/WTFThreadData.h:
+ * wtf/text/AtomicString.h:
+ * wtf/text/StringStatics.cpp:
+
2011-12-01 Michael Saboff <msaboff@apple.com>
Changes proposed for 73457 slow down Kraken json-parse-financial
A7A1F7AC0F252B3C00E184E2 /* ByteArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7A1F7AA0F252B3C00E184E2 /* ByteArray.cpp */; };
A7A1F7AD0F252B3C00E184E2 /* ByteArray.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A1F7AB0F252B3C00E184E2 /* ByteArray.h */; settings = {ATTRIBUTES = (Private, ); }; };
A7B48F490EE8936F00DCBDB6 /* ExecutableAllocator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */; };
+ A7B4ACAF1484C9CE00B38A36 /* JSExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B4ACAE1484C9CE00B38A36 /* JSExportMacros.h */; settings = {ATTRIBUTES = (Private, ); }; };
A7BC0C82140608B000B1BB71 /* CheckedArithmetic.h in Headers */ = {isa = PBXBuildFile; fileRef = A7BC0C81140608B000B1BB71 /* CheckedArithmetic.h */; settings = {ATTRIBUTES = (Private, ); }; };
A7C1E8E4112E72EF00A37F98 /* JITPropertyAccess32_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7C1E8C8112E701C00A37F98 /* JITPropertyAccess32_64.cpp */; };
A7C40C0A130B057D00D002A1 /* BlockStack.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C40C07130B057D00D002A1 /* BlockStack.h */; settings = {ATTRIBUTES = (Private, ); }; };
A7F993600FD7325100A0B2D0 /* JSONObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7F9935E0FD7325100A0B2D0 /* JSONObject.cpp */; };
A7FB60A4103F7DC20017A286 /* PropertyDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7FB60A3103F7DC20017A286 /* PropertyDescriptor.cpp */; };
A7FB61001040C38B0017A286 /* PropertyDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7FB604B103F5EAB0017A286 /* PropertyDescriptor.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ A7FEE67614837B32005DC1A6 /* ExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A275F514837A8E001DBB39 /* ExportMacros.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC02E90D0E1839DB000F9297 /* ErrorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9050E1839DB000F9297 /* ErrorConstructor.h */; };
BC02E90F0E1839DB000F9297 /* ErrorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9070E1839DB000F9297 /* ErrorPrototype.h */; };
BC02E9110E1839DB000F9297 /* NativeErrorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9090E1839DB000F9297 /* NativeErrorConstructor.h */; };
A79EDB0811531CD60019E912 /* JSObjectRefPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSObjectRefPrivate.h; sourceTree = "<group>"; };
A7A1F7AA0F252B3C00E184E2 /* ByteArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ByteArray.cpp; sourceTree = "<group>"; };
A7A1F7AB0F252B3C00E184E2 /* ByteArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteArray.h; sourceTree = "<group>"; };
+ A7A275F514837A8E001DBB39 /* ExportMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExportMacros.h; sourceTree = "<group>"; };
A7A7EE7411B98B8D0065A14F /* ASTBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASTBuilder.h; sourceTree = "<group>"; };
A7A7EE7711B98B8D0065A14F /* SyntaxChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SyntaxChecker.h; sourceTree = "<group>"; };
A7B48DB50EE74CFC00DCBDB6 /* ExecutableAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExecutableAllocator.h; sourceTree = "<group>"; };
A7B48DB60EE74CFC00DCBDB6 /* ExecutableAllocator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExecutableAllocator.cpp; sourceTree = "<group>"; };
+ A7B4ACAE1484C9CE00B38A36 /* JSExportMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSExportMacros.h; sourceTree = "<group>"; };
A7BC0C81140608B000B1BB71 /* CheckedArithmetic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CheckedArithmetic.h; sourceTree = "<group>"; };
A7C1E8C8112E701C00A37F98 /* JITPropertyAccess32_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JITPropertyAccess32_64.cpp; sourceTree = "<group>"; };
A7C225CC139981F100FF1662 /* KeywordLookupGenerator.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = KeywordLookupGenerator.py; sourceTree = "<group>"; };
D75AF59512F8CB9500FC0ADF /* DynamicAnnotations.cpp */,
D75AF59612F8CB9500FC0ADF /* DynamicAnnotations.h */,
5135FAD612D26856003C083B /* Encoder.h */,
+ A7A275F514837A8E001DBB39 /* ExportMacros.h */,
E48E0F2C0F82151700A8CA37 /* FastAllocBase.h */,
65E217B908E7EECC0023E5F6 /* FastMalloc.cpp */,
65E217BA08E7EECC0023E5F6 /* FastMalloc.h */,
BC1167D80E19BCC9008066DD /* JSCell.h */,
9788FC221471AD0C0068CE2D /* JSDateMath.cpp */,
9788FC231471AD0C0068CE2D /* JSDateMath.h */,
+ A7B4ACAE1484C9CE00B38A36 /* JSExportMacros.h */,
F692A85E0255597D01FF60F7 /* JSFunction.cpp */,
F692A85F0255597D01FF60F7 /* JSFunction.h */,
E18E3A570DF9278C00D90B34 /* JSGlobalData.cpp */,
BC18C4000E16F5CD00B34460 /* ExceptionHelpers.h in Headers */,
86CAFEE31035DDE60028A609 /* Executable.h in Headers */,
A766B44F0EE8DCD1009518CA /* ExecutableAllocator.h in Headers */,
+ A7FEE67614837B32005DC1A6 /* ExportMacros.h in Headers */,
E48E0F2D0F82151700A8CA37 /* FastAllocBase.h in Headers */,
BC18C4020E16F5CD00B34460 /* FastMalloc.h in Headers */,
A7F19ECE11DD490900931E70 /* FixedArray.h in Headers */,
BC18C41D0E16F5CD00B34460 /* JSClassRef.h in Headers */,
BC18C41E0E16F5CD00B34460 /* JSContextRef.h in Headers */,
148CD1D8108CF902008163C6 /* JSContextRefPrivate.h in Headers */,
+ A7B4ACAF1484C9CE00B38A36 /* JSExportMacros.h in Headers */,
BC18C41F0E16F5CD00B34460 /* JSFunction.h in Headers */,
BC18C4200E16F5CD00B34460 /* JSGlobalData.h in Headers */,
BC18C4210E16F5CD00B34460 /* JSGlobalObject.h in Headers */,
#endif
#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 WTF_EXPORT_HIDDEN WTF_HIDDEN
-#define JS_EXPORT_PRIVATE WTF_EXPORT
-#define JS_EXPORT_HIDDEN WTF_HIDDEN
-#else
-#define WTF_EXPORT_PRIVATE WTF_IMPORT
-#define WTF_EXPORT_HIDDEN
-#define JS_EXPORT_PRIVATE WTF_IMPORT
-#define JS_EXPORT_HIDDEN
-#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)
-#else
-#define JS_EXPORTDATA __declspec(dllimport)
+// WTF cannot depend on JSC even if USE(JSC).
+#if USE(JSC) && !defined(BUILDING_WTF)
+#include "JSExportMacros.h"
#endif
-#define JS_EXPORTCLASS JS_EXPORTDATA
-#else
-#define JS_EXPORTDATA
-#define JS_EXPORTCLASS
-#endif
-
-#define WTF_EXPORT_PRIVATE
-#define WTF_EXPORT_HIDDEN
-#define JS_EXPORT_PRIVATE
-#define JS_EXPORT_HIDDEN
-
-#endif /* USE(EXPORT_MACROS) */
-
-#define WTF_INLINE WTF_EXPORT_HIDDEN inline
-#define JS_INLINE JS_EXPORT_HIDDEN inline
#if OS(WINDOWS)
#else
#define SKIP_STATIC_CONSTRUCTORS_ON_GCC 1
#endif
-
-#if PLATFORM(CHROMIUM)
-#if !defined(WTF_USE_V8)
-#define WTF_USE_V8 1
-#endif
-#endif /* PLATFORM(CHROMIUM) */
-
-#if !defined(WTF_USE_V8)
-#define WTF_USE_V8 0
-#endif /* !defined(WTF_USE_V8) */
-
-/* Using V8 implies not using JSC and vice versa */
-#define WTF_USE_JSC !WTF_USE_V8
--- /dev/null
+/*
+ * 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 JSExportMacros_h
+#define JSExportMacros_h
+
+#include <wtf/Platform.h>
+#include <wtf/ExportMacros.h>
+
+// See note in wtf/Platform.h for more info on EXPORT_MACROS.
+#if USE(EXPORT_MACROS)
+
+#if defined(BUILDING_JavaScriptCore)
+#define JS_EXPORT_PRIVATE WTF_EXPORT
+#else
+#define JS_EXPORT_PRIVATE WTF_IMPORT
+#endif
+
+#define JS_EXPORT_HIDDEN WTF_HIDDEN
+#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)
+#define JS_EXPORTDATA __declspec(dllexport)
+#else
+#define JS_EXPORTDATA __declspec(dllimport)
+#endif
+
+#define JS_EXPORTCLASS JS_EXPORTDATA
+
+#else // !PLATFORM...
+
+#define JS_EXPORTDATA
+#define JS_EXPORTCLASS
+
+#endif // !PLATFORM...
+
+#define JS_EXPORT_PRIVATE
+#define JS_EXPORT_HIDDEN
+
+#endif // USE(EXPORT_MACROS)
+
+#define JS_INLINE JS_EXPORT_HIDDEN inline
+
+#endif // JSExportMacros_h
#include "Platform.h"
+// See note in wtf/Platform.h for more info on EXPORT_MACROS.
+#if USE(EXPORT_MACROS)
+
#if !PLATFORM(CHROMIUM) && OS(WINDOWS) && !COMPILER(GCC)
#define WTF_EXPORT __declspec(dllexport)
#define WTF_IMPORT __declspec(dllimport)
#define WTF_HIDDEN
#endif
-#endif /* ExportMacros_h */
+#else // !USE(EXPORT_MACROS)
+
+#define WTF_EXPORT
+#define WTF_IMPORT
+#define WTF_HIDDEN
+
+#endif // USE(EXPORT_MACROS)
+
+#if defined(BUILDING_WTF)
+#define WTF_EXPORT_PRIVATE WTF_EXPORT
+#else
+#define WTF_EXPORT_PRIVATE WTF_IMPORT
+#endif
+
+#define WTF_EXPORTDATA WTF_EXPORT_PRIVATE
+#define WTF_EXPORT_HIDDEN WTF_HIDDEN
+#define WTF_INLINE WTF_EXPORT_HIDDEN inline
+
+#endif // ExportMacros_h
#define WTF_USE_COREAUDIO 1
#endif
+#if PLATFORM(CHROMIUM)
+#if !defined(WTF_USE_V8)
+#define WTF_USE_V8 1
+#endif
+#endif /* PLATFORM(CHROMIUM) */
+
+#if !defined(WTF_USE_V8)
+#define WTF_USE_V8 0
+#endif /* !defined(WTF_USE_V8) */
+
+/* Using V8 implies not using JSC and vice versa */
+#define WTF_USE_JSC !WTF_USE_V8
+
+
#endif /* WTF_Platform_h */
StackBounds m_stackBounds;
#endif
- static JS_EXPORTDATA ThreadSpecific<WTFThreadData>* staticData;
+ static WTF_EXPORTDATA ThreadSpecific<WTFThreadData>* staticData;
friend WTFThreadData& wtfThreadData();
friend class AtomicStringTable;
};
// Define external global variables for the commonly used atomic strings.
// These are only usable from the main thread.
#ifndef ATOMICSTRING_HIDE_GLOBALS
-extern const JS_EXPORTDATA AtomicString nullAtom;
-extern const JS_EXPORTDATA AtomicString emptyAtom;
-extern const JS_EXPORTDATA AtomicString textAtom;
-extern const JS_EXPORTDATA AtomicString commentAtom;
-extern const JS_EXPORTDATA AtomicString starAtom;
-extern const JS_EXPORTDATA AtomicString xmlAtom;
-extern const JS_EXPORTDATA AtomicString xmlnsAtom;
+extern const WTF_EXPORTDATA AtomicString nullAtom;
+extern const WTF_EXPORTDATA AtomicString emptyAtom;
+extern const WTF_EXPORTDATA AtomicString textAtom;
+extern const WTF_EXPORTDATA AtomicString commentAtom;
+extern const WTF_EXPORTDATA AtomicString starAtom;
+extern const WTF_EXPORTDATA AtomicString xmlAtom;
+extern const WTF_EXPORTDATA AtomicString xmlnsAtom;
inline AtomicString AtomicString::fromUTF8(const char* characters, size_t length)
{
return &emptyString;
}
-JS_EXPORTDATA DEFINE_GLOBAL(AtomicString, nullAtom)
-JS_EXPORTDATA DEFINE_GLOBAL(AtomicString, emptyAtom, "")
-JS_EXPORTDATA DEFINE_GLOBAL(AtomicString, textAtom, "#text")
-JS_EXPORTDATA DEFINE_GLOBAL(AtomicString, commentAtom, "#comment")
-JS_EXPORTDATA DEFINE_GLOBAL(AtomicString, starAtom, "*")
-JS_EXPORTDATA DEFINE_GLOBAL(AtomicString, xmlAtom, "xml")
-JS_EXPORTDATA DEFINE_GLOBAL(AtomicString, xmlnsAtom, "xmlns")
+WTF_EXPORTDATA DEFINE_GLOBAL(AtomicString, nullAtom)
+WTF_EXPORTDATA DEFINE_GLOBAL(AtomicString, emptyAtom, "")
+WTF_EXPORTDATA DEFINE_GLOBAL(AtomicString, textAtom, "#text")
+WTF_EXPORTDATA DEFINE_GLOBAL(AtomicString, commentAtom, "#comment")
+WTF_EXPORTDATA DEFINE_GLOBAL(AtomicString, starAtom, "*")
+WTF_EXPORTDATA DEFINE_GLOBAL(AtomicString, xmlAtom, "xml")
+WTF_EXPORTDATA DEFINE_GLOBAL(AtomicString, xmlnsAtom, "xmlns")
void AtomicString::init()
{
+2011-12-01 Hajime Morrita <morrita@chromium.org>
+
+ JS_INLINE and WTF_INLINE should be visible from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=73191
+
+ - Extracted export related macro definitions to ExportMacros.h and JSExportMacros.h
+ - Added forwarding headers which used in config.h
+
+ Reviewed by Kevin Ollivier.
+
+ * ForwardingHeaders/runtime/JSExportMacros.h: Added.
+ * ForwardingHeaders/wtf/ExportMacros.h: Added.
+ * config.h:
+
2011-11-29 David Levin <levin@chromium.org>
Add a way to revert a variable to its previous value after leaving a scope.
--- /dev/null
+#include <JavaScriptCore/JSExportMacros.h>
--- /dev/null
+#include <JavaScriptCore/ExportMacros.h>
#endif
#include <wtf/Platform.h>
-
-#if PLATFORM(CHROMIUM)
-#if !defined(WTF_USE_V8)
-#define WTF_USE_V8 1
-#endif
-#endif /* PLATFORM(CHROMIUM) */
-
-#if !defined(WTF_USE_V8)
-#define WTF_USE_V8 0
-#endif /* !defined(WTF_USE_V8) */
-
-/* Using V8 implies not using JSC and vice versa */
-#define WTF_USE_JSC !WTF_USE_V8
-
-#define JS_EXPORTDATA
-#define JS_EXPORTCLASS
-#define JS_EXPORT_PRIVATE
-#define WTF_EXPORT_PRIVATE
-
+#include <wtf/ExportMacros.h>
+#include <runtime/JSExportMacros.h>
+2011-12-01 Hajime Morrita <morrita@chromium.org>
+
+ JS_INLINE and WTF_INLINE should be visible from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=73191
+
+ Reviewed by Kevin Ollivier.
+
+ - Moved export related definitions from config.h
+ to ExportMacros.h, JSExportMacros.h and PlatformExportMacros.h
+ - Added forwarding headers which are referred from config.h
+
+ No new tests. Only build related changes.
+
+ * ForwardingHeaders/runtime/JSExportMacros.h: Added.
+ * ForwardingHeaders/wtf/ExportMacros.h: Added.
+ * WebCore.xcodeproj/project.pbxproj:
+ * config.h:
+ * platform/PlatformExportMacros.h: Copied from Source/JavaScriptCore/wtf/ExportMacros.h.
+
2011-12-01 Jon Lee <jonlee@apple.com>
[WK2] Add further support for notifications
--- /dev/null
+#ifndef WebCore_FWD_JSExportMacros_h
+#define WebCore_FWD_JSExportMacros_h
+#include <JavaScriptCore/JSExportMacros.h>
+#endif
--- /dev/null
+#ifndef WebCore_FWD_ExportMacros_h
+#define WebCore_FWD_ExportMacros_h
+#include <JavaScriptCore/ExportMacros.h>
+#endif
A71878900B2D04AC00A16ECE /* DragControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A718788F0B2D04AC00A16ECE /* DragControllerMac.mm */; };
A71C30B81381265E00DBC351 /* ShadowInclusionSelector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A71C30B61381265E00DBC351 /* ShadowInclusionSelector.cpp */; };
A71C30B91381265E00DBC351 /* ShadowInclusionSelector.h in Headers */ = {isa = PBXBuildFile; fileRef = A71C30B71381265E00DBC351 /* ShadowInclusionSelector.h */; };
+ A723F77B1484CA4C008C6DBE /* PlatformExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A723F77A1484CA4C008C6DBE /* PlatformExportMacros.h */; settings = {ATTRIBUTES = (Private, ); }; };
A73F95FE12C97BFE0031AAF9 /* RoundedRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A73F95FC12C97BFE0031AAF9 /* RoundedRect.cpp */; };
A73F95FF12C97BFE0031AAF9 /* RoundedRect.h in Headers */ = {isa = PBXBuildFile; fileRef = A73F95FD12C97BFE0031AAF9 /* RoundedRect.h */; settings = {ATTRIBUTES = (Private, ); }; };
A74BB76B13BDA86300FF7BF0 /* ExceptionCodePlaceholder.h in Headers */ = {isa = PBXBuildFile; fileRef = A74BB76A13BDA86300FF7BF0 /* ExceptionCodePlaceholder.h */; settings = {ATTRIBUTES = (Private, ); }; };
A71A70C911AFB02000989D6D /* HTMLMeterElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = HTMLMeterElement.idl; sourceTree = "<group>"; };
A71C30B61381265E00DBC351 /* ShadowInclusionSelector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShadowInclusionSelector.cpp; sourceTree = "<group>"; };
A71C30B71381265E00DBC351 /* ShadowInclusionSelector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShadowInclusionSelector.h; sourceTree = "<group>"; };
+ A723F77A1484CA4C008C6DBE /* PlatformExportMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformExportMacros.h; sourceTree = "<group>"; };
A73F95FC12C97BFE0031AAF9 /* RoundedRect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RoundedRect.cpp; sourceTree = "<group>"; };
A73F95FD12C97BFE0031AAF9 /* RoundedRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RoundedRect.h; sourceTree = "<group>"; };
A74BB76A13BDA86300FF7BF0 /* ExceptionCodePlaceholder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExceptionCodePlaceholder.h; sourceTree = "<group>"; };
BC772C4D0C4EB3040083285F /* MIMETypeRegistry.h */,
98EB1F941313FE0500D0E1EA /* NotImplemented.h */,
4B2708C50AF19EE40065127F /* Pasteboard.h */,
+ A723F77A1484CA4C008C6DBE /* PlatformExportMacros.h */,
BC9585DF12F0989500755821 /* PlatformGestureEvent.h */,
935C476609AC4D4300A6AAB4 /* PlatformKeyboardEvent.h */,
932871BF0B20DEB70049035A /* PlatformMenuDescription.h */,
499B3EDD128DB50200E726C2 /* PlatformCAAnimation.h in Headers */,
499B3EC5128CCC4700E726C2 /* PlatformCALayer.h in Headers */,
493E5E0912D6420500020081 /* PlatformCALayerClient.h in Headers */,
+ A723F77B1484CA4C008C6DBE /* PlatformExportMacros.h in Headers */,
BC9585E112F0989500755821 /* PlatformGestureEvent.h in Headers */,
935C476809AC4D4300A6AAB4 /* PlatformKeyboardEvent.h in Headers */,
932871C00B20DEB70049035A /* PlatformMenuDescription.h in Headers */,
#include <WebCore/WebCoreHeaderDetection.h>
#endif
-/* 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
+#if USE(JSC)
+#include <runtime/JSExportMacros.h>
#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 JS_EXPORTDATA __declspec(dllimport)
-#endif
-#if defined(BUILDING_WebCore) || defined(BUILDING_WebKit)
-#define WEBKIT_EXPORTDATA __declspec(dllexport)
-#else
-#define WEBKIT_EXPORTDATA __declspec(dllimport)
-#endif
-#define WTF_EXPORT_PRIVATE
-#define JS_EXPORT_PRIVATE
-#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) */
+#include "PlatformExportMacros.h"
#ifdef __APPLE__
#define HAVE_FUNC_USLEEP 1
#define WTF_USE_GOOGLEURL 1
-#if !defined(WTF_USE_V8)
-#define WTF_USE_V8 1
-#endif
-
#endif /* PLATFORM(CHROMIUM) */
-#if !defined(WTF_USE_V8)
-#define WTF_USE_V8 0
-#endif /* !defined(WTF_USE_V8) */
-
-/* Using V8 implies not using JSC and vice versa */
-#if !defined(WTF_USE_JSC)
-#define WTF_USE_JSC !WTF_USE_V8
-#endif
-
#if USE(CG)
#ifndef CGFLOAT_DEFINED
#ifdef __LP64__
--- /dev/null
+/*
+ * 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 PlatformExportMacros_h
+#define PlatformExportMacros_h
+
+#include <wtf/Platform.h>
+#include <wtf/ExportMacros.h>
+
+// See note in wtf/Platform.h for more info on EXPORT_MACROS.
+#if USE(EXPORT_MACROS)
+
+#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_WebCore) || defined(BUILDING_WebKit)
+#define WEBKIT_EXPORTDATA __declspec(dllexport)
+#else
+#define WEBKIT_EXPORTDATA __declspec(dllimport)
+#endif
+
+#else // !PLATFORM...
+
+#define WEBKIT_EXPORTDATA
+
+#endif // !PLATFORM...
+
+#endif // USE(EXPORT_MACROS)
+
+#endif // PlatformExportMacros_h
+2011-12-01 Hajime Morrita <morrita@chromium.org>
+
+ JS_INLINE and WTF_INLINE should be visible from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=73191
+
+ Reviewed by Kevin Ollivier.
+
+ Removed macro definitions which is now provided by Platform.h
+
+ * WebCoreSupport/WebInspectorClientCF.cpp:
+
2011-08-03 Joseph Pecoraro <joepeck@webkit.org>
Web Inspector: Remove InspectorFrontendHost load/saveSessionSetting
// FIXME: On Windows, we require all WebKit source files to include config.h
// before including any other files. Failing to include config.h will leave
-// WTF_USE_CF and WTF_USE_JSC undefined, causing build failures in this
+// WTF_USE_CF undefined, causing build failures in this
// file. But Mac doesn't have a config.h for WebKit, so we can't include the
-// Windows one here. For now we can just define WTF_USE_CF, WTF_USE_JSC, and
+// Windows one here. For now we can just define WTF_USE_CF and
// WTF_USE_CFNETWORK manually, but we need a better long-term solution.
#ifndef WTF_USE_CF
#define WTF_USE_CF 1
#endif
-#ifndef WTF_USE_JSC
-#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
-#endif
-#if defined(BUILDING_JavaScriptCore) || defined(BUILDING_WTF)
-#define JS_EXPORTDATA __declspec(dllexport)
-#else
-#define JS_EXPORTDATA __declspec(dllimport)
-#endif
-#define JS_EXPORTCLASS JS_EXPORTDATA
-#else
-#define JS_EXPORTDATA
-#define JS_EXPORTCLASS
-#endif
-
#include "WebInspectorClient.h"
#include <CoreFoundation/CoreFoundation.h>
+2011-12-01 Hajime Morrita <morrita@chromium.org>
+
+ JS_INLINE and WTF_INLINE should be visible from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=73191
+
+ Reviewed by Kevin Ollivier.
+
+ Removed macro definitions which is now provided by Platform.h
+
+ * WebKitPrefix.h:
+
2011-11-30 Alexey Proskuryakov <ap@apple.com>
Remove an unneeded argument from FrameLoaderClient::download
#endif
#include <wtf/Platform.h>
-
+#include <wtf/ExportMacros.h>
+#include <runtime/JSExportMacros.h>
+#include <WebCore/PlatformExportMacros.h>
#include <WebCore/EmptyProtocolDefinitions.h>
-/* WebKit has no way to pull settings from WebCore/config.h for now */
-/* so we assume WebKit is always being compiled on top of JavaScriptCore */
-#define WTF_USE_JSC 1
-#define WTF_USE_V8 0
-
/* Work around bug with C++ library that screws up Objective-C++ when exception support is disabled. */
#undef try
#undef catch
-#define JS_EXPORTDATA
-#define JS_EXPORTCLASS
-#define WEBKIT_EXPORTDATA
-#define WTF_EXPORT_PRIVATE
-#define JS_EXPORT_PRIVATE
-
#ifdef __cplusplus
#include <wtf/FastMalloc.h>
#endif
+2011-12-01 Hajime Morrita <morrita@chromium.org>
+
+ JS_INLINE and WTF_INLINE should be visible from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=73191
+
+ Reviewed by Kevin Ollivier.
+
+ Added a INCLUDEPATH to make JSExportMacros.h visible.
+
+ * tests/MIMESniffing/MIMESniffing.pro
+
2011-11-30 Alexey Proskuryakov <ap@apple.com>
Remove an unneeded argument from FrameLoaderClient::download
INCLUDEPATH += \
../../../../WebCore/platform/network \
- ../../../../JavaScriptCore
+ ../../../../JavaScriptCore \
+ ../../../../JavaScriptCore/runtime
debug {
SOURCES += ../../../../JavaScriptCore/wtf/Assertions.cpp
+2011-12-01 Hajime Morrita <morrita@chromium.org>
+
+ JS_INLINE and WTF_INLINE should be visible from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=73191
+
+ Reviewed by Kevin Ollivier.
+
+ Removed macro definitions which is now provided by Platform.h
+
+ * config.h:
+
2011-12-01 Jon Lee <jonlee@apple.com>
[WK2] Add further support for notifications
#include <wtf/DisallowCType.h>
#include <wtf/Platform.h>
+#include <wtf/ExportMacros.h>
+#if USE(JSC)
+#include <runtime/JSExportMacros.h>
+#endif
#ifdef __cplusplus
#ifndef EXTERN_C_BEGIN
return name##Value; \
}
-#if defined (BUILDING_WITH_CMAKE)
-
-#define JS_EXPORTDATA
-#define JS_EXPORTCLASS
-#define WTF_EXPORT_PRIVATE
-#define JS_EXPORT_PRIVATE
-
-#elif defined(BUILDING_QT__) || defined(BUILDING_GTK__)
-
-#define WTF_USE_JSC 1
-#define WTF_USE_V8 0
-
-#define JS_EXPORTDATA
-#define JS_EXPORTCLASS
-#define WTF_EXPORT_PRIVATE
-#define JS_EXPORT_PRIVATE
-
-#elif defined(__APPLE__)
+#if defined(__APPLE__)
#ifdef __OBJC__
#define OBJC_CLASS @class
#import <Cocoa/Cocoa.h>
#endif
-/* WebKit has no way to pull settings from WebCore/config.h for now */
-/* so we assume WebKit is always being compiled on top of JavaScriptCore */
-#define WTF_USE_JSC 1
-#define WTF_USE_V8 0
-
-#define JS_EXPORTDATA
-#define JS_EXPORTCLASS
-#define WEBKIT_EXPORTDATA
-
-#define WTF_EXPORT_PRIVATE
-#define JS_EXPORT_PRIVATE
#include <WebCore/EmptyProtocolDefinitions.h>
+2011-12-01 Hajime Morrita <morrita@chromium.org>
+
+ JS_INLINE and WTF_INLINE should be visible from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=73191
+
+ Reviewed by Kevin Ollivier.
+
+ Removed macro definitions which is now provided by Platform.h
+
+ * DumpRenderTree/chromium/config.h:
+ * DumpRenderTree/config.h:
+ * TestWebKitAPI/config.h:
+ * WebKitTestRunner/config.h:
+
2011-12-01 Hayato Ito <hayato@chromium.org>
Explicitly pass tolerance=0 to port.diff_image in case of RefTestMismatch failure.
#define DCHECK_NE(a, b) while (false && (a) != (b)) std::cerr
#include <wtf/Platform.h>
+#include <wtf/ExportMacros.h>
#if OS(WINDOWS) && !COMPILER(GCC)
// Allow 'this' to be used in base member initializer list.
#pragma warning(disable : 4355)
-// JS_EXPORTDATA is needed to inlucde wtf/WTFString.h.
-#define JS_EXPORTDATA __declspec(dllimport)
-#else
-#define JS_EXPORTDATA
#endif
-#define WTF_EXPORT_PRIVATE
-#define JS_EXPORT_PRIVATE
-
#endif // config_h
#endif
#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
+#if USE(JSC)
+#include <runtime/JSExportMacros.h>
#endif
-#define WTF_EXPORT_PRIVATE
-#define JS_EXPORT_PRIVATE
-
-#endif /* USE(EXPORT_MACROS) */
-
// On MSW, wx headers need to be included before windows.h is.
// The only way we can always ensure this is if we include wx here.
#if PLATFORM(WX)
*/
#include <wtf/Platform.h>
+#include <wtf/ExportMacros.h>
+#if USE(JSC)
+#include <runtime/JSExportMacros.h>
+#endif
#if __APPLE__
#endif
-/* FIXME: Define these properly once USE(EXPORT_MACROS) is set for ports using this */
-#define JS_EXPORT_PRIVATE
-#define WTF_EXPORT_PRIVATE
-
-#define JS_EXPORTDATA
-
#include <stdint.h>
#if !PLATFORM(CHROMIUM)
#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
+#if USE(JSC)
+#include <runtime/JSExportMacros.h>
#endif
-#define WTF_EXPORT_PRIVATE
-#define JS_EXPORT_PRIVATE
-
-#endif /* USE(EXPORT_MACROS) */
-
#if PLATFORM(WIN)
#define WTF_USE_CF 1
#if defined(WIN_CAIRO)