Throttle DOM timers on hidden pages.
[WebKit-https.git] / Source / WebCore / Configurations / FeatureDefines.xcconfig
1 // Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
2 // Copyright (C) 2009 Google Inc. All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions
6 // are met:
7 // 1. Redistributions of source code must retain the above copyright
8 //    notice, this list of conditions and the following disclaimer.
9 // 2. Redistributions in binary form must reproduce the above copyright
10 //    notice, this list of conditions and the following disclaimer in the
11 //    documentation and/or other materials provided with the distribution.
12 //
13 // THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
24
25 // The contents of this file must be kept in sync with FeatureDefines.xcconfig in JavaScriptCore,
26 // WebCore, WebKit and WebKit2.  Also the default values of the ENABLE_FEATURE_NAME macros in
27 // build-webkit should match the values below, but they do not need to be in the same order.
28
29 // Keep this list of features (not enabled/disabled state) in sync with FeatureDefines.vsprops
30 // and FeatureDefinesCairo.vsprops in WebKitLibraries/win/tools/vsprops.
31
32 // Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
33
34 ENABLE_3D_RENDERING = ENABLE_3D_RENDERING;
35 ENABLE_ACCELERATED_2D_CANVAS = ;
36 ENABLE_ANIMATION_API = ;
37 ENABLE_BLOB = ENABLE_BLOB;
38 ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;
39 ENABLE_CSP_NEXT = ;
40 ENABLE_CSS_BOX_DECORATION_BREAK = ENABLE_CSS_BOX_DECORATION_BREAK;
41 ENABLE_CSS_EXCLUSIONS = ENABLE_CSS_EXCLUSIONS;
42 ENABLE_CSS_FILTERS = ENABLE_CSS_FILTERS;
43 ENABLE_CSS_HIERARCHIES = ;
44 ENABLE_CSS_IMAGE_ORIENTATION = ;
45 ENABLE_CSS_IMAGE_RESOLUTION = ;
46 ENABLE_CSS_REGIONS = ENABLE_CSS_REGIONS;
47 ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS;
48 ENABLE_CSS_COMPOSITING = ENABLE_CSS_COMPOSITING;
49 ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
50 ENABLE_CSS_VARIABLES = ;
51 ENABLE_CSS3_TEXT_DECORATION = ;
52 ENABLE_CUSTOM_SCHEME_HANDLER = ;
53 ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(REAL_PLATFORM_NAME));
54 ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
55 ENABLE_DATALIST_ELEMENT = ;
56 ENABLE_DATA_TRANSFER_ITEMS = ;
57 ENABLE_DETAILS_ELEMENT = ENABLE_DETAILS_ELEMENT;
58 ENABLE_DEVICE_ORIENTATION = ;
59 ENABLE_DIALOG_ELEMENT = ;
60 ENABLE_DIRECTORY_UPLOAD = ;
61 ENABLE_FILE_SYSTEM = ;
62 ENABLE_FILTERS = $(ENABLE_FILTERS_$(REAL_PLATFORM_NAME));
63 ENABLE_FILTERS_macosx = ENABLE_FILTERS;
64 ENABLE_FULLSCREEN_API = ENABLE_FULLSCREEN_API;
65 ENABLE_GAMEPAD = ;
66 ENABLE_GEOLOCATION = ENABLE_GEOLOCATION;
67 ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING = $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING_$(REAL_PLATFORM_NAME));
68 ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING_macosx = ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING;
69 ENABLE_HIGH_DPI_CANVAS = ENABLE_HIGH_DPI_CANVAS;
70 ENABLE_ICONDATABASE = $(ENABLE_ICONDATABASE_$(REAL_PLATFORM_NAME));
71 ENABLE_ICONDATABASE_macosx = ENABLE_ICONDATABASE;
72 ENABLE_IFRAME_SEAMLESS = ENABLE_IFRAME_SEAMLESS;
73 ENABLE_INDEXED_DATABASE = ;
74 ENABLE_INPUT_SPEECH = ;
75 ENABLE_INPUT_TYPE_COLOR = ;
76 ENABLE_INPUT_TYPE_DATE = $(ENABLE_INPUT_TYPE_DATE_$(REAL_PLATFORM_NAME));
77 ENABLE_INPUT_TYPE_DATE_iphoneos = ENABLE_INPUT_TYPE_DATE;
78 ENABLE_INPUT_TYPE_DATE_iphonesimulator = ENABLE_INPUT_TYPE_DATE;
79 ENABLE_INPUT_TYPE_DATETIME = $(ENABLE_INPUT_TYPE_DATETIME_$(REAL_PLATFORM_NAME));
80 ENABLE_INPUT_TYPE_DATETIME_iphoneos = ENABLE_INPUT_TYPE_DATETIME;
81 ENABLE_INPUT_TYPE_DATETIME_iphonesimulator = ENABLE_INPUT_TYPE_DATETIME;
82 ENABLE_INPUT_TYPE_DATETIMELOCAL = $(ENABLE_INPUT_TYPE_DATETIMELOCAL_$(REAL_PLATFORM_NAME));
83 ENABLE_INPUT_TYPE_DATETIMELOCAL_iphoneos = ENABLE_INPUT_TYPE_DATETIMELOCAL;
84 ENABLE_INPUT_TYPE_DATETIMELOCAL_iphonesimulator = ENABLE_INPUT_TYPE_DATETIMELOCAL;
85 ENABLE_INPUT_TYPE_MONTH = $(ENABLE_INPUT_TYPE_MONTH_$(REAL_PLATFORM_NAME));
86 ENABLE_INPUT_TYPE_MONTH_iphoneos = ENABLE_INPUT_TYPE_MONTH;
87 ENABLE_INPUT_TYPE_MONTH_iphonesimulator = ENABLE_INPUT_TYPE_MONTH;
88 ENABLE_INPUT_TYPE_TIME = $(ENABLE_INPUT_TYPE_TIME_$(REAL_PLATFORM_NAME));
89 ENABLE_INPUT_TYPE_TIME_iphoneos = ENABLE_INPUT_TYPE_TIME;
90 ENABLE_INPUT_TYPE_TIME_iphonesimulator = ENABLE_INPUT_TYPE_TIME;
91 ENABLE_INPUT_TYPE_WEEK = $(ENABLE_INPUT_TYPE_WEEK_$(REAL_PLATFORM_NAME));
92 ENABLE_INPUT_TYPE_WEEK_iphoneos = ENABLE_INPUT_TYPE_WEEK;
93 ENABLE_INPUT_TYPE_WEEK_iphonesimulator = ENABLE_INPUT_TYPE_WEEK;
94 ENABLE_JAVASCRIPT_DEBUGGER = ENABLE_JAVASCRIPT_DEBUGGER;
95 ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
96 ENABLE_LEGACY_NOTIFICATIONS = $(ENABLE_LEGACY_NOTIFICATIONS_$(REAL_PLATFORM_NAME));
97 ENABLE_LEGACY_NOTIFICATIONS_macosx = $(ENABLE_LEGACY_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
98 ENABLE_LEGACY_NOTIFICATIONS_macosx_1070 = ;
99 ENABLE_LEGACY_NOTIFICATIONS_macosx_1080 = ENABLE_LEGACY_NOTIFICATIONS;
100 ENABLE_LEGACY_NOTIFICATIONS_macosx_1090 = ENABLE_LEGACY_NOTIFICATIONS;
101 ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
102 ENABLE_LEGACY_WEB_AUDIO = ENABLE_LEGACY_WEB_AUDIO;
103 ENABLE_LINK_PREFETCH = ;
104 ENABLE_LINK_PRERENDER = ;
105 ENABLE_MATHML = ENABLE_MATHML;
106 ENABLE_MEDIA_SOURCE = ;
107 ENABLE_MEDIA_STATISTICS = ;
108 ENABLE_METER_ELEMENT = ENABLE_METER_ELEMENT;
109 ENABLE_MHTML = ;
110 ENABLE_MICRODATA = ;
111 ENABLE_NAVIGATOR_CONTENT_UTILS = ;
112 ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS;
113 ENABLE_NOTIFICATIONS = $(ENABLE_NOTIFICATIONS_$(REAL_PLATFORM_NAME));
114 ENABLE_NOTIFICATIONS_macosx = $(ENABLE_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
115 ENABLE_NOTIFICATIONS_macosx_1070 = ;
116 ENABLE_NOTIFICATIONS_macosx_1080 = ENABLE_NOTIFICATIONS;
117 ENABLE_NOTIFICATIONS_macosx_1090 = ENABLE_NOTIFICATIONS;
118 ENABLE_PAGE_VISIBILITY_API = ;
119 ENABLE_PROGRESS_ELEMENT = ENABLE_PROGRESS_ELEMENT;
120 ENABLE_QUOTA = ;
121 ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
122 ENABLE_SCRIPTED_SPEECH = ;
123 ENABLE_SHADOW_DOM = ;
124 ENABLE_SHARED_WORKERS = ENABLE_SHARED_WORKERS;
125 ENABLE_SQL_DATABASE = ENABLE_SQL_DATABASE;
126 ENABLE_STYLE_SCOPED = ;
127 ENABLE_SVG = ENABLE_SVG;
128 ENABLE_SVG_DOM_OBJC_BINDINGS = $(ENABLE_SVG_DOM_OBJC_BINDINGS_$(REAL_PLATFORM_NAME));
129 ENABLE_SVG_DOM_OBJC_BINDINGS_macosx = ENABLE_SVG_DOM_OBJC_BINDINGS;
130 ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
131 ENABLE_TEXT_AUTOSIZING = ;
132 ENABLE_TEXT_NOTIFICATIONS_ONLY = ENABLE_TEXT_NOTIFICATIONS_ONLY;
133 ENABLE_TOUCH_ICON_LOADING = ;
134 ENABLE_UNDO_MANAGER = ;
135 ENABLE_VIDEO = ENABLE_VIDEO;
136 ENABLE_VIDEO_TRACK = $(ENABLE_VIDEO_TRACK_$(REAL_PLATFORM_NAME));
137 ENABLE_VIDEO_TRACK_macosx = ENABLE_VIDEO_TRACK;
138 ENABLE_WEBGL = ENABLE_WEBGL;
139 ENABLE_WEB_AUDIO = ENABLE_WEB_AUDIO;
140 ENABLE_WEB_SOCKETS = ENABLE_WEB_SOCKETS;
141 ENABLE_WEB_TIMING = ;
142 ENABLE_WIDGET_REGION = $(ENABLE_WIDGET_REGION_$(REAL_PLATFORM_NAME));
143 ENABLE_WIDGET_REGION_macosx = ENABLE_WIDGET_REGION;
144 ENABLE_WORKERS = ENABLE_WORKERS;
145 ENABLE_XSLT = ENABLE_XSLT;
146
147 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);