Emacs: please use -*- tab-width: 4 -*-.  Thank you.

This file describes the available features in Opera.

FEATURE_UNICODE_NORMALIZE					ph

	Support Unicode::Normalize. Takes a unicode string and converts it
	to its normalized version. Needed for true IDNA support.

	Defines     : SUPPORT_UNICODE_NORMALIZE
	Group       : encodings
	Depends on  : FEATURE_3P_UNICODE
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_OUT_OF_MEMORY_POLLING				haavardm

	This feature was a part of FEATURE_LIMITED_MEMORY, but is now separated out. Turn this on if
	you have a quite big but still limited amount of memory.  This feature will then check
	the memory regurlarly, and clean up cache e.t.c when a certain threshold hold is reached.
	See  hardcore/mem/oom.cpp

	Defines     : OUT_OF_MEMORY_POLLING
	Depends on  : nothing
	Required by : nothing
	Enabled for : smartphone, tv
	Disabled for: desktop, minimal, mini

FEATURE_LIMITED_FOOTPRINT					markus

	Used on platforms where it is prefered that Opera's static footprint is small. Turning on this
	feature will reduce footprint at the cost of slower algorithms, less inlining of code for example.

	Defines     : LIMITED_FOOTPRINT_DEVICE
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_VIRTUAL_MEMORY						mortenro

	Enabling this feature will require implementing platform support
	for virtual memory allocations. The advantage of doing this is
	that memory allocators will be able to utilize the virtual memory
	system on the platform for more efficient memory handling.

	The memory module homepage on the developer wiki holds more
	updated information on the extent of this support.

	This feature does not by itself enable any additional functionality,
	but several tweaks will be exposed that allows fine-grained control
	of which memory allocators will make use of it.

	Defines: VIRTUAL_MEMORY
	Depends on: nothing
	Enabled for: none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_USE_POOLING_MALLOC					mortenro

	On core-1, this feature enabled simple pooling of document and
	layout objects on the Symbian platform.  This was the only place
	where platform code to support pooling was available.

	On core-2, this feature enables a much more comprehensive suite
	of pooling APIs.  The pooling code is located in the 'memory'
	module, and is designed to be used cross-platform.

	A certain degree of support by the platform must be present, so
	don't enable this unless you are prepared to read the documentation
	in the memory module and implement what is needed for your platform.

	One possible benefit of enabling pooling is performance:  The system
	allocator was slow on Symbian.  It also caused massive fragmentation
	problems, which should help on all platforms where the pooled memory
	is located outside the heap.

	Having the pooled memory inside the system heap is less explored,
	and may have its own set of problems.

	Defines     : USE_POOLING_MALLOC
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_MEMORY_MANAGER						mortenro

	This feature enables the OpMemoryManager object accessible through
	g_mem_manager for memory accounting and policy decision purposes.
	The class is very simple, implemented in the memory module, and
	can easily be tailored.  Different memory allocators should use
	the OpMemoryManager when enabled to track their own memory usage.

	This class thus becomes a focal point for both tracking memory
	usage, and it can enforce policies on memory usage.

	Defines     : ENABLE_MEMORY_MANAGER
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_MEMORY_DEBUGGING					mortenro

	Enable this to improve information collection related to memory
	allocations, and to activate tests to detect leaks and illegal usage
	of memory or the memory allocation APIs.

	The memory allocation methods (op_malloc, op_free, OP_NEW, ...) are
	instrumented to include __FILE__ and __LINE__ information, along
	with the name of the object allocated (for OP_NEW class of allocations).
	This can be used to better determine memory usage, e.g. by module or
	object type.

	Memory debugging is implemented in the 'memory' module, and is a
	collection of tools that should be usable on most platforms without
	too many changes.  The aim is to unify earlier efforts like
	"Happy Malloc", "Mr. Bucket", "Electric fence" and others, and make
	them functinal on devices and easier to enable.

	Defines     : ENABLE_MEMORY_DEBUGGING
	Depends on  : nothing
	Enabled for : none

FEATURE_MEMORY_OOM_EMULATION				mortenro

	Enable this to emulate a limited heap, where OOM will happen in
	much the same way as on devices.  The size of the heap can be
	configured.

	This feature is used in conjunction with memory debugging. The fixed
	size heap is used to determine when an allocation should fail or not,
	while the actual allocation is performed on the regular heap.
	By allocating the actual objects on the regular heap, the added
	weight of the memory guards and object information will not affect
	the OOM behaviour.

	Defines     : ENABLE_MEMORY_OOM_EMULATION
	Depends on  : FEATURE_3P_LEA_MALLOC
	Required by : nothing
	Enabled for : none

FEATURE_VALGRIND							mortenro

	Enable this to create builds that are better suited for running
	under the control of valgrind. The things affected by this setting
	includes e.g. avoid or change operations that are known to cause
	benign valgrind errors (like intentionally using old values on the
	machine stack as a source of randomness or other similar issues),
	or make the memory debugger and valgrind cooperate to find memory
	problems.

	Using valgrind and the memory debugger together is strongly
	recommended when testing limited memory situations. The memory
	debugger will reproduce OOM behaviour accurately, and at the same
	time allow guard bytes, not reusing memory too soon etc. which
	valgrind depends on to catch errors.

	IMPORTANT: Don't test for the VALGRIND macro in your code unless
	you have very good reasons for doing so! Making "valgrind clean"
	code means fixing the code, not using #ifdef VALGRIND to work
	around the problem... But there are exceptions, when
	e.g. performance or desired operation depends on code that
	valgrind would warn about. In these cases, creating different code
	for valgrind is acceptable.

	IMPORTANT: This feature should *never* be enabled for making
	builds that will be released to customers.

	Defines     : VALGRIND
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_ASYNC_FILE_OPS						pavels

	Support for asynchronous file reads and writes. If not defined, the
	operations will work synchronously even in asynchronous mode.

	Defines     : SUPPORT_THREADED_FILEWRITER
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_DISK_HISTORY						peter

	Enable this to log history (global history, direct history, etc.) to
	disk. Most platforms want this, unless footprint is very limited.

	Defines     : HISTORY_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_DIRECT_HISTORY
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_DIRECT_HISTORY						arneh

	Enables direct history (the history of URLs you've typed in yourself,
	as opposed to the ones you've visited trough links or other means).
	This was previously enabled for those platforms which had defined
	MSWIN, _MACINTOSH_, _QT_, LIBOPERA, PHOTON or _X11_, so those
	platforms would certainly want to enable this feature if they want
	to keep direct history.

	Defines     : DIRECT_HISTORY_SUPPORT
	Depends on  : FEATURE_DISK_HISTORY
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_DIRECTORY_SEARCH					lth

	Enable this if your platform can support directory searching through
	the OpFolderLister interface and you are using other features that
	depend on that API.  If this is not defined, the entire	OpFolderLister
	interface will be hidden.

	Defines     : DIRECTORY_SEARCH_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_LOCALHOST, FEATURE_DISK_CACHE, FEATURE_SESSION,
	              FEATURE_WEBFEEDS_SAVED_STORE
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_LEA_MALLOC_PREFIX					eddy

	Have Doug Lea's implementation export functions with prefix dl -
	e.g. dlmalloc, dlfree - rather than the standard system names.  Can be used
	to separate our own memory management from that of third party libraries.
	Requires care to avoid mixing with the system functions, especially when
	handling of memory received from or passed to third-party libraries.

	Defines     : USE_DL_PREFIX
	Depends on  : FEATURE_3P_LEA_MALLOC
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_LEA_MALLOC_CONSTRAINED		jb

	Use the Opera allocator for the whole process and constrain memory
	usage by selectively allowing for allocations to fail on OOM
	depending on where they originate from. The memory usage is
	constrained by setting limits on the heap size and/or the
	total amount of memory allocated from the constrained
	allocation sites.

	Constrained malloc is useful:

	1. On non-OOM safe systems (e.g. Linux) where you want to
	   limit the amount of memory used by Opera.
	2. If Opera is used as a component in a larger application and
	   you can't afford to set a side a block of memory for Opera.
	3. If you want to OOM only parts of Opera.

	The main advantage with using the same heap for the whole
	process is that we don't have to pre-allocate huge block of
	memory for Opera. Opera uses just as much memory as it needs
	at any given time, and memory freed by Opera is immediately
	available to the rest of the process (and sometimes even
	returned back to the system).

	In practise this is useful when Opera is used as a component
	in an application.  When the application detects it is running
	low on memory it can simply ask the user to close a few Opera
	windows and free some memory for other tasks, rather than
	closing down Opera all together.

	The way constrained malloc works makes it possible to specify
	at link time which parts of Opera should be allowed to
	OOM. The distinction is made at object-file level. Each
	OOM-safe object file is rewritten (using objcopy) to use
	alternative malloc functions (e.g. constrained_malloc()
	instead of malloc() etc...).

	This is useful when the platform layer isn't OOM-safe (e.g
	qt). OOM:ing the platform layer in that case isn't an option,
	since it will probably result in crashes. The good news is
	that it is the core code that does the most allocations, and
	it is still possible to constrain the memory usage of the core
	parts. This way we won't, of course, account for all Opera
	allocations, so we might use more memory than the set limits.
	It has turned out not to be a very big problem though, this
	kind of setup works surprisingly well.  In addition there are
	a few API-functions that lets you check how much memory Opera
	is using, try and fake allocations. It makes it possible to
	add code to avoid doing things in the platform layer that are
	known to take a lot of memory when the memory is low.

	Constrained Malloc has only been tested on Linux. In order to
	run it on other platforms you need some way of redirecting the
	malloc functions (including operator new and new []) to their
	constrained counterparts. You also need to link your
	application in such a way that the malloc functions in Opera
	is used by the whole process.

	Defines     : CONSTRAIN_OPERA_MEMORY_USAGE
	Depends on  : FEATURE_3P_LEA_MALLOC
	Required by : nothing
	Conflicts with: FEATURE_LEA_MALLOC_PREFIX
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_MOUSE								rikard

	Enable support for mouse. Turn off for a slight saving in code size.

	Defines     : MOUSE_SUPPORT
	Undefines   : MOUSELESS
	Group       : desktop
	Depends on  : nothing
	Required by : FEATURE_DRAG, FEATURE_PEN_DEVICE, FEATURE_TOUCH_EVENTS
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SELFTEST							ph

	Turns on the automated self-test system. Requires the 'selftest'
	module checked out in 'modules', and a working pike-installation if
	you want to write your own tests.

	See the wiki page 'Test_system' for more information.

	Defines     : SELFTEST
	Group       : debug
	Depends on  : FEATURE_3P_ZLIB, FEATURE_OPERA_BLANK
	Required by : nothing
	Enabled for : none
	Disabled for: minimal

