FeatureDefines.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847
  1. /*
  2. * Copyright (C) 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved.
  3. * Copyright (C) 2007-2009 Torch Mobile, Inc.
  4. * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.
  5. * Copyright (C) 2013 Samsung Electronics. All rights reserved.
  6. *
  7. * Redistribution and use in source and binary forms, with or without
  8. * modification, are permitted provided that the following conditions
  9. * are met:
  10. * 1. Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * 2. Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in the
  14. * documentation and/or other materials provided with the distribution.
  15. *
  16. * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
  17. * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  19. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
  20. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  21. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  22. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  23. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  24. * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  26. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. */
  28. #ifndef WTF_FeatureDefines_h
  29. #define WTF_FeatureDefines_h
  30. /* Use this file to list _all_ ENABLE() macros. Define the macros to be one of the following values:
  31. * - "0" disables the feature by default. The feature can still be enabled for a specific port or environment.
  32. * - "1" enables the feature by default. The feature can still be disabled for a specific port or environment.
  33. *
  34. * The feature defaults in this file are only taken into account if the (port specific) build system
  35. * has not enabled or disabled a particular feature.
  36. *
  37. * Use this file to define ENABLE() macros only. Do not use this file to define USE() or macros !
  38. *
  39. * Only define a macro if it was not defined before - always check for !defined first.
  40. *
  41. * Keep the file sorted by the name of the defines. As an exception you can change the order
  42. * to allow interdependencies between the default values.
  43. *
  44. * Below are a few potential commands to take advantage of this file running from the Source/WTF directory
  45. *
  46. * Get the list of feature defines: grep -o "ENABLE_\(\w\+\)" wtf/FeatureDefines.h | sort | uniq
  47. * Get the list of features enabled by default for a PLATFORM(XXX): gcc -E -dM -I. -DWTF_PLATFORM_XXX "wtf/Platform.h" | grep "ENABLE_\w\+ 1" | cut -d' ' -f2 | sort
  48. */
  49. /* FIXME: Move out the PLATFORM specific rules into platform specific files. */
  50. /* --------- Apple IOS (but not MAC) port --------- */
  51. /* PLATFORM(IOS) is a specialization of PLATFORM(MAC). */
  52. /* PLATFORM(MAC) is always enabled when PLATFORM(IOS) is enabled. */
  53. #if PLATFORM(IOS)
  54. #if !defined(ENABLE_8BIT_TEXTRUN)
  55. #define ENABLE_8BIT_TEXTRUN 1
  56. #endif
  57. #if !defined(ENABLE_CONTEXT_MENUS)
  58. #define ENABLE_CONTEXT_MENUS 0
  59. #endif
  60. #if !defined(ENABLE_CSS_IMAGE_SET)
  61. #define ENABLE_CSS_IMAGE_SET 1
  62. #endif
  63. #if !defined(ENABLE_DRAG_SUPPORT)
  64. #define ENABLE_DRAG_SUPPORT 0
  65. #endif
  66. #if !defined(ENABLE_GEOLOCATION)
  67. #define ENABLE_GEOLOCATION 1
  68. #endif
  69. #if !defined(ENABLE_ICONDATABASE)
  70. #define ENABLE_ICONDATABASE 0
  71. #endif
  72. #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
  73. #define ENABLE_NETSCAPE_PLUGIN_API 0
  74. #endif
  75. #if !defined(ENABLE_ORIENTATION_EVENTS)
  76. #define ENABLE_ORIENTATION_EVENTS 1
  77. #endif
  78. #if !defined(ENABLE_REPAINT_THROTTLING)
  79. #define ENABLE_REPAINT_THROTTLING 1
  80. #endif
  81. #if !defined(ENABLE_TEXT_CARET)
  82. #define ENABLE_TEXT_CARET 0
  83. #endif
  84. #if !defined(ENABLE_WEB_ARCHIVE)
  85. #define ENABLE_WEB_ARCHIVE 1
  86. #endif
  87. #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
  88. #define ENABLE_VIEW_MODE_CSS_MEDIA 0
  89. #endif
  90. #if !defined(ENABLE_WEBGL)
  91. #define ENABLE_WEBGL 1
  92. #endif
  93. #endif /* PLATFORM(IOS) */
  94. /* --------- Apple MAC port (not IOS) --------- */
  95. #if PLATFORM(MAC) && !PLATFORM(IOS)
  96. #if !defined(ENABLE_8BIT_TEXTRUN)
  97. #define ENABLE_8BIT_TEXTRUN 1
  98. #endif
  99. #if !defined(ENABLE_CSS_IMAGE_SET)
  100. #define ENABLE_CSS_IMAGE_SET 1
  101. #endif
  102. #if !defined(ENABLE_DASHBOARD_SUPPORT)
  103. #define ENABLE_DASHBOARD_SUPPORT 1
  104. #endif
  105. #if !defined(ENABLE_DELETION_UI)
  106. #define ENABLE_DELETION_UI 1
  107. #endif
  108. #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
  109. #if !defined(ENABLE_ENCRYPTED_MEDIA)
  110. #define ENABLE_ENCRYPTED_MEDIA 1
  111. #endif
  112. #if !defined(ENABLE_ENCRYPTED_MEDIA_V2)
  113. #define ENABLE_ENCRYPTED_MEDIA_V2 1
  114. #endif
  115. #endif
  116. #if !defined(ENABLE_FULLSCREEN_API)
  117. #define ENABLE_FULLSCREEN_API 1
  118. #endif
  119. #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
  120. #if !defined(ENABLE_GESTURE_EVENTS)
  121. #define ENABLE_GESTURE_EVENTS 1
  122. #endif
  123. #endif
  124. #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
  125. #if !defined(ENABLE_RUBBER_BANDING)
  126. #define ENABLE_RUBBER_BANDING 1
  127. #endif
  128. #endif
  129. #if !defined(ENABLE_SMOOTH_SCROLLING)
  130. #define ENABLE_SMOOTH_SCROLLING 1
  131. #endif
  132. #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
  133. #if !defined(ENABLE_THREADED_SCROLLING)
  134. #define ENABLE_THREADED_SCROLLING 1
  135. #endif
  136. #endif
  137. #if ENABLE(VIDEO)
  138. #if !defined(ENABLE_VIDEO_TRACK)
  139. #define ENABLE_VIDEO_TRACK 1
  140. #endif
  141. #endif
  142. #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
  143. #define ENABLE_VIEW_MODE_CSS_MEDIA 0
  144. #endif
  145. #if !defined(ENABLE_WEB_ARCHIVE)
  146. #define ENABLE_WEB_ARCHIVE 1
  147. #endif
  148. #if !defined(ENABLE_WEB_AUDIO)
  149. #define ENABLE_WEB_AUDIO 1
  150. #endif
  151. #if !defined(ENABLE_CURSOR_VISIBILITY)
  152. #define ENABLE_CURSOR_VISIBILITY 1
  153. #endif
  154. #endif /* PLATFORM(MAC) && !PLATFORM(IOS) */
  155. /* --------- Apple Windows port --------- */
  156. #if PLATFORM(WIN) && !OS(WINCE) && !PLATFORM(WIN_CAIRO)
  157. #if !defined(ENABLE_FULLSCREEN_API)
  158. #define ENABLE_FULLSCREEN_API 1
  159. #endif
  160. #if !defined(ENABLE_WEB_ARCHIVE)
  161. #define ENABLE_WEB_ARCHIVE 1
  162. #endif
  163. #endif /* PLATFORM(WIN) && !OS(WINCE) && !PLATFORM(WIN_CAIRO) */
  164. /* --------- WinCE port --------- */
  165. /* WinCE port is a specialization of PLATFORM(WIN). */
  166. /* PLATFORM(WIN) is always enabled when building for the WinCE port. */
  167. #if PLATFORM(WIN) && OS(WINCE)
  168. #if !defined(ENABLE_DRAG_SUPPORT)
  169. #define ENABLE_DRAG_SUPPORT 0
  170. #endif
  171. #if !defined(ENABLE_FTPDIR)
  172. #define ENABLE_FTPDIR 0
  173. #endif
  174. #if !defined(ENABLE_INSPECTOR)
  175. #define ENABLE_INSPECTOR 0
  176. #endif
  177. #endif /* PLATFORM(WIN) && OS(WINCE) */
  178. /* --------- Windows CAIRO port --------- */
  179. /* PLATFORM(WIN_CAIRO) is a specialization of PLATFORM(WIN). */
  180. /* PLATFORM(WIN) is always enabled when PLATFORM(WIN_CAIRO) is enabled. */
  181. #if PLATFORM(WIN_CAIRO)
  182. #if !defined(ENABLE_WEB_ARCHIVE)
  183. #define ENABLE_WEB_ARCHIVE 1
  184. #endif
  185. #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
  186. #define ENABLE_VIEW_MODE_CSS_MEDIA 0
  187. #endif
  188. #endif /* PLATFORM(WIN_CAIRO) */
  189. /* --------- EFL port (Unix) --------- */
  190. #if PLATFORM(EFL)
  191. #if !defined(ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH)
  192. #define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 1
  193. #endif
  194. #if !defined(ENABLE_SUBPIXEL_LAYOUT)
  195. #define ENABLE_SUBPIXEL_LAYOUT 1
  196. #endif
  197. #endif /* PLATFORM(EFL) */
  198. /* --------- Gtk port (Unix, Windows, Mac) --------- */
  199. #if PLATFORM(GTK)
  200. #if OS(UNIX)
  201. #if !defined(ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH)
  202. #define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 1
  203. #endif
  204. #endif
  205. #endif /* PLATFORM(GTK) */
  206. /* --------- Qt port (Unix, Windows, Mac, WinCE) --------- */
  207. #if PLATFORM(QT)
  208. #if OS(UNIX)
  209. #if !defined(ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH)
  210. #define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 1
  211. #endif
  212. #endif
  213. #endif /* PLATFORM(QT) */
  214. /* --------- Blackberry port (QNX) --------- */
  215. #if PLATFORM(BLACKBERRY)
  216. #if !defined(ENABLE_BLACKBERRY_CREDENTIAL_PERSIST)
  217. #define ENABLE_BLACKBERRY_CREDENTIAL_PERSIST 1
  218. #endif
  219. #endif /* PLATFORM(BLACKBERRY) */
  220. /* --------- Manx port --------- */
  221. #if PLATFORM(MANX)
  222. #if !defined(ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH)
  223. #define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 1
  224. #endif
  225. #endif
  226. /* ENABLE macro defaults for WebCore */
  227. /* Do not use PLATFORM() tests in this section ! */
  228. #if !defined(ENABLE_3D_RENDERING)
  229. #define ENABLE_3D_RENDERING 0
  230. #endif
  231. #if !defined(ENABLE_8BIT_TEXTRUN)
  232. #define ENABLE_8BIT_TEXTRUN 0
  233. #endif
  234. #if !defined(ENABLE_ACCELERATED_2D_CANVAS)
  235. #define ENABLE_ACCELERATED_2D_CANVAS 0
  236. #endif
  237. #if !defined(ENABLE_ACCELERATED_OVERFLOW_SCROLLING)
  238. #define ENABLE_ACCELERATED_OVERFLOW_SCROLLING 0
  239. #endif
  240. #if !defined(ENABLE_BATTERY_STATUS)
  241. #define ENABLE_BATTERY_STATUS 0
  242. #endif
  243. #if !defined(ENABLE_BLOB)
  244. #define ENABLE_BLOB 0
  245. #endif
  246. #if !defined(ENABLE_CANVAS_PATH)
  247. #define ENABLE_CANVAS_PATH 1
  248. #endif
  249. #if !defined(ENABLE_CANVAS_PROXY)
  250. #define ENABLE_CANVAS_PROXY 0
  251. #endif
  252. #if !defined(ENABLE_CHANNEL_MESSAGING)
  253. #define ENABLE_CHANNEL_MESSAGING 1
  254. #endif
  255. #if !defined(ENABLE_CONTEXT_MENUS)
  256. #define ENABLE_CONTEXT_MENUS 1
  257. #endif
  258. #if !defined(ENABLE_CSP_NEXT)
  259. #define ENABLE_CSP_NEXT 0
  260. #endif
  261. #if !defined(ENABLE_CSS3_CONDITIONAL_RULES)
  262. #define ENABLE_CSS3_CONDITIONAL_RULES 0
  263. #endif
  264. #if !defined(ENABLE_CSS3_TEXT)
  265. #define ENABLE_CSS3_TEXT 0
  266. #endif
  267. #if !defined(ENABLE_CSS_BOX_DECORATION_BREAK)
  268. #define ENABLE_CSS_BOX_DECORATION_BREAK 1
  269. #endif
  270. #if !defined(ENABLE_CSS_DEVICE_ADAPTATION)
  271. #define ENABLE_CSS_DEVICE_ADAPTATION 0
  272. #endif
  273. #if !defined(ENABLE_CSS_COMPOSITING)
  274. #define ENABLE_CSS_COMPOSITING 0
  275. #endif
  276. #if !defined(ENABLE_CSS_FILTERS)
  277. #define ENABLE_CSS_FILTERS 0
  278. #endif
  279. #if !defined(ENABLE_CSS_IMAGE_ORIENTATION)
  280. #define ENABLE_CSS_IMAGE_ORIENTATION 0
  281. #endif
  282. #if !defined(ENABLE_CSS_IMAGE_RESOLUTION)
  283. #define ENABLE_CSS_IMAGE_RESOLUTION 0
  284. #endif
  285. #if !defined(ENABLE_CSS_IMAGE_SET)
  286. #define ENABLE_CSS_IMAGE_SET 0
  287. #endif
  288. #if !defined(ENABLE_CSS_SHADERS)
  289. #define ENABLE_CSS_SHADERS 0
  290. #endif
  291. #if !defined(ENABLE_CSS_STICKY_POSITION)
  292. #define ENABLE_CSS_STICKY_POSITION 0
  293. #endif
  294. #if !defined(ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED)
  295. #define ENABLE_CSS_TRANSFORMS_ANIMATIONS_TRANSITIONS_UNPREFIXED 0
  296. #endif
  297. #if !defined(ENABLE_CSS_VARIABLES)
  298. #define ENABLE_CSS_VARIABLES 0
  299. #endif
  300. #if !defined(ENABLE_CUSTOM_SCHEME_HANDLER)
  301. #define ENABLE_CUSTOM_SCHEME_HANDLER 0
  302. #endif
  303. #if !defined(ENABLE_DASHBOARD_SUPPORT)
  304. #define ENABLE_DASHBOARD_SUPPORT 0
  305. #endif
  306. #if !defined(ENABLE_DATALIST_ELEMENT)
  307. #define ENABLE_DATALIST_ELEMENT 0
  308. #endif
  309. #if !defined(ENABLE_DATA_TRANSFER_ITEMS)
  310. #define ENABLE_DATA_TRANSFER_ITEMS 0
  311. #endif
  312. #if !defined(ENABLE_DELETION_UI)
  313. #define ENABLE_DELETION_UI 0
  314. #endif
  315. #if !defined(ENABLE_DETAILS_ELEMENT)
  316. #define ENABLE_DETAILS_ELEMENT 1
  317. #endif
  318. #if !defined(ENABLE_DEVICE_ORIENTATION)
  319. #define ENABLE_DEVICE_ORIENTATION 0
  320. #endif
  321. #if !defined(ENABLE_DIALOG_ELEMENT)
  322. #define ENABLE_DIALOG_ELEMENT 0
  323. #endif
  324. #if !defined(ENABLE_DIRECTORY_UPLOAD)
  325. #define ENABLE_DIRECTORY_UPLOAD 0
  326. #endif
  327. #if !defined(ENABLE_DOWNLOAD_ATTRIBUTE)
  328. #define ENABLE_DOWNLOAD_ATTRIBUTE 0
  329. #endif
  330. #if !defined(ENABLE_DRAGGABLE_REGION)
  331. #define ENABLE_DRAGGABLE_REGION 0
  332. #endif
  333. #if !defined(ENABLE_DRAG_SUPPORT)
  334. #define ENABLE_DRAG_SUPPORT 1
  335. #endif
  336. #if !defined(ENABLE_ENCRYPTED_MEDIA)
  337. #define ENABLE_ENCRYPTED_MEDIA 0
  338. #endif
  339. #if !defined(ENABLE_ENCRYPTED_MEDIA_V2)
  340. #define ENABLE_ENCRYPTED_MEDIA_V2 0
  341. #endif
  342. #if !defined(ENABLE_FAST_MOBILE_SCROLLING)
  343. #define ENABLE_FAST_MOBILE_SCROLLING 0
  344. #endif
  345. #if !defined(ENABLE_FILE_SYSTEM)
  346. #define ENABLE_FILE_SYSTEM 0
  347. #endif
  348. #if !defined(ENABLE_FILTERS)
  349. #define ENABLE_FILTERS 0
  350. #endif
  351. #if !defined(ENABLE_FONT_LOAD_EVENTS)
  352. #define ENABLE_FONT_LOAD_EVENTS 0
  353. #endif
  354. #if !defined(ENABLE_FTPDIR)
  355. #define ENABLE_FTPDIR 1
  356. #endif
  357. #if !defined(ENABLE_FULLSCREEN_API)
  358. #define ENABLE_FULLSCREEN_API 0
  359. #endif
  360. #if !defined(ENABLE_GAMEPAD)
  361. #define ENABLE_GAMEPAD 0
  362. #endif
  363. #if !defined(ENABLE_GEOLOCATION)
  364. #define ENABLE_GEOLOCATION 0
  365. #endif
  366. #if !defined(ENABLE_GESTURE_EVENTS)
  367. #define ENABLE_GESTURE_EVENTS 0
  368. #endif
  369. #if !defined(ENABLE_GLIB_SUPPORT)
  370. #define ENABLE_GLIB_SUPPORT 0
  371. #endif
  372. #if !defined(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING)
  373. #define ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING 0
  374. #endif
  375. #if !defined(ENABLE_HIGH_DPI_CANVAS)
  376. #define ENABLE_HIGH_DPI_CANVAS 0
  377. #endif
  378. #if !defined(ENABLE_ICONDATABASE)
  379. #define ENABLE_ICONDATABASE 1
  380. #endif
  381. #if !defined(ENABLE_IFRAME_SEAMLESS)
  382. #define ENABLE_IFRAME_SEAMLESS 1
  383. #endif
  384. #if !defined(ENABLE_IMAGE_DECODER_DOWN_SAMPLING)
  385. #define ENABLE_IMAGE_DECODER_DOWN_SAMPLING 0
  386. #endif
  387. #if !defined(ENABLE_INDEXED_DATABASE)
  388. #define ENABLE_INDEXED_DATABASE 0
  389. #endif
  390. #if !defined(ENABLE_INPUT_SPEECH)
  391. #define ENABLE_INPUT_SPEECH 0
  392. #endif
  393. #if !defined(ENABLE_INPUT_TYPE_COLOR)
  394. #define ENABLE_INPUT_TYPE_COLOR 0
  395. #endif
  396. #if !defined(ENABLE_INPUT_TYPE_DATE)
  397. #define ENABLE_INPUT_TYPE_DATE 0
  398. #endif
  399. #if !defined(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE)
  400. #define ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE 0
  401. #endif
  402. #if !defined(ENABLE_INPUT_TYPE_DATETIMELOCAL)
  403. #define ENABLE_INPUT_TYPE_DATETIMELOCAL 0
  404. #endif
  405. #if !defined(ENABLE_INPUT_TYPE_MONTH)
  406. #define ENABLE_INPUT_TYPE_MONTH 0
  407. #endif
  408. #if !defined(ENABLE_INPUT_TYPE_TIME)
  409. #define ENABLE_INPUT_TYPE_TIME 0
  410. #endif
  411. #if !defined(ENABLE_INPUT_TYPE_WEEK)
  412. #define ENABLE_INPUT_TYPE_WEEK 0
  413. #endif
  414. #if ENABLE(INPUT_TYPE_DATE) || ENABLE(INPUT_TYPE_DATETIME_INCOMPLETE) || ENABLE(INPUT_TYPE_DATETIMELOCAL) || ENABLE(INPUT_TYPE_MONTH) || ENABLE(INPUT_TYPE_TIME) || ENABLE(INPUT_TYPE_WEEK)
  415. #if !defined(ENABLE_DATE_AND_TIME_INPUT_TYPES)
  416. #define ENABLE_DATE_AND_TIME_INPUT_TYPES 1
  417. #endif
  418. #endif
  419. #if !defined(ENABLE_INSPECTOR)
  420. #define ENABLE_INSPECTOR 1
  421. #endif
  422. #if !defined(ENABLE_JAVASCRIPT_DEBUGGER)
  423. #define ENABLE_JAVASCRIPT_DEBUGGER 1
  424. #endif
  425. #if !defined(ENABLE_JAVASCRIPT_I18N_API)
  426. #define ENABLE_JAVASCRIPT_I18N_API 0
  427. #endif
  428. #if !defined(ENABLE_LEGACY_CSS_VENDOR_PREFIXES)
  429. #define ENABLE_LEGACY_CSS_VENDOR_PREFIXES 0
  430. #endif
  431. #if !defined(ENABLE_LEGACY_NOTIFICATIONS)
  432. #define ENABLE_LEGACY_NOTIFICATIONS 0
  433. #endif
  434. #if !defined(ENABLE_LEGACY_VENDOR_PREFIXES)
  435. #define ENABLE_LEGACY_VENDOR_PREFIXES 0
  436. #endif
  437. #if !defined(ENABLE_LEGACY_VIEWPORT_ADAPTION)
  438. #define ENABLE_LEGACY_VIEWPORT_ADAPTION 0
  439. #endif
  440. #if !defined(ENABLE_LINK_PREFETCH)
  441. #define ENABLE_LINK_PREFETCH 0
  442. #endif
  443. #if !defined(ENABLE_MATHML)
  444. #define ENABLE_MATHML 1
  445. #endif
  446. #if !defined(ENABLE_MEDIA_CAPTURE)
  447. #define ENABLE_MEDIA_CAPTURE 0
  448. #endif
  449. #if !defined(ENABLE_MEDIA_SOURCE)
  450. #define ENABLE_MEDIA_SOURCE 0
  451. #endif
  452. #if !defined(ENABLE_MEDIA_STATISTICS)
  453. #define ENABLE_MEDIA_STATISTICS 0
  454. #endif
  455. #if !defined(ENABLE_MEDIA_STREAM)
  456. #define ENABLE_MEDIA_STREAM 0
  457. #endif
  458. #if !defined(ENABLE_METER_ELEMENT)
  459. #define ENABLE_METER_ELEMENT 1
  460. #endif
  461. #if !defined(ENABLE_MHTML)
  462. #define ENABLE_MHTML 0
  463. #endif
  464. #if !defined(ENABLE_MICRODATA)
  465. #define ENABLE_MICRODATA 0
  466. #endif
  467. #if !defined(ENABLE_MOUSE_CURSOR_SCALE)
  468. #define ENABLE_MOUSE_CURSOR_SCALE 0
  469. #endif
  470. #if !defined(ENABLE_NAVIGATOR_CONTENT_UTILS)
  471. #define ENABLE_NAVIGATOR_CONTENT_UTILS 0
  472. #endif
  473. #if !defined(ENABLE_NETSCAPE_PLUGIN_API)
  474. #define ENABLE_NETSCAPE_PLUGIN_API 1
  475. #endif
  476. #if !defined(ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE)
  477. #define ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE 0
  478. #endif
  479. #if !defined(ENABLE_NETWORK_INFO)
  480. #define ENABLE_NETWORK_INFO 0
  481. #endif
  482. #if !defined(ENABLE_NOTIFICATIONS)
  483. #define ENABLE_NOTIFICATIONS 0
  484. #endif
  485. #if !defined(ENABLE_OBJECT_MARK_LOGGING)
  486. #define ENABLE_OBJECT_MARK_LOGGING 0
  487. #endif
  488. #if !defined(ENABLE_OPENCL)
  489. #define ENABLE_OPENCL 0
  490. #endif
  491. #if !defined(ENABLE_OPENTYPE_VERTICAL)
  492. #define ENABLE_OPENTYPE_VERTICAL 0
  493. #endif
  494. #if !defined(ENABLE_ORIENTATION_EVENTS)
  495. #define ENABLE_ORIENTATION_EVENTS 0
  496. #endif
  497. #if !defined(ENABLE_PAGE_VISIBILITY_API)
  498. #define ENABLE_PAGE_VISIBILITY_API 0
  499. #endif
  500. #if OS(WINDOWS)
  501. #if !defined(ENABLE_PAN_SCROLLING)
  502. #define ENABLE_PAN_SCROLLING 1
  503. #endif
  504. #endif
  505. #if !defined(ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH)
  506. #define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 0
  507. #endif
  508. #if !defined(ENABLE_PLUGIN_PROXY_FOR_VIDEO)
  509. #define ENABLE_PLUGIN_PROXY_FOR_VIDEO 0
  510. #endif
  511. #if !defined(ENABLE_POINTER_LOCK)
  512. #define ENABLE_POINTER_LOCK 0
  513. #endif
  514. #if !defined(ENABLE_PROGRESS_ELEMENT)
  515. #define ENABLE_PROGRESS_ELEMENT 0
  516. #endif
  517. #if !defined(ENABLE_PROXIMITY_EVENTS)
  518. #define ENABLE_PROXIMITY_EVENTS 0
  519. #endif
  520. #if !defined(ENABLE_QUOTA)
  521. #define ENABLE_QUOTA 0
  522. #endif
  523. #if !defined(ENABLE_REPAINT_THROTTLING)
  524. #define ENABLE_REPAINT_THROTTLING 0
  525. #endif
  526. #if !defined(ENABLE_REQUEST_ANIMATION_FRAME)
  527. #define ENABLE_REQUEST_ANIMATION_FRAME 0
  528. #endif
  529. #if !defined(ENABLE_RUBBER_BANDING)
  530. #define ENABLE_RUBBER_BANDING 0
  531. #endif
  532. #if !defined(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
  533. #define ENABLE_SATURATED_LAYOUT_ARITHMETIC 0
  534. #endif
  535. #if !defined(ENABLE_SCRIPTED_SPEECH)
  536. #define ENABLE_SCRIPTED_SPEECH 0
  537. #endif
  538. #if !defined(ENABLE_SHADOW_DOM)
  539. #define ENABLE_SHADOW_DOM 0
  540. #endif
  541. #if !defined(ENABLE_SHARED_WORKERS)
  542. #define ENABLE_SHARED_WORKERS 0
  543. #endif
  544. #if !defined(ENABLE_SMOOTH_SCROLLING)
  545. #define ENABLE_SMOOTH_SCROLLING 0
  546. #endif
  547. #if !defined(ENABLE_SPEECH_SYNTHESIS)
  548. #define ENABLE_SPEECH_SYNTHESIS 0
  549. #endif
  550. #if !defined(ENABLE_SPELLCHECK)
  551. #define ENABLE_SPELLCHECK 0
  552. #endif
  553. #if !defined(ENABLE_SQL_DATABASE)
  554. #define ENABLE_SQL_DATABASE 1
  555. #endif
  556. #if !defined(ENABLE_STYLE_SCOPED)
  557. #define ENABLE_STYLE_SCOPED 0
  558. #endif
  559. #if !defined(ENABLE_SUBPIXEL_LAYOUT)
  560. #define ENABLE_SUBPIXEL_LAYOUT 0
  561. #endif
  562. #if !defined(ENABLE_SVG)
  563. #define ENABLE_SVG 1
  564. #endif
  565. #if ENABLE(SVG)
  566. #if !defined(ENABLE_SVG_FONTS)
  567. #define ENABLE_SVG_FONTS 1
  568. #endif
  569. #endif
  570. #if !defined(ENABLE_TEMPLATE_ELEMENT)
  571. #define ENABLE_TEMPLATE_ELEMENT 0
  572. #endif
  573. #if !defined(ENABLE_TEXT_AUTOSIZING)
  574. #define ENABLE_TEXT_AUTOSIZING 0
  575. #endif
  576. #if !defined(ENABLE_TEXT_CARET)
  577. #define ENABLE_TEXT_CARET 1
  578. #endif
  579. #if !defined(ENABLE_THREADED_HTML_PARSER)
  580. #define ENABLE_THREADED_HTML_PARSER 0
  581. #endif
  582. #if !defined(ENABLE_THREADED_SCROLLING)
  583. #define ENABLE_THREADED_SCROLLING 0
  584. #endif
  585. #if !defined(ENABLE_TOUCH_EVENTS)
  586. #define ENABLE_TOUCH_EVENTS 0
  587. #endif
  588. #if !defined(ENABLE_TOUCH_ICON_LOADING)
  589. #define ENABLE_TOUCH_ICON_LOADING 0
  590. #endif
  591. #if !defined(ENABLE_VIBRATION)
  592. #define ENABLE_VIBRATION 0
  593. #endif
  594. #if !defined(ENABLE_VIDEO)
  595. #define ENABLE_VIDEO 0
  596. #endif
  597. #if !defined(ENABLE_VIDEO_TRACK)
  598. #define ENABLE_VIDEO_TRACK 0
  599. #endif
  600. #if !defined(ENABLE_VIEWPORT)
  601. #define ENABLE_VIEWPORT 0
  602. #endif
  603. #if !defined(ENABLE_VIEWSOURCE_ATTRIBUTE)
  604. #define ENABLE_VIEWSOURCE_ATTRIBUTE 1
  605. #endif
  606. #if !defined(ENABLE_VIEW_MODE_CSS_MEDIA)
  607. #define ENABLE_VIEW_MODE_CSS_MEDIA 1
  608. #endif
  609. #if !defined(ENABLE_WEBGL)
  610. #define ENABLE_WEBGL 0
  611. #endif
  612. #if !defined(ENABLE_WEB_ARCHIVE)
  613. #define ENABLE_WEB_ARCHIVE 0
  614. #endif
  615. #if !defined(ENABLE_WEB_AUDIO)
  616. #define ENABLE_WEB_AUDIO 0
  617. #endif
  618. #if !defined(ENABLE_WEB_SOCKETS)
  619. #define ENABLE_WEB_SOCKETS 1
  620. #endif
  621. #if !defined(ENABLE_WEB_TIMING)
  622. #define ENABLE_WEB_TIMING 0
  623. #endif
  624. #if !defined(ENABLE_WORKERS)
  625. #define ENABLE_WORKERS 0
  626. #endif
  627. #if !defined(ENABLE_XHR_TIMEOUT)
  628. #define ENABLE_XHR_TIMEOUT 0
  629. #endif
  630. #if !defined(ENABLE_XSLT)
  631. #define ENABLE_XSLT 1
  632. #endif
  633. /* Asserts, invariants for macro definitions */
  634. #if ENABLE(SATURATED_LAYOUT_ARITHMETIC) && !ENABLE(SUBPIXEL_LAYOUT)
  635. #error "ENABLE(SATURATED_LAYOUT_ARITHMETIC) requires ENABLE(SUBPIXEL_LAYOUT)"
  636. #endif
  637. #if ENABLE(SVG_FONTS) && !ENABLE(SVG)
  638. #error "ENABLE(SVG_FONTS) requires ENABLE(SVG)"
  639. #endif
  640. #if ENABLE(VIDEO_TRACK) && !ENABLE(VIDEO)
  641. #error "ENABLE(VIDEO_TRACK) requires ENABLE(VIDEO)"
  642. #endif
  643. #endif /* WTF_FeatureDefines_h */