JavaScriptCore/API/WebKitAvailability.h
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 /*
       
     2  * Copyright (C) 2008, 2009, 2010 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_4_0    0x0400
       
    42 #define WEBKIT_VERSION_LATEST 0x9999
       
    43 
       
    44 #ifdef __APPLE__
       
    45 #include <AvailabilityMacros.h>
       
    46 #else
       
    47 /*
       
    48  * For non-Mac platforms, require the newest version.
       
    49  */
       
    50 #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_LATEST
       
    51 /*
       
    52  * only certain compilers support __attribute__((deprecated))
       
    53  */
       
    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
       
    60 
       
    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.
       
    65 */
       
    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
       
    71 
       
    72 
       
    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     #elif !defined(MAC_OS_X_VERSION_10_7) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
       
    90         /* WebKit 4.0 is the version that shipped on Mac OS X 10.6. */
       
    91         #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_4_0
       
    92     #else
       
    93         #define WEBKIT_VERSION_MIN_REQUIRED WEBKIT_VERSION_LATEST
       
    94     #endif
       
    95 #endif
       
    96 
       
    97 
       
    98 /* If maximum WebKit version is not specified, assume largerof(latest, minimum) */
       
    99 #ifndef WEBKIT_VERSION_MAX_ALLOWED
       
   100     #if WEBKIT_VERSION_MIN_REQUIRED > WEBKIT_VERSION_LATEST
       
   101         #define WEBKIT_VERSION_MAX_ALLOWED WEBKIT_VERSION_MIN_REQUIRED
       
   102     #else
       
   103         #define WEBKIT_VERSION_MAX_ALLOWED WEBKIT_VERSION_LATEST
       
   104     #endif
       
   105 #endif
       
   106 
       
   107 
       
   108 /* Sanity check the configured values */
       
   109 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_MIN_REQUIRED
       
   110     #error WEBKIT_VERSION_MAX_ALLOWED must be >= WEBKIT_VERSION_MIN_REQUIRED
       
   111 #endif
       
   112 #if WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_0
       
   113     #error WEBKIT_VERSION_MIN_REQUIRED must be >= WEBKIT_VERSION_1_0
       
   114 #endif
       
   115 
       
   116 
       
   117 
       
   118 
       
   119 
       
   120 
       
   121 /*
       
   122  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   123  * 
       
   124  * Used on functions introduced in WebKit 1.0
       
   125  */
       
   126 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   127 
       
   128 /*
       
   129  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED
       
   130  * 
       
   131  * Used on functions introduced in WebKit 1.0,
       
   132  * and deprecated in WebKit 1.0
       
   133  */
       
   134 #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   135 
       
   136 /*
       
   137  * DEPRECATED_IN_WEBKIT_VERSION_1_0_AND_LATER
       
   138  * 
       
   139  * Used on types deprecated in WebKit 1.0 
       
   140  */
       
   141 #define DEPRECATED_IN_WEBKIT_VERSION_1_0_AND_LATER     DEPRECATED_ATTRIBUTE
       
   142 
       
   143 
       
   144 
       
   145 
       
   146 
       
   147 
       
   148 /*
       
   149  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   150  * 
       
   151  * Used on declarations introduced in WebKit 1.1
       
   152  */
       
   153 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_1
       
   154     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER     UNAVAILABLE_ATTRIBUTE
       
   155 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_1
       
   156     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER     WEAK_IMPORT_ATTRIBUTE
       
   157 #else
       
   158     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   159 #endif
       
   160 
       
   161 /*
       
   162  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED
       
   163  * 
       
   164  * Used on declarations introduced in WebKit 1.1, 
       
   165  * and deprecated in WebKit 1.1
       
   166  */
       
   167 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
       
   168     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   169 #else
       
   170     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   171 #endif
       
   172 
       
   173 /*
       
   174  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1
       
   175  * 
       
   176  * Used on declarations introduced in WebKit 1.0, 
       
   177  * but later deprecated in WebKit 1.1
       
   178  */
       
   179 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
       
   180     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1    DEPRECATED_ATTRIBUTE
       
   181 #else
       
   182     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_1    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   183 #endif
       
   184 
       
   185 /*
       
   186  * DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER
       
   187  * 
       
   188  * Used on types deprecated in WebKit 1.1 
       
   189  */
       
   190 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_1
       
   191     #define DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER    DEPRECATED_ATTRIBUTE
       
   192 #else
       
   193     #define DEPRECATED_IN_WEBKIT_VERSION_1_1_AND_LATER
       
   194 #endif
       
   195 
       
   196 
       
   197 
       
   198 
       
   199 
       
   200 
       
   201 /*
       
   202  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   203  * 
       
   204  * Used on declarations introduced in WebKit 1.2 
       
   205  */
       
   206 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_2
       
   207     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER     UNAVAILABLE_ATTRIBUTE
       
   208 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_2
       
   209     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER     WEAK_IMPORT_ATTRIBUTE
       
   210 #else
       
   211     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   212 #endif
       
   213 
       
   214 /*
       
   215  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED
       
   216  * 
       
   217  * Used on declarations introduced in WebKit 1.2, 
       
   218  * and deprecated in WebKit 1.2
       
   219  */
       
   220 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
       
   221     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   222 #else
       
   223     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   224 #endif
       
   225 
       
   226 /*
       
   227  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2
       
   228  * 
       
   229  * Used on declarations introduced in WebKit 1.0, 
       
   230  * but later deprecated in WebKit 1.2
       
   231  */
       
   232 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
       
   233     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2    DEPRECATED_ATTRIBUTE
       
   234 #else
       
   235     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   236 #endif
       
   237 
       
   238 /*
       
   239  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2
       
   240  * 
       
   241  * Used on declarations introduced in WebKit 1.1, 
       
   242  * but later deprecated in WebKit 1.2
       
   243  */
       
   244 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
       
   245     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2    DEPRECATED_ATTRIBUTE
       
   246 #else
       
   247     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_2    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   248 #endif
       
   249 
       
   250 /*
       
   251  * DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER
       
   252  * 
       
   253  * Used on types deprecated in WebKit 1.2
       
   254  */
       
   255 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_2
       
   256     #define DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER    DEPRECATED_ATTRIBUTE
       
   257 #else
       
   258     #define DEPRECATED_IN_WEBKIT_VERSION_1_2_AND_LATER
       
   259 #endif
       
   260 
       
   261 
       
   262 
       
   263 
       
   264 
       
   265 
       
   266 /*
       
   267  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
       
   268  * 
       
   269  * Used on declarations introduced in WebKit 1.3 
       
   270  */
       
   271 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_1_3
       
   272     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER     UNAVAILABLE_ATTRIBUTE
       
   273 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_1_3
       
   274     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER     WEAK_IMPORT_ATTRIBUTE
       
   275 #else
       
   276     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
       
   277 #endif
       
   278 
       
   279 /*
       
   280  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED
       
   281  * 
       
   282  * Used on declarations introduced in WebKit 1.3, 
       
   283  * and deprecated in WebKit 1.3
       
   284  */
       
   285 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
       
   286     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   287 #else
       
   288     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
       
   289 #endif
       
   290 
       
   291 /*
       
   292  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
       
   293  * 
       
   294  * Used on declarations introduced in WebKit 1.0, 
       
   295  * but later deprecated in WebKit 1.3
       
   296  */
       
   297 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
       
   298     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    DEPRECATED_ATTRIBUTE
       
   299 #else
       
   300     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   301 #endif
       
   302 
       
   303 /*
       
   304  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
       
   305  * 
       
   306  * Used on declarations introduced in WebKit 1.1, 
       
   307  * but later deprecated in WebKit 1.3
       
   308  */
       
   309 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
       
   310     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    DEPRECATED_ATTRIBUTE
       
   311 #else
       
   312     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   313 #endif
       
   314 
       
   315 /*
       
   316  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3
       
   317  * 
       
   318  * Used on declarations introduced in WebKit 1.2, 
       
   319  * but later deprecated in WebKit 1.3
       
   320  */
       
   321 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
       
   322     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    DEPRECATED_ATTRIBUTE
       
   323 #else
       
   324     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_1_3    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   325 #endif
       
   326 
       
   327 /*
       
   328  * DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER
       
   329  * 
       
   330  * Used on types deprecated in WebKit 1.3 
       
   331  */
       
   332 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_1_3
       
   333     #define DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER    DEPRECATED_ATTRIBUTE
       
   334 #else
       
   335     #define DEPRECATED_IN_WEBKIT_VERSION_1_3_AND_LATER
       
   336 #endif
       
   337 
       
   338 
       
   339 
       
   340 
       
   341 
       
   342 
       
   343 /*
       
   344  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
       
   345  * 
       
   346  * Used on declarations introduced in WebKit 2.0 
       
   347  */
       
   348 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_2_0
       
   349     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER     UNAVAILABLE_ATTRIBUTE
       
   350 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_2_0
       
   351     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER     WEAK_IMPORT_ATTRIBUTE
       
   352 #else
       
   353     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
       
   354 #endif
       
   355 
       
   356 /*
       
   357  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED
       
   358  * 
       
   359  * Used on declarations introduced in WebKit 2.0, 
       
   360  * and deprecated in WebKit 2.0
       
   361  */
       
   362 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
       
   363     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   364 #else
       
   365     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
       
   366 #endif
       
   367 
       
   368 /*
       
   369  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
       
   370  * 
       
   371  * Used on declarations introduced in WebKit 1.0, 
       
   372  * but later deprecated in WebKit 2.0
       
   373  */
       
   374 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
       
   375     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    DEPRECATED_ATTRIBUTE
       
   376 #else
       
   377     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   378 #endif
       
   379 
       
   380 /*
       
   381  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
       
   382  * 
       
   383  * Used on declarations introduced in WebKit 1.1, 
       
   384  * but later deprecated in WebKit 2.0
       
   385  */
       
   386 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
       
   387     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    DEPRECATED_ATTRIBUTE
       
   388 #else
       
   389     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   390 #endif
       
   391 
       
   392 /*
       
   393  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
       
   394  * 
       
   395  * Used on declarations introduced in WebKit 1.2, 
       
   396  * but later deprecated in WebKit 2.0
       
   397  */
       
   398 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
       
   399     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    DEPRECATED_ATTRIBUTE
       
   400 #else
       
   401     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   402 #endif
       
   403 
       
   404 /*
       
   405  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0
       
   406  * 
       
   407  * Used on declarations introduced in WebKit 1.3, 
       
   408  * but later deprecated in WebKit 2.0
       
   409  */
       
   410 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
       
   411     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    DEPRECATED_ATTRIBUTE
       
   412 #else
       
   413     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_2_0    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
       
   414 #endif
       
   415 
       
   416 /*
       
   417  * DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER
       
   418  * 
       
   419  * Used on types deprecated in WebKit 2.0 
       
   420  */
       
   421 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_2_0
       
   422     #define DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER    DEPRECATED_ATTRIBUTE
       
   423 #else
       
   424     #define DEPRECATED_IN_WEBKIT_VERSION_2_0_AND_LATER
       
   425 #endif
       
   426 
       
   427 
       
   428 
       
   429 
       
   430 
       
   431 
       
   432 /*
       
   433  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
       
   434  * 
       
   435  * Used on declarations introduced in WebKit 3.0 
       
   436  */
       
   437 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_3_0
       
   438     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER     UNAVAILABLE_ATTRIBUTE
       
   439 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_3_0
       
   440     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER     WEAK_IMPORT_ATTRIBUTE
       
   441 #else
       
   442     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
       
   443 #endif
       
   444 
       
   445 /*
       
   446  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED
       
   447  * 
       
   448  * Used on declarations introduced in WebKit 3.0, 
       
   449  * and deprecated in WebKit 3.0
       
   450  */
       
   451 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
       
   452     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   453 #else
       
   454     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
       
   455 #endif
       
   456 
       
   457 /*
       
   458  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
       
   459  * 
       
   460  * Used on declarations introduced in WebKit 1.0, 
       
   461  * but later deprecated in WebKit 3.0
       
   462  */
       
   463 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
       
   464     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
       
   465 #else
       
   466     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   467 #endif
       
   468 
       
   469 /*
       
   470  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
       
   471  * 
       
   472  * Used on declarations introduced in WebKit 1.1, 
       
   473  * but later deprecated in WebKit 3.0
       
   474  */
       
   475 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
       
   476     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
       
   477 #else
       
   478     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   479 #endif
       
   480 
       
   481 /*
       
   482  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
       
   483  * 
       
   484  * Used on declarations introduced in WebKit 1.2, 
       
   485  * but later deprecated in WebKit 3.0
       
   486  */
       
   487 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
       
   488     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
       
   489 #else
       
   490     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   491 #endif
       
   492 
       
   493 /*
       
   494  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
       
   495  * 
       
   496  * Used on declarations introduced in WebKit 1.3, 
       
   497  * but later deprecated in WebKit 3.0
       
   498  */
       
   499 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
       
   500     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
       
   501 #else
       
   502     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
       
   503 #endif
       
   504 
       
   505 /*
       
   506  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0
       
   507  * 
       
   508  * Used on declarations introduced in WebKit 2.0, 
       
   509  * but later deprecated in WebKit 3.0
       
   510  */
       
   511 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
       
   512     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    DEPRECATED_ATTRIBUTE
       
   513 #else
       
   514     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
       
   515 #endif
       
   516 
       
   517 /*
       
   518  * DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER
       
   519  * 
       
   520  * Used on types deprecated in WebKit 3.0 
       
   521  */
       
   522 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_0
       
   523     #define DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER    DEPRECATED_ATTRIBUTE
       
   524 #else
       
   525     #define DEPRECATED_IN_WEBKIT_VERSION_3_0_AND_LATER
       
   526 #endif
       
   527 
       
   528 
       
   529 
       
   530 
       
   531 
       
   532 
       
   533 /*
       
   534  * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
       
   535  * 
       
   536  * Used on declarations introduced in WebKit 3.1
       
   537  */
       
   538 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_3_1
       
   539     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER     UNAVAILABLE_ATTRIBUTE
       
   540 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_3_1
       
   541     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER     WEAK_IMPORT_ATTRIBUTE
       
   542 #else
       
   543     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
       
   544 #endif
       
   545 
       
   546 /*
       
   547  * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED
       
   548  * 
       
   549  * Used on declarations introduced in WebKit 3.1, 
       
   550  * and deprecated in WebKit 3.1
       
   551  */
       
   552 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
       
   553     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   554 #else
       
   555     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED    AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
       
   556 #endif
       
   557 
       
   558 /*
       
   559  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
       
   560  * 
       
   561  * Used on declarations introduced in WebKit 1.0, 
       
   562  * but later deprecated in WebKit 3.1
       
   563  */
       
   564 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
       
   565     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
       
   566 #else
       
   567     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   568 #endif
       
   569 
       
   570 /*
       
   571  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
       
   572  * 
       
   573  * Used on declarations introduced in WebKit 1.1, 
       
   574  * but later deprecated in WebKit 3.1
       
   575  */
       
   576 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
       
   577     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
       
   578 #else
       
   579     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   580 #endif
       
   581 
       
   582 /*
       
   583  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
       
   584  * 
       
   585  * Used on declarations introduced in WebKit 1.2, 
       
   586  * but later deprecated in WebKit 3.1
       
   587  */
       
   588 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
       
   589     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
       
   590 #else
       
   591     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   592 #endif
       
   593 
       
   594 /*
       
   595  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
       
   596  * 
       
   597  * Used on declarations introduced in WebKit 1.3, 
       
   598  * but later deprecated in WebKit 3.1
       
   599  */
       
   600 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
       
   601     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
       
   602 #else
       
   603     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
       
   604 #endif
       
   605 
       
   606 /*
       
   607  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
       
   608  * 
       
   609  * Used on declarations introduced in WebKit 2.0, 
       
   610  * but later deprecated in WebKit 3.1
       
   611  */
       
   612 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
       
   613     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
       
   614 #else
       
   615     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
       
   616 #endif
       
   617 
       
   618 /*
       
   619  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1
       
   620  * 
       
   621  * Used on declarations introduced in WebKit 3.0, 
       
   622  * but later deprecated in WebKit 3.1
       
   623  */
       
   624 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
       
   625     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    DEPRECATED_ATTRIBUTE
       
   626 #else
       
   627     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_1    AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
       
   628 #endif
       
   629 
       
   630 /*
       
   631  * DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER
       
   632  * 
       
   633  * Used on types deprecated in WebKit 3.1
       
   634  */
       
   635 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_3_1
       
   636     #define DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER    DEPRECATED_ATTRIBUTE
       
   637 #else
       
   638     #define DEPRECATED_IN_WEBKIT_VERSION_3_1_AND_LATER
       
   639 #endif
       
   640 
       
   641 
       
   642 
       
   643 
       
   644 
       
   645 
       
   646 /*
       
   647  * AVAILABLE_IN_WEBKIT_VERSION_4_0
       
   648  * 
       
   649  * Used on declarations introduced in WebKit 4.0
       
   650  */
       
   651 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_4_0
       
   652     #define AVAILABLE_IN_WEBKIT_VERSION_4_0     UNAVAILABLE_ATTRIBUTE
       
   653 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_4_0
       
   654     #define AVAILABLE_IN_WEBKIT_VERSION_4_0     WEAK_IMPORT_ATTRIBUTE
       
   655 #else
       
   656     #define AVAILABLE_IN_WEBKIT_VERSION_4_0
       
   657 #endif
       
   658 
       
   659 /*
       
   660  * AVAILABLE_IN_WEBKIT_VERSION_4_0_BUT_DEPRECATED
       
   661  * 
       
   662  * Used on declarations introduced in WebKit 4.0, 
       
   663  * and deprecated in WebKit 4.0
       
   664  */
       
   665 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   666     #define AVAILABLE_IN_WEBKIT_VERSION_4_0_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   667 #else
       
   668     #define AVAILABLE_IN_WEBKIT_VERSION_4_0_BUT_DEPRECATED    AVAILABLE_IN_WEBKIT_VERSION_4_0
       
   669 #endif
       
   670 
       
   671 /*
       
   672  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   673  * 
       
   674  * Used on declarations introduced in WebKit 1.0, 
       
   675  * but later deprecated in WebKit 4.0
       
   676  */
       
   677 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   678     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   679 #else
       
   680     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   681 #endif
       
   682 
       
   683 /*
       
   684  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   685  * 
       
   686  * Used on declarations introduced in WebKit 1.1, 
       
   687  * but later deprecated in WebKit 4.0
       
   688  */
       
   689 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   690     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   691 #else
       
   692     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   693 #endif
       
   694 
       
   695 /*
       
   696  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   697  * 
       
   698  * Used on declarations introduced in WebKit 1.2, 
       
   699  * but later deprecated in WebKit 4.0
       
   700  */
       
   701 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   702     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   703 #else
       
   704     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   705 #endif
       
   706 
       
   707 /*
       
   708  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   709  * 
       
   710  * Used on declarations introduced in WebKit 1.3, 
       
   711  * but later deprecated in WebKit 4.0
       
   712  */
       
   713 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   714     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   715 #else
       
   716     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
       
   717 #endif
       
   718 
       
   719 /*
       
   720  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   721  * 
       
   722  * Used on declarations introduced in WebKit 2.0, 
       
   723  * but later deprecated in WebKit 4.0
       
   724  */
       
   725 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   726     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   727 #else
       
   728     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
       
   729 #endif
       
   730 
       
   731 /*
       
   732  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   733  * 
       
   734  * Used on declarations introduced in WebKit 3.0, 
       
   735  * but later deprecated in WebKit 4.0
       
   736  */
       
   737 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   738     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   739 #else
       
   740     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
       
   741 #endif
       
   742 
       
   743 /*
       
   744  * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   745  * 
       
   746  * Used on declarations introduced in WebKit 3.1, 
       
   747  * but later deprecated in WebKit 4.0
       
   748  */
       
   749 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   750     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   751 #else
       
   752     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
       
   753 #endif
       
   754 
       
   755 /*
       
   756  * DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   757  * 
       
   758  * Used on types deprecated in WebKit 4.0
       
   759  */
       
   760 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_4_0
       
   761     #define DEPRECATED_IN_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   762 #else
       
   763     #define DEPRECATED_IN_WEBKIT_VERSION_4_0
       
   764 #endif
       
   765 
       
   766 
       
   767 
       
   768 
       
   769 
       
   770 
       
   771 /*
       
   772  * AVAILABLE_AFTER_WEBKIT_VERSION_4_0
       
   773  * 
       
   774  * Used on declarations introduced after WebKit 4.0
       
   775  */
       
   776 #if WEBKIT_VERSION_MAX_ALLOWED < WEBKIT_VERSION_LATEST
       
   777     #define AVAILABLE_AFTER_WEBKIT_VERSION_4_0     UNAVAILABLE_ATTRIBUTE
       
   778 #elif WEBKIT_VERSION_MIN_REQUIRED < WEBKIT_VERSION_LATEST
       
   779     #define AVAILABLE_AFTER_WEBKIT_VERSION_4_0     WEAK_IMPORT_ATTRIBUTE
       
   780 #else
       
   781     #define AVAILABLE_AFTER_WEBKIT_VERSION_4_0
       
   782 #endif
       
   783 
       
   784 /*
       
   785  * AVAILABLE_AFTER_WEBKIT_VERSION_4_0_BUT_DEPRECATED
       
   786  * 
       
   787  * Used on declarations introduced after WebKit 4.0, 
       
   788  * and deprecated after WebKit 4.0
       
   789  */
       
   790 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   791     #define AVAILABLE_AFTER_WEBKIT_VERSION_4_0_BUT_DEPRECATED    DEPRECATED_ATTRIBUTE
       
   792 #else
       
   793     #define AVAILABLE_AFTER_WEBKIT_VERSION_4_0_BUT_DEPRECATED    AVAILABLE_AFTER_WEBKIT_VERSION_4_0
       
   794 #endif
       
   795 
       
   796 /*
       
   797  * AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   798  * 
       
   799  * Used on declarations introduced in WebKit 1.0, 
       
   800  * but later deprecated after WebKit 4.0
       
   801  */
       
   802 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   803     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   804 #else
       
   805     #define AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER
       
   806 #endif
       
   807 
       
   808 /*
       
   809  * AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   810  * 
       
   811  * Used on declarations introduced in WebKit 1.1, 
       
   812  * but later deprecated after WebKit 4.0
       
   813  */
       
   814 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   815     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   816 #else
       
   817     #define AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_1_1_AND_LATER
       
   818 #endif
       
   819 
       
   820 /*
       
   821  * AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   822  * 
       
   823  * Used on declarations introduced in WebKit 1.2, 
       
   824  * but later deprecated after WebKit 4.0
       
   825  */
       
   826 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   827     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   828 #else
       
   829     #define AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_1_2_AND_LATER
       
   830 #endif
       
   831 
       
   832 /*
       
   833  * AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   834  * 
       
   835  * Used on declarations introduced in WebKit 1.3, 
       
   836  * but later deprecated after WebKit 4.0
       
   837  */
       
   838 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   839     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   840 #else
       
   841     #define AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER
       
   842 #endif
       
   843 
       
   844 /*
       
   845  * AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   846  * 
       
   847  * Used on declarations introduced in WebKit 2.0, 
       
   848  * but later deprecated after WebKit 4.0
       
   849  */
       
   850 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   851     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   852 #else
       
   853     #define AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_2_0_AND_LATER
       
   854 #endif
       
   855 
       
   856 /*
       
   857  * AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   858  * 
       
   859  * Used on declarations introduced in WebKit 3.0, 
       
   860  * but later deprecated after WebKit 4.0
       
   861  */
       
   862 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   863     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   864 #else
       
   865     #define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
       
   866 #endif
       
   867 
       
   868 /*
       
   869  * AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   870  * 
       
   871  * Used on declarations introduced in WebKit 3.1, 
       
   872  * but later deprecated after WebKit 4.0
       
   873  */
       
   874 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   875     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   876 #else
       
   877     #define AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_3_1_AND_LATER
       
   878 #endif
       
   879 
       
   880 /*
       
   881  * AVAILABLE_WEBKIT_VERSION_4_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   882  * 
       
   883  * Used on declarations introduced in WebKit 4.0 
       
   884  * but later deprecated after WebKit 4.0
       
   885  */
       
   886 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   887     #define AVAILABLE_WEBKIT_VERSION_4_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   888 #else
       
   889     #define AVAILABLE_WEBKIT_VERSION_4_0_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_4_0    AVAILABLE_WEBKIT_VERSION_4_0_AND_LATER
       
   890 #endif
       
   891 
       
   892 /*
       
   893  * DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   894  * 
       
   895  * Used on types deprecated after WebKit 4.0
       
   896  */
       
   897 #if WEBKIT_VERSION_MIN_REQUIRED >= WEBKIT_VERSION_LATEST
       
   898     #define DEPRECATED_AFTER_WEBKIT_VERSION_4_0    DEPRECATED_ATTRIBUTE
       
   899 #else
       
   900     #define DEPRECATED_AFTER_WEBKIT_VERSION_4_0
       
   901 #endif
       
   902 
       
   903 
       
   904 #endif /* __WebKitAvailability__ */