]> git.saurik.com Git - apple/javascriptcore.git/blame - API/WebKitAvailability.h
JavaScriptCore-521.tar.gz
[apple/javascriptcore.git] / API / WebKitAvailability.h
CommitLineData
9dae56ea
A
1/*
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#ifndef __WebKitAvailability__
27#define __WebKitAvailability__
28
29/* The structure of this header is based on AvailabilityMacros.h. The major difference is that the availability
30 macros are defined in terms of WebKit version numbers rather than Mac OS X system version numbers, as WebKit
31 releases span multiple versions of Mac OS X.
32*/
33
34#define WEBKIT_VERSION_1_0 0x0100
35#define WEBKIT_VERSION_1_1 0x0110
36#define WEBKIT_VERSION_1_2 0x0120
37#define WEBKIT_VERSION_1_3 0x0130
38#define WEBKIT_VERSION_2_0 0x0200
39#define WEBKIT_VERSION_3_0 0x0300
40#define WEBKIT_VERSION_3_1 0x0310
41#define WEBKIT_VERSION_LATEST 0x9999
42
43#ifdef __APPLE__
44#import <AvailabilityMacros.h>
45#else
46/*
47 * For non-Mac platforms, require the newest version.
48 */
49#define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_LATEST
50/*
51 * only certain compilers support __attribute__((deprecated))
52 */
53#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
54 #define DEPRECATED_ATTRIBUTE __attribute__((deprecated))
55#else
56 #define DEPRECATED_ATTRIBUTE
57#endif
58#endif
59
60/* The versions of GCC that shipped with Xcode prior to 3.0 (GCC build number < 5400) did not support attributes on methods.
61 If we are building with one of these versions, we need to omit the attribute. We achieve this by wrapping the annotation
62 in WEBKIT_OBJC_METHOD_ANNOTATION, which will remove the annotation when an old version of GCC is in use and will otherwise
63 expand to the annotation. The same is needed for protocol methods.
64*/
65#if defined(__APPLE_CC__) && __APPLE_CC__ < 5400
66 #define WEBKIT_OBJC_METHOD_ANNOTATION(ANNOTATION)
67#else
68 #define WEBKIT_OBJC_METHOD_ANNOTATION(ANNOTATION) ANNOTATION
69#endif
70
71
72/* If minimum WebKit version is not specified, assume the version that shipped with the target Mac OS X version */
73#ifndef WEBKIT_VERSION_MIN_REQUIRED
74 #if !defined(MAC_OS_X_VERSION_10_2) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_2
75 #error WebKit was not available prior to Mac OS X 10.2
76 #elif !defined(MAC_OS_X_VERSION_10_3) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_3
77 /* WebKit 1.0 is the only version available on Mac OS X 10.2. */
78 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_1_0
79 #elif !defined(MAC_OS_X_VERSION_10_4) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
80 /* WebKit 1.1 is the version that shipped on Mac OS X 10.3. */
81 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_1_1
82 #elif !defined(MAC_OS_X_VERSION_10_5) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
83 /* WebKit 2.0 is the version that shipped on Mac OS X 10.4. */
84 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_2_0
85 #elif !defined(MAC_OS_X_VERSION_10_6) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
86 /* WebKit 3.0 is the version that shipped on Mac OS X 10.5. */
87 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_3_0
88 #else
89 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_LATEST
90 #endif
91#endif
92
93
94/* If maximum WebKit version is not specified, assume largerof(latest, minimum) */
95#ifndef WEBKIT_VERSION_MAX_ALLOWED
96 #if WEBKIT_VERSION_MIN_REQUIRED > WEBKIT_VERSION_LATEST
97 #define WEBKIT_VERSION_MAX_ALLOWED WEBKIT_VERSION_MIN_REQUIRED
98 #else
99 #define WEBKIT_VERSION_MAX_ALLOWED WEBKIT_VERSION_LATEST
100 #endif
101#endif
102
103
104/* Sanity check the configured values */
105#if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_MIN_REQUIRED
106 #error WEBKIT_VERSION_MAX_ALLOWED must be >= WEBKIT_VERSION_MIN_REQUIRED
107#endif
108#if WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_0
109 #error WEBKIT_VERSION_MIN_REQUIRED must be >= WEBKIT_VERSION_1_0
110#endif
111
112
113
114
115
116
117/*
118 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
119 *
120 * Used on functions introduced in WebKit 1.0
121 */
122#define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
123
124/*
125 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED
126 *
127 * Used on functions introduced in WebKit 1.0,
128 * and deprecated in WebKit 1.0
129 */
130#define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
131
132/*
133 * DEPRECATED_IN_WEBKIT_VERSION_1_0_AND_LATER
134 *
135 * Used on types deprecated in WebKit 1.0
136 */
137#define DEPRECATED_IN_WEBKIT_VERSION_1_0_AND_LATER DEPRECATED_ATTRIBUTE
138
139
140
141
142
143
144/*
145 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
146 *
147 * Used on declarations introduced in WebKit 1.1
148 */
149#if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_1
150 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER UNAVAILABLE_ATTRIBUTE
151#elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_1
152 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER WEAK_IMPORT_ATTRIBUTE
153#else
154 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
155#endif
156
157/*
158 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED
159 *
160 * Used on declarations introduced in WebKit 1.1,
161 * and deprecated in WebKit 1.1
162 */
163#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
164 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
165#else
166 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
167#endif
168
169/*
170 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1
171 *
172 * Used on declarations introduced in WebKit 1.0,
173 * but later deprecated in WebKit 1.1
174 */
175#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
176 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1 DEPRECATED_ATTRIBUTE
177#else
178 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
179#endif
180
181/*
182 * DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER
183 *
184 * Used on types deprecated in WebKit 1.1
185 */
186#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
187 #define DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER DEPRECATED_ATTRIBUTE
188#else
189 #define DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER
190#endif
191
192
193
194
195
196
197/*
198 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
199 *
200 * Used on declarations introduced in WebKit 1.2
201 */
202#if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_2
203 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER UNAVAILABLE_ATTRIBUTE
204#elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_2
205 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER WEAK_IMPORT_ATTRIBUTE
206#else
207 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
208#endif
209
210/*
211 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED
212 *
213 * Used on declarations introduced in WebKit 1.2,
214 * and deprecated in WebKit 1.2
215 */
216#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
217 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
218#else
219 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
220#endif
221
222/*
223 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2
224 *
225 * Used on declarations introduced in WebKit 1.0,
226 * but later deprecated in WebKit 1.2
227 */
228#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
229 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2 DEPRECATED_ATTRIBUTE
230#else
231 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
232#endif
233
234/*
235 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2
236 *
237 * Used on declarations introduced in WebKit 1.1,
238 * but later deprecated in WebKit 1.2
239 */
240#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
241 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2 DEPRECATED_ATTRIBUTE
242#else
243 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
244#endif
245
246/*
247 * DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER
248 *
249 * Used on types deprecated in WebKit 1.2
250 */
251#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
252 #define DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER DEPRECATED_ATTRIBUTE
253#else
254 #define DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER
255#endif
256
257
258
259
260
261
262/*
263 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
264 *
265 * Used on declarations introduced in WebKit 1.3
266 */
267#if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_3
268 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER UNAVAILABLE_ATTRIBUTE
269#elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_3
270 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER WEAK_IMPORT_ATTRIBUTE
271#else
272 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
273#endif
274
275/*
276 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED
277 *
278 * Used on declarations introduced in WebKit 1.3,
279 * and deprecated in WebKit 1.3
280 */
281#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
282 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
283#else
284 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
285#endif
286
287/*
288 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
289 *
290 * Used on declarations introduced in WebKit 1.0,
291 * but later deprecated in WebKit 1.3
292 */
293#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
294 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 DEPRECATED_ATTRIBUTE
295#else
296 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
297#endif
298
299/*
300 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
301 *
302 * Used on declarations introduced in WebKit 1.1,
303 * but later deprecated in WebKit 1.3
304 */
305#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
306 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 DEPRECATED_ATTRIBUTE
307#else
308 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
309#endif
310
311/*
312 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
313 *
314 * Used on declarations introduced in WebKit 1.2,
315 * but later deprecated in WebKit 1.3
316 */
317#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
318 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 DEPRECATED_ATTRIBUTE
319#else
320 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
321#endif
322
323/*
324 * DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER
325 *
326 * Used on types deprecated in WebKit 1.3
327 */
328#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
329 #define DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER DEPRECATED_ATTRIBUTE
330#else
331 #define DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER
332#endif
333
334
335
336
337
338
339/*
340 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
341 *
342 * Used on declarations introduced in WebKit 2.0
343 */
344#if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_2_0
345 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER UNAVAILABLE_ATTRIBUTE
346#elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_2_0
347 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER WEAK_IMPORT_ATTRIBUTE
348#else
349 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
350#endif
351
352/*
353 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED
354 *
355 * Used on declarations introduced in WebKit 2.0,
356 * and deprecated in WebKit 2.0
357 */
358#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
359 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
360#else
361 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
362#endif
363
364/*
365 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
366 *
367 * Used on declarations introduced in WebKit 1.0,
368 * but later deprecated in WebKit 2.0
369 */
370#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
371 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 DEPRECATED_ATTRIBUTE
372#else
373 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
374#endif
375
376/*
377 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
378 *
379 * Used on declarations introduced in WebKit 1.1,
380 * but later deprecated in WebKit 2.0
381 */
382#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
383 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 DEPRECATED_ATTRIBUTE
384#else
385 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
386#endif
387
388/*
389 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
390 *
391 * Used on declarations introduced in WebKit 1.2,
392 * but later deprecated in WebKit 2.0
393 */
394#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
395 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 DEPRECATED_ATTRIBUTE
396#else
397 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
398#endif
399
400/*
401 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
402 *
403 * Used on declarations introduced in WebKit 1.3,
404 * but later deprecated in WebKit 2.0
405 */
406#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
407 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 DEPRECATED_ATTRIBUTE
408#else
409 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
410#endif
411
412/*
413 * DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER
414 *
415 * Used on types deprecated in WebKit 2.0
416 */
417#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
418 #define DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER DEPRECATED_ATTRIBUTE
419#else
420 #define DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER
421#endif
422
423
424
425
426
427
428/*
429 * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
430 *
431 * Used on declarations introduced in WebKit 3.0
432 */
433#if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_3_0
434 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER UNAVAILABLE_ATTRIBUTE
435#elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_3_0
436 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER WEAK_IMPORT_ATTRIBUTE
437#else
438 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
439#endif
440
441/*
442 * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED
443 *
444 * Used on declarations introduced in WebKit 3.0,
445 * and deprecated in WebKit 3.0
446 */
447#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
448 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
449#else
450 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
451#endif
452
453/*
454 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
455 *
456 * Used on declarations introduced in WebKit 1.0,
457 * but later deprecated in WebKit 3.0
458 */
459#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
460 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
461#else
462 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
463#endif
464
465/*
466 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
467 *
468 * Used on declarations introduced in WebKit 1.1,
469 * but later deprecated in WebKit 3.0
470 */
471#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
472 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
473#else
474 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
475#endif
476
477/*
478 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
479 *
480 * Used on declarations introduced in WebKit 1.2,
481 * but later deprecated in WebKit 3.0
482 */
483#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
484 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
485#else
486 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
487#endif
488
489/*
490 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
491 *
492 * Used on declarations introduced in WebKit 1.3,
493 * but later deprecated in WebKit 3.0
494 */
495#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
496 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
497#else
498 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
499#endif
500
501/*
502 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
503 *
504 * Used on declarations introduced in WebKit 2.0,
505 * but later deprecated in WebKit 3.0
506 */
507#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
508 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
509#else
510 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
511#endif
512
513/*
514 * DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER
515 *
516 * Used on types deprecated in WebKit 3.0
517 */
518#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
519 #define DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER DEPRECATED_ATTRIBUTE
520#else
521 #define DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER
522#endif
523
524
525
526
527
528
529/*
530 * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
531 *
532 * Used on declarations introduced in WebKit 3.1
533 */
534#if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_3_1
535 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER UNAVAILABLE_ATTRIBUTE
536#elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_3_1
537 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER WEAK_IMPORT_ATTRIBUTE
538#else
539 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
540#endif
541
542/*
543 * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED
544 *
545 * Used on declarations introduced in WebKit 3.1,
546 * and deprecated in WebKit 3.1
547 */
548#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
549 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
550#else
551 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
552#endif
553
554/*
555 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
556 *
557 * Used on declarations introduced in WebKit 1.0,
558 * but later deprecated in WebKit 3.1
559 */
560#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
561 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
562#else
563 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
564#endif
565
566/*
567 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
568 *
569 * Used on declarations introduced in WebKit 1.1,
570 * but later deprecated in WebKit 3.1
571 */
572#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
573 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
574#else
575 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
576#endif
577
578/*
579 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
580 *
581 * Used on declarations introduced in WebKit 1.2,
582 * but later deprecated in WebKit 3.1
583 */
584#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
585 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
586#else
587 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
588#endif
589
590/*
591 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
592 *
593 * Used on declarations introduced in WebKit 1.3,
594 * but later deprecated in WebKit 3.1
595 */
596#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
597 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
598#else
599 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
600#endif
601
602/*
603 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
604 *
605 * Used on declarations introduced in WebKit 2.0,
606 * but later deprecated in WebKit 3.1
607 */
608#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
609 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
610#else
611 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
612#endif
613
614/*
615 * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
616 *
617 * Used on declarations introduced in WebKit 3.0,
618 * but later deprecated in WebKit 3.1
619 */
620#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
621 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
622#else
623 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
624#endif
625
626/*
627 * DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER
628 *
629 * Used on types deprecated in WebKit 3.1
630 */
631#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
632 #define DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER DEPRECATED_ATTRIBUTE
633#else
634 #define DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER
635#endif
636
637
638
639
640
641
642/*
643 * AVAILABLE_AFTER_WEBKIT_VERSION_3_1
644 *
645 * Used on declarations introduced after WebKit 3.1
646 */
647#if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_LATEST
648 #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1 UNAVAILABLE_ATTRIBUTE
649#elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_LATEST
650 #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1 WEAK_IMPORT_ATTRIBUTE
651#else
652 #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1
653#endif
654
655/*
656 * AVAILABLE_AFTER_WEBKIT_VERSION_3_1_BUT_DEPRECATED
657 *
658 * Used on declarations introduced after WebKit 3.1,
659 * and deprecated after WebKit 3.1
660 */
661#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
662 #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
663#else
664 #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1_BUT_DEPRECATED AVAILABLE_AFTER_WEBKIT_VERSION_3_1
665#endif
666
667/*
668 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
669 *
670 * Used on declarations introduced in WebKit 1.0,
671 * but later deprecated after WebKit 3.1
672 */
673#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
674 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
675#else
676 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
677#endif
678
679/*
680 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
681 *
682 * Used on declarations introduced in WebKit 1.1,
683 * but later deprecated after WebKit 3.1
684 */
685#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
686 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
687#else
688 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
689#endif
690
691/*
692 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
693 *
694 * Used on declarations introduced in WebKit 1.2,
695 * but later deprecated after WebKit 3.1
696 */
697#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
698 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
699#else
700 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
701#endif
702
703/*
704 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
705 *
706 * Used on declarations introduced in WebKit 1.3,
707 * but later deprecated after WebKit 3.1
708 */
709#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
710 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
711#else
712 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
713#endif
714
715/*
716 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
717 *
718 * Used on declarations introduced in WebKit 2.0,
719 * but later deprecated after WebKit 3.1
720 */
721#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
722 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
723#else
724 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
725#endif
726
727/*
728 * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
729 *
730 * Used on declarations introduced in WebKit 3.0,
731 * but later deprecated after WebKit 3.1
732 */
733#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
734 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
735#else
736 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
737#endif
738
739/*
740 * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
741 *
742 * Used on declarations introduced in WebKit 3.1,
743 * but later deprecated after WebKit 3.1
744 */
745#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
746 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
747#else
748 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
749#endif
750
751/*
752 * DEPRECATED_AFTER_WEBKIT_VERSION_3_1
753 *
754 * Used on types deprecated after WebKit 3.1
755 */
756#if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
757 #define DEPRECATED_AFTER_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
758#else
759 #define DEPRECATED_AFTER_WEBKIT_VERSION_3_1
760#endif
761
762
763#endif /* __WebKitAvailability__ */