Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(529)

Side by Side Diff: Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h

Issue 13772003: Move bindings/generic/* to bindings/v8/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /*
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 are
6 * met:
7 *
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
13 * distribution.
14 * * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31 #ifndef RuntimeEnabledFeatures_h
32 #define RuntimeEnabledFeatures_h
33
34 #include "PlatformExportMacros.h"
35
36 namespace WebCore {
37
38 // A class that stores static enablers for all experimental features. Note that
39 // the method names must line up with the JavaScript method they enable for code
40 // generation to work properly.
41
42 class RuntimeEnabledFeatures {
43 public:
44 static void setLocalStorageEnabled(bool isEnabled) { isLocalStorageEnabled = isEnabled; }
45 static bool localStorageEnabled() { return isLocalStorageEnabled; }
46
47 static void setSessionStorageEnabled(bool isEnabled) { isSessionStorageEnabl ed = isEnabled; }
48 static bool sessionStorageEnabled() { return isSessionStorageEnabled; }
49
50 static void setWebkitNotificationsEnabled(bool isEnabled) { isWebkitNotifica tionsEnabled = isEnabled; }
51 static bool webkitNotificationsEnabled() { return isWebkitNotificationsEnabl ed; }
52
53 static void setApplicationCacheEnabled(bool isEnabled) { isApplicationCacheE nabled = isEnabled; }
54 static bool applicationCacheEnabled() { return isApplicationCacheEnabled; }
55
56 static void setDataTransferItemsEnabled(bool isEnabled) { isDataTransferItem sEnabled = isEnabled; }
57 static bool dataTransferItemsEnabled() { return isDataTransferItemsEnabled; }
58
59 static void setGeolocationEnabled(bool isEnabled) { isGeolocationEnabled = i sEnabled; }
60 static bool geolocationEnabled() { return isGeolocationEnabled; }
61
62 static void setWebkitIndexedDBEnabled(bool isEnabled) { isIndexedDBEnabled = isEnabled; }
63 static bool webkitIndexedDBEnabled() { return isIndexedDBEnabled; }
64 static bool indexedDBEnabled() { return isIndexedDBEnabled; }
65
66 #if ENABLE(CANVAS_PATH)
67 static void setCanvasPathEnabled(bool isEnabled) { isCanvasPathEnabled = isE nabled; }
68 static bool canvasPathEnabled() { return isCanvasPathEnabled; }
69 #else
70 static void setCanvasPathEnabled(bool) { }
71 static bool canvasPathEnabled() { return false; }
72 #endif
73
74 #if ENABLE(CSS_EXCLUSIONS)
75 static void setCSSExclusionsEnabled(bool isEnabled) { isCSSExclusionsEnabled = isEnabled; }
76 static bool cssExclusionsEnabled() { return isCSSExclusionsEnabled; }
77 #else
78 static void setCSSExclusionsEnabled(bool) { }
79 static bool cssExclusionsEnabled() { return false; }
80 #endif
81
82 #if ENABLE(CSS_REGIONS)
83 static void setCSSRegionsEnabled(bool isEnabled) { isCSSRegionsEnabled = isE nabled; }
84 static bool cssRegionsEnabled() { return isCSSRegionsEnabled; }
85 #else
86 static void setCSSRegionsEnabled(bool) { }
87 static bool cssRegionsEnabled() { return false; }
88 #endif
89
90 #if ENABLE(CSS_COMPOSITING)
91 static void setCSSCompositingEnabled(bool isEnabled) { isCSSCompositingEnabl ed = isEnabled; }
92 static bool cssCompositingEnabled() { return isCSSCompositingEnabled; }
93 #else
94 static void setCSSCompositingEnabled(bool) { }
95 static bool cssCompositingEnabled() { return false; }
96 #endif
97
98 #if ENABLE(FONT_LOAD_EVENTS)
99 static void setFontLoadEventsEnabled(bool isEnabled) { isFontLoadEventsEnabl ed = isEnabled; }
100 static bool fontLoadEventsEnabled() { return isFontLoadEventsEnabled; }
101 #else
102 static void setFontLoadEventsEnabled(bool) { }
103 static bool fontLoadEventsEnabled() { return false; }
104 #endif
105
106 // Mozilla version
107 static bool webkitFullScreenAPIEnabled() { return isFullScreenAPIEnabled; }
108 static void setWebkitFullScreenAPIEnabled(bool isEnabled) { isFullScreenAPIE nabled = isEnabled; }
109 static bool webkitRequestFullScreenEnabled() { return isFullScreenAPIEnabled ; }
110 static bool webkitIsFullScreenEnabled() { return isFullScreenAPIEnabled; }
111 static bool webkitFullScreenKeyboardInputAllowedEnabled() { return isFullScr eenAPIEnabled; }
112 static bool webkitCurrentFullScreenElementEnabled() { return isFullScreenAPI Enabled; }
113 static bool webkitCancelFullScreenEnabled() { return isFullScreenAPIEnabled; }
114
115 // W3C version
116 static bool webkitFullscreenEnabledEnabled() { return isFullScreenAPIEnabled ; }
117 static bool webkitFullscreenElementEnabled() { return isFullScreenAPIEnabled ; }
118 static bool webkitExitFullscreenEnabled() { return isFullScreenAPIEnabled; }
119 static bool webkitRequestFullscreenEnabled() { return isFullScreenAPIEnabled ; }
120
121 #if ENABLE(VIDEO)
122 static bool audioEnabled();
123 static bool htmlMediaElementEnabled();
124 static bool htmlAudioElementEnabled();
125 static bool htmlVideoElementEnabled();
126 static bool htmlSourceElementEnabled();
127 static bool mediaControllerEnabled();
128 static bool mediaErrorEnabled();
129 static bool timeRangesEnabled();
130 #endif
131
132 #if ENABLE(SHARED_WORKERS)
133 static bool sharedWorkerEnabled();
134 #endif
135
136 #if ENABLE(WEB_SOCKETS)
137 static bool webSocketEnabled();
138 #endif
139
140 #if ENABLE(SQL_DATABASE)
141 static bool openDatabaseEnabled();
142 static bool openDatabaseSyncEnabled();
143 #endif
144
145 #if ENABLE(WEB_AUDIO)
146 static void setWebkitAudioContextEnabled(bool isEnabled) { isWebAudioEnabled = isEnabled; }
147 static bool webkitAudioContextEnabled() { return isWebAudioEnabled; }
148 static bool webkitOfflineAudioContextEnabled() { return isWebAudioEnabled; }
149 #endif
150
151 #if ENABLE(TOUCH_EVENTS)
152 static bool touchEnabled() { return isTouchEnabled; }
153 static void setTouchEnabled(bool isEnabled) { isTouchEnabled = isEnabled; }
154 #endif
155
156 static void setDeviceMotionEnabled(bool isEnabled) { isDeviceMotionEnabled = isEnabled; }
157 static bool deviceMotionEnabled() { return isDeviceMotionEnabled; }
158 static bool deviceMotionEventEnabled() { return isDeviceMotionEnabled; }
159 static bool ondevicemotionEnabled() { return isDeviceMotionEnabled; }
160
161 static void setDeviceOrientationEnabled(bool isEnabled) { isDeviceOrientatio nEnabled = isEnabled; }
162 static bool deviceOrientationEnabled() { return isDeviceOrientationEnabled; }
163 static bool deviceOrientationEventEnabled() { return isDeviceOrientationEnab led; }
164 static bool ondeviceorientationEnabled() { return isDeviceOrientationEnabled ; }
165
166 static void setSpeechInputEnabled(bool isEnabled) { isSpeechInputEnabled = i sEnabled; }
167 static bool speechInputEnabled() { return isSpeechInputEnabled; }
168 static bool webkitSpeechEnabled() { return isSpeechInputEnabled; }
169 static bool webkitGrammarEnabled() { return isSpeechInputEnabled; }
170
171 #if ENABLE(SCRIPTED_SPEECH)
172 static void setScriptedSpeechEnabled(bool isEnabled) { isScriptedSpeechEnabl ed = isEnabled; }
173 static bool scriptedSpeechEnabled() { return isScriptedSpeechEnabled; }
174 static bool webkitSpeechRecognitionEnabled() { return isScriptedSpeechEnable d; }
175 static bool webkitSpeechRecognitionErrorEnabled() { return isScriptedSpeechE nabled; }
176 static bool webkitSpeechRecognitionEventEnabled() { return isScriptedSpeechE nabled; }
177 static bool webkitSpeechGrammarEnabled() { return isScriptedSpeechEnabled; }
178 static bool webkitSpeechGrammarListEnabled() { return isScriptedSpeechEnable d; }
179 #endif
180
181 #if ENABLE(FILE_SYSTEM)
182 static bool fileSystemEnabled();
183 static void setFileSystemEnabled(bool isEnabled) { isFileSystemEnabled = isE nabled; }
184 #endif
185
186 #if ENABLE(JAVASCRIPT_I18N_API)
187 static bool javaScriptI18NAPIEnabled();
188 static void setJavaScriptI18NAPIEnabled(bool isEnabled) { isJavaScriptI18NAP IEnabled = isEnabled; }
189 #endif
190
191 #if ENABLE(MEDIA_STREAM)
192 static bool mediaStreamEnabled() { return isMediaStreamEnabled; }
193 static void setMediaStreamEnabled(bool isEnabled) { isMediaStreamEnabled = i sEnabled; }
194 static bool webkitGetUserMediaEnabled() { return isMediaStreamEnabled; }
195 static bool webkitMediaStreamEnabled() { return isMediaStreamEnabled; }
196
197 static bool peerConnectionEnabled() { return isMediaStreamEnabled && isPeerC onnectionEnabled; }
198 static void setPeerConnectionEnabled(bool isEnabled) { isPeerConnectionEnabl ed = isEnabled; }
199 static bool webkitRTCPeerConnectionEnabled() { return peerConnectionEnabled( ); }
200 #endif
201
202 #if ENABLE(GAMEPAD)
203 static void setWebkitGetGamepadsEnabled(bool isEnabled) { isGamepadEnabled = isEnabled; }
204 static bool webkitGetGamepadsEnabled() { return isGamepadEnabled; }
205 #endif
206
207 #if ENABLE(QUOTA)
208 static bool quotaEnabled() { return isQuotaEnabled; }
209 static void setQuotaEnabled(bool isEnabled) { isQuotaEnabled = isEnabled; }
210 #endif
211
212 static bool mediaSourceEnabled() { return isMediaSourceEnabled; }
213 static void setMediaSourceEnabled(bool isEnabled) { isMediaSourceEnabled = i sEnabled; }
214
215 #if ENABLE(ENCRYPTED_MEDIA)
216 static bool encryptedMediaEnabled() { return isEncryptedMediaEnabled; }
217 static void setEncryptedMediaEnabled(bool isEnabled) { isEncryptedMediaEnabl ed = isEnabled; }
218 #endif
219
220 #if ENABLE(VIDEO_TRACK)
221 static bool webkitVideoTrackEnabled() { return isVideoTrackEnabled; }
222 static void setWebkitVideoTrackEnabled(bool isEnabled) { isVideoTrackEnabled = isEnabled; }
223 #endif
224
225 #if ENABLE(SHADOW_DOM)
226 static bool shadowDOMEnabled() { return isShadowDOMEnabled; }
227 static void setShadowDOMEnabled(bool isEnabled) { isShadowDOMEnabled = isEna bled; }
228
229 static bool authorShadowDOMForAnyElementEnabled() { return isAuthorShadowDOM ForAnyElementEnabled; }
230 static void setAuthorShadowDOMForAnyElementEnabled(bool isEnabled) { isAutho rShadowDOMForAnyElementEnabled = isEnabled; }
231 #endif
232
233 #if ENABLE(CUSTOM_ELEMENTS)
234 static bool customDOMElementsEnabled() { return isCustomDOMElementsEnabled; }
235 static void setCustomDOMElements(bool isEnabled) { isCustomDOMElementsEnable d = isEnabled; }
236 #endif
237
238 #if ENABLE(STYLE_SCOPED)
239 static bool styleScopedEnabled() { return isStyleScopedEnabled; }
240 static void setStyleScopedEnabled(bool isEnabled) { isStyleScopedEnabled = i sEnabled; }
241 #endif
242
243 #if ENABLE(INPUT_TYPE_DATE)
244 static bool inputTypeDateEnabled() { return isInputTypeDateEnabled; }
245 static void setInputTypeDateEnabled(bool isEnabled) { isInputTypeDateEnabled = isEnabled; }
246 #endif
247
248 #if ENABLE(INPUT_TYPE_DATETIME_INCOMPLETE)
249 static bool inputTypeDateTimeEnabled() { return isInputTypeDateTimeEnabled; }
250 static void setInputTypeDateTimeEnabled(bool isEnabled) { isInputTypeDateTim eEnabled = isEnabled; }
251 #endif
252
253 #if ENABLE(INPUT_TYPE_DATETIMELOCAL)
254 static bool inputTypeDateTimeLocalEnabled() { return isInputTypeDateTimeLoca lEnabled; }
255 static void setInputTypeDateTimeLocalEnabled(bool isEnabled) { isInputTypeDa teTimeLocalEnabled = isEnabled; }
256 #endif
257
258 #if ENABLE(INPUT_TYPE_MONTH)
259 static bool inputTypeMonthEnabled() { return isInputTypeMonthEnabled; }
260 static void setInputTypeMonthEnabled(bool isEnabled) { isInputTypeMonthEnabl ed = isEnabled; }
261 #endif
262
263 #if ENABLE(INPUT_TYPE_TIME)
264 static bool inputTypeTimeEnabled() { return isInputTypeTimeEnabled; }
265 static void setInputTypeTimeEnabled(bool isEnabled) { isInputTypeTimeEnabled = isEnabled; }
266 #endif
267
268 #if ENABLE(INPUT_TYPE_WEEK)
269 static bool inputTypeWeekEnabled() { return isInputTypeWeekEnabled; }
270 static void setInputTypeWeekEnabled(bool isEnabled) { isInputTypeWeekEnabled = isEnabled; }
271 #endif
272
273 #if ENABLE(DIALOG_ELEMENT)
274 static bool dialogElementEnabled() { return isDialogElementEnabled; }
275 static void setDialogElementEnabled(bool isEnabled) { isDialogElementEnabled = isEnabled; }
276 #endif
277
278 static bool experimentalContentSecurityPolicyFeaturesEnabled() { return areE xperimentalContentSecurityPolicyFeaturesEnabled; }
279 static void setExperimentalContentSecurityPolicyFeaturesEnabled(bool isEnabl ed) { areExperimentalContentSecurityPolicyFeaturesEnabled = isEnabled; }
280
281 static bool seamlessIFramesEnabled() { return areSeamlessIFramesEnabled; }
282 static void setSeamlessIFramesEnabled(bool isEnabled) { areSeamlessIFramesEn abled = isEnabled; }
283
284 static bool langAttributeAwareFormControlUIEnabled() { return isLangAttribut eAwareFormControlUIEnabled; }
285 // The lang attribute support is incomplete and should only be turned on for tests.
286 static void setLangAttributeAwareFormControlUIEnabled(bool isEnabled) { isLa ngAttributeAwareFormControlUIEnabled = isEnabled; }
287
288 #if ENABLE(REQUEST_AUTOCOMPLETE)
289 static bool requestAutocompleteEnabled() { return isRequestAutocompleteEnabl ed; }
290 static void setRequestAutocompleteEnabled(bool isEnabled) { isRequestAutocom pleteEnabled = isEnabled; }
291 #endif
292
293 private:
294 // Never instantiate.
295 RuntimeEnabledFeatures() { }
296
297 static bool isLocalStorageEnabled;
298 static bool isSessionStorageEnabled;
299 static bool isWebkitNotificationsEnabled;
300 static bool isApplicationCacheEnabled;
301 static bool isDataTransferItemsEnabled;
302 static bool isGeolocationEnabled;
303 static bool isIndexedDBEnabled;
304 static bool isWebAudioEnabled;
305 static bool isTouchEnabled;
306 static bool isDeviceMotionEnabled;
307 static bool isDeviceOrientationEnabled;
308 static bool isSpeechInputEnabled;
309 static bool isCanvasPathEnabled;
310 static bool isCSSExclusionsEnabled;
311 static bool isCSSRegionsEnabled;
312 static bool isCSSCompositingEnabled;
313 WEBCORE_TESTING static bool isLangAttributeAwareFormControlUIEnabled;
314 #if ENABLE(SCRIPTED_SPEECH)
315 static bool isScriptedSpeechEnabled;
316 #endif
317 #if ENABLE(FILE_SYSTEM)
318 static bool isFileSystemEnabled;
319 #endif
320
321 #if ENABLE(JAVASCRIPT_I18N_API)
322 static bool isJavaScriptI18NAPIEnabled;
323 #endif
324
325 #if ENABLE(MEDIA_STREAM)
326 static bool isMediaStreamEnabled;
327 static bool isPeerConnectionEnabled;
328 #endif
329
330 #if ENABLE(GAMEPAD)
331 static bool isGamepadEnabled;
332 #endif
333
334 #if ENABLE(QUOTA)
335 static bool isQuotaEnabled;
336 #endif
337
338 static bool isFullScreenAPIEnabled;
339
340 static bool isMediaSourceEnabled;
341
342 #if ENABLE(ENCRYPTED_MEDIA)
343 static bool isEncryptedMediaEnabled;
344 #endif
345
346 #if ENABLE(VIDEO_TRACK)
347 static bool isVideoTrackEnabled;
348 #endif
349
350 #if ENABLE(SHADOW_DOM)
351 static bool isShadowDOMEnabled;
352
353 static bool isAuthorShadowDOMForAnyElementEnabled;
354 #endif
355
356 #if ENABLE(CUSTOM_ELEMENTS)
357 static bool isCustomDOMElementsEnabled;
358 #endif
359
360 #if ENABLE(STYLE_SCOPED)
361 static bool isStyleScopedEnabled;
362 #endif
363
364 #if ENABLE(INPUT_TYPE_DATE)
365 static bool isInputTypeDateEnabled;
366 #endif
367
368 #if ENABLE(INPUT_TYPE_DATETIME_INCOMPLETE)
369 static bool isInputTypeDateTimeEnabled;
370 #endif
371
372 #if ENABLE(INPUT_TYPE_DATETIMELOCAL)
373 static bool isInputTypeDateTimeLocalEnabled;
374 #endif
375
376 #if ENABLE(INPUT_TYPE_MONTH)
377 static bool isInputTypeMonthEnabled;
378 #endif
379
380 #if ENABLE(INPUT_TYPE_TIME)
381 static bool isInputTypeTimeEnabled;
382 #endif
383
384 #if ENABLE(INPUT_TYPE_WEEK)
385 static bool isInputTypeWeekEnabled;
386 #endif
387
388 #if ENABLE(DIALOG_ELEMENT)
389 static bool isDialogElementEnabled;
390 #endif
391
392 #if ENABLE(REQUEST_AUTOCOMPLETE)
393 static bool isRequestAutocompleteEnabled;
394 #endif
395
396 static bool areExperimentalContentSecurityPolicyFeaturesEnabled;
397
398 static bool areSeamlessIFramesEnabled;
399
400 #if ENABLE(FONT_LOAD_EVENTS)
401 static bool isFontLoadEventsEnabled;
402 #endif
403
404 };
405
406 } // namespace WebCore
407
408 #endif // RuntimeEnabledFeatures_h
OLDNEW
« no previous file with comments | « Source/WebCore/bindings/generic/GenericBinding.h ('k') | Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698