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