1/*
2 * Copyright (C) 2010 Apple Inc. All rights reserved.
3 * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
15 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
16 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
18 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
24 * THE POSSIBILITY OF SUCH DAMAGE.
25 */
26
27#if defined(HAVE_CONFIG_H) && HAVE_CONFIG_H && defined(BUILDING_WITH_CMAKE)
28#include "cmakeconfig.h"
29#endif
30
31#include <JavaScriptCore/JSExportMacros.h>
32#include <WebCore/PlatformExportMacros.h>
33#include <pal/ExportMacros.h>
34#include <wtf/DisallowCType.h>
35
36#if PLATFORM(WIN)
37#undef WEBCORE_EXPORT
38#define WEBCORE_EXPORT WTF_EXPORT_DECLARATION
39#undef WEBCORE_TESTSUPPORT_EXPORT
40#define WEBCORE_TESTSUPPORT_EXPORT WTF_EXPORT_DECLARATION
41#endif // PLATFORM(WIN)
42
43#ifdef __cplusplus
44
45// These undefs match up with defines in WebKit2Prefix.h for Mac OS X.
46// Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
47#undef new
48#undef delete
49#include <wtf/FastMalloc.h>
50
51#endif
52
53#ifndef PLUGIN_ARCHITECTURE_UNSUPPORTED
54#if PLATFORM(MAC)
55#define PLUGIN_ARCHITECTURE_MAC 1
56#elif PLATFORM(GTK) && OS(UNIX) && !OS(MAC_OS_X)
57#define PLUGIN_ARCHITECTURE_UNIX 1
58#else
59#define PLUGIN_ARCHITECTURE_UNSUPPORTED 1
60#endif
61#endif
62
63#define PLUGIN_ARCHITECTURE(ARCH) (defined PLUGIN_ARCHITECTURE_##ARCH && PLUGIN_ARCHITECTURE_##ARCH)
64
65// FIXME: We should work towards not using CredentialStorage in WebKit to not have problems with digest authentication.
66#ifndef USE_CREDENTIAL_STORAGE_WITH_NETWORK_SESSION
67#define USE_CREDENTIAL_STORAGE_WITH_NETWORK_SESSION 1
68#endif
69
70// ENABLE_WEBDRIVER_ACTIONS_API represents whether mouse, keyboard or touch interactions are defined
71#if ENABLE(WEBDRIVER_MOUSE_INTERACTIONS) || ENABLE(WEBDRIVER_KEYBOARD_INTERACTIONS) || ENABLE(WEBDRIVER_TOUCH_INTERACTIONS)
72#define ENABLE_WEBDRIVER_ACTIONS_API 1
73#endif
74