WebKitAvailability.h 33 KB

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