<rdar://problem/4859666> WebKit needs availability macros in order to deprecate APIs
[WebKit-https.git] / JavaScriptCore / API / WebKitAvailability.h
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 #import <AvailabilityMacros.h>
30
31 /* The structure of this header is based on AvailabilityMacros.h.  The major difference is that the availability
32    macros are defined in terms of WebKit version numbers rather than Mac OS X system version numbers, as WebKit
33    releases span multiple versions of Mac OS X.
34 */
35
36 #define WEBKIT_VERSION_1_0    0x0100
37 #define WEBKIT_VERSION_1_1    0x0110
38 #define WEBKIT_VERSION_1_2    0x0120
39 #define WEBKIT_VERSION_1_3    0x0130
40 #define WEBKIT_VERSION_2_0    0x0200
41 #define WEBKIT_VERSION_3_0    0x0300
42 #define WEBKIT_VERSION_3_1    0x0310
43 #define WEBKIT_VERSION_LATEST 0x9999
44
45
46
47 /* If minimum WebKit version is not specified, assume the version that shipped with the target Mac OS X version */
48 #ifndef WEBKIT_VERSION_MIN_REQUIRED
49     #if !defined(MAC_OS_X_VERSION_10_2) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_2
50         #error WebKit was not available prior to Mac OS X 10.2
51     #elif !defined(MAC_OS_X_VERSION_10_3) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_3
52         /* WebKit 1.0 is the only version available on Mac OS X 10.2. */
53         #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_1_0
54     #elif !defined(MAC_OS_X_VERSION_10_4) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
55         /* WebKit 1.1 is the version that shipped on Mac OS X 10.3. */
56         #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_1_1
57     #elif !defined(MAC_OS_X_VERSION_10_5) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
58         /* WebKit 2.0 is the version that shipped on Mac OS X 10.4. */
59         #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_2_0
60     #elif !defined(MAC_OS_X_VERSION_10_6) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_6
61         /* WebKit 3.0 is the version that shipped on Mac OS X 10.5. */
62         #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_3_0
63     #else
64         #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_LATEST
65     #endif
66 #endif
67
68
69 /* If maximum WebKit version is not specified, assume largerof(latest, minimum) */
70 #ifndef WEBKIT_VERSION_MAX_ALLOWED
71     #if WEBKIT_VERSION_MIN_REQUIRED > WEBKIT_VERSION_LATEST
72         #define WEBKIT_VERSION_MAX_ALLOWED WEBKIT_VERSION_MIN_REQUIRED
73     #else
74         #define WEBKIT_VERSION_MAX_ALLOWED WEBKIT_VERSION_LATEST
75     #endif
76 #endif
77
78
79 /* Sanity check the configured values */
80 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_MIN_REQUIRED
81     #error WEBKIT_VERSION_MAX_ALLOWED must be >= WEBKIT_VERSION_MIN_REQUIRED
82 #endif
83 #if WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_0
84     #error WEBKIT_VERSION_MIN_REQUIRED must be >= WEBKIT_VERSION_1_0
85 #endif
86
87
88
89
90
91
92 /*
93  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
94  * 
95  * Used on functions introduced in WebKit 1.0
96  */
97 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
98
99 /*
100  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED
101  * 
102  * Used on functions introduced in WebKit 1.0,
103  * and deprecated in WebKit 1.0
104  */
105 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
106
107 /*
108  * DEPRECATED_IN_WEBKIT_VERSION_1_0_AND_LATER
109  * 
110  * Used on types deprecated in WebKit 1.0 
111  */
112 #define DEPRECATED_IN_WEBKIT_VERSION_1_0_AND_LATER     DEPRECATED_ATTRIBUTE
113
114
115
116
117
118
119 /*
120  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
121  * 
122  * Used on declarations introduced in WebKit 1.1
123  */
124 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_1
125     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER     UNAVAILABLE_ATTRIBUTE
126 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_1
127     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER     WEAK_IMPORT_ATTRIBUTE
128 #else
129     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
130 #endif
131
132 /*
133  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED
134  * 
135  * Used on declarations introduced in WebKit 1.1, 
136  * and deprecated in WebKit 1.1
137  */
138 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
139     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
140 #else
141     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
142 #endif
143
144 /*
145  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1
146  * 
147  * Used on declarations introduced in WebKit 1.0, 
148  * but later deprecated in WebKit 1.1
149  */
150 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
151     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1    DEPRECATED_ATTRIBUTE
152 #else
153     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
154 #endif
155
156 /*
157  * DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER
158  * 
159  * Used on types deprecated in WebKit 1.1 
160  */
161 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
162     #define DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER    DEPRECATED_ATTRIBUTE
163 #else
164     #define DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER
165 #endif
166
167
168
169
170
171
172 /*
173  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
174  * 
175  * Used on declarations introduced in WebKit 1.2 
176  */
177 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_2
178     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER     UNAVAILABLE_ATTRIBUTE
179 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_2
180     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER     WEAK_IMPORT_ATTRIBUTE
181 #else
182     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
183 #endif
184
185 /*
186  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED
187  * 
188  * Used on declarations introduced in WebKit 1.2, 
189  * and deprecated in WebKit 1.2
190  */
191 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
192     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
193 #else
194     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
195 #endif
196
197 /*
198  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2
199  * 
200  * Used on declarations introduced in WebKit 1.0, 
201  * but later deprecated in WebKit 1.2
202  */
203 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
204     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2    DEPRECATED_ATTRIBUTE
205 #else
206     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
207 #endif
208
209 /*
210  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2
211  * 
212  * Used on declarations introduced in WebKit 1.1, 
213  * but later deprecated in WebKit 1.2
214  */
215 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
216     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2    DEPRECATED_ATTRIBUTE
217 #else
218     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
219 #endif
220
221 /*
222  * DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER
223  * 
224  * Used on types deprecated in WebKit 1.2
225  */
226 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
227     #define DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER    DEPRECATED_ATTRIBUTE
228 #else
229     #define DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER
230 #endif
231
232
233
234
235
236
237 /*
238  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
239  * 
240  * Used on declarations introduced in WebKit 1.3 
241  */
242 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_3
243     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER     UNAVAILABLE_ATTRIBUTE
244 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_3
245     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER     WEAK_IMPORT_ATTRIBUTE
246 #else
247     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
248 #endif
249
250 /*
251  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED
252  * 
253  * Used on declarations introduced in WebKit 1.3, 
254  * and deprecated in WebKit 1.3
255  */
256 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
257     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
258 #else
259     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
260 #endif
261
262 /*
263  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
264  * 
265  * Used on declarations introduced in WebKit 1.0, 
266  * but later deprecated in WebKit 1.3
267  */
268 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
269     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    DEPRECATED_ATTRIBUTE
270 #else
271     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
272 #endif
273
274 /*
275  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
276  * 
277  * Used on declarations introduced in WebKit 1.1, 
278  * but later deprecated in WebKit 1.3
279  */
280 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
281     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    DEPRECATED_ATTRIBUTE
282 #else
283     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
284 #endif
285
286 /*
287  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
288  * 
289  * Used on declarations introduced in WebKit 1.2, 
290  * but later deprecated in WebKit 1.3
291  */
292 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
293     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    DEPRECATED_ATTRIBUTE
294 #else
295     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
296 #endif
297
298 /*
299  * DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER
300  * 
301  * Used on types deprecated in WebKit 1.3 
302  */
303 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
304     #define DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER    DEPRECATED_ATTRIBUTE
305 #else
306     #define DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER
307 #endif
308
309
310
311
312
313
314 /*
315  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
316  * 
317  * Used on declarations introduced in WebKit 2.0 
318  */
319 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_2_0
320     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER     UNAVAILABLE_ATTRIBUTE
321 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_2_0
322     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER     WEAK_IMPORT_ATTRIBUTE
323 #else
324     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
325 #endif
326
327 /*
328  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED
329  * 
330  * Used on declarations introduced in WebKit 2.0, 
331  * and deprecated in WebKit 2.0
332  */
333 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
334     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
335 #else
336     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
337 #endif
338
339 /*
340  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
341  * 
342  * Used on declarations introduced in WebKit 1.0, 
343  * but later deprecated in WebKit 2.0
344  */
345 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
346     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    DEPRECATED_ATTRIBUTE
347 #else
348     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
349 #endif
350
351 /*
352  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
353  * 
354  * Used on declarations introduced in WebKit 1.1, 
355  * but later deprecated in WebKit 2.0
356  */
357 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
358     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    DEPRECATED_ATTRIBUTE
359 #else
360     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
361 #endif
362
363 /*
364  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
365  * 
366  * Used on declarations introduced in WebKit 1.2, 
367  * but later deprecated in WebKit 2.0
368  */
369 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
370     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    DEPRECATED_ATTRIBUTE
371 #else
372     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
373 #endif
374
375 /*
376  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
377  * 
378  * Used on declarations introduced in WebKit 1.3, 
379  * but later deprecated in WebKit 2.0
380  */
381 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
382     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    DEPRECATED_ATTRIBUTE
383 #else
384     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
385 #endif
386
387 /*
388  * DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER
389  * 
390  * Used on types deprecated in WebKit 2.0 
391  */
392 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
393     #define DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER    DEPRECATED_ATTRIBUTE
394 #else
395     #define DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER
396 #endif
397
398
399
400
401
402
403 /*
404  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
405  * 
406  * Used on declarations introduced in WebKit 3.0 
407  */
408 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_3_0
409     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER     UNAVAILABLE_ATTRIBUTE
410 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_3_0
411     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER     WEAK_IMPORT_ATTRIBUTE
412 #else
413     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
414 #endif
415
416 /*
417  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED
418  * 
419  * Used on declarations introduced in WebKit 3.0, 
420  * and deprecated in WebKit 3.0
421  */
422 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
423     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
424 #else
425     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
426 #endif
427
428 /*
429  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
430  * 
431  * Used on declarations introduced in WebKit 1.0, 
432  * but later deprecated in WebKit 3.0
433  */
434 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
435     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
436 #else
437     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
438 #endif
439
440 /*
441  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
442  * 
443  * Used on declarations introduced in WebKit 1.1, 
444  * but later deprecated in WebKit 3.0
445  */
446 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
447     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
448 #else
449     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
450 #endif
451
452 /*
453  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
454  * 
455  * Used on declarations introduced in WebKit 1.2, 
456  * but later deprecated in WebKit 3.0
457  */
458 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
459     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
460 #else
461     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
462 #endif
463
464 /*
465  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
466  * 
467  * Used on declarations introduced in WebKit 1.3, 
468  * but later deprecated in WebKit 3.0
469  */
470 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
471     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
472 #else
473     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
474 #endif
475
476 /*
477  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
478  * 
479  * Used on declarations introduced in WebKit 2.0, 
480  * but later deprecated in WebKit 3.0
481  */
482 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
483     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
484 #else
485     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
486 #endif
487
488 /*
489  * DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER
490  * 
491  * Used on types deprecated in WebKit 3.0 
492  */
493 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
494     #define DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER    DEPRECATED_ATTRIBUTE
495 #else
496     #define DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER
497 #endif
498
499
500
501
502
503
504 /*
505  * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
506  * 
507  * Used on declarations introduced in WebKit 3.1
508  */
509 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_3_1
510     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER     UNAVAILABLE_ATTRIBUTE
511 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_3_1
512     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER     WEAK_IMPORT_ATTRIBUTE
513 #else
514     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
515 #endif
516
517 /*
518  * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED
519  * 
520  * Used on declarations introduced in WebKit 3.1, 
521  * and deprecated in WebKit 3.1
522  */
523 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
524     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
525 #else
526     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
527 #endif
528
529 /*
530  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
531  * 
532  * Used on declarations introduced in WebKit 1.0, 
533  * but later deprecated in WebKit 3.1
534  */
535 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
536     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
537 #else
538     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
539 #endif
540
541 /*
542  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
543  * 
544  * Used on declarations introduced in WebKit 1.1, 
545  * but later deprecated in WebKit 3.1
546  */
547 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
548     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
549 #else
550     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
551 #endif
552
553 /*
554  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
555  * 
556  * Used on declarations introduced in WebKit 1.2, 
557  * but later deprecated in WebKit 3.1
558  */
559 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
560     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
561 #else
562     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
563 #endif
564
565 /*
566  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
567  * 
568  * Used on declarations introduced in WebKit 1.3, 
569  * but later deprecated in WebKit 3.1
570  */
571 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
572     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
573 #else
574     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
575 #endif
576
577 /*
578  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
579  * 
580  * Used on declarations introduced in WebKit 2.0, 
581  * but later deprecated in WebKit 3.1
582  */
583 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
584     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
585 #else
586     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
587 #endif
588
589 /*
590  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
591  * 
592  * Used on declarations introduced in WebKit 3.0, 
593  * but later deprecated in WebKit 3.1
594  */
595 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
596     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
597 #else
598     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
599 #endif
600
601 /*
602  * DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER
603  * 
604  * Used on types deprecated in WebKit 3.1
605  */
606 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
607     #define DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER    DEPRECATED_ATTRIBUTE
608 #else
609     #define DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER
610 #endif
611
612
613
614
615
616
617 /*
618  * AVAILABLE_AFTER_WEBKIT_VERSION_3_1
619  * 
620  * Used on declarations introduced after WebKit 3.1
621  */
622 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_LATEST
623     #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1     UNAVAILABLE_ATTRIBUTE
624 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_LATEST
625     #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1     WEAK_IMPORT_ATTRIBUTE
626 #else
627     #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1
628 #endif
629
630 /*
631  * AVAILABLE_AFTER_WEBKIT_VERSION_3_1_BUT_DEPRECATED
632  * 
633  * Used on declarations introduced after WebKit 3.1, 
634  * and deprecated after WebKit 3.1
635  */
636 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
637     #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
638 #else
639     #define AVAILABLE_AFTER_WEBKIT_VERSION_3_1_BUT_DEPRECATED    AVAILABLE_AFTER_WEBKIT_VERSION_3_1
640 #endif
641
642 /*
643  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
644  * 
645  * Used on declarations introduced in WebKit 1.0, 
646  * but later deprecated after WebKit 3.1
647  */
648 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
649     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
650 #else
651     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
652 #endif
653
654 /*
655  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
656  * 
657  * Used on declarations introduced in WebKit 1.1, 
658  * but later deprecated after WebKit 3.1
659  */
660 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
661     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
662 #else
663     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
664 #endif
665
666 /*
667  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
668  * 
669  * Used on declarations introduced in WebKit 1.2, 
670  * but later deprecated after WebKit 3.1
671  */
672 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
673     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
674 #else
675     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
676 #endif
677
678 /*
679  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
680  * 
681  * Used on declarations introduced in WebKit 1.3, 
682  * but later deprecated after WebKit 3.1
683  */
684 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
685     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
686 #else
687     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
688 #endif
689
690 /*
691  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
692  * 
693  * Used on declarations introduced in WebKit 2.0, 
694  * but later deprecated after WebKit 3.1
695  */
696 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
697     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
698 #else
699     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
700 #endif
701
702 /*
703  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
704  * 
705  * Used on declarations introduced in WebKit 3.0, 
706  * but later deprecated after WebKit 3.1
707  */
708 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
709     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
710 #else
711     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
712 #endif
713
714 /*
715  * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1
716  * 
717  * Used on declarations introduced in WebKit 3.1, 
718  * but later deprecated after WebKit 3.1
719  */
720 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
721     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
722 #else
723     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
724 #endif
725
726 /*
727  * DEPRECATED_AFTER_WEBKIT_VERSION_3_1
728  * 
729  * Used on types deprecated after WebKit 3.1
730  */
731 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
732     #define DEPRECATED_AFTER_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
733 #else
734     #define DEPRECATED_AFTER_WEBKIT_VERSION_3_1
735 #endif
736
737
738 #endif /* __WebKitAvailability__ */