Opera 12.15 Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dochand_capabilities.h 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. /* -*- Mode: c++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*-
  2. **
  3. ** Copyright (C) 1995-2009 Opera Software AS. All rights reserved.
  4. **
  5. ** This file is part of the Opera web browser. It may not be distributed
  6. ** under any circumstances.
  7. */
  8. #ifndef DOCHAND_CAPABILITIES_H
  9. #define DOCHAND_CAPABILITIES_H
  10. /* DocListElm class has SetUrl method. */
  11. #define DOCHAND_CAP_DOCLISTELM_SET_URL
  12. /* DocumentManager class has HasJSWindow method. */
  13. #define DOCHAND_CAP_DOCMAN_HASJSWINDOW
  14. /* WindowManager keeps track of the number of documents that have blinking elements. */
  15. #define DOCHAND_CAP_DOCUMENT_WITH_BLINK
  16. /* Window class has additional argument, bResetSecurityState, for StartProgressDisplay method. Fix for bug 77396*/
  17. #define DOCHAND_CAP_SECURITY_STATE
  18. /* DirectHistory class has Set/GetMostRecentTyped methods. */
  19. #define DOCHAND_CAP_HAS_RECENTLY_TYPED_HISTORY
  20. /* Window class has method ComposeLinkInformation */
  21. #define DOCHAND_CAP_COMPOSE_LINK_INFORMATION
  22. /* Has possibility to set frames policy for each window */
  23. #define DOCHAND_CAP_PER_WINDOW_FRAMES_POLICY_SETTINGS
  24. /* Has the Window::MarkNextItemInDirection() method */
  25. #define DOCHAND_CAP_HAS_MARK_NEXT_ITEM
  26. /* Has one more parameter for WMLDeWmlifyHistory() */
  27. #define DOCHAND_CAP_NEW_DEWMLIFY_HISTORY
  28. /* Has the *Active() methods for navigating frames */
  29. #define DOCHAND_CAP_HAS_ACTIVE_FRAMES_METHODS
  30. /* The Window::SetCursor() method takes two parameters */
  31. #define DOCHAND_CAP_SETCURSOR_TAKES_TWO
  32. /* ONLY USED DURING MERGE */
  33. #define DOCHAND_CAP_STIGHAL_MERGE_1
  34. /* The class DocumentTreeIterator is supported. */
  35. #define DOCHAND_CAP_DOCUMENTTREEITERATOR
  36. /* The function DocumentManager::JumpToRelativePosition is supported. */
  37. #define DOCHAND_CAP_JUMPTORELPOS
  38. /* Defines special attribute constants */
  39. #define DOCHAND_CAP_HAS_SPECIAL_ATTRS
  40. /* WindowManager::OpenURLNamedWindow takes ES_Thread* argument (defaults to NULL) */
  41. #define DOCHAND_CAP_OPENURL_ESTHREAD
  42. /* Has Window::IsCancelingLoading */
  43. #define DOCHAND_CAP_ISCANCELINGLOADING
  44. /* Has Window::{Is,Set}URLAlreadyRequested. */
  45. #define DOCHAND_CAP_URLALREADYREQUESTED
  46. /* The window type WIN_TYPE_DIALOG is supported. */
  47. #define DOCHAND_CAP_WIN_TYPE_DIALOG
  48. /* The window type WIN_TYPE_NEWSFEED_VIEW is supported. */
  49. #define DOCHAND_CAP_WIN_TYPE_NEWSFEED
  50. /* The global variables windowManager, globalHistory and directHistory now have
  51. the required g_ prefix. */
  52. #define DOCHAND_CAP_RENAMED_GLOBALS
  53. /* Window has IsFormattingPrintDoc(), IsPrinting() et al */
  54. #define DOCHAND_CAP_ASYNC_PRINT_INFO
  55. /* DocumentManager has GetDOMEnvironment(). */
  56. #define DOCHAND_CAP_DOCMAN_GETDOMENVIRONMENT
  57. /* Added WIN_TYPE_GADGET */
  58. #define DOCHAND_CAP_WIN_TYPE_GADGET
  59. /* Has Window::ForceJavaDisabled for EMBROWSER_SUPPORT */
  60. #define DOCHAND_CAP_FORCE_JAVA_DISABLED
  61. /* Has FramesDocElm::SetSubWinId. */
  62. #define DOCHAND_CAP_FDELM_SETSUBWINID
  63. /** Has DocListElm::current_page to remember current page in presentation mode. */
  64. #define DOCHAND_CAP_CURRENT_PAGE
  65. /* The global use_history_number flag in Window has finally died. */
  66. #define DOCHAND_CAP_NO_GLOBAL_SETUSEHISTORYNUMBER
  67. /* Cleaned up message handling between Window/WindowManager and MessageHandler. */
  68. #define DOCHAND_CAP_MESSAGE_HANDLING_CLEANUP
  69. /* FramesDocElm has GetPrintDoc */
  70. #define DOCHAND_CAP_FDELM_HAS_GETPRINTDOC
  71. /* the opener of a window is always stored, not just for scripts */
  72. #define DOCHAND_CAP_ALWAYS_STORING_OPENER
  73. /* DocumentManager::JumpToRelativePosition has 'from_onload' argument. */
  74. #define DOCHAND_CAP_JUMPTORELPOS_FORM_ONLOAD
  75. /* DocumentManager::StoreRequestThreadInfo is supported. */
  76. #define DOCHAND_CAP_STORE_REQUEST_THREAD_INFO
  77. /** Has WindowManager::*VisibleOnScreen() */
  78. #define DOCHAND_CAP_VISIBLEONSCREEN
  79. /** Window::IsEcmaScriptDisabled and Window::SetEcmaScriptDisabled is supported. */
  80. #define DOCHAND_CAP_PER_WINDOW_ECMASCRIPT_DISABLE
  81. /* Has extra arguments to Window::Reload and DocumentManager::GetConditionallyRequestInlines. */
  82. #define DOCHAND_CAP_RELOAD_FLAGS
  83. /* DocumentManager::ESGeneratingDocument is supported. */
  84. #define DOCHAND_CAP_GENERATING_DOCUMENT_FINISHED
  85. /* Window::AbortAnimatedGifs() is supported. */
  86. #define DOCHAND_CAP_ABORT_ANIMATED_GIFS
  87. /** Has Window::SetBackgroundTransparent and Window::IsBackgroundTransparent */
  88. #define DOCHAND_CAP_TRANSPARENT_WINDOW
  89. /** Has Get/SetLimitParagraphWidth() */
  90. #define DOCHAND_CAP_LIMIT_PARAGRAPH_WIDTH
  91. /** Has DocumentManager::OpenImageURL. */
  92. #define DOCHAND_CAP_OPENIMAGEURL
  93. /** Has new_page and in_background arguments to DocumentManager::OpenImageURL. */
  94. #define DOCHAND_CAP_OPENIMAGEURL_NEWPAGE
  95. /** Has FramesDocElm::HasExplicitZeroSize. */
  96. #define DOCHAND_CAP_FRAMESTACKING_HAS_EXPLICIT_ZERO_SIZE
  97. /** DocumentManager::SetReloadFlags has extended arguments. */
  98. #define DOCHAND_CAP_EXTENDED_RELOAD_FLAGS
  99. /** The functions FramesDocElm::{Set,}IsDeleted are supported. */
  100. #define DOCHAND_CAP_FRAMESDOCELM_ISDELETED
  101. /** GetCurrentURL() has been split into two new so that people don't get confused about "current" */
  102. #define DOCHAND_CAP_HAS_2_GETCURRENTURLS
  103. /** Window::IsEcmaScriptPaused and Window::SetEcmaScriptPaused is supported. */
  104. #define DOCHAND_CAP_PER_WINDOW_ECMASCRIPT_PAUSE
  105. /** Has Window::SetTrustRating() */
  106. #define DOCHAND_CAP_HAS_SET_TRUSTRATING
  107. /** The Window::IsMCIDisabled() methode exists */
  108. #define DOCHAND_CAP_HAS_MCI_DISABLED
  109. /** Window can handle locally overridden ScrollIsPan */
  110. #define DOCHAND_CAP_SCROLL_IS_PAN_OVERRIDDEN
  111. /** has error_page_shown variable and accessor functions */
  112. #define DOCHAND_CAP_HAS_ERROR_PAGE_SHOWN
  113. /** Window can get and set flex-root state */
  114. #define DOCHAND_CAP_FLEX_ROOT
  115. /* The window type WIN_TYPE_THUMBNAIL is supported. */
  116. #define DOCHAND_CAP_WIN_TYPE_THUMBNAIL
  117. /** FramesDocElm::SetVisibleRect is supported. */
  118. #define DOCHAND_CAP_FRAMESDOCELM_SETVISIBLERECT
  119. /** Fraud checking code lies in dochand now (used to be in doc) */
  120. #define DOCHAND_CAP_HAS_NEW_FRAUD_CHECK_CODE
  121. /** Window::SetIsImplicitSuppressWindow() exists. */
  122. #define DOCHAND_CAP_WINDOW_SETISIMPLICITSUPPRESSWINDOW
  123. /** Window::GetTextScale() and Window::SetTextScale() to zoom text. */
  124. #define DOCHAND_CAP_TEXT_SCALE
  125. /** dochand has MSG_DISPLAY_WEBFEED message, and will display feed if it gets message */
  126. #define DOCHAND_CAP_HAS_DISPLAY_FEED
  127. /** Window::{,Get}ForcePluginsDisabled are supported. */
  128. #define DOCHAND_CAP_FORCE_PLUGINS_DISABLED
  129. /* WindowManager::OpenURLNamedWindow takes plugin_unrequested_popup argument (defaults to FALSE). */
  130. #define DOCHAND_CAP_OPENURL_PLUGINUNREQUESTEDPOPUP
  131. /** Window_Type contains WIN_TYPE_MAIL_COMPOSE. */
  132. #define DOCHAND_CAP_WINMAN_HAS_WIN_COMPOSE
  133. /** WindowManager::OnlineModeChanged() is supported. */
  134. #define DOCHAND_CAP_WINMAN_ONLINEMODECHANGED
  135. // Window::IsContentBlockerEnabled() is available
  136. #define DOCHAND_CAP_HAS_CONTENT_BLOCKER_ENABLED
  137. /** FramesDocument::SetPendingJsRelocation is no longer called. */
  138. #define DOCHAND_CAP_STOPPED_USING_PENDING_RELOCATION
  139. /** Correctly ifdeffed MSG_SELECTION_SCROLL */
  140. #define DOCHAND_CAP_IFDEFFED_MSGSELECTIONSCROLL
  141. /** Window::MarkNext*InDirection functions take an optional third 'BOOL scroll' argument. */
  142. #define DOCHAND_CAP_WINDOW_MARKNEXTINDIRECTION_SCROLL
  143. /** FramesDocElm::GetFrameId exists */
  144. #define DOCHAND_CAP_FRAMES_HAS_FRAMEID
  145. /** Embed can be an iframe element, if the type attribute is set to be handled by opera */
  146. #define DOCHAND_CAP_EMBED_CAN_BE_TREATED_AS_IFRAME
  147. /** Window::SetDrawHighlightRects() is supported. */
  148. #define DOCHAND_CAP_WINMAN_DISABLE_HIGHLIGHTS
  149. /** DocumentManager can use WIC_USE_DOWNLOAD_CALLBACK */
  150. #define DOCHAND_CAP_USE_DOWNLOAD_CALLBACK
  151. /** The security level is not doubled because in-between levels are no longer in use. */
  152. #define DOCHAND_CAP_NON_DOUBLED_SECURITY_LEVEL
  153. /** The image cache is cleared at exit to free all unused images kept in the
  154. image cache. */
  155. #define DOCHAND_CAP_CLEAR_IMAGE_CACHE_ON_EXIT
  156. /** Wand is informed when the Window goes away. */
  157. #define DOCHAND_CAP_TELL_WAND_WE_HAVE_TO_LEAVE
  158. /** Asynchronous initialization of iframes using FrameReinitData */
  159. #define DOCHAND_CAP_HAS_FRAME_REINIT
  160. // Window::SetContentBlockEnabled() is available
  161. #define DOCHAND_CAP_HAS_SET_CONTENT_BLOCK_ENABLED
  162. /** Has m_adaptive_zoom flag to record the current default state for adaptive zoom on this window. */
  163. #define DOCHAND_CAP_GETADAPTIVEZOOM
  164. /** Window::RemoveAllElementsFromHistory has unlink argument. */
  165. #define DOCHAND_CAP_REMOVEALLELEMENTSFROMHISTORY_UNLINK
  166. /** FramesDocElm::Init doesn't arbitrarily skip allocating a visual device for element types it doesn't know. */
  167. #define DOCHAND_CAP_FLEXIBLE_FRAMESDOCELM_INIT
  168. /** FramesDocElm has nonscaled frames size */
  169. #define DOCHAND_CAP_FRAMES_SIZE_FIX
  170. /** DocumentManager::GetHistoryDirection() is available. */
  171. #define DOCHAND_CAP_DOCMAN_GETHISTORYDIRECTION
  172. /** DocumentManager::OpenURLOptions is supported, and has the ignore_fragment_id option . */
  173. #define DOCHAND_CAP_OPENURLOPTIONS
  174. /** SetPosition has yet another parameter (update_size). */
  175. #define DOCHAND_CAP_SETPOS_NOUPDATESIZE
  176. /** Pointers to the FramesDocElms are stored in attributes in HTML_Element */
  177. #define DOCHAND_CAP_FDELMATTR
  178. /** The DisplayLinkInformation() method takes a URL instead of two strings */
  179. #define DOCHAND_CAP_LINKINFO_TAKES_URL
  180. /** Supports migrating threads that generate new documents. */
  181. #define DOCHAND_CAP_THREAD_MIGRATION
  182. /** FramesDocElm has virtual position (GetVirtualX()/GetVirtualY()). */
  183. #define DOCHAND_CAP_FRAME_VIRTUAL_POS
  184. /** FramesDocElm has a twin HTML_Element for the print clone of the frame */
  185. #define DOCHAND_CAP_FDELM_HAS_PRINTTWIN
  186. /** Window::EndSearch() exists */
  187. #define DOCHAND_CAP_HAS_ENDSEARCH
  188. /** FramesDocElm::SetHtmlElement() exists */
  189. #define DOCHAND_CAP_FDELM_SETHTMLELM
  190. /** No longer calls FramesDocument::PluginSetValue when plugins are disabled. */
  191. #define DOCHAND_CAP_STOPPED_MISUSING_PLUGIN_DEFINES
  192. /** FramesDocElm::ShowFrames() has coreview attribute */
  193. #define DOCHAND_CAP_FDELM_SHOWFRAMES_COREVIEW
  194. /** Window::GetCSSCollection() exists */
  195. #define DOCHAND_CAP_GETCSSCOLLECTION
  196. /** WindowManager::OpenURLNamedWindow will redirect gadgets to another top level window if they try to replace a gadget. */
  197. #define DOCHAND_CAP_GADGETS_REDIRECTED
  198. /** ResetCurrentDownloadRequest takes TransferManagerDownloadCallback pointer argument */
  199. #define DOCHAND_CAP_DOWNLOAD_CALLBACK_RESET_WITH_POINTER
  200. /** Have WIN_TYPE_DEVTOOLS */
  201. #define DOCHAND_CAP_WIN_TYPE_DEVTOOLS
  202. /* Window::SetSecurityState has a URL parameter, and Window has a list of URLs with low security (0-2) */
  203. #define DOCHAND_CAP_SECURITY_STATE_URL
  204. /* Window::SetForceWordWrap and Window::ForceWordWrap are supported. */
  205. #define DOCHAND_CAP_FORCED_WORD_WRAP
  206. /* Window::DisableGlobalHistory and Window::IsGlobalHistoryEnabled are supported. */
  207. #define DOCHAND_CAP_DISABLE_GLOBAL_HISTORY
  208. /* Trust info parser has advisory information. */
  209. #define DOCHAND_CAP_TRUST_INFO_PARSER_ADVISORY
  210. /* DocumentManager has the OBML2DDataManager variable, and GetOBMLDataManager() method */
  211. #define DOCHAND_CAP_HAS_OBML_DATA_MANAGER
  212. /* Window has methods for getting and setting an ElementExpander used by FingerTouch */
  213. #define DOCHAND_CAP_HAS_ELEMENT_EXPANDER
  214. /* FramesDocElm::StopLoading() takes two parameters */
  215. #define DOCHAND_CAP_FDE_STOPLOADING_TAKES_THREE
  216. /* Gadgets url context id != this */
  217. #define DOCHAND_CAP_GADGETS_USES_UNIQUE_CONTEXT_ID
  218. /* Window has GetPrivacyMode and SetPrivacyMode */
  219. #define DOCHAND_CAP_HAS_PRIVACY_MODE
  220. /* NullViewportInfoListener::OnDocumentContentChanged() exists. */
  221. #define DOCHAND_CAP_VC_ONDOCUMENTCONTENTCHANGED
  222. /* ViewportController has SetBufferedMode() and FlushBuffer(). */
  223. #define DOCHAND_CAP_VC_BUFFERED_MODE
  224. /* ViewportController::GetMaxParagraphWidth */
  225. #define DOCHAND_CAP_VPC_GETMAXPARAGRAPHWIDTH
  226. /* DocumentManager::ConstructDOMProxyEnvironment exists */
  227. #define DOCHAND_CAP_CONTRUCTDOMENVIRONMENT
  228. /* DocumentManager::GenerateReferrerURL exists */
  229. #define DOCHAND_CAP_HAS_GENERATE_REFERRER
  230. /* DocumentManager::GetRealWindow will create an about:blank document if requested before there is something else. */
  231. #define DOCHAND_CAP_CREATES_ABOUT_BLANK
  232. /* ViewportController::SelectText() exists. */
  233. #define DOCHAND_CAP_SELECTTEXT
  234. /* ViewportController::SetTrueZoomBaseScale exists*/
  235. #define DOCHAND_CAP_VC_SETTRUEZOOMBASESCALE
  236. /** Window::HighlightNextMatch returns coordinates for the match. */
  237. #define DOCHAND_CAP_HIGHLIGHT_NEXT_MATCH_RETURNS_RECT
  238. /** DocumentManager::GetStorageManager() exists. */
  239. #define DOCHAND_CAP_HAS_STORAGE_MANAGER
  240. /** DocumentManager::GenerateAndShowClickJackingBlock() exists. */
  241. #define DOCHAND_CAP_CLICKJACKING_PAGE
  242. /** Window::HighlightNextMatch takes wrapped argument. */
  243. #define DOCHAND_CAP_HIGHLIGHT_NEXT_MATCH_TAKES_WRAPPED
  244. /** ViewportListener::OnZoomLevelChangeRequest() with arguments
  245. * priority_rect and reason is implemented */
  246. #define DOCHAND_CAP_HAS_ONZOOMLEVELCHANGEREQUEST_WITH_REASON
  247. /** DocumentManager::GenerateReferrerURL exists */
  248. #define DOCHAND_CAP_HAS_GENERATE_REFERRER
  249. /** Window::SetHasShownUnsolicitedDownloadDialog & co exists */
  250. #define DOCHAND_CAP_HAS_DOWNLOAD_DIALOG_THROTTLING2
  251. /* FramesDocElm::RestoreForms has been renamed to ReactivateDocument */
  252. #define DOCHAND_CAP_HAS_REACTIVATE_DOCUMENT
  253. /* Window has GetTurboMode and SetTurboMode */
  254. #define DOCHAND_CAP_HAS_TURBO_MODE_WINDOW
  255. #endif // DOCHAND_CAPABILITIES_H