/*
* Copyright (C) 2009 Google Inc. All rights reserved.
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2017 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
#include "config.h"
#include "RuntimeEnabledFeatures.h"
-#include "DatabaseManager.h"
#include "MediaPlayer.h"
-#include "WebSocket.h"
#include <wtf/NeverDestroyed.h>
namespace WebCore {
RuntimeEnabledFeatures::RuntimeEnabledFeatures()
{
- reset();
#if ENABLE(MEDIA_STREAM) && PLATFORM(COCOA)
- m_isMediaStreamEnabled = false;
-#endif
-}
-
-void RuntimeEnabledFeatures::reset()
-{
- m_isLocalStorageEnabled = true;
- m_isSessionStorageEnabled = true;
- m_isWebkitNotificationsEnabled = false;
- m_isApplicationCacheEnabled = true;
- m_isDataTransferItemsEnabled = true;
- m_isGeolocationEnabled = true;
- m_isTouchEnabled = true;
- m_isDeviceMotionEnabled = true;
- m_isDeviceOrientationEnabled = true;
- m_isLinkPreloadEnabled = false;
- m_isLangAttributeAwareFormControlUIEnabled = false;
- m_isResourceTimingEnabled = false;
-#if ENABLE(INDEXED_DATABASE)
- m_isIndexedDBEnabled = true;
-#endif
-#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
- m_isIndexedDBWorkersEnabled = true;
-#endif
-#if ENABLE(WEB_RTC)
- m_isPeerConnectionEnabled = true;
-#endif
-#if ENABLE(LEGACY_CSS_VENDOR_PREFIXES)
- m_isLegacyCSSVendorPrefixesEnabled = false;
-#endif
-#if ENABLE(JAVASCRIPT_I18N_API)
- m_isJavaScriptI18NAPIEnabled = false;
-#endif
-#if ENABLE(INPUT_TYPE_DATE)
- m_isInputTypeDateEnabled = true;
-#endif
-#if ENABLE(INPUT_TYPE_DATETIME_INCOMPLETE)
- m_isInputTypeDateTimeEnabled = false;
-#endif
-#if ENABLE(INPUT_TYPE_DATETIMELOCAL)
- m_isInputTypeDateTimeLocalEnabled = true;
-#endif
-#if ENABLE(INPUT_TYPE_MONTH)
- m_isInputTypeMonthEnabled = true;
-#endif
-#if ENABLE(INPUT_TYPE_TIME)
- m_isInputTypeTimeEnabled = true;
-#endif
-#if ENABLE(INPUT_TYPE_WEEK)
- m_isInputTypeWeekEnabled = true;
-#endif
-#if ENABLE(CSP_NEXT)
- m_areExperimentalContentSecurityPolicyFeaturesEnabled = false;
-#endif
-#if ENABLE(FONT_LOAD_EVENTS)
- m_isFontLoadEventsEnabled = true;
-#endif
-#if ENABLE(CSS_ANIMATIONS_LEVEL_2)
- m_areAnimationTriggersEnabled = false;
-#endif
-#if ENABLE(WEB_ANIMATIONS)
- m_areWebAnimationsEnabled = false;
-#endif
-#if ENABLE(CSS_GRID_LAYOUT)
- m_cssGridLayoutEnabled = true;
-#endif
-#if ENABLE(INTERSECTION_OBSERVER)
- m_intersectionObserverEnabled = false;
+ m_isMediaDevicesEnabled = false;
#endif
}
return runtimeEnabledFeatures;
}
-#if ENABLE(JAVASCRIPT_I18N_API)
-bool RuntimeEnabledFeatures::javaScriptI18NAPIEnabled()
-{
- return m_isJavaScriptI18NAPIEnabled;
-}
-#endif
-
#if ENABLE(VIDEO)
bool RuntimeEnabledFeatures::audioEnabled() const
{
return MediaPlayer::isAvailable();
}
-
-bool RuntimeEnabledFeatures::htmlMediaElementEnabled() const
-{
- return MediaPlayer::isAvailable();
-}
-
-bool RuntimeEnabledFeatures::htmlAudioElementEnabled() const
-{
- return MediaPlayer::isAvailable();
-}
-
-bool RuntimeEnabledFeatures::htmlVideoElementEnabled() const
-{
- return MediaPlayer::isAvailable();
-}
-
-bool RuntimeEnabledFeatures::htmlSourceElementEnabled() const
-{
- return MediaPlayer::isAvailable();
-}
-
-bool RuntimeEnabledFeatures::mediaControllerEnabled() const
-{
- return MediaPlayer::isAvailable();
-}
-
-bool RuntimeEnabledFeatures::mediaErrorEnabled() const
-{
- return MediaPlayer::isAvailable();
-}
-
-bool RuntimeEnabledFeatures::timeRangesEnabled() const
-{
- return MediaPlayer::isAvailable();
-}
-#endif
-
-#if ENABLE(WEB_SOCKETS)
-bool RuntimeEnabledFeatures::webSocketEnabled() const
-{
- return WebSocket::isAvailable();
-}
#endif
} // namespace WebCore