One esc to exit fullscreen and pointer lock
[WebKit-https.git] / Source / WebKit2 / config.h
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 <wtf/Platform.h>
32
33 #include <WebCore/PlatformExportMacros.h>
34 #include <runtime/JSExportMacros.h>
35 #include <wtf/DisallowCType.h>
36 #include <wtf/ExportMacros.h>
37
38 #ifdef __cplusplus
39
40 // These undefs match up with defines in WebKit2Prefix.h for Mac OS X.
41 // Helps us catch if anyone uses new or delete by accident in code and doesn't include "config.h".
42 #undef new
43 #undef delete
44 #include <wtf/FastMalloc.h>
45
46 #endif
47
48 #ifndef PLUGIN_ARCHITECTURE_UNSUPPORTED
49 #if PLATFORM(MAC)
50 #define PLUGIN_ARCHITECTURE_MAC 1
51 #elif (PLATFORM(GTK) || PLATFORM(EFL)) && (OS(UNIX) && !OS(MAC_OS_X)) && PLATFORM(X11)
52 #define PLUGIN_ARCHITECTURE_X11 1
53 #else
54 #define PLUGIN_ARCHITECTURE_UNSUPPORTED 1
55 #endif
56 #endif
57
58 #define PLUGIN_ARCHITECTURE(ARCH) (defined PLUGIN_ARCHITECTURE_##ARCH && PLUGIN_ARCHITECTURE_##ARCH)
59
60 #ifndef ENABLE_INSPECTOR_SERVER
61 #if ENABLE(WEB_SOCKETS) && (PLATFORM(GTK) || PLATFORM(EFL))
62 #define ENABLE_INSPECTOR_SERVER 1
63 #endif
64 #endif
65
66 #ifndef ENABLE_SEC_ITEM_SHIM
67 #if PLATFORM(MAC) || PLATFORM(IOS)
68 #define ENABLE_SEC_ITEM_SHIM 1
69 #endif
70 #endif
71
72 #if PLATFORM(MAC)
73 #ifndef HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS
74 #define HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS 1
75 #endif
76 #endif
77
78 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) \
79     || (PLATFORM(IOS) && TARGET_OS_IOS && __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000) \
80     || (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 100000) \
81     || (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 30000) \
82     || USE(SOUP)
83 #ifndef USE_NETWORK_SESSION
84 #define USE_NETWORK_SESSION 1
85 #endif
86
87 // FIXME: We should work towards not using CredentialStorage in WebKit2 to not have problems with digest authentication.
88 #ifndef USE_CREDENTIAL_STORAGE_WITH_NETWORK_SESSION
89 #define USE_CREDENTIAL_STORAGE_WITH_NETWORK_SESSION 1
90 #endif
91 #endif
92
93 #ifndef HAVE_SEC_ACCESS_CONTROL
94 #if PLATFORM(IOS) || PLATFORM(MAC)
95 #define HAVE_SEC_ACCESS_CONTROL 1
96 #endif
97 #endif
98
99 #ifndef HAVE_OS_ACTIVITY
100 #if PLATFORM(IOS) || PLATFORM(MAC)
101 #define HAVE_OS_ACTIVITY 1
102 #endif
103 #endif
104
105 #ifndef ENABLE_NETWORK_CACHE
106 #if PLATFORM(COCOA) || USE(SOUP)
107 #define ENABLE_NETWORK_CACHE 1
108 #else
109 #define ENABLE_NETWORK_CACHE 0
110 #endif
111 #endif
112
113 #ifndef ENABLE_NETWORK_CAPTURE
114 #if USE(NETWORK_SESSION) && PLATFORM(COCOA)
115 #define ENABLE_NETWORK_CAPTURE 1
116 #endif
117 #endif
118
119 #ifndef ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION
120 #if ENABLE(NETWORK_CACHE) && (PLATFORM(COCOA) || PLATFORM(GTK))
121 #define ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION 1
122 #else
123 #define ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION 0
124 #endif
125 #endif
126
127 #ifndef HAVE_SAFARI_SERVICES_FRAMEWORK
128 #if PLATFORM(IOS) && (!defined TARGET_OS_IOS || TARGET_OS_IOS)
129 #define HAVE_SAFARI_SERVICES_FRAMEWORK 1
130 #else
131 #define HAVE_SAFARI_SERVICES_FRAMEWORK 0
132 #endif
133 #endif
134
135 #ifndef HAVE_LINK_PREVIEW
136 #if defined TARGET_OS_IOS && TARGET_OS_IOS
137 #define HAVE_LINK_PREVIEW 1
138 #else
139 #define HAVE_LINK_PREVIEW 0
140 #endif
141 #endif