Rubber-stamped by Brady Eidson.
[webbrowser.git] / JavaScriptCore / API / WebKitAvailability.h
blob8402528317a920ac270dff409206a7d7b60f11d7
1 /*
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.
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.
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.
26 #ifndef __WebKitAvailability__
27 #define __WebKitAvailability__
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.
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_4_0 0x0400
42 #define WEBKIT_VERSION_LATEST 0x9999
44 #ifdef __APPLE__
45 #import <AvailabilityMacros.h>
46 #else
48 * For non-Mac platforms, require the newest version.
50 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_LATEST
52 * only certain compilers support __attribute__((deprecated))
54 #if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
55 #define DEPRECATED_ATTRIBUTE __attribute__((deprecated))
56 #else
57 #define DEPRECATED_ATTRIBUTE
58 #endif
59 #endif
61 /* The versions of GCC that shipped with Xcode prior to 3.0 (GCC build number < 5400) did not support attributes on methods.
62 If we are building with one of these versions, we need to omit the attribute. We achieve this by wrapping the annotation
63 in WEBKIT_OBJC_METHOD_ANNOTATION, which will remove the annotation when an old version of GCC is in use and will otherwise
64 expand to the annotation. The same is needed for protocol methods.
66 #if defined(__APPLE_CC__) && __APPLE_CC__ < 5400
67 #define WEBKIT_OBJC_METHOD_ANNOTATION(ANNOTATION)
68 #else
69 #define WEBKIT_OBJC_METHOD_ANNOTATION(ANNOTATION) ANNOTATION
70 #endif
73 /* If minimum WebKit version is not specified, assume the version that shipped with the target Mac OS X version */
74 #ifndef WEBKIT_VERSION_MIN_REQUIRED
75 #if !defined(MAC_OS_X_VERSION_10_2) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_2
76 #error WebKit was not available prior to Mac OS X 10.2
77 #elif !defined(MAC_OS_X_VERSION_10_3) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_3
78 /* WebKit 1.0 is the only version available on Mac OS X 10.2. */
79 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_1_0
80 #elif !defined(MAC_OS_X_VERSION_10_4) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
81 /* WebKit 1.1 is the version that shipped on Mac OS X 10.3. */
82 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_1_1
83 #elif !defined(MAC_OS_X_VERSION_10_5) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
84 /* WebKit 2.0 is the version that shipped on Mac OS X 10.4. */
85 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_2_0
86 #elif !defined(MAC_OS_X_VERSION_10_6) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
87 /* WebKit 3.0 is the version that shipped on Mac OS X 10.5. */
88 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_3_0
89 #else
90 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_LATEST
91 #endif
92 #endif
95 /* If maximum WebKit version is not specified, assume largerof(latest, minimum) */
96 #ifndef WEBKIT_VERSION_MAX_ALLOWED
97 #if WEBKIT_VERSION_MIN_REQUIRED > WEBKIT_VERSION_LATEST
98 #define WEBKIT_VERSION_MAX_ALLOWED WEBKIT_VERSION_MIN_REQUIRED
99 #else
100 #define WEBKIT_VERSION_MAX_ALLOWED WEBKIT_VERSION_LATEST
101 #endif
102 #endif
105 /* Sanity check the configured values */
106 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_MIN_REQUIRED
107 #error WEBKIT_VERSION_MAX_ALLOWED must be >= WEBKIT_VERSION_MIN_REQUIRED
108 #endif
109 #if WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_0
110 #error WEBKIT_VERSION_MIN_REQUIRED must be >= WEBKIT_VERSION_1_0
111 #endif
119 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
121 * Used on functions introduced in WebKit 1.0
123 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
126 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED
128 * Used on functions introduced in WebKit 1.0,
129 * and deprecated in WebKit 1.0
131 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
134 * DEPRECATED_IN_WEBKIT_VERSION_1_0_AND_LATER
136 * Used on types deprecated in WebKit 1.0
138 #define DEPRECATED_IN_WEBKIT_VERSION_1_0_AND_LATER DEPRECATED_ATTRIBUTE
146 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
148 * Used on declarations introduced in WebKit 1.1
150 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_1
151 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER UNAVAILABLE_ATTRIBUTE
152 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_1
153 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER WEAK_IMPORT_ATTRIBUTE
154 #else
155 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
156 #endif
159 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED
161 * Used on declarations introduced in WebKit 1.1,
162 * and deprecated in WebKit 1.1
164 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
165 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
166 #else
167 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
168 #endif
171 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1
173 * Used on declarations introduced in WebKit 1.0,
174 * but later deprecated in WebKit 1.1
176 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
177 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1 DEPRECATED_ATTRIBUTE
178 #else
179 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
180 #endif
183 * DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER
185 * Used on types deprecated in WebKit 1.1
187 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
188 #define DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER DEPRECATED_ATTRIBUTE
189 #else
190 #define DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER
191 #endif
199 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
201 * Used on declarations introduced in WebKit 1.2
203 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_2
204 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER UNAVAILABLE_ATTRIBUTE
205 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_2
206 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER WEAK_IMPORT_ATTRIBUTE
207 #else
208 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
209 #endif
212 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED
214 * Used on declarations introduced in WebKit 1.2,
215 * and deprecated in WebKit 1.2
217 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
218 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
219 #else
220 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
221 #endif
224 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2
226 * Used on declarations introduced in WebKit 1.0,
227 * but later deprecated in WebKit 1.2
229 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
230 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2 DEPRECATED_ATTRIBUTE
231 #else
232 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
233 #endif
236 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2
238 * Used on declarations introduced in WebKit 1.1,
239 * but later deprecated in WebKit 1.2
241 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
242 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2 DEPRECATED_ATTRIBUTE
243 #else
244 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
245 #endif
248 * DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER
250 * Used on types deprecated in WebKit 1.2
252 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
253 #define DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER DEPRECATED_ATTRIBUTE
254 #else
255 #define DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER
256 #endif
264 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
266 * Used on declarations introduced in WebKit 1.3
268 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_3
269 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER UNAVAILABLE_ATTRIBUTE
270 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_3
271 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER WEAK_IMPORT_ATTRIBUTE
272 #else
273 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
274 #endif
277 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED
279 * Used on declarations introduced in WebKit 1.3,
280 * and deprecated in WebKit 1.3
282 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
283 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
284 #else
285 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
286 #endif
289 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
291 * Used on declarations introduced in WebKit 1.0,
292 * but later deprecated in WebKit 1.3
294 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
295 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 DEPRECATED_ATTRIBUTE
296 #else
297 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
298 #endif
301 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
303 * Used on declarations introduced in WebKit 1.1,
304 * but later deprecated in WebKit 1.3
306 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
307 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 DEPRECATED_ATTRIBUTE
308 #else
309 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
310 #endif
313 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
315 * Used on declarations introduced in WebKit 1.2,
316 * but later deprecated in WebKit 1.3
318 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
319 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 DEPRECATED_ATTRIBUTE
320 #else
321 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
322 #endif
325 * DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER
327 * Used on types deprecated in WebKit 1.3
329 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
330 #define DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER DEPRECATED_ATTRIBUTE
331 #else
332 #define DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER
333 #endif
341 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
343 * Used on declarations introduced in WebKit 2.0
345 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_2_0
346 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER UNAVAILABLE_ATTRIBUTE
347 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_2_0
348 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER WEAK_IMPORT_ATTRIBUTE
349 #else
350 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
351 #endif
354 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED
356 * Used on declarations introduced in WebKit 2.0,
357 * and deprecated in WebKit 2.0
359 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
360 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
361 #else
362 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
363 #endif
366 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
368 * Used on declarations introduced in WebKit 1.0,
369 * but later deprecated in WebKit 2.0
371 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
372 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 DEPRECATED_ATTRIBUTE
373 #else
374 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
375 #endif
378 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
380 * Used on declarations introduced in WebKit 1.1,
381 * but later deprecated in WebKit 2.0
383 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
384 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 DEPRECATED_ATTRIBUTE
385 #else
386 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
387 #endif
390 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
392 * Used on declarations introduced in WebKit 1.2,
393 * but later deprecated in WebKit 2.0
395 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
396 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 DEPRECATED_ATTRIBUTE
397 #else
398 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
399 #endif
402 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
404 * Used on declarations introduced in WebKit 1.3,
405 * but later deprecated in WebKit 2.0
407 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
408 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 DEPRECATED_ATTRIBUTE
409 #else
410 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0 AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
411 #endif
414 * DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER
416 * Used on types deprecated in WebKit 2.0
418 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
419 #define DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER DEPRECATED_ATTRIBUTE
420 #else
421 #define DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER
422 #endif
430 * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
432 * Used on declarations introduced in WebKit 3.0
434 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_3_0
435 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER UNAVAILABLE_ATTRIBUTE
436 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_3_0
437 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER WEAK_IMPORT_ATTRIBUTE
438 #else
439 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
440 #endif
443 * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED
445 * Used on declarations introduced in WebKit 3.0,
446 * and deprecated in WebKit 3.0
448 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
449 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
450 #else
451 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
452 #endif
455 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
457 * Used on declarations introduced in WebKit 1.0,
458 * but later deprecated in WebKit 3.0
460 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
461 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
462 #else
463 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
464 #endif
467 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
469 * Used on declarations introduced in WebKit 1.1,
470 * but later deprecated in WebKit 3.0
472 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
473 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
474 #else
475 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
476 #endif
479 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
481 * Used on declarations introduced in WebKit 1.2,
482 * but later deprecated in WebKit 3.0
484 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
485 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
486 #else
487 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
488 #endif
491 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
493 * Used on declarations introduced in WebKit 1.3,
494 * but later deprecated in WebKit 3.0
496 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
497 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
498 #else
499 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
500 #endif
503 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
505 * Used on declarations introduced in WebKit 2.0,
506 * but later deprecated in WebKit 3.0
508 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
509 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 DEPRECATED_ATTRIBUTE
510 #else
511 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0 AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
512 #endif
515 * DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER
517 * Used on types deprecated in WebKit 3.0
519 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
520 #define DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER DEPRECATED_ATTRIBUTE
521 #else
522 #define DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER
523 #endif
531 * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
533 * Used on declarations introduced in WebKit 3.1
535 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_3_1
536 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER UNAVAILABLE_ATTRIBUTE
537 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_3_1
538 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER WEAK_IMPORT_ATTRIBUTE
539 #else
540 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
541 #endif
544 * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED
546 * Used on declarations introduced in WebKit 3.1,
547 * and deprecated in WebKit 3.1
549 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
550 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
551 #else
552 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
553 #endif
556 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
558 * Used on declarations introduced in WebKit 1.0,
559 * but later deprecated in WebKit 3.1
561 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
562 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
563 #else
564 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
565 #endif
568 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
570 * Used on declarations introduced in WebKit 1.1,
571 * but later deprecated in WebKit 3.1
573 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
574 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
575 #else
576 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
577 #endif
580 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
582 * Used on declarations introduced in WebKit 1.2,
583 * but later deprecated in WebKit 3.1
585 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
586 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
587 #else
588 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
589 #endif
592 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
594 * Used on declarations introduced in WebKit 1.3,
595 * but later deprecated in WebKit 3.1
597 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
598 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
599 #else
600 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
601 #endif
604 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
606 * Used on declarations introduced in WebKit 2.0,
607 * but later deprecated in WebKit 3.1
609 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
610 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
611 #else
612 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
613 #endif
616 * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
618 * Used on declarations introduced in WebKit 3.0,
619 * but later deprecated in WebKit 3.1
621 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
622 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 DEPRECATED_ATTRIBUTE
623 #else
624 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1 AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
625 #endif
628 * DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER
630 * Used on types deprecated in WebKit 3.1
632 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
633 #define DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER DEPRECATED_ATTRIBUTE
634 #else
635 #define DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER
636 #endif
644 * AVAILABLE_IN_WEBKIT_VERSION_4_0
646 * Used on declarations introduced in WebKit 4.0
648 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_LATEST
649 #define AVAILABLE_IN_WEBKIT_VERSION_4_0 UNAVAILABLE_ATTRIBUTE
650 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_LATEST
651 #define AVAILABLE_IN_WEBKIT_VERSION_4_0 WEAK_IMPORT_ATTRIBUTE
652 #else
653 #define AVAILABLE_IN_WEBKIT_VERSION_4_0
654 #endif
657 * AVAILABLE_IN_WEBKIT_VERSION_4_0_BUT_DEPRECATED
659 * Used on declarations introduced in WebKit 4.0,
660 * and deprecated in WebKit 4.0
662 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
663 #define AVAILABLE_IN_WEBKIT_VERSION_4_0_BUT_DEPRECATED DEPRECATED_ATTRIBUTE
664 #else
665 #define AVAILABLE_IN_WEBKIT_VERSION_4_0_BUT_DEPRECATED AVAILABLE_IN_WEBKIT_VERSION_4_0
666 #endif
669 * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
671 * Used on declarations introduced in WebKit 1.0,
672 * but later deprecated in WebKit 4.0
674 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
675 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 DEPRECATED_ATTRIBUTE
676 #else
677 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
678 #endif
681 * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
683 * Used on declarations introduced in WebKit 1.1,
684 * but later deprecated in WebKit 4.0
686 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
687 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 DEPRECATED_ATTRIBUTE
688 #else
689 #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
690 #endif
693 * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
695 * Used on declarations introduced in WebKit 1.2,
696 * but later deprecated in WebKit 4.0
698 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
699 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 DEPRECATED_ATTRIBUTE
700 #else
701 #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
702 #endif
705 * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
707 * Used on declarations introduced in WebKit 1.3,
708 * but later deprecated in WebKit 4.0
710 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
711 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 DEPRECATED_ATTRIBUTE
712 #else
713 #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
714 #endif
717 * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
719 * Used on declarations introduced in WebKit 2.0,
720 * but later deprecated in WebKit 4.0
722 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
723 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 DEPRECATED_ATTRIBUTE
724 #else
725 #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
726 #endif
729 * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
731 * Used on declarations introduced in WebKit 3.0,
732 * but later deprecated in WebKit 4.0
734 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
735 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 DEPRECATED_ATTRIBUTE
736 #else
737 #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
738 #endif
741 * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
743 * Used on declarations introduced in WebKit 3.1,
744 * but later deprecated in WebKit 4.0
746 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
747 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 DEPRECATED_ATTRIBUTE
748 #else
749 #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0 AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
750 #endif
753 * DEPRECATED_IN_WEBKIT_VERSION_4_0
755 * Used on types deprecated in WebKit 4.0
757 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
758 #define DEPRECATED_IN_WEBKIT_VERSION_4_0 DEPRECATED_ATTRIBUTE
759 #else
760 #define DEPRECATED_IN_WEBKIT_VERSION_4_0
761 #endif
764 #endif /* __WebKitAvailability__ */