FEATURE_ZLIB_COMPRESSION				    ph

    Enables compression (deflate) support in zlib.

	Defines     : ZLIB_COMPRESSION
	Group       : compression
    Depends on  : FEATURE_3P_ZLIB
    Required by : FEATURE_CANVAS, FEATURE_CANVAS3D
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_FTP									yngve

	Enables support for the FTP protocol

	Defines     : FTP_SUPPORT
	Undefines   : NO_FTP_SUPPORT
	Group       : protocols
	Depends on  : nothing
	Required by : FEATURE_FTP_RESUME
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_GOPHER								yngve

	Enables support for Gopher URLs, but can only fetch the content through a proxy

	Defines     : GOPHER_SUPPORT
	Group       : protocols
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_WAIS								yngve

	Enables support for Wais URLs, but can only fetch the content through a proxy

	Defines     : WAIS_SUPPORT
	Group       : protocols
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_LOCALHOST							yngve

	Enables support for file:// URLs, so that documents on the local machines disk drive can be navigated

	Defines     : _LOCALHOST_SUPPORT_
	Group       : protocols
	Depends on  : FEATURE_DIRECTORY_SEARCH
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SSL									yngve

	Enables use of HTTP over SSL/TLS (https:// URLs)

	Defines     : _SSL_SUPPORT_
	Group       : protocols
	Depends on  : nothing
	Required by : FEATURE_NATIVE_SSL, FEATURE_EXTERNAL_SSL
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_EXTERNAL_SSL						alexeik

	Disables use of the internal SSL library and uses an external vendor specific
	SSL library to provide SSL functionality. Presently used by Symbian and Brew.

	Defines       : _EXTERNAL_SSL_SUPPORT_
	Depends on    : FEATURE_SSL
	Required by   : FEATURE_EXTERNAL_SSL_REFERENCE_IMPLEMENTATION
	Conflicts with: FEATURE_NATIVE_SSL
	Enabled for   : none
	Disabled for  : desktop, smartphone, tv, minimal, mini

FEATURE_EXTERNAL_SSL_REFERENCE_IMPLEMENTATION  alexeik

	Reference External SSL implementation using OpenSSL. Can be used for testing
	purposes and as an example of External SSL implementation. It is not as
	feature-rich as Native SSL, so can't be used as its full replacement.

	Defines       : EXTERNAL_SSL_OPENSSL_IMPLEMENTATION
	Depends on    : FEATURE_EXTERNAL_SSL
	Enabled for   : none
	Disabled for  : desktop, smartphone, tv, minimal, mini

FEATURE_NATIVE_SSL							yngve

	Uses the internal SSL library.

	Defines       : _NATIVE_SSL_SUPPORT_
	Depends on    : FEATURE_SSL
	Conflicts with: FEATURE_EXTERNAL_SSL
	Required by	  : FEATURE_3P_SSL_FALSE_START, FEATURE_SSL_INFO
	Enabled for   : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SSL_INFO							yngve

	Provide detailed information about a secure web site's certificate
	and encryption in a XML file available via a URL retrieved using
	URL::KSecurityInformationURL attribute of each URL loaded using
	that SSL session. The XML document is both machine and human readable.

	Currently only supported by Native SSL.

	Defines       :	_SECURE_INFO_SUPPORT
	Depends on    :	FEATURE_NATIVE_SSL
	Enabled for   : desktop, smartphone, tv
	Disabled for  : minimal, mini

FEATURE_FILE_UPLOAD							yngve

	Enables support for upload of files and general use of the multipart/form-data
	form encoding format.

	Defines     : _FILE_UPLOAD_SUPPORT_
	Group       : protocols
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_MIME								yngve

	Enables support for MIME decoding and display of emails and downloaded files (also local files)

	Defines     : _MIME_SUPPORT_
	Group       : protocols
	Depends on  : nothing
	Required by : FEATURE_SMILEY, FEATURE_MHTML_ARCHIVE_REDIRECT
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_OPERA_BLANK							yngve

	Enables support for the URL "opera:blank", which will create a small blank HTML page.

	Defines     : HAS_OPERABLANK
	Depends on  : nothing
	Required by : FEATURE_SELFTEST
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_HTTP_COMPRESS						yngve

	Enables support for gzip/deflate transfer- and content-encoding compression for HTTP document.

	Transfer-encoding is stripped when downloaded, content-encoding only when needed.

	Defines     : _HTTP_COMPRESS
	Group       : protocols, compression
	Depends on  : FEATURE_3P_ZLIB
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_URL_OPERA							yngve

	Enables support for all opera: URLs, which includes numbered temporary URLs and cache, history
	and plugins pages.

	Defines     : OPERA_URL_SUPPORT
	Undefines   : NO_URL_OPERA
	Group       : protocols
	Depends on  : nothing
	Required by : FEATURE_OPERACONFIG_URL, FEATURE_BOOKMARKS_URL,
	              FEATURE_OPERAWIDGETS_URL, FEATURE_OPERAUNITE_URL,
	              FEATURE_SPEED_DIAL_URL, FEATURE_OPERAEXTENSIONS_URL,
	              FEATURE_OPERAHISTORYSEARCH_URL
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_DATA_URL_SCHEME						yngve

	Enables support for the data URL-scheme (RFC 2397), used to include data for a document in
	the URL instead of downloading it over the net.

	Defines     : SUPPORT_DATA_URL
	Group       : protocols
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_DISK_CACHE							yngve

	Enables the use of the diskdrive as temporary storage of downloaded URLs, if this
	is set to NO only RAM storage will be used.

	Defines     : DISK_CACHE_SUPPORT
	Undefines   : RAMCACHE_ONLY
	Depends on  : FEATURE_DIRECTORY_SEARCH
	Required by : FEATURE_APPLICATION_CACHE
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_APPLICATION_CACHE						haavardm

	Turns on the html5 offline application cache functionality. Using this
	functionality web-applications can be installed permanently in
	the browser, such that they can be used offline. If this
	is turned on, certain callbacks for UI must be implemented in
	WindoCommander and WindowCommanderManager.

	Defines     : APPLICATION_CACHE_SUPPORT
	Depends on  : FEATURE_DISK_CACHE, FEATURE_PROGRESS_EVENTS
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_ASK_COOKIE							yngve

	Lets the user select which cookies the servers are allowed to set,
	either manually or through filters. Also adds some warnings about illegal
	or questionable cookies.

	Defines     : _ASK_COOKIE
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_FILE_COOKIES						yngve

	Allows cookies in file://-URL:s.

	Defines     : __FILE_COOKIES_SUPPORTED
	Group       : protocols
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_DISK_COOKIES						peter

	Enables storing cookies on disk, being persistent between sessions.
	Most platforms want this.

	Defines     : DISK_COOKIES_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_COOKIE_MANUAL_MANAGEMENT
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_AUTO_PROXY_CONFIG					tord

    Adds support for Automatic Proxy Configuration via JavaScript.
	This is a Netscape technology that is supported also by MSIE.

	The only public reference manual is here:
	http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html

	The reference manual is known underspecify the technology
	relative to a correct implementation.  UTSL.

	Defines     : SUPPORT_AUTO_PROXY_CONFIGURATION
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_DYNAMIC_PROXIES						peter

	Enables support for dynamically refreshing proxy default settings
	from the system during runtime. The platform code is responsible
	for making the proper API calls when it detects proxy changes.

	Defines     : DYNAMIC_PROXY_UPDATE
	Depends on  : nothing
	Required by : nothing
	Enabled for : smartphone
	Disabled for: desktop, tv, minimal, mini

FEATURE_IMODE								pw

	Adds support for some iMode extentsions, currently:

	utn attribute
		<a href="http://foo.bar" utn="true">
		Gives the possiblility for devices to send machine id in the UA string
		when a link is activated.
		Requires platform/UI implementation in GetUserAgentStr
		(url/uamanager/ua.cpp).

	tel:/mail: urls
		<a href="mail:john@doe.com" subject="hello">
		Gives the possibility to add numbers to phone book and pre-seed mails.
		Requires support by platform/UI.

	Defines     : IMODE_EXTENSIONS
	Group       : html
	Depends on  : nothing
	Required by : nothing
	Enabled for : smartphone
	Disabled for: desktop, tv, minimal, mini

FEATURE_LITERAL_IPV6_URL					yngve

	Turns on the ability to parse IPv6 addresses.

	Defines     : SUPPORT_LITERAL_IPV6_URL
	Group       : protocols
	Depends on  : nothing
	Required by : FEATURE_IPV6
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_IPV6								yngve

	Turns on the ability to use (platform specific) IPv6 network functionality.

	Defines     : __IPV6_SUPPORTED
	Group       : protocols
	Depends on  : FEATURE_LITERAL_IPV6_URL
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_JPG									timj

	Turns on jpeg support in Opera (image format).

	Defines       : _JPG_SUPPORT_, USE_JAYPEG
	Group         : images
	Depends on    : nothing
	Required by   : nothing
	Conflicts with: FEATURE_SYSTEM_JPG
	Enabled for   : desktop, smartphone, tv, mini
	Disabled for  : minimal

FEATURE_PNG									kilsmo

	Turns on png support in Opera (image format).

	Defines     : _PNG_SUPPORT_
	Group       : images
	Depends on  : FEATURE_3P_ZLIB
	Required by : FEATURE_ALPHA, FEATURE_CANVAS, FEATURE_APNG
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_APNG                                samuelp

	Turns on support for animated pngs in Opera (animated image format)

	Defines     : APNG_SUPPORT
	Group       : images
	Depends on  : FEATURE_PNG
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_BMP									kilsmo

	Turns on bmp support in Opera (image format).

	Defines     : _BMP_SUPPORT_
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_WBMP								kilsmo

	Turns on wbmp support in Opera (image format).

	Defines     : WBMP_SUPPORT
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_XBM									kilsmo

	Turns on xbm support in Opera (image format).

	Defines     : _XBM_SUPPORT_
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv, mini
	Disabled for: smartphone, minimal

FEATURE_ICO									kilsmo

	Turns on ico support in Opera (image format).

	Defines     : ICO_SUPPORT
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SYSTEM_JPG							timj

	Turns on support for system libjpeg decoder.

	Defines       : _JPG_SUPPORT_, USE_SYSTEM_JPEG
	Group         : images
	Depends on    : nothing
	Required by   : nothing
	Conflicts with: FEATURE_JPG
	Enabled for   : none
	Disabled for  : desktop, smartphone, tv, minimal, mini

FEATURE_INTERNAL_IMAGE_DECODERS				kilsmo

	Turns on support for the internal synchronous decoders in Opera. Most platforms will
	set this one to YES. Currently used for all platforms except the Symbian platform. You
	will have to select either FEATURE_INTERNAL_IMAGE_DECODERS or
	FEATURE_ASYNC_IMAGE_DECODERS, otherwise Opera will not compile.

	If an image format is enabled (for example FEATURE_PNG), and this feature is enabled,
	then the internal png decoder will be compiled.

	Defines     : INTERNAL_IMG_DECODERS_SUPPORT
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, minimal, mini
	Disabled for: none

FEATURE_ASYNC_IMAGE_DECODERS				kilsmo

	Turns on support for asynchronous decoders. Right now it is only used for
	the Symbian platform. You will have to select either FEATURE_INTERNAL_IMAGE_DECODERS
	or FEATURE_ASYNC_IMAGE_DECODERS, otherwise Opera will not compile.

	Defines     : ASYNC_IMAGE_DECODERS
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_EMBEDDED_ICC_PROFILES				fs

	Turns on support for handling of ICC profiles embedded in images (JPEG and PNG).

	Defines     : EMBEDDED_ICC_SUPPORT
	Group       : images
	Depends on  : FEATURE_3P_LCMS
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_STRICT_CACHE_LIMIT					kilsmo

	Turns on code that will try to make sure that not too much memory is used by different
	parts, like the url code or the img code. Used on the Linux platform, since it is not
	possible (at least not in the current Linux incarnation) to rely on Opera's out of memory
	handling to take care of out of memory situations.

	Defines     : STRICT_CACHE_LIMIT
	Group       : cache
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_ALPHA								kilsmo

	Turns on alpha support, used in the png format.

	Defines     : USEALPHA
	Group       : images
	Depends on  : FEATURE_PNG
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_INDEXED_OPBITMAP					kilsmo

	Turns on support for indexed OpBitmap:s, that is, bitmaps with a palette.

	Defines     : SUPPORT_INDEXED_OPBITMAP
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_ANIMATED_BACKGROUNDS				emil

	Turns on support for animated backgrounds. This is probably a good idea
	to turn off on devices with weak processors.

	Defines     : SUPPORT_ANIMATED_BACKGROUNDS
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_SMILEY								frodegill

	Converts plaintext smilies into skinned image representation of
	smilies in mime decoder.
    Requires "adjunct/desktop_util/string/htmlify_more.h".

	Defines     : SMILEY_SUPPORT
	Depends on  : FEATURE_MIME
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_SPELLCHECK							frodegill

	Spellchecking support using external dll (runtime loadable shared object on unix)

	Defines     : SPELLCHECK_SUPPORT
	Group       : desktop
	Depends on  : FEATURE_DLL
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_INTERNAL_SPELLCHECK							samuelp

	Spellchecking support using Hunspell dictionaries (internally in Opera).
	NB: Please consider using FEATURE_3P_HUNSPELL instead.

	Defines     : INTERNAL_SPELLCHECK_SUPPORT
	Group       : document
	Depends on  : nothing
	Required by : nothing
	Conflicts with: FEATURE_3P_HUNSPELL
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_PRINTING							jim

	Enable printing and print preview.

	Defines     : _PRINT_SUPPORT_
	Group       : desktop
	Depends on  : FEATURE_SAVE, FEATURE_PAGED_MEDIA
	Required by : FEATURE_GENERIC_PRINTING
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_GENERIC_PRINTING					peter

	Enable OpPrinterListener and extend the OpPrinterController API to
	enable a platform-independent way of handling printing.

	Defines     : GENERIC_PRINTING
	Group       : desktop
	Depends on  : FEATURE_PRINTING
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_HELP								andre

	Enable support for showing help

	Defines     : HELP_SUPPORT
	Undefines  : _NO_HELP_
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_ISHORTCUTS							andre

	Enables support for Internet Shortcuts. Internet Shortcuts
	are small files (.url) containing an URL which when downloaded will
	be followed.

	Defines     : _ISHORTCUT_SUPPORT
	Group       : desktop
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_SEARCH_ENGINES						adame

	Provides support for storing and handling different search engines
	in ini files and to search with them for example using keywords
	like "g opera" to search for "opera" with google. The implementation
	is in the searchmanager module.

	Defines     : SEARCH_ENGINES
	Undefines  : NO_SEARCH_ENGINES
	Group       : desktop
	Depends on  : nothing
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_SEARCH_MATCHES_ALL					stighal

	When this is enabled all the matches of a search will be highlighted
	not just the current hit.

	Defines     : SEARCH_MATCHES_ALL
	Group       : document
	Depends on  : FEATURE_SEARCH_TEXT
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SESSION								andre

	Enable support for saving window information to file

	Defines     : SESSION_SUPPORT
	Group       : desktop
	Depends on  : FEATURE_DIRECTORY_SEARCH
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_DRAG								trond

	Adds support for mouse drag and drop of objects using the
	interface in pi/OpDragManager.h

	Defines     : DRAG_SUPPORT
	Group       : desktop
	Depends on  : FEATURE_MOUSE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SEARCH_TEXT							trond

	Enables searching for text strings in the document.

	Defines     : SEARCH_TEXT_SUPPORT
	Undefines  : HAS_NO_SEARCHTEXT
	Group       : document
	Required by : FEATURE_SEARCH_MATCHES_ALL
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_AUTO_WIN_RELOAD						andre

	Enable support for automatic reload of pages based on timers

	Defines     : _AUTO_WIN_RELOAD_SUPPORT_
	Group       : desktop
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_CLIPBOARD							emil

	Enable support for clipboardfunctionality through the OpClipboard interface.

	Defines     : USE_OP_CLIPBOARD
	Group       : document
	Depends on  : nothing
	Required by : FEATURE_CLIPBOARD_HTML
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_POPUP_MENU							rikard

	Enable support for pop-up menus. If windowcommander is turned on
	(which it most often is nowadays), Opera sends out signals through
	window commander when pop-up menus are triggered. Otherwise, old
	platform code is triggered.

	Defines     : _POPUP_MENU_SUPPORT_
	Group       : document
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_AUTOSAVE_WINDOWS					rikard

	Enable support for autosaving windows

	Defines     : AUTOSAVE_WINDOWS
	Group       : desktop
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_TRANSFER							rikard

	Enables the transfer manager API that is exposed by the windowcommander module.

	Defines     : WINDOW_COMMANDER_TRANSFER
	Depends on  : nothing
	Required by : FEATURE_WEBSERVER, FEATURE_OPERA_AUTH
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_ECMASCRIPT_DECOMPILER                        lth

	Enable the ECMAScript decompiler.  The decompiler is *required*
	for full standards conformance.  However, since it is only rarely
	used by live sites, footprint-constrained or RAM-constrained
	systems may wish to turn this feature off.

	Decompilation requires that debugging information and source code
	be retained with the compiled script code.  This will tend to
	increase RAM use substantially.

	Defines     : ECMASCRIPT_DECOMPILER
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv, smartphone, mini
	Disabled for: minimal

FEATURE_ECMASCRIPT_DISASSEMBLER				lth

	Enable a disassembler through the function opera.disasm().  The disassembler
	is never available in release builds.

	Defines     : ECMASCRIPT_DISASSEMBLER
	Depends on  : nothing
	Required by : nothing
	Enabled for : mini
	Disabled for: desktop, smartphone, tv, minimal

FEATURE_USER_JAVASCRIPT						jl

	Enables support for User Javascript. See the wiki page JS/UserJavascript
	for more information.

	Defines     : DOM_USER_JAVASCRIPT, USER_JAVASCRIPT
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_ES_ENVIRONMENT						jl

	Enables support for a standalone, minimal ECMAScript environment
	(ES_Environment) used to execute pure ECMAScript code without
	requiring a document context.

	Replaced by API_ESUTILS_ES_ENVIRONMENT.  Will be deprecated later on.

	Defines     : ESUTILS_ES_ENVIRONMENT_SUPPORT
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_DELAYED_SCRIPTS						jl

	Enables support for execution inline scripts after the document
	has been parsed instead of blocking during the parsing.  Will
	give a perceived increase in loading and parsing speed when
	loading over a slow connection.

	When this feature is enabled, delayed script execution can also be
	enabled and disabled in preferences;

	[Extensions]
	Delayed Script Execution=0|1

	The default default preference value is 0, that is "off", and can be
	changed using the tweak TWEAK_PREFS_DELAYED_SCRIPT.

	Defines     : DELAYED_SCRIPT_EXECUTION
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_WAND								emil

	Enable support for Wand passwordmanager. Manages passwords in webpages (forms), and login information on secure sites.
	If you want to use it you would also need to implement a listener for handling the userinterface for Wand. But if
	you are using the Quick-UI you get that for free.

	Defines     : WAND_SUPPORT
	Group       : desktop
	Depends on  : nothing
	Required by : FEATURE_WAND_ECOMMERCE, FEATURE_WAND_GUESS_MEANING
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_WAND_ECOMMERCE						bratell

	Enables support for wand understanding the special eCom_* fields
	defined in RFC 3106. With this feature, the UI can allow the user
	to reuse the personal information entered in one eCom-page on another.
	This will add some footprint (a couple of KB) and make submits somewhat
	slower (not noticable for normal sized forms).
	It will use the personal information from prefs from the beginning (if there is any).

    Defines     : WAND_ECOMMERCE_SUPPORT
    Depends on  : FEATURE_WAND
    Required by : FEATURE_WAND_GUESS_MEANING
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_WAND_GUESS_MEANING					emil

	Enables support for wand understanding some commonly used fieldnames.
	F.ex. inputfields named something with "mail" will be offered to be filled in
	      by wand with the mail-address stored in the personal information.

    Defines     : WAND_GUESS_COMMON_FORMFIELD_MEANING
    Depends on  : FEATURE_WAND, FEATURE_WAND_ECOMMERCE
    Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_IME									emil

	Enables the integrated inputmethods implementation in widgets. It should be used if opera should render the inputmethod-
	strings internally. Needs some implementation work. More info about inputmethods is available in modules/pi/OpInputMethod.h

	Defines     : WIDGETS_IME_SUPPORT
	Depends on  : FEATURE_WIDGETS_UNDO_REDO
	Required by : FEATURE_IME_RECONVERT
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_IME_RECONVERT						shuais

	Enable word re-conversion IME dialogues for text input fields. Japanese
	keyboards have a dedicated re-convert key which produces an IME dialogue
	listing words with the same pronounciation (reading) but different
	spelling for words marked or selected in an input field.

	When enabled, the platform needs to implement the OnPrepareReconvert()
	and OnReconvertRange() methods for OpInputMethodListener.

	Defines     : IME_RECONVERT_SUPPORT
	Depends on  : FEATURE_IME
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_IMS                                 ondrejh

	Enables the platform/UI to display activated SELECT elements, instead of letting core do this. For example, on touch devices
	a fullscreen window with larger font could be opened for multiple select lists.

	Defines     : WIDGETS_IMS_SUPPORT
	Depends on  : nothing
	Required by : nothing
	Enabled for : smartphone, tv
	Disabled for: desktop, minimal, mini

FEATURE_WIDGETS_UNDO_REDO					emil

	Enables support for undo and redo of edited text in widgets used by piforms and quick.

	Defines     : WIDGETS_UNDO_REDO_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_IME
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_EDITABLE_DOCUMENT					emil

	Enables support for designMode and contentEditable. (Rich text editing in documents)
	To get copy/paste of styled text work, you must also support FEATURE_CLIPBOARD_HTML.
	Otherwise only plain text will be copied.

	Defines     : DOCUMENT_EDIT_SUPPORT
	Group       : document
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_CLIPBOARD_HTML						emil

	Should be implemented if using FEATURE_EDITABLE_DOCUMENT and your platform
	can deal with several formats of text in clipboard. It must be possible to
	see if the htmltext in the clipboard is ment to be layouted when pasted,
	or just inserted as html-sourcecode.
	Ex:
	If you copy text from IE, Outlook (and more..) in windows, the content is
	of type html. (But it is also stored as text without the htmltags). Then
	we know that the content should be layouted when pasted into f.ex. a htmlmail.
	But if you copy html sourcecode from a html-editor (any texteditor),
	the content is of type text, even though it is html sourcecode. Then we
	should paste it as plain text.

	If supported, Opera will place copied htmlcode both as html and plain text
	on the clipboard with OpClipboard::PlaceTextHTML. Then other applications
	can paste it as html if they want, or plain text.

	Defines     : CLIPBOARD_HTML_SUPPORT
	Depends on  : FEATURE_CLIPBOARD
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_SKIN								emil

	Enable skinning on widgets. Without skin support widgets used by
	forms will be painted with a Windows like look. With skin support
	they will be drawn using a skin. The skin support is slower and
	takes up more memory than without it.

	Defines     : SKIN_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_HIGHLIGHT_BORDER, FEATURE_NEARBY_ELEMENT_DETECTION, FEATURE_ANIMATED_SKIN_ELEMENTS, FEATURE_PERSONA_SKIN
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_HIGHLIGHT_BORDER					emil

	Enable border style -o-highlight-border for outline. That means you can get
	opera's skinned highlighting around layout elements with this outline style.

	Defines     : SKIN_OUTLINE_SUPPORT
	Depends on  : FEATURE_SKIN
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_IMAGE_TURBO_MODE					emil

	In turbomode, images will be decoded immediately as soon as they become
	visible on screen. Recommended for desktop only, or systems where performance
	is more important than memory usage.

	Defines     : IMAGE_TURBO_MODE
	Group       : images
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv, mini
	Disabled for: smartphone, minimal

FEATURE_PAGE_INFO							peter

	Enables support for retrieving page properties for a document into an empty
	opera: document. Quick uses this for its info panel.

	Defines     : DOC_HAS_PAGE_INFO
	Group       : document
	Depends on  : FEATURE_LINK_TRAVERSAL
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini


FEATURE_DOM_FULLSCREEN_MODE                     bratell

	Add support for the http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html spec
	that allows web pages to control the full screen view of the browser.

	Defines     : DOM_FULLSCREEN_MODE
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_LINK								ee

	Enables support for collecting all <link> tags.

	Defines     : LINK_SUPPORT
	Group       : html
	Depends on  : nothing
	Required by : FEATURE_SHORTCUT_ICON
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SHORTCUT_ICON						ee

	Enables support for shortcut icons.

	Defines     : SHORTCUT_ICON_SUPPORT
	Depends on  : FEATURE_LINK
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SPATIAL_NAVIGATION					h2

	Enables spatial navigation, which lets you navigate links and forms.

	Defines     : _SPAT_NAV_SUPPORT_
	Group       : document
	Depends on  : nothing
	Required by : FEATURE_SPATNAV_PHONE_SN_HANDLER, FEATURE_SELECT_TO_FOCUS_INPUT,
	              FEATURE_SPATNAV_PICKER_MODE, FEATURE_SPATNAV_PLUGINNAVIGATION
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SPATNAV_PHONE_SN_HANDLER                                h2

    Enables the phone version of the spatial navigation handler. It has
    adaptations so that it works better on mouseless system.

	Defines     : PHONE_SN_HANDLER
    Group       : document
    Depends on  : FEATURE_SPATIAL_NAVIGATION
    Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_PHONE_2_LINK						stighal

    Will make phone numbers in normal text into clickable links.

	Defines     : PHONE2LINK_SUPPORT
    Group       : document
    Depends on  : nothing
    Required by : nothing
	Enabled for : smartphone
	Disabled for: desktop, tv, minimal, mini

FEATURE_SPATNAV_PICKER_MODE                                     h2

    Enables picker mode used in some projects to be able to pick an image or objects and links of certain types
    which are normally not navigable.

	Defines     : SPATNAV_PICKER_MODE
    Group       : document
    Depends on  : FEATURE_SPATIAL_NAVIGATION
    Required by : nothing
	Enabled for : smartphone
	Disabled for: desktop, tv, minimal, mini

FEATURE_SELECT_TO_FOCUS_INPUT                               h2

    Enables spatial navigation to navigate without going into text fields.
	Users have to select text fields to get into the text field to
	enter/change text. This feature should be on for mousless devices,
	and is also recommended for platforms with mouse.

    Defines     : SELECT_TO_FOCUS_INPUT
    Group       : document
    Depends on  : FEATURE_SPATIAL_NAVIGATION
    Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SPATNAV_PLUGINNAVIGATION                           h2

	Enables support for passing spatial navigation requests on to
	and thus do spatial navigation in plugins.  Ultimately depends on
	navigation support in each plugin to actually work.

	Defines     : _PLUGIN_NAVIGATION_SUPPORT_
	Group       : document
	Depends on  : FEATURE_SPATIAL_NAVIGATION, FEATURE_PLUGIN
	Required by : nothing
	Enabled for : tv
	Disabled for: minimal, desktop, smartphone, mini

FEATURE_PLUGIN								hela

	Enable Netscape 4 Plugin API support

	Do not test for define _PLUGIN_EXT_API_SUPPORT_. It is only for
	backwards compatibility, and may disappear in the future.

	Defines     : _PLUGIN_SUPPORT_, _PLUGIN_EXT_API_SUPPORT_
	Group       : plugin
	Depends on  : FEATURE_DYNAMIC_VIEWERS
	Required by : FEATURE_JAVA_PLUGIN,
	              FEATURE_MANUAL_PLUGIN_ACTIVATION,
	              FEATURE_SPATNAV_PLUGINNAVIGATION, FEATURE_PLUGIN_WINDOWLESS,
	              FEATURE_ON_DEMAND_PLUGIN, FEATURE_PLUGIN_AUTO_INSTALL
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_PLUGIN_WINDOWLESS					hela

	Enable support for windowless plugins in ns4plugin.  This will support
	windowless and transparent or opaque mode for display of plugin.  This
	requires support from the platform's plugin code.

	Defines     : _WINDOWLESS_PLUGIN_SUPPORT_
	Group       : plugin
	Depends on  : FEATURE_PLUGIN
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_USE_HTML_PARSER_FOR_XML				stighal

	Use the HTML parser for parsing XML documents. This will allow
	broken XML to be parsed without giving error messages.

	See bug 291082 for details.

	Do not enable this unless you are absolutely sure that you want to
	give in to evil.

	Note: certain more advanced aspects of XML parsing/processsing such
	as full DOCTYPE parsing and XSLT linked via <?xml-stylesheet?> are
	not available when this feature is enabled.

	Defines		: USE_HTML_PARSER_FOR_XML
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, tv, smartphone, minimal, mini

FEATURE_WML									stighal

	Enable WML (WAP) support

	Defines     : _WML_SUPPORT_
	Depends on  : nothing
	Required by : FEATURE_PICTOGRAM
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_XML_ERRORS							jl

	Enables reporting of XML parse errors with line/column information and
	a partial view of the document source code with the erroneous code highlighted.

	Defines     : XML_ERRORS
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv, mini, smartphone
	Disabled for: minimal

FEATURE_XMLENTITIES_INI                     jl

	Enables support for configuring local files to use instead of
	fetching external entities (DTD-s and such) when parsing XML.
	The configuration is read from the file xmlentities.ini in
	OPFILE_INI_FOLDER.

	Defines     : XML_CONFIGURABLE_DOCTYPES
	Group       : xml
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_WBXML								stighal

	Enables support for Wireless Binary XML.

	Defines     : WBXML_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_WML_WBXML, FEATURE_SI_WBXML, FEATURE_SL_WBXML, FEATURE_PROV_WBXML,
	              FEATURE_DRMREL_WBXML, FEATURE_CO_WBXML, FEATURE_EMN_WBXML
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_WML_WBXML							stighal

	Enables support for WML coded as WBXML.

	Defines     : WML_WBXML_SUPPORT
	Depends on  : FEATURE_WBXML
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SI_WBXML							mstensho

	Enables support for OMA Service Indication coded as WBXML.

	Defines     : SI_WBXML_SUPPORT
	Depends on  : FEATURE_WBXML
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_SL_WBXML							mstensho

	Enables support for OMA Service Loading encoded as WBXML

	Defines     : SL_WBXML_SUPPORT
	Depends on  : FEATURE_WBXML
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_PROV_WBXML							mstensho

	Enables support for OMA Provisioning encoded as WBXML

	Defines     : PROV_WBXML_SUPPORT
	Depends on  : FEATURE_WBXML
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_DRMREL_WBXML						mstensho

	Enables support for OMA DRM Rights Expression Language encoded as WBXML

	Defines     : DRMREL_WBXML_SUPPORT
	Depends on  : FEATURE_WBXML
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_CO_WBXML							mstensho

	Enables support for OMA Cache Operation encoded as WBXML

	Defines     : CO_WBXML_SUPPORT
	Depends on  : FEATURE_WBXML
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_EMN_WBXML							mstensho

	Enables support for OMA E-mail notification encoded as WBXML

	Defines     : EMN_WBXML_SUPPORT
	Depends on  : FEATURE_WBXML
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_EXT_PROTOCOL_HANDLERS				kilsmo

	Turns on support for plugins that can add support external protocols in the web
	browser.

	Defines     : EXTERNAL_PROTOCOL_HANDLER_SUPPORT
	Group       : plugin
	Depends on  : nothing
	Required by : nothing
	Enabled for : tv, mini
	Disabled for: desktop, smartphone, minimal

FEATURE_SVG									ed

	Enables Scalable Vector Graphics (SVG) support in Opera.

	Defines     : SVG_SUPPORT, XLINK_SUPPORT, VEGA_SUPPORT, SVG_DOM,
	              SVG_SUPPORT_FOREIGNOBJECT
	Group       : svg
	Depends on  : nothing
	Required by : FEATURE_SVG_EMBEDDED_FONTS, FEATURE_SVG_MIMETYPE_OK, FEATURE_SVG_TINY_12,
	              FEATURE_SVG_FULL_11, FEATURE_SVG_FULL_12
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SVG_TINY_12							ed

	Enables SVG Tiny 1.2 support in Opera.

	Defines	      : SVG_TINY_12, SVG_SUPPORT_GRADIENTS
	Group         : svg
	Depends on    : FEATURE_SVG
	Required by   : nothing
	Conflicts with: FEATURE_SVG_FULL_11, FEATURE_SVG_FULL_12
	Enabled for   : none
	Disabled for: desktop, tv, minimal, smartphone, mini

FEATURE_SVG_FULL_11							ed

	Enables SVG Full 1.1 support in Opera.

	Defines       : SVG_FULL_11, SVG_SUPPORT_GRADIENTS, SVG_SUPPORT_OPACITY, SVG_SUPPORT_PATTERNS,
				    SVG_SUPPORT_ELLIPTICAL_ARCS, SVG_SUPPORT_STENCIL, SVG_SUPPORT_FILTERS
	Group         : svg
	Depends on    : FEATURE_SVG
	Required by   : nothing
	Conflicts with: FEATURE_SVG_TINY_12, FEATURE_SVG_FULL_12
	Enabled for   : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_SVG_FULL_12							ed

	Enables SVG Full 1.2 support in Opera.

	Defines       : SVG_FULL_11, SVG_TINY_12, SVG_FULL_12, SVG_SUPPORT_GRADIENTS, SVG_SUPPORT_OPACITY,
	                SVG_SUPPORT_PATTERNS, SVG_SUPPORT_ELLIPTICAL_ARCS, SVG_SUPPORT_STENCIL,
	                SVG_SUPPORT_FILTERS
	Group	      : svg
	Depends on    : FEATURE_SVG
	Required by   : nothing
	Conflicts with: FEATURE_SVG_TINY_12, FEATURE_SVG_FULL_11
	Enabled for   : desktop, tv, smartphone, mini
	Disabled for: minimal

FEATURE_SVG_MIMETYPE_OK						ed

	This controls if content is recognized as svg when there is no svg
	DOCTYPE or svg namespace declared, but the file-extension/mimetype
	says the content is svg.

	It's more standards-compliant to not allow this type of qualification.

	Defines    : SVG_RECOGNITION_MIMETYPE_ALLOWED
	Group      : svg
	Depends on : FEATURE_SVG
	Required by: nothing
	Enabled for: smartphone, mini
	Disabled for: desktop, tv, minimal

FEATURE_SVG_EMBEDDED_FONTS		davve

	Enables the use of embedded system fonts in svg. This requires the
	presence of font files in resource folders that svg can load as a
	fallback when no other scalable fonts are available. See
	modules/svg/documention/embedded_system_fonts.html for more
	information.

	Defines     : SVG_SUPPORT_EMBEDDED_FONTS
	Group       : svg
	Depends on  : FEATURE_SVG
	Required by : nothing
	Enabled for : smartphone, mini
	Disabled for: desktop, tv, minimal

FEATURE_DLL									markus

	Enable use of the interface OpDLL. It is used for loading dynamic libraries
	(DLL's) and get addresses for functions and objects inside it.

	Defines     : USE_OPDLL
	Group       : plugin
	Depends on  : nothing
	Required by : FEATURE_SPELLCHECK
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_ATVEF								mg

	Enables support for the tv: url in IMG, OBJECT tags and background CSS property.

	Defines     : HAS_ATVEF_SUPPORT
	Group       : protocols
	Depends on  : nothing
	Required by : FEATURE_JS_PLUGINS_ATVEF_VISUAL
	Enabled for : tv
	Disabled for: desktop, smartphone, minimal, mini

FEATURE_CSS_SCROLLBARS						emil

	Enable support for microsofts CSS extension for coloring scrollbars (The documentscrollbars, and inside forms such as
	listbox and textarea). This is not CSS standard, but used a lot.

	Defines     : CSS_SCROLLBARS_SUPPORT
	Group       : html
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_FONTSWITCHING						rikard

	Enable support for Opera to maintain a list of what characters the
	system's fonts can draw, and try to switch fonts when needed.

	Defines     : FONTSWITCHING
	Group       : html
	Depends on  : nothing
	Required by : FEATURE_GLYPHTESTING
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_GLYPHTESTING						landell

	Enable support for Opera to extract information about each glyph
	in the respective fonts, to allow for more precise fontswitching.
	If the backend doesn't allow extraction of the TrueType cmap table
	(or corresponding) the code will usually have to test each
	character individually, which will severely impact performance.

	Normally this feature is fast, though.

	Defines     : _GLYPHTESTING_SUPPORT_
	Group       : html
	Depends on  : FEATURE_FONTSWITCHING
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_BIDI								mg

	Enable support for bidirectional texts like arabic and hebrew (bidi algorithm).

	Defines     : SUPPORT_TEXT_DIRECTION
	Group       : html
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_PROGRESS_EVENTS						philipj

	Enables support for progress events, allowing scripts to monitor
	the progress of inline downloads.

	Defines     : PROGRESS_EVENTS_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_APPLICATION_CACHE
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_MEDIA								philipj

	Enables Media module and general Media support.

	Defines     : MEDIA_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_MEDIA_HTML, FEATURE_JIL_CAMERA, FEATURE_MEDIA_JIL_PLAYER, FEATURE_DOM_STREAM_API
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_MEDIA_PLAYER                        philipj

	Enables MediaPlayer support. MediaPlayer uses platform media backends for
	decoding audio/video files/streams.

	Defines         : MEDIA_PLAYER_SUPPORT
	Depends on      : nothing
	Required by     : FEATURE_MEDIA_HTML, FEATURE_MEDIA_JIL_PLAYER, FEATURE_3P_GSTREAMER
	Enabled for     : desktop, tv
	Disabled for    : smartphone, minimal, mini

FEATURE_MEDIA_HTML							philipj

	Enable support for media elements (<audio>/<video>) and related
	DOM interfaces, including the Audio() constructor.

	Defines     : MEDIA_HTML_SUPPORT
	Depends on  : FEATURE_MEDIA, FEATURE_MEDIA_PLAYER
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_MEDIA_JIL_PLAYER					kubal

	Enables support for audio/video playback in JIL "Gold" widgets. Uses MediaPlayer
	to decode media content and displays it in specified DOM element.

	Defines     : MEDIA_JIL_PLAYER_SUPPORT
	Depends on  : FEATURE_DOM_JIL_API, FEATURE_MEDIA, FEATURE_MEDIA_PLAYER
	Required by : nothing
	Enabled for : none
	Disabled for: smartphone, tv, minimal, desktop, mini

FEATURE_JIL_CAMERA					kubal

	Enables support for camera in JIL widgets making possible to display
	camera preview in specified DOM element as well as allows basic camera
	operations to be performed by Widget (recording, taking picture, etc...)

	Defines     : JIL_CAMERA_SUPPORT
	Depends on  : FEATURE_DOM_JIL_API, FEATURE_MEDIA
	Required by : nothing
	Enabled for : none
	Disabled for: smartphone, tv, minimal, desktop, mini

FEATURE_DOM_STREAM_API							msimonides

	Enable support for navigator.getUserMedia() method and Stream API.
	http://www.whatwg.org/specs/web-apps/current-work/complete/video-conferencing-and-peer-to-peer-communication.htmls

	Defines     : DOM_STREAM_API_SUPPORT
	Group       : html
	Depends on  : FEATURE_MEDIA
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_PREFSFILE							peter

	Makes the PrefsFile class available. Platforms that do want to
	have access to on-disk preferences want this. You also need this
	to be able to implement other file formats inside the PrefsFile
	framework. Please see the documentation in the prefsfile module
	for more information.

	Defines     : PREFS_HAS_PREFSFILE
    Group       : prefs
	Depends on  : nothing
	Required by : FEATURE_LANGUAGE_FILE, FEATURE_PREFS_SOFT_COMMIT,
	              FEATURE_PREFS_CASCADE, FEATURE_USERSTYLE_INI,
	              FEATURE_SCOPE_PREFS, FEATURE_DYNAMIC_VIEWERS
	Enabled for : desktop, smartphone, tv, minimal, mini
	Disabled for: none

FEATURE_LANGUAGE_FILE						peter

	Enable support for external language files (LNG format) and code
	for reading it. This is generally recommended for platforms where the
	user has access to the language files and should have the ability to
	edit them.

	If you disable all of the internally provided language support modules,
	your platform must implement a different method of retrieving language
	strings, please see the documentation in the locale module for more
	information.

	Defines       : LANGUAGE_FILE_SUPPORT
	Depends on    : FEATURE_PREFSFILE
	Required by   : FEATURE_EXTENDED_LANGUAGE_FILE
	Conflicts with: FEATURE_DUMMY_LANGUAGEMANAGER, FEATURE_BINARY_LANGUAGE_FILE
	Enabled for   : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_EXTENDED_LANGUAGE_FILE				peter

	Enable support for extending language files to work on several
	platforms at once, by having extra sections in the language file
	and specifying which in the platform factory code. This feature
	is intended for desktop platforms that want to share language
	files.

	Defines     : LOCALE_SUPPORT_EXTRASECTION
	Depends on  : FEATURE_LANGUAGE_FILE
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_BINARY_LANGUAGE_FILE				peter

	Enables support for external binary language files. These language files
	are optimized for fast loading, but are difficult to edit.

	If you disable all of the internally provided language support modules,
	your platform must implement a different method of retrieving language
	strings, please see the documentation in the locale module for more
	information.

	Defines       : LOCALE_BINARY_LANGUAGE_FILE
	Depends on    : nothing
	Required by   : nothing
	Conflicts with: FEATURE_LANGUAGE_FILE, FEATURE_DUMMY_LANGUAGEMANAGER
	Enabled for   : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_DUMMY_LANGUAGEMANAGER				peter

	Enable support for the dummy language manager interface, which only
	returns empty strings. This is meant for prototyping and for products
	where no strings are presented to the user.

	If you disable all of the internally provided language support modules,
	your platform must implement a different method of retrieving language
	strings, please see the documentation in the locale module for more
	information.

	Defines       : USE_DUMMY_LANGUAGEMANAGER
	Depends on    : nothing
	Required by   : nothing
	Conflicts with: FEATURE_LANGUAGE_FILE, FEATURE_BINARY_LANGUAGE_FILE
	Enabled for   : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_PREFS_SOFT_COMMIT					peter

	Makes preferences code ignore non-forcing commit calls. This is
	intended for systems where disk writes are expensive. Memory
	usage will increase, since preference changes will be cached
	until exit.

	Defines     : PREFS_SOFT_COMMIT
    Group       : prefs
	Depends on  : FEATURE_PREFSFILE
	Required by : nothing
	Enabled for : minimal
	Disabled for: desktop, smartphone, tv, mini

FEATURE_PREFS_CASCADE						peter

	Enables support for cascading preference files, with a global
	file defining fallback settings and a global fixed file defining
	global forced settings. If you are only using simple ini files,
	disabling this feature will save both footprint and processing time.

	Defines     : PREFSFILE_CASCADE
    Group       : prefs
	Depends on  : FEATURE_PREFSFILE
	Required by : nothing
	Enabled for : desktop, smartphone, tv, minimal
	Disabled for: mini

FEATURE_PREFS_HOST_OVERRIDE					peter

	Enables support for overriding preferences on a host-by-host basis.

	Defines     : PREFS_HOSTOVERRIDE
    Group       : prefs
	Depends on  : FEATURE_PREFS_READ
	Required by : FEATURE_PREFS_DOWNLOAD
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_OPERACONFIG_URL						peter

	Enables support for the opera:config URL, which gives access to all of
	Opera's preferences from a HTML document. It also adds methods to the
	opera JS object for changing settings.

	Defines     : OPERACONFIG_URL
	Group       : prefs
	Depends on  : FEATURE_PREFS_READ, FEATURE_PREFS_WRITE,
	              FEATURE_URL_OPERA
	Required by : nothing
	Enabled for : desktop, smartphone
	Disabled for: minimal, mini, tv

FEATURE_CPUUSAGETRACKING					bratell

	Enables support for the splitting up CPU usage amongs tabs/windows and
	displaying that through the opera:cpu URL.

	Defines     : CPUUSAGETRACKING
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_OPERAWIDGETS_URL                        lasse

	Enables support for the opera:widgets URL, that will be able
	to edit, view, and run widgets in an HTML document.
	This feature needs modules/about/styles/operawidgets.css

	Defines     : OPERAWIDGETS_URL
	Group       : prefs
	Depends on  : FEATURE_URL_OPERA, FEATURE_GADGETS
	Required by : nothing
	Enabled for : smartphone
	Disabled for: desktop, minimal, mini, tv

FEATURE_OPERAUNITE_URL                        lasse

	Enables support for the opera:unite URL, that will be able
	to edit, view, and run alien widgets.
	This feature needs modules/about/styles/operawidgets.css

	Defines     : OPERAUNITE_URL
	Group       : prefs
	Depends on  : FEATURE_URL_OPERA, FEATURE_GADGETS, FEATURE_WEBSERVER
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_OPERAEXTENSIONS_URL                   peter

	Enables support for the opera:extensions URL, that will be able
	to edit, view, and run widgets in an HTML document.

	Defines     : OPERAEXTENSIONS_URL
	Group       : prefs
	Depends on  : FEATURE_URL_OPERA, FEATURE_EXTENSIONS
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_OPERAHISTORYSEARCH_URL					peter

	Enables support for the opera:historysearch URL, that enables an HTML
	interface to the history search feature.

	Defines     : OPERAHISTORYSEARCH_URL
	Group       : prefs
	Depends on  : FEATURE_URL_OPERA, FEATURE_VISITED_PAGES_SEARCH
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_PREFS_DOWNLOAD						tord

	Enables support for downloading (site specific) preferences from
	a server hosted by Opera.

	Defines     : PREFS_DOWNLOAD
    Group       : prefs
	Depends on  : FEATURE_PREFS_HOST_OVERRIDE, FEATURE_PREFS_WRITE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_PREFS_READ							peter

	Makes preferences support reading. If disabled, preferences will be
	initialized to defaults only on startup. Unless you also disable
	FEATURE_PREFS_WRITE, you can still change the in-memory values, but
	with this disabled the settings are not written to disk. Most
	normal platforms will want to enable this.

	Defines     : PREFS_READ
    Group       : prefs
	Depends on  : nothing
	Required by : FEATURE_PREFS_HOST_OVERRIDE, FEATURE_OPERACONFIG_URL
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_PREFS_WRITE							peter

	Makes preferences support writing. Enables all APIs to save
	preferences, and also turns on support for writing generic INI files.
	Most normal platforms will want to enable this.

	Defines     : PREFS_WRITE, PREFSFILE_WRITE
	Undefines   : PREFS_NO_WRITE
    Group       : prefs
	Depends on  : nothing
	Required by : FEATURE_OPERACONFIG_URL, FEATURE_PREFS_DOWNLOAD
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_PREFS_VALIDATE						peter

	Enables validating preference values either read from the ini file or
	updated using the write API. This should be enabled if the user can
	modify the local ini file or has access to preference dialogs.

	Defines     : PREFS_VALIDATE
    Group       : prefs
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, minimal
	Disabled for: mini

FEATURE_PREFS_SECTION_HASH					peter

	Enable hashing support for preference sections in loaded ini files.
	This should be enabled for platforms using ini files with many sections,
	such as Opera skin files. Enabling it costs extra memory for each
	loaded ini files.

	Defines     : PREFSMAP_SECTION_HASH
    Group       : prefs
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, mini
	Disabled for: smartphone, tv, minimal

FEATURE_PREFS_ENTRIES_HASH					peter

	Enable hashing support for preference entries in loaded ini files.
	Enabling this speeds up retrieving data from the ini files with many
	entries, replacing linear search. Platforms with fast forward support
	should enable this. Enabling it costs extra memory for each loaded
	ini file.

	Defines     : PREFSMAP_USE_HASH
    Group       : prefs
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, mini
	Disabled for: tv, minimal

FEATURE_DOUBLEBUFFERING						emil

	Enables support for doublebuffered rendering of pages (No flickering).
	You need to implement the doublebuffering inside OpView. This only enables the core-part of it.

	Defines     : _SUPPORT_SMOOTH_DISPLAY_
	Group       : document
	Depends on  : nothing
	Required by : nothing
	Disabled for: mini

FEATURE_JS_PLUGINS							rikard

	Enable support for javascript plugins, which in short consist of
	native code exposed through a javascript interface. Check out the
	module "jsplugins" and take a look in the documentation for more
	info.

	Defines     : JS_PLUGIN_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_JS_PLUGINS_ATVEF_VISUAL
	Enabled for : smartphone, tv
	Disabled for: desktop, minimal, mini

FEATURE_JS_PLUGINS_ATVEF_VISUAL				peter

	Enable support for ATVEF visual rendering of jsplugins. Also adds
	callback events for positioning in jsplugins.

	Defines     : JS_PLUGIN_ATVEF_VISUAL
	Depends on  : FEATURE_JS_PLUGINS, FEATURE_ATVEF
	Required by : nothing
	Enabled for : tv
	Disabled for: desktop, smartphone, minimal, mini

FEATURE_JAVA_PLUGIN							rune

	Enables support for Java applets through a Netscape4 plug-in. Enabling this feature will cause all APPLET
	tags to be translated into EMBED tags enabling the plug-in to be used for all applets.

	Defines       : _APPLET_2_EMBED_
	Group         : java
	Depends on    : FEATURE_PLUGIN
	Required by   : nothing
	Enabled for   : desktop
	Disabled for  : smartphone, tv, minimal, mini

FEATURE_OPMEMFILE							deprecated

	Enable support for reading memory mapped OpFiles, will also be writeable.

	Defines     : OPMEMFILE_SUPPORT
	Undefines  : HAVE_NO_OPMEMFILE
	Depends on  : nothing
	Required by : FEATURE_DIRECT_ZIP_ACCESS
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_DIRECT_ZIP_ACCESS					deprecated

	Enables support for reading and opening files within a zip archive.
	Access a file inside a zip like this : "C:\path.zip\somefile.txt"

	Defines     : ZIPFILE_DIRECT_ACCESS_SUPPORT
	Depends on  : FEATURE_OPMEMFILE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SAVE								rikard

	Enable support for saving documents, images  and style sheets (and
	possibly other things as well). Turn off for some savings in code
	size.

	Defines     : SAVE_SUPPORT
	Undefines  : NO_SAVE_SUPPORT
	Group       : document
	Depends on  : nothing
	Required by : FEATURE_PRINTING, FEATURE_MHTML_ARCHIVE_SAVE
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_MHTML_ARCHIVE_SAVE	     				arneh

	Enables support for saving webpage including all inlines in one MIME
	encoded file. Turn off for some savings in code size.

	Defines	   : MHTML_ARCHIVE_SAVE_SUPPORT
	Depends on  : FEATURE_SAVE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_MHTML_ARCHIVE_REDIRECT     				roarl

	Enables support for viewing saved webpage exactly like it was when
	the webpage was saved. This is achieved by internally redirecting the
	MHTML URL to the document loaded from the archive.
	See also: g_mime_module.GetOriginalURLAttribute()

	Defines	    : MHTML_ARCHIVE_REDIRECT_SUPPORT
	Depends on  : FEATURE_MIME
	Required by : nothing
	Enabled for : smartphone
	Disabled for: desktop, tv, minimal, mini

FEATURE_TEXT_SELECTION						geir

	Enables support for selecting text such that it for example can be
	copied.

	Defines     : TEXT_SELECTION_SUPPORT
	Undefines   : HAS_NOTEXTSELECTION
	Group       : document
	Required by : FEATURE_KEYBOARD_SELECTION
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_KEYBOARD_SELECTION					adame

	Enables support for a movable, visible caret and text selection with a keyboard.

	Defines     : KEYBOARD_SELECTION_SUPPORT
	Depends on  : FEATURE_TEXT_SELECTION
	Group       : document
	Required by : nothing
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_CONTENT_MAGIC						geir

	Enables 'content magic'. When loading a page Opera will try to
	find where the interesting content starts, skipping menus and
	banners which are often in the beginning of a page. When this
	feature is enabled the UI can easily show a content magic
	indicator on the page allowing the user to jump there.

	Defines     : CONTENT_MAGIC
	Group       : document
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_LOCAL_CSS_FILES						johan

	Makes it possible to apply combinations of local CSS files to a Web page

	Defines     : LOCAL_CSS_FILES_SUPPORT
	Group       : html
	Depends on  : nothing
	Required by : FEATURE_USERSTYLE_INI
	Enabled for : desktop, tv, mini
	Disabled for: smartphone, minimal

FEATURE_USERSTYLE_INI						peter

	Use a separate userstyle.ini file for information about local CSS files,
	instead of storing them in the main ini file.

	Defines     : PREFS_USE_USERSTYLE_INI
	Depends on  : FEATURE_LOCAL_CSS_FILES, FEATURE_PREFSFILE
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_USE_ENTITIES_IN_FORMS				peter

	Use HTML entities in uploaded forms for characters which cannot be
	represented using the form encoding. This is necessary to be compatible
	with the other browsers when submitting forms. Most platforms want to
	enable this. If you roll your own converters (FEATURE_TABLEMANAGER == NO),
	you need to make sure your converters can support this if you enable it.

	Defines     : ENCODINGS_HAVE_ENTITY_ENCODING
	Group       : forms
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, minimal, mini
	Disabled for: none

FEATURE_DOM2_MUTATION_EVENTS				jl

	Enables support for the Mutation events module in DOM 2 Events.

	Defines     : DOM2_MUTATION_EVENTS
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv, smartphone, mini
	Disabled for: minimal

FEATURE_DOM2_TRAV_AND_RANGE					jl

	Enables support for the DOM 2 Traversal and Range specification.
	Available in version dumdum_2 of the DOM module.

	Defines     : DOM2_TRAVERSAL_AND_RANGE, DOM2_TRAVERSAL, DOM2_RANGE
    Depends on  : nothing
    Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_DOM3_LOAD_AND_SAVE					jl

	Enables support for the DOM 3 Load and Save specification.
	Available in version dumdum_2 of the DOM module.

	Defines     : DOM3_LOAD, DOM3_SAVE
	Depends on  : nothing
	Required by : FEATURE_DOM_HTTP
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_DOM_HTTP							jl

	Enables support for various DOM Load & Save extensions that
	provides more control over how HTTP requests are constructed,
	including the XMLHttpRequest class supported by Mozilla and MSIE.

	Defines     : DOM_HTTP_SUPPORT
	Depends on  : FEATURE_DOM3_LOAD_AND_SAVE
	Required by : FEATURE_XHR_SECURITY_OVERRIDE
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_DOM3_XPATH							jl

	Enables support for XPath (http://www.w3.org/TR/xpath.html)
	and DOM 3 XPath (http://www.w3.org/TR/DOM-Level-3-XPath).

	Defines     : XPATH_SUPPORT, DOM3_XPATH
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_XML_EVENTS							jl

	Enables support for XML Events.

	Defines     : XML_EVENTS_SUPPORT, DOM2_EVENTS_API
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_XSLT								jl

	Enables support for XSLT (http://www.w3.org/TR/xslt).

	This feature enables <?xml-stylesheet?> processing instructions in
	XML documents to link to XSLT stylesheets that are then used to
	transform the document, unless FEATURE_USE_HTML_PARSER_FOR_XML is
	also enabled.

	This feature also enables the Mozilla DOM extension XSLTProcessor
	using which scripts can perform XSLT transformations.  This support
	is unaffected by FEATURE_USE_HTML_PARSER_FOR_XML.

	Defines     : XSLT_SUPPORT, XPATH_SUPPORT, XPATH_EXTENSION_SUPPORT
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_EXTENDED_MIMETYPES					rikard

	Adds a number of additional mimetypes for which the default action
	is VIEWER_ASK_USER.

	Defines     : EXTENDED_MIMETYPES
	Undefines   : ONLY_SUPPORTED_MIMETYPES
	Group       : protocols
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_OPERA_CONFIGURATION_MIMETYPES		peter

	Adds a number of Opera configuration MIME types, such as
	application/x-opera-configuration and application/x-opera-skin, for
	which the default action is VIEWER_OPERA.

	Also add code for handling these types, usually delegating them to
	to UI code.

	Defines     : OPERA_SETUP_DOWNLOAD_APPLY_SUPPORT
	Group       : protocols
	Enabled for : desktop
	Disabled for: smartphone, tv, mini, minimal

FEATURE_ACCESS_KEYS							markus

	Enables support for access keys. 'accesskey' is a HTML attribute
	which assigns an access key to a HTML element

	Footprint: 1kb

	Defines     : ACCESS_KEYS_SUPPORT
	Group       : html
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_TABLEMANAGER						peter

	Turns on or off the table manager. The platform must implement
	its own character conversion functions if this is disabled.

	Defines     : ENCODINGS_HAVE_TABLE_DRIVEN
	Group       : encodings
	Depends on  : FEATURE_3P_UNICODE
	Required by : nothing
	Enabled for : desktop, smartphone, tv, minimal, mini
	Disabled for: none

FEATURE_ENCODINGS_CHINESE					peter

	Enable support for converting text to and from Chinese encodings,
	including autodetection.

	Defines     : ENCODINGS_HAVE_CHINESE
	Group       : encodings
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_ENCODINGS_JAPANESE					peter

	Enable support for converting text to and from Japanese encodings,
	including autodetection.

	Defines     : ENCODINGS_HAVE_JAPANESE
	Group       : encodings
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_ENCODINGS_KOREAN					peter

	Enable support for converting text to and from Korean encodings,
	including autodetection.

	Defines     : ENCODINGS_HAVE_KOREAN
    Group       : encodings
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_ENCODINGS_CYRILLIC					peter

	Enable support for autodetection of Cyrillic encodings.

	Defines     : ENCODINGS_HAVE_CYRILLIC
    Group       : encodings
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_PAGED_MEDIA							rune

	Enable support for paged media layout and CSS (for printing and projection modes).

	Defines     : PAGED_MEDIA_SUPPORT
	Group       : html
	Depends on	: nothing
	Required by	: FEATURE_PRINTING
	Enabled for : smartphone, desktop, tv
	Disabled for: minimal, mini

FEATURE_PROBETOOLS							mortenro

	Activate (some of) the OP_PROBEx probepoints for timing,
	memory analysis, tracing or other debugging available
	through the probepoint framework.

	Defines     : SUPPORT_PROBETOOLS
	Group       : debug
	Depends on  : nothing
	Required by : FEATURE_PROBETOOLS_MEMORYPROBING, FEATURE_OPERA_PERFORMANCE
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_VOICE                                                           deprecated

        Dropped from core June 2012, no planned replacement.

FEATURE_PROBETOOLS_MEMORYPROBING			deprecated

	Activate the memory tracing facility of Probetools.
	Enabling this feature will cause Probetools to not only measure
	elapsed times for probes, but also to keep track of the number of
	calls to operators new and delete (but not malloc, free, or strdup),
	the total amount of memory allocated by means of operator new, and
	the distribution of memory allocation block sizes. The only
	requirement for using this feature, is that FEATURE_PROBETOOLS == YES.
	While FEATURE_PROBETOOLS_MEMORYPROBING is primarily intended for use
	with debug, it can also be used with release builds.

	Defines     : PROBETOOLS_MEMORYPROBING
	Group       : debug
	Depends on  : FEATURE_PROBETOOLS
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_DEBUGGING_SHELL						deprecated

	Enable the telnet kind of daemon inside Opera, to allow remote
	debugging and logging and other tasks that can be usefull during
	development.  Create your own OpShell based class and factory
	and you can have your own commands available through the telnet
	session.

	Defines     : SUPPORT_DEBUGGING_SHELL
	Group       : debug
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_SCOPE								mortenro

	Enable the "E.T. phone home" debugging functionality in Opera whereby
	Opera connects to an external proxy and allows external tools to
	communicate with internal debugging services.

	(There is some functional overlap here with FEATURE_DEBUGGING_SHELL,
	but for the moment they are independent features.  This issue will be
	resolved eventually.)

	Required by Dragonfly.

	Defines     : SCOPE_SUPPORT
	Group       : debug
	Depends on  : nothing
	Required by : FEATURE_SCOPE_URL_PLAYER, FEATURE_SCOPE_HTTP_LOGGER,
	              FEATURE_SCOPE_CONSOLE_LOGGER, FEATURE_SCOPE_ECMASCRIPT_LOGGER,
	              FEATURE_SCOPE_PROFILER, FEATURE_JS_SCOPE_CLIENT,
	              FEATURE_SCOPE_ECMASCRIPT_DEBUG, FEATURE_SCOPE_EXEC,
	              FEATURE_SCOPE_WIDGET_MANAGER,
	              FEATURE_SCOPE_WINDOW_MANAGER, FEATURE_SCOPE_ECMASCRIPT,
	              FEATURE_SCOPE_RESOURCE_MANAGER, FEATURE_SCOPE_PREFS,
	              FEATURE_SCOPE_COOKIE_MANAGER, FEATURE_SCOPE_DOCUMENT_MANAGER,
	              FEATURE_SCOPE_CORE, FEATURE_SCOPE_I18N
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_JS_SCOPE_CLIENT						jhoff

	Add functions on the javascript opera object to enable running a
	scope client in the browser without an external proxy. This feature should
	only be enabled if your platform plans to support the Dragonfly client, i.e.
	the debugger tool itself. It is only recommended for proper desktop, not
	desktop-like products.

	Defines     : JS_SCOPE_CLIENT, SCOPE_ACCEPT_CONNECTIONS
	Group       : Debug
	Depends on  : FEATURE_SCOPE
	Required by : FEATURE_INTEGRATED_DEVTOOLS
	Enabled for : desktop
	Disabled for: minimal, smartphone, tv, mini

FEATURE_SCOPE_URL_PLAYER					mortenro

	Enable the internal URL player debugging service, exposed through
	the scope infrastructure.

	Defines     : SCOPE_URL_PLAYER
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_HTTP_LOGGER					mortenro

	Enable the internal HTTP header logger debugging service, exposed
	through the scope infrastructure.

	Defines     : SCOPE_HTTP_LOGGER
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_RESOURCE_MANAGER				andersr

	Enable a service which can monitor all resources used by a page. A
	resource can be a HTML-file, a CSS-file, an image, and so forth. These
	resources can be retrieved over HTTP, or through other means, like
	data URIs.

	Defines     : SCOPE_RESOURCE_MANAGER
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_PREFS							andersr

	Enable a service which can read, enumerate, and modify user prefs.
	The service can also get the default value for a certain preference.

	Defines     : SCOPE_PREFS
	Group       : debug
	Depends on  : FEATURE_SCOPE, FEATURE_PREFSFILE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_CONSOLE_LOGGER				mortenro

	Enable the internal console message logger debugging service,
	exposed through the scope infrastructure.

	Required by Dragonfly.

	Defines     : SCOPE_CONSOLE_LOGGER
	Group       : debug
	Depends on  : FEATURE_SCOPE, FEATURE_CONSOLE
	Required by : FEATURE_SCOPE_ECMASCRIPT_DEBUG
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SCOPE_CORE							andersr

	Enable a service which reports Core-wide events for testing
	purposes, such as the OnIdle event fired when Opera (across
	all windows) isn't doing anything.

	Defines     : SCOPE_CORE
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SCOPE_ECMASCRIPT_LOGGER				mortenro

	Enable the internal script source logger debugging service,
	exposed through the scope infrastructure.

	Defines     : SCOPE_ECMASCRIPT_LOGGER
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_ECMASCRIPT                    andersr

	Enable a service which allows interaction with the ECMAScript
	engine without enabling debugging. Provides support for listing runtimes,
	evaluating code and object examination with full prototype chain.

	Defines     : SCOPE_ECMASCRIPT
	Group       : debug
	Depends on  : FEATURE_SCOPE, FEATURE_SCOPE_ECMASCRIPT_DEBUG
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SCOPE_ECMASCRIPT_DEBUG				mortenro

	Enable the internal script debugging service, exposed
	through the scope infrastructure.

	Required by Dragonfly.

	Defines     : SCOPE_ECMASCRIPT_DEBUGGER, ECMASCRIPT_DEBUGGER,
				  ECMASCRIPT_ENGINE_DEBUGGER, ECMASCRIPT_SCOPE_DEBUGGER
	Group       : debug
	Depends on  : FEATURE_SCOPE, FEATURE_SCOPE_WINDOW_MANAGER,
				  FEATURE_CSS_ERRORS, FEATURE_SCOPE_CONSOLE_LOGGER
	Required by : FEATURE_SCOPE_ECMASCRIPT
 	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SCOPE_WINDOW_MANAGER				jhoff

	Enable listing of open windows and filtering of these. Primarily to
	reduce CPU, memory and bandwidth usage of the device.

	Required by Dragonfly.

	Defines     : SCOPE_WINDOW_MANAGER_SUPPORT
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : FEATURE_SCOPE_ECMASCRIPT_DEBUG
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_SCOPE_WIDGET_MANAGER				jborsodi

	Enable management of widgets from a scope client. This allows a client
	to enumerate available widgets as well as open and close widgets. It can
	also install new widgets via url or by sending the widget data directly,
	uninstalling widgets is also possible.
	The purpose of this feature is to allow for developing and deploying widgets
	directly to a device.
	See the module documentation for the 'scope' module for details on the
	service.

	Required by HTML 5 SDK.

	Defines     : SCOPE_WIDGET_MANAGER_SUPPORT
	Group       : debug
	Depends on  : FEATURE_SCOPE, FEATURE_GADGETS
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_EXEC							mortenro

	Enable the 'Opera Exec' debug protocol service, exposed through
	the scope infrastructure.  This features allows a remote
	application (once connected) to command Opera into pressing keys,
	running actions, opening URLs and other useful stuff for automated
	QA testing.  See the module documentation for the 'scope' module
	for details on the protocol.

	Required by Dragonfly.

	Defines     : SCOPE_EXEC_SUPPORT
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_PROFILER						andersr

	Enable a service which can record interesting events in Opera, how many
	times these events occur, and how much time was spent processing these
	events.

	Profiling can be enabled for individual tabs (windows), such that only
	events in a target context will be recorded.

	Defines     : SCOPE_PROFILER
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_COOKIE_MANAGER						andersr

	Enables a service which can enumerate and remove cookies
	based on domain.

	Defines     : SCOPE_COOKIE_MANAGER
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_DOCUMENT_MANAGER						andersr

	Enables a service which exposes events and commands on the
	document level. The service can, for instance, enumerate
	all documents in a document tree; tell the client when
	a URL is about to be loaded in a frame; and (re)load a
	frame when the client so desires.

	Defines     : SCOPE_DOCUMENT_MANAGER
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCOPE_I18N									andersr

	Enables a service which provides commands and events related to
	internationalization.

	The service can, for instance, detect the current locale, and extract
	international language string based on identifiers.

	For more information, see the online documentation:
	http://scope.bitbucket.org/scope/services/I18n.html

	Defines     : SCOPE_I18N
	Group       : debug
	Depends on  : FEATURE_SCOPE
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_EXTERNAL_APPLICATIONS				peter

	Enables support for executing external applications from
	Opera, such as text editors and other help applications.

	Defines     : EXTERNAL_APPLICATIONS_SUPPORT
	Undefines   : NO_EXTERNAL_APPLICATIONS
	Group       : desktop
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_PICTOGRAM							stighal

	This feature enables support for WAP pictograms with the WML:LOCALSRC attribute for IMG.

	Defines     : PICTOGRAM_SUPPORT
	Group       : images
	Depends on  : FEATURE_WML
	Required by : nothing
	Enabled for : desktop, mini
	Disabled for: smartphone, tv, minimal

FEATURE_UPGRADE                             peter

	Enables functionality for upgrading from previous versions of
	Opera.

	Defines     : UPGRADE_SUPPORT
	Group       : desktop
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_CANVAS								timj

	Enables the canvas tag in Opera which contains drawing
	operations accessable from ecmascript.

	Defines		: CANVAS_SUPPORT, VEGA_SUPPORT
	Depends on	: FEATURE_PNG, FEATURE_ZLIB_COMPRESSION
	Required by	: FEATURE_CANVAS3D
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_CANVAS3D							timj

	Enables OpenGL bindings in the canvas through the webgl
	context.

	Defines		: CANVAS3D_SUPPORT
	Depends on	: FEATURE_CANVAS, FEATURE_ZLIB_COMPRESSION
	Required by	: nothing
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_VEGA_OPPAINTER						timj

	Enable the VegaOpPainter. This painter is used intead of letting
	the platform implement its own painter. In order to use this
	some porting interfaces needs to be implemented.
	When using the VegaOpPainter OpBitmap and OpFont/OpFontManager are
	also implemented by libvega.

	Defines     : VEGA_SUPPORT, VEGA_OPPAINTER_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_CSS_TRANSFORMS, FEATURE_SCREEN_WATERMARK
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_OEM_EXTENDED_CACHE					yngve

	This feature gives an OEM the ability to override normal cache policies, by defining
	documents from a given server as persistent (and not deletable) for a specified amount of days.

	The OEM may also define a local file to be displayed to the user when the unit is out
	of network coverage and unable to load pages.

	Defines     : __OEM_EXTENDED_CACHE_MANAGEMENT
	Group       : cache
	Depends on  : nothing
	Required by : FEATURE_OEM_OPERATOR_CACHE
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_OEM_OPERATOR_CACHE					yngve

	This feature gives an OEM the ability to override normal cache policies, by defining
	documents from a given server as persistent (and not deletable).

	This feature disables the persistent period part of FEATURE_OEM_EXTENDED_CACHE, and
	creates instead a separate Operator cache area in the disk cache, with its own Operator
	cache size limit.

	Defines     : __OEM_OPERATOR_CACHE_MANAGEMENT
	Group       : cache
	Depends on  : FEATURE_OEM_EXTENDED_CACHE
	Required by : nothing
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_CLEAR_PASSWORDS						yngve

	To make it harder for memory sniffing tools Opera can erase
	sensitive data from memory directly when it's been used. This
	includes form data, wand and the network code. This costs a
	little performance and adds a little footprint, but is
	recommended on Windows versions since trojans, evil worms and
	viruses are common there and we shouldn't make their job easy.

    Defines     : CLEAR_PASSWD_FROM_MEMORY
	Group       : desktop
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, minimal, mini
	Disabled for: none

FEATURE_CONSOLE								peter

	Enables support for the combined Opera console that replaces
	the old JavaScript console.

	Defines     : OPERA_CONSOLE
	Group       : debug
	Depends on  : nothing
	Required by : FEATURE_CONSOLE_LOGFILE, FEATURE_CSS_ERRORS,
				  FEATURE_SCOPE_CONSOLE_LOGGER
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_CONSOLE_LOGFILE						peter

	Enables support for logging console messages to file.

	Defines     : OPERA_CONSOLE_LOGFILE
	Group       : debug
	Depends on  : FEATURE_CONSOLE
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_DYNAMIC_VIEWERS						markus

	Enables support for dynamically changable viewers table.
	This means the viewer table will be read from .ini file.

	Defines     : DYNAMIC_VIEWERS
	Depends on  : FEATURE_PREFSFILE
	Required by : FEATURE_PLUGIN, FEATURE_WEB_HANDLERS
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_EMBROWSER							andre

	The EmBrowser API is a platform-independent, C API used to create browser instances,
	interact with and control Opera.

	Defines     : EMBROWSER_SUPPORT
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_LINK_TRAVERSAL						markus

	Enables support for traversing a document to find all links and
	additional information about them. This should only be used by a
	UI where this information is required.

	Defines     : LINK_TRAVERSAL_SUPPORT
	Group       : html
	Depends on  : nothing
	Required by : FEATURE_PAGE_INFO
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_PEN_DEVICE							stighal

	This feature is meant for devices that uses a pen instead of a regular mouse.
	When turned on it will internally trigger a mouse move on the mouse down
	event and reset the hover element on mouse up.

	Defines     : PEN_DEVICE_MODE
	Depends on  : FEATURE_MOUSE
	Required by : nothing
	Enabled for : smartphone
	Disabled for: desktop, tv, minimal, mini

FEATURE_UPNP_SUPPORT						lucav

	This feature supports UPnP, and it is used by Opera Unite (Alien)
	to try to open a port in the router for incomming connections.

	Defines     : UPNP_SUPPORT
	Group       : protocols
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_SYNCHRONOUS_DNS						markus

	This feature makes Opera be able to make synchronous DNS lookups.

	Defines     : SYNCHRONOUS_HOST_RESOLVING
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_ERROR_PAGE							stighal

	Enable to make Opera show an error page when a page could not
	be loaded. When disabled, messageboxes are used.

	Defines     : ERROR_PAGE_SUPPORT
	Group       : document
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_TV_RENDERING						rune

	Turns on code that supports the tv rendering mode (RM5 in the ERA spec).
	The tv rendering mode is used to make Opera look good on TV screens.
	It supports tv for respond-to-media-type.

	Defines		: TV_RENDERING
	Depends on	: nothing
	Required by	: nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_CURRENT_STYLE                       stighal

	Turns on support for the IE proprietary currentStyle property on HTML
	elements in DOM. If this feature is used the code size and time
	consumption during layout will increase a little bit.
	Only really needed if you can identify as MSIE.

	Defines     : CURRENT_STYLE_SUPPORT
	Group       : ecmascript
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_INTERNAL_HOST_RESOLVER				markus

	Use platform independant host resolver. Use this if your platform
	does not have a host resolver, or if it is not good enough.

	Defines     : PI_HOST_RESOLVER
	Group       : protocols
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_CSS_ERRORS							rune

	Turns on support for reporting css parsing errors to the Opera console.
	You typically want this feature for developer and desktop versions of
	Opera where the user is interested in debugging CSS stylesheets.
	Performance and footprint considerations: Will not use much extra code space,
	but will slow down parsing of stylesheets with many errors because a pretty-
	printed error message is generated for every parsing error.

	Defines     : CSS_ERROR_SUPPORT
	Depends on  : FEATURE_CONSOLE
	Required by : FEATURE_SCOPE_ECMASCRIPT_DEBUG
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_BROWSER_JAVASCRIPT					jl

	Enables support for using a signed, automatically downloaded
	User JS file named browser.js.

	Defines     : DOM_BROWSERJS_SUPPORT, USER_JAVASCRIPT, _NEED_LIBSSL_VERIFY_SIGNED_FILE_
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_RSS							rikard

	Enables support for getting a simple notification about RSS loading through OpDocumentListener.

	Defines       : RSS_SUPPORT
	Depends on    : nothing
	Required by   : FEATURE_WEBFEEDS_DISPLAY
	Enabled for   : desktop, smartphone, tv, mini
	Disabled for  : minimal

FEATURE_WEBFEEDS_BACKEND					arneh

	Enable parsing and building up datastructures for RSS and Atom feeds.
	Modules would typically use this with their own UI (like M2), or with the
	the display capability provided by FEATURE_WEBFEEDS_DISPLAY.

	Defines     : WEBFEEDS_BACKEND_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_WEBFEEDS_DISPLAY, FEATURE_WEBFEEDS_AUTO_UPDATES,
				 FEATURE_WEBFEEDS_SAVED_STORE
	Enabled for : desktop, smartphone, tv, mini
	Disabled for: minimal

FEATURE_WEBFEEDS_AUTO_UPDATES				arneh

	Enables automatic updating of webfeeds.  If turned on the webfeeds module
	will at regular intervals (specified by UpdateInterval() for the WebFeedsAPI
	and in OpFeed) update all feeds which require updating.  If not
	enabled, WebFeedsAPI::UpdateFeeds will have to be called to update
	the feeds.

	Defines	    : WEBFEEDS_AUTO_UPDATES_SUPPORT
	Depends on  : FEATURE_WEBFEEDS_BACKEND
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_WEBFEEDS_SAVED_STORE				arneh

	Enables saving of the webfeeds store to disk.  This is required if it is to
	remember which feeds are subscribed, and any other parameters.  Without this
	feature the module is mostly only useful for loading single feeds for immediate
	display.

	Defines	   : WEBFEEDS_SAVED_STORE_SUPPORT
	Depends on  : FEATURE_WEBFEEDS_BACKEND, FEATURE_DIRECTORY_SEARCH
	Required by : nothing
	Enabled for : smartphone, tv
	Disabled for: desktop, minimal, mini

FEATURE_WEBFEEDS_DISPLAY					arneh

	Enables display of webfeeds through a HTML page for displaying all feeds,
	and selecting individual entries.

	Defines     : WEBFEEDS_DISPLAY_SUPPORT
	Depends on  : FEATURE_WEBFEEDS_BACKEND, FEATURE_RSS
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_COLOUR_MULTIEDIT					adamm

	Enables the multiedit text field to have html syntax highlighting. Currently
	only used for the Opera internal source viewer.

	Defines     : COLOURED_MULTIEDIT_SUPPORT
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_FTP_RESUME							yngve

	Enables support for FTP resume.

	Defines     : FTP_RESUME
	Depends on  : FEATURE_FTP
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_VISITED_PAGES_SEARCH				pavels

	Enables indexing of every visited page. The index is supposed to be
	a few GB big on desktop, however its size could be smaller on devices.

	Turning on the whole search_engine module costs roughly 500 KB in
	footprint, this feature takes 100 KB from it.
	Memory requierements for searching can vary from a few KB to more
	than 400 KB, depending on the query, memory requirements for
	indexing correspond to the size of indexed document.
	Indexing performance is around 250 documents per second, however other
	tasks like generating a thumbnail might have an impact.

	Defines     : VISITED_PAGES_SEARCH, SEARCH_ENGINE
	Depends on  : nothing
	Required by : FEATURE_OPERAHISTORYSEARCH_URL
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_INTERNAL_TEXTSHAPER					mstensho

	Enable Opera's internal text shaper. This is necessary on systems with a
	font engine that does not support text shaping, when you want to be able
	to display text in writing systems that require this (e.g. Arabic). If you
	answer YES, Opera will then map Arabic characters in the source to the
	appropriate glyphs in the Arabic Presentation Forms unicode blocks before
	displaying or measuring the glyphs.

	If your system provides a font engine with text shaping capabilities,
	you probably want to answer NO here.

	Defines     : USE_TEXTSHAPER_INTERNALLY
	Depends on  : nothing
	Required by : nothing
	Enabled for : mini

FEATURE_EVENT_SOURCE						pflouret

	Enables support for event source (a.k.a Server-Sent Events).
	A web page can contact a remote server which asynchronously
	triggers events in the page.
	Initially known as FEATURE_REMOTE_EVENTS, it was rewritten
	substantially to match the latest version of the spec.

	Defines   : EVENT_SOURCE_SUPPORT
	Depends on: FEATURE_CROSSDOCUMENT_MESSAGING
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_MANUAL_PLUGIN_ACTIVATION			pettern

	The user must manually activate plugins that need user interaction
	by clicking on them. Plugins that doesn't need user interaction of
	any kind, like animations, will run as normal but if the user needs
	to input text or use the mouse the plugin will be frozen and show
	a message saying that the user needs to click on the plugin to
	activate it.

	Defines     : MANUAL_PLUGIN_ACTIVATION
	Depends on  : FEATURE_PLUGIN
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_TRUST_RATING						jonnyr

	Use this if you want to get trust-rating for web-sites you visit,
        useful as an anti-phishing feature.

	Defines     : TRUST_RATING
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_SYNC								pettern

	Synchronization code for bookmarks, speed dial etc. is included.
	This will allow the platform to participate in Opera Link and future
	synchronization options of any client data.
	The platform will still need to add platform code to call this code.

	Defines     : SUPPORT_DATA_SYNC
	Depends on  : FEATURE_OPERA_AUTH
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_URL_FILTER							pettern

	Whitelisting and blacklisting based on URL patterns.  Use this if you
	want to add ad blocking, parental filtering or similar.

	Defines     : URL_FILTER
	Depends on  : nothing
	Required by : FEATURE_WEB_TURBO_MODE
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_ADAPTIVE_ZOOM						wonko

	Use this feature if you want to be able to zoom in on mouse-hoovered
	blocks, on devices with a small screen. This is similar to the mode
	used on the Wii.

	Note that this feature causes a 17% performance loss when running oBench on a release gogi build with this enabled.

	Defines		: ADAPTIVE_ZOOM_SUPPORT
	Depends on	: nothing
	Required by	: nothing
	Enabled for : smartphone
	Disabled for: desktop, tv, minimal, mini

FEATURE_ANIMATED_SKIN_ELEMENTS						pettern

	Use this feature to turn on support for animated skin elements such
	as gif animations in skins. Should typically only be used on desktop
	platforms.

	Defines		: ANIMATED_SKIN_SUPPORT
	Depends on	: FEATURE_SKIN
	Required by	: nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_SETUP_INFO							markus

 	Makes it possible to retrieve information about which features/tweaks/API:s
 	are turned on or off in the running version of Opera. Useful in internal builds.

 	Defines     : SETUP_INFO
 	Group       : debug
 	Depends on  : nothing
 	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_GADGETS							lasse

	This enables Opera Widgets.  (In order to disambiguate in the code,
	however, the term "gadget" is used.)  Opera widgets are web apps
	running in a separate window (often chromeless and with a transparent
	background), using a separate cache and cookie store.  They also
	feature a persistent data store.  What makes these interesting is
	that each running instance of a widget has its own cache, cookies,
	and data store.

	Defines	    : GADGET_SUPPORT
	Depends on  : nothing
	Required by : FEATURE_OPERAWIDGETS_URL, FEATURE_OPERAUNITE_URL,
	              FEATURE_DOM_GADGET_FILE_API, FEATURE_GADGETS_BADGE,
	              FEATURE_SIGNED_GADGETS, FEATURE_DOM_JIL_API,
	              FEATURE_SCOPE_WIDGET_MANAGER,
	              FEATURE_EXTENSIONS
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SIGNED_GADGETS					lasse

	This enables the use of signed widgets with possibly elevated privileges.
	Signing is done via XML signatures.
	Allows you to use a mapping file, that maps different root CA's to different
	global widget security files (widget.xml files)
	It's still possible to run unsigned widgets if this is specified in the mapping file.

	Defines     : SIGNED_GADGET_SUPPORT
	Depends on  : FEATURE_GADGETS
	Required by : nothing
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_GADGETS_BADGE						lasse

	Enables opera.widget.setBadge method.

	Badge is a short textual message set by gadget author, that should be presented
	to the user. Most of the cases the badge will be simply a number of some sorts,
	meaning something both to the user and to the gadget. Since the badge is not part
	of microwidget view, the gadget integrator is free to implement his/her
	side however he likes: as a small emblem in one of the microwidget corners,
	a column in list view, some UI widget in gadget's chrome.

	Example usages: unread mails in mail reader (or messages in RSS aggregator); active
	items on eBay; items on ToDo list

	Defines	    : GADGET_BADGE_SUPPORT
	Depends on  : FEATURE_GADGETS
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_EXTENSIONS                      lasse

    This enables Opera Extensions.
    Opera extensions are derivates of Opera Widgets (as are Unite Services)
    with additions in the security model that allows them to do things that
    normal widgets aren't.
    Opera extensions are web applications running in the background through
    user javascripts, or embedded in the UI (f.ex. as a toolbar) or similar.

    Defines     : EXTENSION_SUPPORT
    Depends on  : FEATURE_GADGETS, FEATURE_CROSSDOCUMENT_MESSAGING
    Required by : FEATURE_OPERAEXTENSIONS_URL, FEATURE_DOM_EXTENSIONS_TAB_API
    Enabled for : desktop
    Disabled for: smartphone, tv, minimal, mini

FEATURE_PAN							wonko

	Use this feature if you want to be able to pan the document and its scrollable
	containers.

	Defines		: PAN_SUPPORT, GRAB_AND_SCROLL
	Depends on	: nothing
	Required by	: nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_OBML2D                             			bratell

	This feature allows web browsing through an Opera Mini server
	using the OBML2D protocol. This basically adds a new rendering
	engine beside the normal HTML layout engine. The OBML2D rendering
	engine is smaller, simpler and much faster than the HTML layout
	engine. It also introduces a network layer that will minimize the
	amount of data to transfer over the net as well as the number of
	connections made.

	Defines     : OBML_2D_SUPPORT
	Depends on  : nothing
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_SOCKET_IDLE_TIMER                   mstensho

	Enable support for setting an idle timer on each individual OpSocket,
	so that it may disconnect after a certain time of inactivity.
	Makes OpSocket::SetTimeOutInterval() available.

	Defines     : SOCKET_SUPPORTS_TIMER
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_BOOKMARKS                           adame

    Enable support for handling bookmarks.

    Defines     : CORE_BOOKMARKS_SUPPORT
    Depends on  : nothing
    Required by : FEATURE_BOOKMARKS_URL, FEATURE_SPEED_DIAL
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_BOOKMARKS_URL                       adame

    Enable the "opera:bookmarks" user interface, used for bookmarks
    handling.

    Defines     : OPERABOOKMARKS_URL
    Depends on  : FEATURE_BOOKMARKS, FEATURE_URL_OPERA
    Required by : nothing
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_THUMBNAILS                          marcusc

    This feature enables support for generating thumbnails.

    Defines     : CORE_THUMBNAIL_SUPPORT
    Depends on  : nothing
    Required by : nothing
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_SPEED_DIAL                          marcusc

	Enable support for speed dial. This can be used as a backend for a
	separate ui or together with the web-ui provided by FEATURE_SPEED_DIAL_URL.

	Defines     : CORE_SPEED_DIAL_SUPPORT
	Depends on  : FEATURE_BOOKMARKS
	Required by : FEATURE_SPEED_DIAL_URL
	Enabled for : smartphone, tv
	Disabled for: desktop, minimal, mini

FEATURE_SPEED_DIAL_URL                      marcusc

	Enable the "opera:speeddial" user interface.

	Defines     : OPERASPEEDDIAL_URL
	Depends on  : FEATURE_SPEED_DIAL, FEATURE_URL_OPERA
	Required by : nothing
	Enabled for : smartphone, tv
	Disabled for: desktop, minimal, mini

FEATURE_WEBSERVER                           haavardm

    Also known as Alien. This feature allows other browser client sto
    connect to an embedded http server in opera.It is possible to
    serve many kinds of services, for example content generated by
    javascript and/or c++, or just static files from the filesystem.

    Defines     : WEBSERVER_SUPPORT
    Depends on  : FEATURE_DOM_GADGET_FILE_API, FEATURE_TRANSFER, FEATURE_OPERA_AUTH
    Required by : FEATURE_WEBSERVER_RENDEZVOUS, FEATURE_OPERAUNITE_URL
    Enabled for : desktop
    Disabled for: smartphone, tv, minimal, mini

FEATURE_WEBSERVER_RENDEZVOUS                chrism

    This feature allow the embedded webserver to get a public url
    address at opera.com like device.username.operaunite.com.

    Defines     : WEBSERVER_RENDEZVOUS_SUPPORT
    Depends on  : FEATURE_WEBSERVER
    Required by : nothing
    Enabled for : desktop
    Disabled for: smartphone, tv, minimal, mini

FEATURE_OPERA_AUTH                          roarl

    This feature enables registration and authentication through the
    opera authentication server, for MyOpera, sync and Unite.

    Defines     : OPERA_AUTH_SUPPORT
    Depends on  : FEATURE_TRANSFER
    Required by : FEATURE_WEBSERVER,FEATURE_SYNC
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_BYTEMOBILE_EBO3                     roarl

    This feature enables ByteMobile optimisations. Communications with a
    dedicated ByteMobile proxy will be zlib-compressed, increasing the
    download speed on bandwidth-limited devices. Images served through a
    ByteMobile proxy are compressed, and requests sent to the proxy can
    be returned out of order.

    Defines     : _EMBEDDED_BYTEMOBILE
    Depends on  : nothing
    Required by : nothing
    Enabled for : smartphone
    Disabled for: desktop, tv, minimal, mini

FEATURE_URL_MOVED_EVENT                    kevinor

	This feature enables communicating URL moved events (redirects)
	through windowcommander and GOGI.

	Defines     : URL_MOVED_EVENT
	Depends on  : nothing
	Required by : nothing
	Enabled for : mini
	Disabled for: desktop, smartphone, tv, minimal

FEATURE_DOM_GADGET_FILE_API                       lasse

	Adds extensions to the DOM environment to support access to the
	filesystem; including reading and writing files.  These extensions
	are only available to widgets (and alien widgets), which has the
	file attribute set in config.xml.  Also, the user has to select,
	what we call a mount point, that is used as a cage for the file
	operations; no file operations is allowed outside of these cages.
	Further restriction can be done via the security_manager.

	In debug builds, this API is also available for all documents when
	the selftests are running.

	Defines		: DOM_GADGET_FILE_API_SUPPORT
	Depends on	: FEATURE_GADGETS
	Required by	: FEATURE_WEBSERVER
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_DOM_JIL_API                        msimonides

	Adds JIL API to the DOM environment. A JIL Widget (yes, capital W)
	object is added and all the hierarchy of objects below it.

	Full JIL support includes also path translation for file:// protocol,
	use TWEAK_URL_FILE_VIRTUAL_PATHS to enable it.

	Defines         : DOM_JIL_API_SUPPORT
	Depends on      : FEATURE_GADGETS
	Required by     : FEATURE_MEDIA_JIL_PLAYER, FEATURE_JIL_CAMERA
	Enabled for     : none
	Disabled for    : smartphone, tv, minimal, desktop, mini

FEATURE_DOM_GEOLOCATION                    lasse

	Enables the w3c geolocation API at navigate.geolocation in the
	DOM tree. This API may be used to retrieve information about
	the current GPS location of the device.

	When enabling this feature, the platform will need to implement
	the OpGeolocation PI interface.

	Defines		: DOM_GEOLOCATION_SUPPORT
	Depends on	: nothing
	Required by	: nothing
	Enabled for : desktop, smartphone
	Disabled for: minimal, mini, tv

FEATURE_INTEGRATED_DEVTOOLS					alexeyf

	Integrates development tools into the browser UI and enables code
	in core to support the special API available to them. This feature
	should only be enabled if your platform plans to support the
	Dragonfly client, i.e. the debugger tool itself. It is only
	recommended for proper desktop, not desktop-like products.

	Defines		: INTEGRATED_DEVTOOLS_SUPPORT
	Group		: Debug
	Depends on	: FEATURE_JS_SCOPE_CLIENT
	Required by	: nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_OPERA_VIEW_SOURCE                dtrelka

    This feature allows the browser to view document source internally.
    Source is displayed as a text file.

    Defines     : OPERA_VIEW_SOURCE
    Depends on  : nothing
    Required by : nothing
    Enabled for : none
    Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_NEARBY_ELEMENT_DETECTION             mstensho

    Support for detecting elements of interaction (anchor and form
    elements) within a specified radius around the coordinate at which
    a mouse button was pressed. These elements will be magnified (and
    possibly repositioned as well), while the original webpage will be
    faded out, blurred, or otherwise made less prominent. The user may
    then click on the element to select it (for activation (anchors)
    (i.e. typically follow a link) or further interaction (form
    elements)). When element interaction is done, the maginified
    elements will disappear again, and normal web page interaction
    will be resumed. This feature may be useful in products where
    users use their finger (and not a stylus) on a touch-screen to
    interact with the browser, since it is difficult to hit elements
    accurately then.

    Defines       : NEARBY_ELEMENT_DETECTION
    Depends on    : FEATURE_SKIN
    Required by   : nothing
    Enabled for   : smartphone
    Disabled for  : desktop, tv, minimal, mini

FEATURE_NEARBY_INTERACTIVE_ITEM_DETECTION		pdamek

	Sister feature to NEARBY_ELEMENT_DETECTION. Exposes methods in gogi, windowcommander and doc,
	that allow to search the given area of the top document (and subdocuments in case of frames or iframes)
	for user interactive items (e.g. anchors, elements with mouse button event handlers, scrollbars, form elements,
	usemap areas etc.).

	Outputs a list of such elements. Each of them has a region, which it occupies in the part of it's doc's
	visual viewport that is visible on the physical screen. The rectangles of those regions
	are in top doc root coordinates (or relative to the top left corner of the top-leftmost frame), unless
	a given rectangle is transformed (see CSS_TRANSFORMS). In such case it may be in local coordinate system
	with a transformation matrix that transforms it to a parallelogram in top doc root coordinates
	(or relative to the top left corner of the top-leftmost frame).

	An element will be added to the list iff at least one rectangle of it's region intersects the searched area.
	To see how is the region of an element determined, see SearchForElements method of the LayoutWorkplace api and
	ElementSearchObject class from the layout engine.

    Defines       : NEARBY_INTERACTIVE_ITEM_DETECTION
    Required by   : nothing
	Enabled for   : none
    Disabled for  : desktop, smartphone, tv, minimal, mini

FEATURE_CSS_TRANSITIONS                     rune

    Supports the CSS Transitions spec:
    http://www.w3.org/TR/css3-transitions/
	http://dev.w3.org/csswg/css3-transitions/

    Defines     : CSS_TRANSITIONS
    Depends on  : nothing
    Required by : FEATURE_CSS_ANIMATIONS
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_CSS_ANIMATIONS					   davve

	Supports the CSS Animations spec:
	http://www.w3.org/TR/css3-animations/
	http://dev.w3.org/csswg/css3-animations/

	Defines		: CSS_ANIMATIONS
	Depends on	: FEATURE_CSS_TRANSITIONS
	Required by : nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_CSS_TRANSFORMS                      davve

    Supports CSS transforms as specified by the working draft:
    http://www.w3.org/TR/css3-2d-transforms/

    Defines     : CSS_TRANSFORMS
    Depends on  : FEATURE_VEGA_OPPAINTER
    Required by : nothing
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_PUBLIC_DOMAIN_LIST                  bratell

	Support for using a list from the http://publicsuffix.org/ project
	to determine if a domain is a part of a site like opera.com or a
	"top level" domain like co.uk. This is used when determining if a
	site can transfer privileges upwards in the document chain. If
	this is enabled then the product has to include a file
	"public_domains.dat" in the resource directory. That list is in
	the format described by http://publicsuffix.org/format/ and might
	be the list supplied there or some other list. If this is enabled
	there will be a memory usage hit (about 30-40 bytes per rule in
	the list which means about 100KB for the current list) and a
	onetime time penalty when the list is read (80ms on a fast desktop
	so might be up to a second or more on a slower device). If this is
	_not_ enabled then it will be possible for sites to open
	themselves for abuse (document.domain case) and possibly even
	worse.

	Defines		: PUBLIC_DOMAIN_LIST
	Depends on	: nothing
	Required by	: nothing
	Enabled for	: desktop, mini
	Disabled for: smartphone, tv, minimal

FEATURE_VERIZON_EXTENSIONS					kswitalski

	This feature enables core support for Verizon specific http headers, like x-verizon-content.

	Defines		: SUPPORT_VERIZON_EXTENSIONS
	Depends on	: nothing
	Required by	: nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_WEB_TURBO_MODE						no

    This feature enables the Web Turbo Mode. Enabling this mode will
    make the browser use OBML from the Mini servers when suitable and
    automatically switch to regular HTML/CSS/JS via a traffic optimizing
    proxy when instructed by the Mini servers.

    Defines     : WEB_TURBO_MODE
    Depends on  : FEATURE_URL_FILTER
    Required by : nothing
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_DATABASE_STORAGE					joaoe

	This feature turns on support for the Web SQL Database
	API in DOM.
	Spec: http://www.w3.org/TR/webdatabase/

	Defines		: DATABASE_STORAGE_SUPPORT
	Depends on	: FEATURE_3P_SQLITE
	Required by	: nothing
	Enabled for : desktop, smartphone
	Disabled for: minimal, mini, tv

FEATURE_CLIENTSIDE_STORAGE					joaoe

	This feature turns on support for the Web Storage
	API in DOM.
	Note: to specify your own storage backend see
	modules/database/webstorage_data_abstraction.h
	Spec: http://www.w3.org/TR/webstorage/

	Defines		: CLIENTSIDE_STORAGE_SUPPORT
	Depends on	: nothing
	Required by	: nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_ON_DEMAND_PLUGIN                     adame

    Support for aborting loading of plugin content until the user has
    requested it. Requesting a plugin is done by a left click on the
    plugin area. Plugins that are not visible to the user are always
    loaded.

    Defines     : ON_DEMAND_PLUGIN
    Depends on  : FEATURE_PLUGIN
    Required by : nothing
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_PLATFORM_VIEWERS					jhoff

	This feature controls the creation of an OpPlatformViewers object. This
	interface, although still tiny, is meant to grow to become a helper for
	the viewers module to handle content better on a given platform.

	Defines     : USE_PLATFORM_VIEWERS
	Required by : FEATURE_EXTERNAL_BROWSER
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_TOUCH_EVENTS						terjes

	Enable this feature to allow Opera to be controlled by touch. A new
	input entry point gogi_touch_evt supports multiple concurrent touches
	and will relay the touch events to web pages supporting the touch
	interface implemented by iPhone Safari and the Android browser.

	The input events will be translated to mouse events when applied to
	UI elements and web pages that are not designed for touch based input,
	so there is no need to also call gogi_mouse_evt. Note that touches
	cannot hover, therefore interface elements should not depend on this
	property.

	This feature will affect performance, and should only be enabled on
	touch based devices.

	See also TWEAK_DOC_RETURN_TOUCH_EVENTS_TO_SENDER and
	FEATURE_RESERVED_REGIONS.

	Defines     : TOUCH_EVENTS_SUPPORT
	Depends on  : FEATURE_MOUSE
	Enabled for : desktop, smartphone
	Disabled for: tv, minimal, mini

FEATURE_EXTERNAL_BROWSER					jhoff

	Enable this feature this to be able to control the default browser on the
	system. This requires implementing OpPlatformViewers::OpenInDefaultBrowser.

	This feature is needed if widgets should be able to open links in the
	system default browser, which it should, according to the specification.
	(see CORE-23305)

	Defines     : USE_EXTERNAL_BROWSER
	Depends on  : FEATURE_PLATFORM_VIEWERS
	Required by : nothing
	Enabled for : desktop, tv
	Disabled for: smartphone, minimal, mini

FEATURE_SEARCH_PROVIDER_QUERY           joaoe

	This feature enables the core API that allows it to query
	platforms for search provider related information

	Defines     : SEARCH_PROVIDER_QUERY_SUPPORT
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_CROSSDOCUMENT_MESSAGING				sof

	This feature enables support for the WHATWG/HTML5 cross-document
	messaging facilities. (http://dev.w3.org/html5/postmsg/)

	Defines		: DOM_CROSSDOCUMENT_MESSAGING_SUPPORT
	Depends on	: nothing
	Required by	: FEATURE_WEB_WORKERS, FEATURE_EVENT_SOURCE, FEATURE_WEBSOCKETS, FEATURE_EXTENSIONS
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_WEB_WORKERS							sof

	This feature enables support for the WHATWG/HTML5 Web Workers
	API specification. (http://www.whatwg.org/specs/web-workers/current-work/)

	Defines		: DOM_WEBWORKERS_SUPPORT
	Depends on	: FEATURE_CROSSDOCUMENT_MESSAGING
	Required by	: nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_WEBSOCKETS						emoller

	This feature turns on support for the WebSocket API and protocol as specified
	by W3C and IETF.

	Defines		: WEBSOCKETS_SUPPORT
	Depends on	: FEATURE_CROSSDOCUMENT_MESSAGING
	Required by	: nothing
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_CSS_MINI_EXTENSIONS                        zkarwat

	Adds -o-mini-fold and -o-focus-opacity proprietary CSS styles.
	Should be enabled for mini server build, and disabled for any other
	configuration.

	Defines     : CSS_MINI_EXTENSIONS
	Depends on  : nothing
	Required by : nothing
	Enabled for : mini
	Disabled for: desktop, smartphone, tv, minimal

FEATURE_RESERVED_REGIONS					terjes

	There exist web pages that would like to handle UI gestures such as zooming
	and panning themselves. This feature facilitates such behaviour by defining
	methods that allow platforms to discover the region of a displayed document
	where the web application expects input. Any input events occuring within
	this region should be sent to Core for processing prior to being acted upon
	by the platform UI. An example of such a page is Google Maps.

	The primary function enabled is OpViewportController::GetReservedRegion.
	(Users of GOGI will find it reachable via op_get_reserved_rects.)

	See also TWEAK_WIC_RESERVE_{MOUSE, TOUCH}_REGIONS, which are used to configure
	this feature.

	Defines     : RESERVED_REGIONS
	Depends on  : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_XHR_SECURITY_OVERRIDE               florianr

    This feature allows the browser to override the security manager's
	decisions about whether or not to allow XMLHttpRequests.

	Defines     : XHR_SECURITY_OVERRIDE
	Depends on  : FEATURE_DOM_HTTP
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_SOCKS_SUPPORT							stanislavj
	This feature enables support for SOCKS (v5) proxying
	API specification  - http://www.faqs.org/rfcs/rfc1928.html
	BUG specification - https://bugs.opera.com/browse/CORE-1

	Defines	: SOCKS_SUPPORT
	Depends on	: nothing
	Required by	: nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_X11_SELECTION_POLICY                mstensho

	Use "X11" text selection policy, which enables support for two clipboards;
	one used for current mouse selection (which automatically puts text on
	the clipboard when text is selected with the mouse), and another for
	other/regular selection mechanisms (the user selects text, and manually
	copies it to the clipboard by pressing Ctrl+C, selecting "Copy" from a
	menu, etc.). This also enables support for clicking on the middle button
	to paste the current mouse selection.

	Defines     : _X11_SELECTION_POLICY_
	Depends on  : nothing
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_OPERA_PERFORMANCE							jonnyr

	Enables opera:performance

	Defines     : OPERA_PERFORMANCE
	Group       : debug
	Depends on  : FEATURE_PROBETOOLS
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_COOKIE_MANUAL_MANAGEMENT                awabik

	Adds new apis to manage cookies from the UI. These APIs allow to
	- force saving all cookies to file at any moment,
	- obtain a list of cookies with all data needed to fully recreate a cookie,
	- add a cookie.
	See modules/windowcommander/OpCookieManager.h
	or platforms/gogi/include/gogi_opera_api_template.h.
	This feature may be used to implement a custom cookie storage and control
	it with great precision.

	Defines     : COOKIE_MANUAL_MANAGEMENT
	Depends on  : FEATURE_DISK_COOKIES
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_PLUGIN_AUTO_INSTALL                 mzajaczkowski

	Use the autoupdate server to discover a plugin for a given mimetype, if
	such plugin is missing on the user system. Download the plugin from the
	autoupdate server and present user with UI for installing the plugin.
	Requires AUTO_UPDATE_SUPPORT from desktop.
	Requires the autoupdate server to support this.

	Defines     : PLUGIN_AUTO_INSTALL
	Depends on  : FEATURE_PLUGIN
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_CORS                      sof

    This enables Cross-Origin Resource Sharing (CORS).
    CORS enable client-side cross-origin requests, defining an API for
	making cross-origin requests to resources.

    Defines     : CORS_SUPPORT
	Depends on	: nothing
    Required by : nothing
    Enabled for : desktop, smartphone, tv
    Disabled for: minimal, mini

FEATURE_SPECULATIVE_PARSER					danielsp

	Speculatively parse the document stream when the regular HTML5
	parser is blocked waiting on an external script. Any inlines found
	will get loaded. The speculative parser will not run when delayed
	script execution is enabled.

	Defines     : SPECULATIVE_PARSER
	Depends on  : nothing
	Enabled for	: desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_DNS_PREFETCHING						danielsp

	Prefetch DNS resolutions for links when user hovers the link to
	speed up loading. Also prefetch the first few links in the
	document during parsing.

	Defines     : DNS_PREFETCHING
	Depends on  : nothing
	Enabled for	: desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_GOGI_OLD_WIDGET_API                 deprecated

	This feature replaces the new widget api in gogi
	with the old api.

FEATURE_XML_AIT_SUPPORT						asaka

	This feature adds support for handling XML AIT documents through a viewer,
	parsing them and passing on the parsed info to a listener.

	Defines     : XML_AIT_SUPPORT
	Depends on  : nothing
	Required by : nothing
	Enabled for : tv
	Disabled for: desktop, smartphone, minimal, mini

FEATURE_DOM_DEVICE_ORIENTATION_EVENT wmaslowski

	Implementation of events related to current device spatial orientation and
	movement.

	http://dev.w3.org/geo/api/spec-source-orientation.html

	Defines     : DOM_DEVICE_ORIENTATION_EVENT_SUPPORT
	Depends on  : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_WEB_HANDLERS						pstanek

	Enables possibility for a web pages to register themselves as a handlers
	for specific protocol/mime type.
	The web handlers spec can be found here: http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#custom-handlers.
	If this feature is enabled OpDocumentListener::OnWebHandler() and OpDocumentListener::OnMailToWebHandler()
	need to be implemented by the platform. Also OpPermissionListener needs to be implementer for this feature to work.

	Defines     : WEB_HANDLERS_SUPPORT
	Depends on  : FEATURE_DYNAMIC_VIEWERS
	Enabled for : desktop, smartphone, tv
	Disabled for: minimal, mini

FEATURE_SCREEN_WATERMARK					qingchengl

	Enable this to draw watermark string "Opera SDK Evaluation" on the center of gogi screen.

	Sometimes we have the requirement to deliver linux sdk evaluation build to customer.
	This feature will prevent the evaluation build not used in commercial purpose.
	(see ITVSDK-5046)

	Defines     : SCREEN_WATERMARK
	Depends on  : FEATURE_VEGA_OPPAINTER
	Required by : nothing
	Enabled for : none
	Disabled for: desktop, smartphone, tv, minimal, mini

FEATURE_PERSONA_SKIN							pettern

	Enable personas in addition to skins. Personas are a more simplied
	method to add a background picture and color scheme to the whole UI.

	Defines     : PERSONA_SKIN_SUPPORT
	Depends on  : FEATURE_SKIN
	Required by : nothing
	Enabled for : desktop
	Disabled for: smartphone, tv, mini, minimal

FEATURE_DOM_EXTENSIONS_TAB_API              wmaslowski

	Enables Tabs&Windows API in extensions.

	Defines     : DOM_EXTENSIONS_TAB_API_SUPPORT
	Depends on  : FEATURE_EXTENSIONS
	Enabled for : desktop
	Disabled for: smartphone, tv, minimal, mini

FEATURE_DEVICE_STOCK_UA_SUPPORT					andersh

	Enables sending of the Device-Stock-UA HTTP header when requesting
	documents. This is an extra header sent when requesting documents, that
	contains the User-Agent HTTP header used by the device's default browser.
	The intention is for this to be used by websites to determine device
	characteristics.

	Enabling this requires the platform to implement a new PI,
	OpSystemInfo::GetDeviceStockUA(). Enabling this does not affect what
	User-Agent header is sent.

	Defines		: DEVICE_STOCK_UA_SUPPORT
	Depends on	: nothing
	Enabled for	: smartphone, mini
	Disabled for: desktop, tv, minimal

FEATURE_ADVANCED_EMBED_PLACEHOLDER			deprecated

	Enabled unconditionally.

FEATURE_JAVA_NATIVE							deprecated

	The native Java implementation is replaced by the Oracle NPAPI plugin,
	i.e. by FEATURE_JAVA_PLUGIN.

FEATURE_JAVA_OPAPPLET						deprecated

	See FEATURE_JAVA_NATIVE.

FEATURE_JAVA_JNI						deprecated

	See FEATURE_JAVA_NATIVE.

FEATURE_JAVA_J9							deprecated

	See FEATURE_JAVA_NATIVE.

FEATURE_JAVA_SSL						deprecated

	See FEATURE_JAVA_NATIVE.

FEATURE_JAVA_RESOURCES						deprecated

	See FEATURE_JAVA_NATIVE.

FEATURE_JAVA								deprecated

	See FEATURE_JAVA_NATIVE.

FEATURE_NETSCAPE4_LIVECONNECT					deprecated

	See FEATURE_JAVA_NATIVE.

FEATURE_STATIC_OPERA_OBJECT					deprecated

	This feature has been deprecated in order to implement
	multi-process and multi-thread support where multiple
	g_opera objects may exist.

FEATURE_VIDEO_AND_AUDIO						deprecated

	FEATURE_VIDEO_AND_AUDIO has been replaced by FEATURE_VIDEO and FEATURE_AUDIO. Please remove.

FEATURE_VIDEO								deprecated

	Predates and is unrelated to HTML <video> and FEATURE_MEDIA.

FEATURE_AUDIO								deprecated

	Predates and is unrelated to HTML <audio> and FEATURE_MEDIA.

FEATURE_OGP									deprecated

	FEATURE_OGP is replaced by standard HTML5.

FEATURE_DOM_AUDIO						deprecated

	FEATURE_DOM_AUDIO is replaced by FEATURE_MEDIA

FEATURE_IPV6_SUPPORT						deprecated

	FEATURE_IPV6_SUPPORT has been renamed to FEATURE_IPV6.

FEATURE_BRANDED_BANNER_WITHOUT_REGISTRATION	deprecated

	FEATURE_BRANDED_BANNER_WITHOUT_REGISTRATION has been renamed to FEATURE_BRANDED_BANNER_NO_REG.

FEATURE_AUTO_PROXY_CONFIGURATION			deprecated

	FEATURE_AUTO_PROXY_CONFIGURATION has been renamed to FEATURE_AUTO_PROXY_CONFIG.

FEATURE_EXTERNAL_PROTOCOL_HANDLERS			deprecated

	FEATURE_EXTERNAL_PROTOCOL_HANDLERS has been renamed to FEATURE_EXT_PROTOCOL_HANDLERS.

FEATURE_UNCONVERTIBLE_CHARACTERS			deprecated

	FEATURE_UNCONVERTIBLE_CHARACTERS has been renamed to FEATURE_UNCONVERTIBLE_CHARS.

FEATURE_USE_ENTITIES_IN_FORM_DATA			deprecated

	FEATURE_USE_ENTITIES_IN_FORM_DATA has been renamed to FEATURE_USE_ENTITIES_IN_FORMS.

FEATURE_DOM2_TRAVERSAL_AND_RANGE			deprecated

	FEATURE_DOM2_TRAVERSAL_AND_RANGE has been renamed to FEATURE_DOM2_TRAV_AND_RANGE.

FEATURE_AUTOCOMPLETE						deprecated

	Code is now always enabled as part of the base HTML5 Forms support.

FEATURE_PIFORMS								deprecated

	Old switch between platform dependent forms and platform independent forms. Since 2005
	or earlier only platform independent forms have been supported.

FEATURE_WEBFORMS2							deprecated

	Code is now always enabled as part of the HTML5 Forms support.

FEATURE_BIG_ENDIAN							deprecated

	FEATURE_BIG_ENDIAN has been moved to the system and is known as SYSTEM_BIG_ENDIAN.

FEATURE_DLL_NAME_LOOKUP						deprecated

	FEATURE_DLL_NAME_LOOKUP has been moved to the system and is known as SYSTEM_DLL_NAME_LOOKUP.

FEATURE_GLOBALS								deprecated

	FEATURE_GLOBALS has been moved to the system and is known as SYSTEM_GLOBALS.

FEATURE_ABSOLUTE_TEXTPATH					deprecated

	FEATURE_ABSOLUTE_TEXTPATH is now always enabled and resides in features-default.h.

FEATURE_SETJMP								deprecated

	FEATURE_SETJMP has been moved to the system and is now known as SYSTEM_SETJMP.

FEATURE_SPLASH_SCREEN						deprecated

	FEATURE_SPLASH_SCREEN is deprecated since it is not used anylonger.

FEATURE_UNICODE_NS				            deprecated

	FEATURE_UNICODE_NS is now always enabled and resides in features-default.h.

FEATURE_UNICODE								deprecated

	FEATURE_UNICODE is now always enabled. UNICODE is defined in features-default.h.

FEATURE_EXTERNAL_SPOOF_LIST					deprecated

	FEATURE_EXTERNAL_SPOOF_LIST is superseded by host override support
	in prefsmanager. See FEATURE_PREFS_HOST_OVERRIDE.

FEATURE_TOOLTIP								deprecated

	FEATURE_TOOLTIP has been deprecated. Make sure to enable the define
	_TOOLTIP_SUPPORT_ if you still need this, or remove all occurrences
	of the define.

FEATURE_KEYBOARD							deprecated

	FEATURE_KEYBOARD has been deprecated. Use the OpKey system in hardcore
	to disable certain keys instead.

FEATURE_REMOTE_CONTROL						deprecated

	FEATURE_REMOTE_CONTROL has been deprecated. Use the OpKey system in hardcore
	to disable these keys instead.

FEATURE_BANNER								deprecated

	FEATURE_BANNER has been deprecated.

FEATURE_BRANDED_BANNER_NO_REG				deprecated

	FEATURE_BRANDED_BANNER_NO_REG has been deprecated.

FEATURE_SITE_LICENSE						deprecated

	FEATURE_SITE_LICENSE has been deprecated.

FEATURE_DOM2_EVENTS_API						deprecated

	FEATURE_DOM2_EVENTS_API has been deprecated and is now
	combined with FEATURE_XML_EVENTS.

FEATURE_ECMASCRIPT_CONSOLE					deprecated

	FEATURE_ECMASCRIPT_CONSOLE has been deprecated. Is replaced by the combination
	of FEATURE_CONSOLE and FEATURE_ECMASCRIPT_ERRORS.

FEATURE_ECMASCRIPT_EXPORT_REGEXP			deprecated

	FEATURE_ECMASCRIPT_EXPORT_REGEXP is deprecated. Use FEATURE_REGEXP and the
	API exported by modules/regexp.

FEATURE_ECMASCRIPT_PRIVATE_DTOA				deprecated

	FEATURE_ECMASCRIPT_PRIVATE_DTOA is deprecated. Use FEATURE_THIRDPARTY_CODE.

FEATURE_ECMASCRIPT_STRICT					deprecated

	FEATURE_ECMASCRIPT_STRICT is deprecated. Use TWEAK_ES_STRICT_LANGUAGE.

FEATURE_ECMASCRIPT_SUBSET_REGEXP			deprecated

	FEATURE_ECMASCRIPT_SUBSET_REGEXP is deprecated. Use TWEAK_REGEXP_SUBSET.

FEATURE_ECMASCRIPT_DENORMALS_OK				deprecated

	FEATURE_ECMASCRIPT_DENORMALS_OK is deprecated. Use SYSTEM_IEEE_DENORMALS.

FEATURE_ECMASCRIPT_DEBUGINFO				deprecated

	FEATURE_ECMASCRIPT_DEBUGINFO is deprecated.

FEATURE_LIBJPEG								deprecated

	FEATURE_LIBJPEG has been deprecated. FEATURE_JPG will use the internal
	jpeg decoder (jaypeg).

FEATURE_ADJUNCT								deprecated

	FEATURE_ADJUNCT has been deprecated. It is no longer needed.

FEATURE_REGEXP								deprecated

	Regular expression support is not optional.

FEATURE_ZLIB								deprecated

    FEATURE_ZLIB is supplanted by FEATURE_3P_ZLIB.

FEATURE_LEA_MALLOC                          deprecated

    FEATURE_LEA_MALLOC is supplanted by FEATURE_3P_LEA_MALLOC

FEATURE_THIRDPARTY_CODE                     deprecated

    FEATURE_THIRDPARTY_CODE is supplanted by FEATURE_3P_DTOA, FEATURE_3P_RANDOM,
    FEATURE_3P_MATHLIB, and FEATURE_3P_PRINTF_SCANF.

FEATURE_PREFS_INI_ESCAPED					deprecated

	FEATURE_PREFS_INI_ESCAPED has been replaced by API_PF_INI_ESCAPED.

FEATURE_PREFS_STRING_API					deprecated

	FEATURE_PREFS_STRING_API has been replaced by the API_PRF_STRING_API
	export.

FEATURE_PREFS_ENUMERATE						deprecated

	FEATURE_PREFS_ENUMERATE has been replaced by the API_PRF_ENUMERATE
	export.

FEATURE_DOM_PREFS_ACCESS					deprecated

	FEATURE_DOM_PREFS_ACCESS has been replaces by the API_DOM_PREFS_ACCESS
	export.

FEATURE_ENCODINGS_MIB						deprecated

	FEATURE_ENCODINGS_MIB has been replaced by the API_ENC_MIB export.

FEATURE_ENCODINGS_CHECK_ENDSTATE			deprecated

	FEATURE_ENCODINGS_CHECK_ENDSTATE has been replaced by the
	API_ENC_ENDSTATE export.

FEATURE_UNCONVERTIBLE_CHARS					deprecated

	FEATURE_UNCONVERTIBLE_CHARS has been replaced by the
	API_ENC_UNCONVERTIBLE export.

FEATURE_QUICK								deprecated

	This feature was removed because it is not a core feature.

FEATURE_QUICK_FONTDIALOG					deprecated

	This feature was removed because it is not a core feature.

FEATURE_M2									deprecated

	This feature was removed because it is not a core feature.

FEATURE_M2_XFACE_DECODE						deprecated

	This feature was removed because it is not a core feature.

FEATURE_M2_XFACE_ENCODE						deprecated

	This feature was removed because it is not a core feature.

FEATURE_PREFSFILE_DEL_ALL_SECS				deprecated

	FEATURE_PREFSFILE_DEL_ALL_SECS has been replaced by the
	API_PF_DEL_ALL_SECS export.

FEATURE_PREFSFILE_READ_ALL_SECS				deprecated

	FEATURE_PREFSFILE_READ_ALL_SECS has been replaced by the
	API_PF_READ_ALL_SECS export.

FEATURE_ASYNC_SLOT_OPERATIONS				deprecated

	Replaced by API_ESUILTS_ASYNC_PROPERTIES.

FEATURE_LEA_MALLOC_MONOLITHIC				deprecated

	Old single-block allocator.  Anyone still using this should, instead, import
	API_DLM_SINGLE_BLOCK and switch to using a SingleBlockHeap object instead.

FEATURE_SCRIPTS_IN_XML						deprecated

	Was always mostly an issue with the expat integration.  Script support
	in XML hasn't really been optional for a long time.

FEATURE_ECMASCRIPT_DEBUGGER					deprecated

	Replaced by FEATURE_SCOPE_ECMASCRIPT_DEBUG.

FEATURE_ENCODINGS_UTF32						deprecated

	UTF-32 has been disabled because of HTML5.
	See bug #316395 for more information.

FEATURE_PLUGIN_EXT_API						deprecated

	All defines are moved to FEATURE_PLUGIN as is feature was mandatory.

FEATURE_SOCKET_UDP							deprecated

	All users of UDP sockets should import the API from PI.

FEATURE_VALIDATION							deprecated

	The _VALIDATION_SUPPORT_ is never used in core.

FEATURE_ECMASCRIPT_PRECOMPILED				deprecated

	Never very useful, and obsolete (not supported) with Carakan.

FEATURE_ECMASCRIPT							deprecated

	ECMAScript support is not optional.

FEATURE_CHECK_SERIAL						deprecated

	Shareware registration code no longer available.

FEATURE_WEBFONTS							deprecated

    Webfonts support is now always enabled.

FEATURE_SOCKET_LISTEN						deprecated

	FEATURE_SOCKET_LISTEN has been replaced by the API_PI_SOCKET_LISTEN export.

FEATURE_DOM2_STYLE							deprecated

	This functionality is now always on.

FEATURE_PREFS_EXPAND_ENV					deprecated

	Expansion of environment variables in file names is now handled through
	OPFILE_SERIALIZED_FOLDER support. Expansion of environment variables in
	other variables will need to use API_PI_EXPAND_ENV_VARIABLES intead.

FEATURE_DYNAMIC_MEDIA_QUERIES				deprecated

	This functionality is now always on.

FEATURE_STATIC_MOTION_OBJECT				deprecated

	This functionality has been removed.

FEATURE_ECMASCRIPT_ERRORS                            deprecated

	Deprecated due to maintenance cost and due to being enabled
	by default in all configurations but minimal.

FEATURE_LAZY_REFLOW							deprecated

	This functionality is now always on.

FEATURE_DISK								deprecated

	This functionality is now always on.

FEATURE_CSS_COUNTER							deprecated

	This functionality is now always on.

FEATURE_3P_DTOA                             deprecated

	FEATURE_3P_DTOA is supplanted by FEATURE_3P_DTOA_DAVID_M_GAY and
	FEATURE_3P_DTOA_FLOITSCH_DOUBLE_CONVERSION.

FEATURE_SHARED_CSS                          deprecated

	This functionality is now always on.

FEATURE_ENCODINGS_UTF7						deprecated

	FEATURE_ENCODINGS_UTF7 has been replaced by API_ENC_UTF7.

FEATURE_TABLEMANAGER_ROM                    deprecated

	FEATURE_TABLEMANAGER_ROM has been replaced by TWEAK_ENC_ROM_TABLES.

FEATURE_TABLEMANAGER_COMPRESSED				deprecated

	FEATURE_TABLEMANAGER_ROM has been replaced by TWEAK_ENC_COMPRESSED_TABLES.

FEATURE_TABLEMANAGER_DYN_REV				deprecated

	FEATURE_TABLEMANAGER_ROM has been replaces by
	TWEAK_ENC_DYNAMIC_REV_TABLES.

FEATURE_CSS3_PSEUDO_CLASSES					deprecated

	This functionality is now always on.

FEATURE_CLIENTSIDESTORAGE_EVENTS			deprecated

	All the code now depends solely on FEATURE_CLIENTSIDE_STORAGE

FEATURE_WEBUI_FRAMEWORK						deprecated

	This functionality has been removed.

FEATURE_WEBUI								deprecated

	This functionality has been removed.

FEATURE_VBSCRIPT							deprecated

	This functionality has been removed.

FEATURE_E4X									deprecated

	This functionality has been removed.

FEATURE_XML									deprecated

	XML support is not optional.

FEATURE_XML_NAMESPACE						deprecated

	XML namespace support is not optional.

FEATURE_NOKIA_XML_PARSER					deprecated

	This functionality has been removed.

FEATURE_EXTERNAL_GEARS						deprecated

	This functionality has been removed.
