Bug 1490044 - Move all prefs used in WebIDL to StaticPrefs. r=bzbarsky

Differential Revision: https://phabricator.services.mozilla.com/D33507

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Peter Van der Beken 2019-06-13 09:00:59 +00:00
Родитель 099e60b97b
Коммит 8b00dd9ff2
48 изменённых файлов: 701 добавлений и 459 удалений

Просмотреть файл

@ -1473,8 +1473,6 @@ pref("identity.fxaccounts.commands.missed.fetch_interval", 86400);
pref("ui.key.menuAccessKeyFocuses", true); pref("ui.key.menuAccessKeyFocuses", true);
#endif #endif
pref("media.eme.hdcp-policy-check.enabled", false);
// Whether we should run a test-pattern through EME GMPs before assuming they'll // Whether we should run a test-pattern through EME GMPs before assuming they'll
// decode H.264. // decode H.264.
pref("media.gmp.trial-create.enabled", true); pref("media.gmp.trial-create.enabled", true);

Просмотреть файл

@ -15453,15 +15453,8 @@ void Document::RecordNavigationTiming(ReadyState aReadyState) {
} }
bool Document::ModuleScriptsEnabled() { bool Document::ModuleScriptsEnabled() {
static bool sEnabledForContent = false; return nsContentUtils::IsChromeDoc(this) ||
static bool sCachedPref = false; StaticPrefs::dom_moduleScripts_enabled();
if (!sCachedPref) {
sCachedPref = true;
Preferences::AddBoolVarCache(&sEnabledForContent,
"dom.moduleScripts.enabled", false);
}
return nsContentUtils::IsChromeDoc(this) || sEnabledForContent;
} }
void Document::ReportShadowDOMUsage() { void Document::ReportShadowDOMUsage() {

Просмотреть файл

@ -23,6 +23,7 @@
#include "mozilla/HTMLEditor.h" #include "mozilla/HTMLEditor.h"
#include "mozilla/PresShell.h" #include "mozilla/PresShell.h"
#include "mozilla/RangeBoundary.h" #include "mozilla/RangeBoundary.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/Telemetry.h" #include "mozilla/Telemetry.h"
#include "nsCOMPtr.h" #include "nsCOMPtr.h"
@ -938,7 +939,7 @@ nsresult Selection::AddItem(nsRange* aItem, int32_t* aOutIndex,
Document* doc = GetParentObject(); Document* doc = GetParentObject();
bool selectEventsEnabled = bool selectEventsEnabled =
nsFrameSelection::sSelectionEventsEnabled || StaticPrefs::dom_select_events_enabled() ||
(doc && nsContentUtils::IsSystemPrincipal(doc->NodePrincipal())); (doc && nsContentUtils::IsSystemPrincipal(doc->NodePrincipal()));
if (!aNoStartSelect && mSelectionType == SelectionType::eNormal && if (!aNoStartSelect && mSelectionType == SelectionType::eNormal &&

Просмотреть файл

@ -11,6 +11,7 @@
#include "SelectionChangeEventDispatcher.h" #include "SelectionChangeEventDispatcher.h"
#include "mozilla/AsyncEventDispatcher.h" #include "mozilla/AsyncEventDispatcher.h"
#include "mozilla/StaticPrefs.h"
#include "nsCOMPtr.h" #include "nsCOMPtr.h"
#include "nsContentUtils.h" #include "nsContentUtils.h"
#include "mozilla/dom/Document.h" #include "mozilla/dom/Document.h"
@ -77,7 +78,7 @@ void SelectionChangeEventDispatcher::OnSelectionChange(Document* aDoc,
int16_t aReason) { int16_t aReason) {
Document* doc = aSel->GetParentObject(); Document* doc = aSel->GetParentObject();
if (!(doc && nsContentUtils::IsSystemPrincipal(doc->NodePrincipal())) && if (!(doc && nsContentUtils::IsSystemPrincipal(doc->NodePrincipal())) &&
!nsFrameSelection::sSelectionEventsEnabled) { !StaticPrefs::dom_select_events_enabled()) {
return; return;
} }

Просмотреть файл

@ -6147,7 +6147,7 @@ bool nsContentUtils::IsSubDocumentTabbable(nsIContent* aContent) {
} }
bool nsContentUtils::IsUserFocusIgnored(nsINode* aNode) { bool nsContentUtils::IsUserFocusIgnored(nsINode* aNode) {
if (!nsGenericHTMLFrameElement::BrowserFramesEnabled()) { if (!StaticPrefs::dom_mozBrowserFramesEnabled()) {
return false; return false;
} }

Просмотреть файл

@ -12,7 +12,7 @@ typedef CustomEventInit TestDictionaryTypedef;
interface TestExternalInterface; interface TestExternalInterface;
// We need a pref name that's in StaticPrefList.h here. // We need a pref name that's in StaticPrefList.h here.
[Pref="browser.dom.window.dump.enabled"] [Pref="abc.def"]
interface TestRenamedInterface { interface TestRenamedInterface {
}; };
@ -1221,10 +1221,9 @@ dictionary DictWithConditionalMembers {
[ChromeOnly, Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"] [ChromeOnly, Func="nsGenericHTMLElement::LegacyTouchAPIEnabled"]
long chromeOnlyFuncControlledMember; long chromeOnlyFuncControlledMember;
// We need a pref name that's in StaticPrefList.h here. // We need a pref name that's in StaticPrefList.h here.
[Pref="browser.dom.window.dump.enabled"] [Pref="abc.def"]
long prefControlledMember; long prefControlledMember;
[Pref="browser.dom.window.dump.enabled", ChromeOnly, [Pref="abc.def", ChromeOnly, Func="TestFuncControlledMember"]
Func="TestFuncControlledMember"]
long chromeOnlyFuncAndPrefControlledMember; long chromeOnlyFuncAndPrefControlledMember;
}; };

Просмотреть файл

@ -1672,7 +1672,7 @@ void EventStateManager::MaybeFirePointerCancel(WidgetInputEvent* aEvent) {
RefPtr<PresShell> presShell = mPresContext->GetPresShell(); RefPtr<PresShell> presShell = mPresContext->GetPresShell();
AutoWeakFrame targetFrame = mCurrentTarget; AutoWeakFrame targetFrame = mCurrentTarget;
if (!PointerEventHandler::IsPointerEventEnabled() || !presShell || if (!StaticPrefs::dom_w3c_pointer_events_enabled() || !presShell ||
!targetFrame) { !targetFrame) {
return; return;
} }
@ -4442,7 +4442,7 @@ static LayoutDeviceIntPoint GetWindowClientRectCenter(nsIWidget* aWidget) {
void EventStateManager::GeneratePointerEnterExit(EventMessage aMessage, void EventStateManager::GeneratePointerEnterExit(EventMessage aMessage,
WidgetMouseEvent* aEvent) { WidgetMouseEvent* aEvent) {
if (!PointerEventHandler::IsPointerEventEnabled()) { if (!StaticPrefs::dom_w3c_pointer_events_enabled()) {
return; return;
} }
WidgetPointerEvent pointerEvent(*aEvent); WidgetPointerEvent pointerEvent(*aEvent);

Просмотреть файл

@ -15,6 +15,7 @@
#include "mozilla/MouseEvents.h" #include "mozilla/MouseEvents.h"
#include "mozilla/Preferences.h" #include "mozilla/Preferences.h"
#include "mozilla/PresShell.h" #include "mozilla/PresShell.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/TextComposition.h" #include "mozilla/TextComposition.h"
#include "mozilla/TextEvents.h" #include "mozilla/TextEvents.h"
#include "mozilla/Unused.h" #include "mozilla/Unused.h"
@ -138,7 +139,6 @@ InputContext IMEStateManager::sActiveChildInputContext;
bool IMEStateManager::sInstalledMenuKeyboardListener = false; bool IMEStateManager::sInstalledMenuKeyboardListener = false;
bool IMEStateManager::sIsGettingNewIMEState = false; bool IMEStateManager::sIsGettingNewIMEState = false;
bool IMEStateManager::sCheckForIMEUnawareWebApps = false; bool IMEStateManager::sCheckForIMEUnawareWebApps = false;
bool IMEStateManager::sInputModeSupported = false;
// static // static
void IMEStateManager::Init() { void IMEStateManager::Init() {
@ -147,9 +147,6 @@ void IMEStateManager::Init() {
"intl.ime.hack.on_ime_unaware_apps.fire_key_events_for_composition", "intl.ime.hack.on_ime_unaware_apps.fire_key_events_for_composition",
false); false);
Preferences::AddBoolVarCache(&sInputModeSupported, "dom.forms.inputmode",
false);
sOrigin = XRE_IsParentProcess() ? InputContext::ORIGIN_MAIN sOrigin = XRE_IsParentProcess() ? InputContext::ORIGIN_MAIN
: InputContext::ORIGIN_CONTENT; : InputContext::ORIGIN_CONTENT;
ResetActiveChildInputContext(); ResetActiveChildInputContext();
@ -1349,7 +1346,7 @@ void IMEStateManager::SetIMEState(const IMEState& aState,
context.mHTMLInputType.Assign(nsGkAtoms::textarea->GetUTF16String()); context.mHTMLInputType.Assign(nsGkAtoms::textarea->GetUTF16String());
} }
if (sInputModeSupported || if (StaticPrefs::dom_forms_inputmode() ||
nsContentUtils::IsChromeDoc(aContent->OwnerDoc())) { nsContentUtils::IsChromeDoc(aContent->OwnerDoc())) {
aContent->AsElement()->GetAttr(kNameSpaceID_None, nsGkAtoms::inputmode, aContent->AsElement()->GetAttr(kNameSpaceID_None, nsGkAtoms::inputmode,
context.mHTMLInputInputmode); context.mHTMLInputInputmode);

Просмотреть файл

@ -354,7 +354,6 @@ class IMEStateManager {
static bool sIsGettingNewIMEState; static bool sIsGettingNewIMEState;
static bool sCheckForIMEUnawareWebApps; static bool sCheckForIMEUnawareWebApps;
static bool sInputModeSupported;
class MOZ_STACK_CLASS GettingNewIMEStateBlocker final { class MOZ_STACK_CLASS GettingNewIMEStateBlocker final {
public: public:

Просмотреть файл

@ -8,13 +8,13 @@
#include "nsIFrame.h" #include "nsIFrame.h"
#include "PointerEvent.h" #include "PointerEvent.h"
#include "mozilla/PresShell.h" #include "mozilla/PresShell.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/dom/MouseEventBinding.h" #include "mozilla/dom/MouseEventBinding.h"
namespace mozilla { namespace mozilla {
using namespace dom; using namespace dom;
static bool sPointerEventEnabled = true;
static bool sPointerEventImplicitCapture = false; static bool sPointerEventImplicitCapture = false;
Maybe<int32_t> PointerEventHandler::sSpoofedPointerId; Maybe<int32_t> PointerEventHandler::sSpoofedPointerId;
@ -50,8 +50,6 @@ void PointerEventHandler::Initialize() {
return; return;
} }
initialized = true; initialized = true;
Preferences::AddBoolVarCache(&sPointerEventEnabled,
"dom.w3c_pointer_events.enabled", true);
Preferences::AddBoolVarCache(&sPointerEventImplicitCapture, Preferences::AddBoolVarCache(&sPointerEventImplicitCapture,
"dom.w3c_pointer_events.implicit_capture", true); "dom.w3c_pointer_events.implicit_capture", true);
} }
@ -73,19 +71,15 @@ void PointerEventHandler::ReleaseStatics() {
sActivePointersIds = nullptr; sActivePointersIds = nullptr;
} }
/* static */
bool PointerEventHandler::IsPointerEventEnabled() {
return sPointerEventEnabled;
}
/* static */ /* static */
bool PointerEventHandler::IsPointerEventImplicitCaptureForTouchEnabled() { bool PointerEventHandler::IsPointerEventImplicitCaptureForTouchEnabled() {
return sPointerEventEnabled && sPointerEventImplicitCapture; return StaticPrefs::dom_w3c_pointer_events_enabled() &&
sPointerEventImplicitCapture;
} }
/* static */ /* static */
void PointerEventHandler::UpdateActivePointerState(WidgetMouseEvent* aEvent) { void PointerEventHandler::UpdateActivePointerState(WidgetMouseEvent* aEvent) {
if (!IsPointerEventEnabled() || !aEvent) { if (!StaticPrefs::dom_w3c_pointer_events_enabled() || !aEvent) {
return; return;
} }
switch (aEvent->mMessage) { switch (aEvent->mMessage) {
@ -253,7 +247,7 @@ void PointerEventHandler::CheckPointerCaptureState(WidgetPointerEvent* aEvent) {
if (!aEvent) { if (!aEvent) {
return; return;
} }
MOZ_ASSERT(IsPointerEventEnabled()); MOZ_ASSERT(StaticPrefs::dom_w3c_pointer_events_enabled());
MOZ_ASSERT(aEvent->mClass == ePointerEventClass); MOZ_ASSERT(aEvent->mClass == ePointerEventClass);
PointerCaptureInfo* captureInfo = GetPointerCaptureInfo(aEvent->pointerId); PointerCaptureInfo* captureInfo = GetPointerCaptureInfo(aEvent->pointerId);
@ -309,7 +303,7 @@ void PointerEventHandler::CheckPointerCaptureState(WidgetPointerEvent* aEvent) {
void PointerEventHandler::ImplicitlyCapturePointer(nsIFrame* aFrame, void PointerEventHandler::ImplicitlyCapturePointer(nsIFrame* aFrame,
WidgetEvent* aEvent) { WidgetEvent* aEvent) {
MOZ_ASSERT(aEvent->mMessage == ePointerDown); MOZ_ASSERT(aEvent->mMessage == ePointerDown);
if (!aFrame || !IsPointerEventEnabled() || if (!aFrame || !StaticPrefs::dom_w3c_pointer_events_enabled() ||
!IsPointerEventImplicitCaptureForTouchEnabled()) { !IsPointerEventImplicitCaptureForTouchEnabled()) {
return; return;
} }
@ -355,7 +349,7 @@ nsIContent* PointerEventHandler::GetPointerCapturingContent(
/* static */ /* static */
nsIContent* PointerEventHandler::GetPointerCapturingContent( nsIContent* PointerEventHandler::GetPointerCapturingContent(
WidgetGUIEvent* aEvent) { WidgetGUIEvent* aEvent) {
if (!IsPointerEventEnabled() || if (!StaticPrefs::dom_w3c_pointer_events_enabled() ||
(aEvent->mClass != ePointerEventClass && (aEvent->mClass != ePointerEventClass &&
aEvent->mClass != eMouseEventClass) || aEvent->mClass != eMouseEventClass) ||
aEvent->mMessage == ePointerDown || aEvent->mMessage == eMouseDown) { aEvent->mMessage == ePointerDown || aEvent->mMessage == eMouseDown) {
@ -494,7 +488,7 @@ void PointerEventHandler::DispatchPointerFromMouseOrTouch(
PresShell* aShell, nsIFrame* aFrame, nsIContent* aContent, PresShell* aShell, nsIFrame* aFrame, nsIContent* aContent,
WidgetGUIEvent* aEvent, bool aDontRetargetEvents, nsEventStatus* aStatus, WidgetGUIEvent* aEvent, bool aDontRetargetEvents, nsEventStatus* aStatus,
nsIContent** aTargetContent) { nsIContent** aTargetContent) {
MOZ_ASSERT(IsPointerEventEnabled()); MOZ_ASSERT(StaticPrefs::dom_w3c_pointer_events_enabled());
MOZ_ASSERT(aFrame || aContent); MOZ_ASSERT(aFrame || aContent);
MOZ_ASSERT(aEvent); MOZ_ASSERT(aEvent);

Просмотреть файл

@ -44,9 +44,6 @@ class PointerEventHandler final {
static void InitializeStatics(); static void InitializeStatics();
static void ReleaseStatics(); static void ReleaseStatics();
// Return the preference value of pointer event enabled.
static bool IsPointerEventEnabled();
// Return the preference value of implicit capture. // Return the preference value of implicit capture.
static bool IsPointerEventImplicitCaptureForTouchEnabled(); static bool IsPointerEventImplicitCaptureForTouchEnabled();

Просмотреть файл

@ -60,7 +60,7 @@ GamepadManager::GamepadManager()
mPromiseID(0) {} mPromiseID(0) {}
nsresult GamepadManager::Init() { nsresult GamepadManager::Init() {
mEnabled = IsAPIEnabled(); mEnabled = StaticPrefs::dom_gamepad_enabled();
mNonstandardEventsEnabled = mNonstandardEventsEnabled =
StaticPrefs::dom_gamepad_non_standard_events_enabled(); StaticPrefs::dom_gamepad_non_standard_events_enabled();
nsCOMPtr<nsIObserverService> observerService = nsCOMPtr<nsIObserverService> observerService =
@ -412,11 +412,6 @@ already_AddRefed<GamepadManager> GamepadManager::GetService() {
return service.forget(); return service.forget();
} }
// static
bool GamepadManager::IsAPIEnabled() {
return StaticPrefs::dom_gamepad_enabled();
}
bool GamepadManager::MaybeWindowHasSeenGamepad(nsGlobalWindowInner* aWindow, bool GamepadManager::MaybeWindowHasSeenGamepad(nsGlobalWindowInner* aWindow,
uint32_t aIndex) { uint32_t aIndex) {
if (!WindowHasSeenGamepad(aWindow, aIndex)) { if (!WindowHasSeenGamepad(aWindow, aIndex)) {

Просмотреть файл

@ -34,8 +34,6 @@ class GamepadManager final : public nsIObserver {
static bool IsServiceRunning(); static bool IsServiceRunning();
// Get the singleton service // Get the singleton service
static already_AddRefed<GamepadManager> GetService(); static already_AddRefed<GamepadManager> GetService();
// Return true if the API is preffed on.
static bool IsAPIEnabled();
void BeginShutdown(); void BeginShutdown();
void StopMonitoring(); void StopMonitoring();

Просмотреть файл

@ -15,6 +15,7 @@
#include "mozilla/dom/PositionErrorBinding.h" #include "mozilla/dom/PositionErrorBinding.h"
#include "mozilla/Preferences.h" #include "mozilla/Preferences.h"
#include "mozilla/Services.h" #include "mozilla/Services.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/Telemetry.h" #include "mozilla/Telemetry.h"
#include "mozilla/UniquePtr.h" #include "mozilla/UniquePtr.h"
#include "mozilla/Unused.h" #include "mozilla/Unused.h"
@ -502,16 +503,13 @@ NS_INTERFACE_MAP_END
NS_IMPL_ADDREF(nsGeolocationService) NS_IMPL_ADDREF(nsGeolocationService)
NS_IMPL_RELEASE(nsGeolocationService) NS_IMPL_RELEASE(nsGeolocationService)
static bool sGeoEnabled = true;
static int32_t sProviderTimeout = 6000; // Time, in milliseconds, to wait for static int32_t sProviderTimeout = 6000; // Time, in milliseconds, to wait for
// the location provider to spin up. // the location provider to spin up.
nsresult nsGeolocationService::Init() { nsresult nsGeolocationService::Init() {
Preferences::AddIntVarCache(&sProviderTimeout, "geo.timeout", Preferences::AddIntVarCache(&sProviderTimeout, "geo.timeout",
sProviderTimeout); sProviderTimeout);
Preferences::AddBoolVarCache(&sGeoEnabled, "geo.enabled", sGeoEnabled); if (!StaticPrefs::geo_enabled()) {
if (!sGeoEnabled) {
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
} }
@ -644,7 +642,7 @@ CachedPositionAndAccuracy nsGeolocationService::GetCachedPosition() {
} }
nsresult nsGeolocationService::StartDevice(nsIPrincipal* aPrincipal) { nsresult nsGeolocationService::StartDevice(nsIPrincipal* aPrincipal) {
if (!sGeoEnabled) { if (!StaticPrefs::geo_enabled()) {
return NS_ERROR_NOT_AVAILABLE; return NS_ERROR_NOT_AVAILABLE;
} }
@ -1069,7 +1067,7 @@ nsresult Geolocation::GetCurrentPosition(GeoPositionCallback callback,
this, std::move(callback), std::move(errorCallback), std::move(options), this, std::move(callback), std::move(errorCallback), std::move(options),
static_cast<uint8_t>(mProtocolType), target); static_cast<uint8_t>(mProtocolType), target);
if (!sGeoEnabled || ShouldBlockInsecureRequests() || if (!StaticPrefs::geo_enabled() || ShouldBlockInsecureRequests() ||
!FeaturePolicyBlocked()) { !FeaturePolicyBlocked()) {
request->RequestDelayedTask(target, request->RequestDelayedTask(target,
nsGeolocationRequest::DelayedTaskType::Deny); nsGeolocationRequest::DelayedTaskType::Deny);
@ -1142,7 +1140,7 @@ int32_t Geolocation::WatchPosition(GeoPositionCallback aCallback,
std::move(aOptions), static_cast<uint8_t>(mProtocolType), target, true, std::move(aOptions), static_cast<uint8_t>(mProtocolType), target, true,
watchId); watchId);
if (!sGeoEnabled || ShouldBlockInsecureRequests() || if (!StaticPrefs::geo_enabled() || ShouldBlockInsecureRequests() ||
!FeaturePolicyBlocked()) { !FeaturePolicyBlocked()) {
request->RequestDelayedTask(target, request->RequestDelayedTask(target,
nsGeolocationRequest::DelayedTaskType::Deny); nsGeolocationRequest::DelayedTaskType::Deny);

Просмотреть файл

@ -448,7 +448,7 @@ void GetDOMFileOrDirectoryPath(const OwningFileOrDirectory& aData,
/* static */ /* static */
bool HTMLInputElement::ValueAsDateEnabled(JSContext* cx, JSObject* obj) { bool HTMLInputElement::ValueAsDateEnabled(JSContext* cx, JSObject* obj) {
return IsExperimentalFormsEnabled() || IsInputDateTimeEnabled() || return IsExperimentalFormsEnabled() || StaticPrefs::dom_forms_datetime() ||
IsInputDateTimeOthersEnabled(); IsInputDateTimeOthersEnabled();
} }
@ -1918,7 +1918,7 @@ nsresult HTMLInputElement::ApplyStep(int32_t aStep) {
/* static */ /* static */
bool HTMLInputElement::IsExperimentalMobileType(uint8_t aType) { bool HTMLInputElement::IsExperimentalMobileType(uint8_t aType) {
return (aType == NS_FORM_INPUT_DATE || aType == NS_FORM_INPUT_TIME) && return (aType == NS_FORM_INPUT_DATE || aType == NS_FORM_INPUT_TIME) &&
!IsInputDateTimeEnabled(); !StaticPrefs::dom_forms_datetime();
} }
bool HTMLInputElement::IsDateTimeInputType(uint8_t aType) { bool HTMLInputElement::IsDateTimeInputType(uint8_t aType) {
@ -2336,7 +2336,7 @@ void HTMLInputElement::GetDisplayFileName(nsAString& aValue) const {
nsAutoString value; nsAutoString value;
if (mFileData->mFilesOrDirectories.IsEmpty()) { if (mFileData->mFilesOrDirectories.IsEmpty()) {
if ((IsDirPickerEnabled() && Allowdirs()) || if ((StaticPrefs::dom_input_dirpicker() && Allowdirs()) ||
(StaticPrefs::dom_webkitBlink_dirPicker_enabled() && (StaticPrefs::dom_webkitBlink_dirPicker_enabled() &&
HasAttr(kNameSpaceID_None, nsGkAtoms::webkitdirectory))) { HasAttr(kNameSpaceID_None, nsGkAtoms::webkitdirectory))) {
nsContentUtils::GetLocalizedString(nsContentUtils::eFORMS_PROPERTIES, nsContentUtils::GetLocalizedString(nsContentUtils::eFORMS_PROPERTIES,
@ -2375,7 +2375,7 @@ void HTMLInputElement::SetFilesOrDirectories(
mFileData->ClearGetFilesHelpers(); mFileData->ClearGetFilesHelpers();
if (IsWebkitFileSystemEnabled()) { if (StaticPrefs::dom_webkitBlink_filesystem_enabled()) {
HTMLInputElement_Binding::ClearCachedWebkitEntriesValue(this); HTMLInputElement_Binding::ClearCachedWebkitEntriesValue(this);
mFileData->mEntries.Clear(); mFileData->mEntries.Clear();
} }
@ -2392,7 +2392,7 @@ void HTMLInputElement::SetFiles(FileList* aFiles, bool aSetValueChanged) {
mFileData->mFilesOrDirectories.Clear(); mFileData->mFilesOrDirectories.Clear();
mFileData->ClearGetFilesHelpers(); mFileData->ClearGetFilesHelpers();
if (IsWebkitFileSystemEnabled()) { if (StaticPrefs::dom_webkitBlink_filesystem_enabled()) {
HTMLInputElement_Binding::ClearCachedWebkitEntriesValue(this); HTMLInputElement_Binding::ClearCachedWebkitEntriesValue(this);
mFileData->mEntries.Clear(); mFileData->mEntries.Clear();
} }
@ -2418,7 +2418,7 @@ void HTMLInputElement::MozSetDndFilesAndDirectories(
SetFilesOrDirectories(aFilesOrDirectories, true); SetFilesOrDirectories(aFilesOrDirectories, true);
if (IsWebkitFileSystemEnabled()) { if (StaticPrefs::dom_webkitBlink_filesystem_enabled()) {
UpdateEntries(aFilesOrDirectories); UpdateEntries(aFilesOrDirectories);
} }
@ -2499,7 +2499,7 @@ FileList* HTMLInputElement::GetFiles() {
return nullptr; return nullptr;
} }
if (IsDirPickerEnabled() && Allowdirs() && if (StaticPrefs::dom_input_dirpicker() && Allowdirs() &&
(!StaticPrefs::dom_webkitBlink_dirPicker_enabled() || (!StaticPrefs::dom_webkitBlink_dirPicker_enabled() ||
!HasAttr(kNameSpaceID_None, nsGkAtoms::webkitdirectory))) { !HasAttr(kNameSpaceID_None, nsGkAtoms::webkitdirectory))) {
return nullptr; return nullptr;
@ -3647,7 +3647,7 @@ nsresult HTMLInputElement::MaybeInitPickers(EventChainPostVisitor& aVisitor) {
nsCOMPtr<nsIContent> target = nsCOMPtr<nsIContent> target =
do_QueryInterface(aVisitor.mEvent->mOriginalTarget); do_QueryInterface(aVisitor.mEvent->mOriginalTarget);
if (target && target->FindFirstNonChromeOnlyAccessContent() == this && if (target && target->FindFirstNonChromeOnlyAccessContent() == this &&
((IsDirPickerEnabled() && Allowdirs()) || ((StaticPrefs::dom_input_dirpicker() && Allowdirs()) ||
(StaticPrefs::dom_webkitBlink_dirPicker_enabled() && (StaticPrefs::dom_webkitBlink_dirPicker_enabled() &&
HasAttr(kNameSpaceID_None, nsGkAtoms::webkitdirectory)))) { HasAttr(kNameSpaceID_None, nsGkAtoms::webkitdirectory)))) {
type = FILE_PICKER_DIRECTORY; type = FILE_PICKER_DIRECTORY;
@ -5108,39 +5108,14 @@ bool HTMLInputElement::ParseTime(const nsAString& aValue, uint32_t* aResult) {
bool HTMLInputElement::IsDateTimeTypeSupported(uint8_t aDateTimeInputType) { bool HTMLInputElement::IsDateTimeTypeSupported(uint8_t aDateTimeInputType) {
return ((aDateTimeInputType == NS_FORM_INPUT_DATE || return ((aDateTimeInputType == NS_FORM_INPUT_DATE ||
aDateTimeInputType == NS_FORM_INPUT_TIME) && aDateTimeInputType == NS_FORM_INPUT_TIME) &&
(IsInputDateTimeEnabled() || IsExperimentalFormsEnabled())) || (StaticPrefs::dom_forms_datetime() ||
IsExperimentalFormsEnabled())) ||
((aDateTimeInputType == NS_FORM_INPUT_MONTH || ((aDateTimeInputType == NS_FORM_INPUT_MONTH ||
aDateTimeInputType == NS_FORM_INPUT_WEEK || aDateTimeInputType == NS_FORM_INPUT_WEEK ||
aDateTimeInputType == NS_FORM_INPUT_DATETIME_LOCAL) && aDateTimeInputType == NS_FORM_INPUT_DATETIME_LOCAL) &&
IsInputDateTimeOthersEnabled()); IsInputDateTimeOthersEnabled());
} }
/* static */
bool HTMLInputElement::IsWebkitFileSystemEnabled() {
static bool sWebkitFileSystemEnabled = false;
static bool sWebkitFileSystemPrefCached = false;
if (!sWebkitFileSystemPrefCached) {
sWebkitFileSystemPrefCached = true;
Preferences::AddBoolVarCache(&sWebkitFileSystemEnabled,
"dom.webkitBlink.filesystem.enabled", false);
}
return sWebkitFileSystemEnabled;
}
/* static */
bool HTMLInputElement::IsDirPickerEnabled() {
static bool sDirPickerEnabled = false;
static bool sDirPickerPrefCached = false;
if (!sDirPickerPrefCached) {
sDirPickerPrefCached = true;
Preferences::AddBoolVarCache(&sDirPickerEnabled, "dom.input.dirpicker",
false);
}
return sDirPickerEnabled;
}
/* static */ /* static */
bool HTMLInputElement::IsExperimentalFormsEnabled() { bool HTMLInputElement::IsExperimentalFormsEnabled() {
static bool sExperimentalFormsEnabled = false; static bool sExperimentalFormsEnabled = false;
@ -5154,19 +5129,6 @@ bool HTMLInputElement::IsExperimentalFormsEnabled() {
return sExperimentalFormsEnabled; return sExperimentalFormsEnabled;
} }
/* static */
bool HTMLInputElement::IsInputDateTimeEnabled() {
static bool sDateTimeEnabled = false;
static bool sDateTimePrefCached = false;
if (!sDateTimePrefCached) {
sDateTimePrefCached = true;
Preferences::AddBoolVarCache(&sDateTimeEnabled, "dom.forms.datetime",
false);
}
return sDateTimeEnabled;
}
/* static */ /* static */
bool HTMLInputElement::IsInputDateTimeOthersEnabled() { bool HTMLInputElement::IsInputDateTimeOthersEnabled() {
static bool sDateTimeOthersEnabled = false; static bool sDateTimeOthersEnabled = false;

Просмотреть файл

@ -1597,30 +1597,12 @@ class HTMLInputElement final : public nsGenericHTMLFormElementWithState,
*/ */
static bool IsDateTimeTypeSupported(uint8_t aDateTimeInputType); static bool IsDateTimeTypeSupported(uint8_t aDateTimeInputType);
/**
* Checks preference "dom.webkitBlink.filesystem.enabled" to determine if
* webkitEntries should be supported.
*/
static bool IsWebkitFileSystemEnabled();
/**
* Checks preference "dom.input.dirpicker" to determine if file and directory
* entries API should be supported.
*/
static bool IsDirPickerEnabled();
/** /**
* Checks preference "dom.experimental_forms" to determine if experimental * Checks preference "dom.experimental_forms" to determine if experimental
* implementation of input element should be enabled. * implementation of input element should be enabled.
*/ */
static bool IsExperimentalFormsEnabled(); static bool IsExperimentalFormsEnabled();
/**
* Checks preference "dom.forms.datetime" to determine if input date and time
* should be supported.
*/
static bool IsInputDateTimeEnabled();
/** /**
* Checks preference "dom.forms.datetime.others" to determine if input week, * Checks preference "dom.forms.datetime.others" to determine if input week,
* month and datetime-local should be supported. * month and datetime-local should be supported.

Просмотреть файл

@ -6381,7 +6381,7 @@ void HTMLMediaElement::OnVisibilityChange(Visibility aNewVisibility) {
("OnVisibilityChange(): %s\n", VisibilityString(aNewVisibility))); ("OnVisibilityChange(): %s\n", VisibilityString(aNewVisibility)));
mVisibilityState = aNewVisibility; mVisibilityState = aNewVisibility;
if (StaticPrefs::MediaTestVideoSuspend()) { if (StaticPrefs::media_test_video_suspend()) {
DispatchAsyncEvent(NS_LITERAL_STRING("visibilitychanged")); DispatchAsyncEvent(NS_LITERAL_STRING("visibilitychanged"));
} }

Просмотреть файл

@ -131,7 +131,7 @@ class HTMLVideoElement final : public HTMLMediaElement {
already_AddRefed<VideoPlaybackQuality> GetVideoPlaybackQuality(); already_AddRefed<VideoPlaybackQuality> GetVideoPlaybackQuality();
bool MozOrientationLockEnabled() const { bool MozOrientationLockEnabled() const {
return StaticPrefs::MediaVideocontrolsLockVideoOrientation(); return StaticPrefs::media_videocontrols_lock_video_orientation();
} }
bool MozIsOrientationLocked() const { return mIsOrientationLocked; } bool MozIsOrientationLocked() const { return mIsOrientationLocked; }

Просмотреть файл

@ -8,6 +8,7 @@
#include "js/Date.h" #include "js/Date.h"
#include "mozilla/AsyncEventDispatcher.h" #include "mozilla/AsyncEventDispatcher.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/dom/HTMLInputElement.h" #include "mozilla/dom/HTMLInputElement.h"
#include "nsDOMTokenList.h" #include "nsDOMTokenList.h"
@ -20,19 +21,6 @@ const double DateTimeInputTypeBase::kMsPerDay = 24 * 60 * 60 * 1000;
using namespace mozilla; using namespace mozilla;
using namespace mozilla::dom; using namespace mozilla::dom;
/* static */
bool DateTimeInputTypeBase::IsInputDateTimeEnabled() {
static bool sDateTimeEnabled = false;
static bool sDateTimePrefCached = false;
if (!sDateTimePrefCached) {
sDateTimePrefCached = true;
mozilla::Preferences::AddBoolVarCache(&sDateTimeEnabled,
"dom.forms.datetime", false);
}
return sDateTimeEnabled;
}
bool DateTimeInputTypeBase::IsMutable() const { bool DateTimeInputTypeBase::IsMutable() const {
return !mInputElement->IsDisabled() && return !mInputElement->IsDisabled() &&
!mInputElement->HasAttr(kNameSpaceID_None, nsGkAtoms::readonly); !mInputElement->HasAttr(kNameSpaceID_None, nsGkAtoms::readonly);
@ -187,7 +175,7 @@ bool DateTimeInputTypeBase::GetTimeFromMs(double aValue, uint16_t* aHours,
// input type=date // input type=date
nsresult DateInputType::GetBadInputMessage(nsAString& aMessage) { nsresult DateInputType::GetBadInputMessage(nsAString& aMessage) {
if (!IsInputDateTimeEnabled()) { if (!StaticPrefs::dom_forms_datetime()) {
return NS_ERROR_UNEXPECTED; return NS_ERROR_UNEXPECTED;
} }

Просмотреть файл

@ -28,12 +28,6 @@ class DateTimeInputTypeBase : public ::InputType {
explicit DateTimeInputTypeBase(mozilla::dom::HTMLInputElement* aInputElement) explicit DateTimeInputTypeBase(mozilla::dom::HTMLInputElement* aInputElement)
: InputType(aInputElement) {} : InputType(aInputElement) {}
/**
* Checks preference "dom.forms.datetime" to determine if input date and time
* should be supported.
*/
static bool IsInputDateTimeEnabled();
bool IsMutable() const override; bool IsMutable() const override;
/** /**

Просмотреть файл

@ -11,6 +11,7 @@
#include "mozilla/dom/WindowProxyHolder.h" #include "mozilla/dom/WindowProxyHolder.h"
#include "mozilla/Preferences.h" #include "mozilla/Preferences.h"
#include "mozilla/PresShell.h" #include "mozilla/PresShell.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/ErrorResult.h" #include "mozilla/ErrorResult.h"
#include "GeckoProfiler.h" #include "GeckoProfiler.h"
#include "nsAttrValueInlines.h" #include "nsAttrValueInlines.h"
@ -318,7 +319,8 @@ nsresult nsGenericHTMLFrameElement::AfterSetAttr(
} }
} }
} else if (aName == nsGkAtoms::mozbrowser) { } else if (aName == nsGkAtoms::mozbrowser) {
mReallyIsBrowser = !!aValue && BrowserFramesEnabled() && mReallyIsBrowser = !!aValue &&
StaticPrefs::dom_mozBrowserFramesEnabled() &&
PrincipalAllowsBrowserFrame(NodePrincipal()); PrincipalAllowsBrowserFrame(NodePrincipal());
} }
} }
@ -409,26 +411,6 @@ bool nsGenericHTMLFrameElement::IsHTMLFocusable(bool aWithMouse,
return false; return false;
} }
static bool sMozBrowserFramesEnabled = false;
#ifdef DEBUG
static bool sBoolVarCacheInitialized = false;
#endif
void nsGenericHTMLFrameElement::InitStatics() {
MOZ_ASSERT(!sBoolVarCacheInitialized);
MOZ_ASSERT(NS_IsMainThread());
Preferences::AddBoolVarCache(&sMozBrowserFramesEnabled,
"dom.mozBrowserFramesEnabled");
#ifdef DEBUG
sBoolVarCacheInitialized = true;
#endif
}
bool nsGenericHTMLFrameElement::BrowserFramesEnabled() {
MOZ_ASSERT(sBoolVarCacheInitialized);
return sMozBrowserFramesEnabled;
}
/** /**
* Return true if this frame element really is a mozbrowser. (It * Return true if this frame element really is a mozbrowser. (It
* needs to have the right attributes, and its creator must have the right * needs to have the right attributes, and its creator must have the right

Просмотреть файл

@ -114,9 +114,6 @@ class nsGenericHTMLFrameElement : public nsGenericHTMLElement,
*/ */
void CreateRemoteFrameLoader(mozilla::dom::BrowserParent* aBrowserParent); void CreateRemoteFrameLoader(mozilla::dom::BrowserParent* aBrowserParent);
static void InitStatics();
static bool BrowserFramesEnabled();
/** /**
* Helper method to map a HTML 'scrolling' attribute value to a nsIScrollable * Helper method to map a HTML 'scrolling' attribute value to a nsIScrollable
* enum value. scrolling="no" (and its synonyms) maps to * enum value. scrolling="no" (and its synonyms) maps to

Просмотреть файл

@ -57,6 +57,7 @@
#include "mozilla/ScopeExit.h" #include "mozilla/ScopeExit.h"
#include "mozilla/Services.h" #include "mozilla/Services.h"
#include "mozilla/StaticPtr.h" #include "mozilla/StaticPtr.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/TextEvents.h" #include "mozilla/TextEvents.h"
#include "mozilla/TouchEvents.h" #include "mozilla/TouchEvents.h"
#include "mozilla/Unused.h" #include "mozilla/Unused.h"
@ -1790,7 +1791,7 @@ mozilla::ipc::IPCResult BrowserChild::RecvRealTouchEvent(
if (localEvent.mMessage == eTouchStart && AsyncPanZoomEnabled()) { if (localEvent.mMessage == eTouchStart && AsyncPanZoomEnabled()) {
nsCOMPtr<Document> document = GetTopLevelDocument(); nsCOMPtr<Document> document = GetTopLevelDocument();
if (StaticPrefs::TouchActionEnabled()) { if (StaticPrefs::layout_css_touch_action_enabled()) {
APZCCallbackHelper::SendSetAllowedTouchBehaviorNotification( APZCCallbackHelper::SendSetAllowedTouchBehaviorNotification(
mPuppetWidget, document, localEvent, aInputBlockId, mPuppetWidget, document, localEvent, aInputBlockId,
mSetAllowedTouchBehaviorCallback); mSetAllowedTouchBehaviorCallback);

Просмотреть файл

@ -9,6 +9,7 @@
#include "BrowserChild.h" #include "BrowserChild.h"
#include "mozilla/PresShell.h" #include "mozilla/PresShell.h"
#include "mozilla/StaticPrefs.h"
using namespace mozilla; using namespace mozilla;
using namespace mozilla::dom; using namespace mozilla::dom;
@ -36,7 +37,7 @@ void CoalescedMouseData::Coalesce(const WidgetMouseEvent& aEvent,
} }
if (aEvent.mMessage == eMouseMove && if (aEvent.mMessage == eMouseMove &&
PointerEventHandler::IsPointerEventEnabled()) { StaticPrefs::dom_w3c_pointer_events_enabled()) {
// PointerEvent::getCoalescedEvents is only applied to pointermove events. // PointerEvent::getCoalescedEvents is only applied to pointermove events.
if (!mCoalescedInputEvent->mCoalescedWidgetEvents) { if (!mCoalescedInputEvent->mCoalescedWidgetEvents) {
mCoalescedInputEvent->mCoalescedWidgetEvents = mCoalescedInputEvent->mCoalescedWidgetEvents =

Просмотреть файл

@ -36,8 +36,6 @@ using namespace hal;
#define DEFAULT_SENSOR_POLL 100 #define DEFAULT_SENSOR_POLL 100
static bool gPrefSensorsEnabled = false;
static const nsTArray<nsIDOMWindow*>::index_type NoIndex = static const nsTArray<nsIDOMWindow*>::index_type NoIndex =
nsTArray<nsIDOMWindow*>::NoIndex; nsTArray<nsIDOMWindow*>::NoIndex;
@ -98,8 +96,6 @@ NS_IMPL_ISUPPORTS(nsDeviceSensors, nsIDeviceSensors)
nsDeviceSensors::nsDeviceSensors() { nsDeviceSensors::nsDeviceSensors() {
mIsUserProximityNear = false; mIsUserProximityNear = false;
mLastDOMMotionEventTime = TimeStamp::Now(); mLastDOMMotionEventTime = TimeStamp::Now();
Preferences::AddBoolVarCache(&gPrefSensorsEnabled, "device.sensors.enabled",
true);
for (int i = 0; i < NUM_SENSOR_TYPE; i++) { for (int i = 0; i < NUM_SENSOR_TYPE; i++) {
nsTArray<nsIDOMWindow*>* windows = new nsTArray<nsIDOMWindow*>(); nsTArray<nsIDOMWindow*>* windows = new nsTArray<nsIDOMWindow*>();
@ -521,7 +517,7 @@ void nsDeviceSensors::FireDOMMotionEvent(Document* doc, EventTarget* target,
bool nsDeviceSensors::IsSensorAllowedByPref(uint32_t aType, bool nsDeviceSensors::IsSensorAllowedByPref(uint32_t aType,
nsIDOMWindow* aWindow) { nsIDOMWindow* aWindow) {
// checks "device.sensors.enabled" master pref // checks "device.sensors.enabled" master pref
if (!gPrefSensorsEnabled) { if (!StaticPrefs::device_sensors_enabled()) {
return false; return false;
} }

Просмотреть файл

@ -1405,7 +1405,7 @@ nsEventStatus AsyncPanZoomController::OnTouchMove(
} }
MOZ_ASSERT(GetCurrentTouchBlock()); MOZ_ASSERT(GetCurrentTouchBlock());
if (StaticPrefs::TouchActionEnabled() && if (StaticPrefs::layout_css_touch_action_enabled() &&
GetCurrentTouchBlock()->TouchActionAllowsPanningXY()) { GetCurrentTouchBlock()->TouchActionAllowsPanningXY()) {
// User tries to trigger a touch behavior. If allowed touch behavior is // User tries to trigger a touch behavior. If allowed touch behavior is
// vertical pan // vertical pan
@ -3066,7 +3066,7 @@ nsEventStatus AsyncPanZoomController::StartPanning(
angle = fabs(angle); // range [0, pi] angle = fabs(angle); // range [0, pi]
RecursiveMutexAutoLock lock(mRecursiveMutex); RecursiveMutexAutoLock lock(mRecursiveMutex);
if (StaticPrefs::TouchActionEnabled()) { if (StaticPrefs::layout_css_touch_action_enabled()) {
HandlePanningWithTouchAction(angle); HandlePanningWithTouchAction(angle);
} else { } else {
if (GetAxisLockMode() == FREE) { if (GetAxisLockMode() == FREE) {

Просмотреть файл

@ -6,6 +6,7 @@
#include "AsyncPanZoomController.h" // for AsyncPanZoomController #include "AsyncPanZoomController.h" // for AsyncPanZoomController
#include "LayersLogging.h" // for Stringify #include "LayersLogging.h" // for Stringify
#include "mozilla/StaticPrefs.h"
#include "mozilla/gfx/Point.h" // for Point4D #include "mozilla/gfx/Point.h" // for Point4D
#include "mozilla/layers/APZUtils.h" // for CompleteAsyncTransform #include "mozilla/layers/APZUtils.h" // for CompleteAsyncTransform
#include "mozilla/layers/AsyncCompositionManager.h" // for ViewTransform::operator Matrix4x4() #include "mozilla/layers/AsyncCompositionManager.h" // for ViewTransform::operator Matrix4x4()
@ -272,7 +273,7 @@ CompositorHitTestInfo HitTestingTreeNode::HitTest(
if (mEventRegions.mDTCRequiresTargetConfirmation) { if (mEventRegions.mDTCRequiresTargetConfirmation) {
result += CompositorHitTestFlags::eRequiresTargetConfirmation; result += CompositorHitTestFlags::eRequiresTargetConfirmation;
} }
} else if (StaticPrefs::TouchActionEnabled()) { } else if (StaticPrefs::layout_css_touch_action_enabled()) {
if (mEventRegions.mNoActionRegion.Contains(point.x, point.y)) { if (mEventRegions.mNoActionRegion.Contains(point.x, point.y)) {
// set all the touch-action flags as disabled // set all the touch-action flags as disabled
result += CompositorHitTestTouchActionMask; result += CompositorHitTestTouchActionMask;

Просмотреть файл

@ -11,6 +11,7 @@
#include "ScrollAnimationPhysics.h" // for kScrollSeriesTimeoutMs #include "ScrollAnimationPhysics.h" // for kScrollSeriesTimeoutMs
#include "mozilla/MouseEvents.h" #include "mozilla/MouseEvents.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/Telemetry.h" // for Telemetry #include "mozilla/Telemetry.h" // for Telemetry
#include "mozilla/layers/IAPZCTreeManager.h" // for AllowedTouchBehavior #include "mozilla/layers/IAPZCTreeManager.h" // for AllowedTouchBehavior
#include "OverscrollHandoffState.h" #include "OverscrollHandoffState.h"
@ -584,7 +585,7 @@ TouchBlockState::TouchBlockState(
mInSlop(false), mInSlop(false),
mTouchCounter(aCounter) { mTouchCounter(aCounter) {
TBS_LOG("Creating %p\n", this); TBS_LOG("Creating %p\n", this);
if (!StaticPrefs::TouchActionEnabled()) { if (!StaticPrefs::layout_css_touch_action_enabled()) {
mAllowedTouchBehaviorSet = true; mAllowedTouchBehaviorSet = true;
} }
} }
@ -616,7 +617,7 @@ bool TouchBlockState::HasAllowedTouchBehaviors() const {
void TouchBlockState::CopyPropertiesFrom(const TouchBlockState& aOther) { void TouchBlockState::CopyPropertiesFrom(const TouchBlockState& aOther) {
TBS_LOG("%p copying properties from %p\n", this, &aOther); TBS_LOG("%p copying properties from %p\n", this, &aOther);
if (StaticPrefs::TouchActionEnabled()) { if (StaticPrefs::layout_css_touch_action_enabled()) {
MOZ_ASSERT(aOther.mAllowedTouchBehaviorSet || MOZ_ASSERT(aOther.mAllowedTouchBehaviorSet ||
aOther.IsContentResponseTimerExpired()); aOther.IsContentResponseTimerExpired());
SetAllowedTouchBehaviors(aOther.mAllowedTouchBehaviors); SetAllowedTouchBehaviors(aOther.mAllowedTouchBehaviors);
@ -627,7 +628,8 @@ void TouchBlockState::CopyPropertiesFrom(const TouchBlockState& aOther) {
bool TouchBlockState::HasReceivedAllContentNotifications() const { bool TouchBlockState::HasReceivedAllContentNotifications() const {
return CancelableBlockState::HasReceivedAllContentNotifications() return CancelableBlockState::HasReceivedAllContentNotifications()
// See comment in TouchBlockState::IsReadyforHandling() // See comment in TouchBlockState::IsReadyforHandling()
&& (!StaticPrefs::TouchActionEnabled() || mAllowedTouchBehaviorSet); && (!StaticPrefs::layout_css_touch_action_enabled() ||
mAllowedTouchBehaviorSet);
} }
bool TouchBlockState::IsReadyForHandling() const { bool TouchBlockState::IsReadyForHandling() const {
@ -635,13 +637,14 @@ bool TouchBlockState::IsReadyForHandling() const {
return false; return false;
} }
if (!StaticPrefs::TouchActionEnabled()) { if (!StaticPrefs::layout_css_touch_action_enabled()) {
// If TouchActionEnabled() was false when this block was created, then // If layout_css_touch_action_enabled() was false when this block was
// mAllowedTouchBehaviorSet is guaranteed to the true. However, the pref // created, then mAllowedTouchBehaviorSet is guaranteed to the true.
// may have been flipped to false after the block was created. In that case, // However, the pref may have been flipped to false after the block was
// we should eventually get the touch-behaviour notification, or expire the // created. In that case, we should eventually get the touch-behaviour
// content response timeout, but we don't really need to wait for those, // notification, or expire the content response timeout, but we don't really
// since we don't care about the touch-behaviour values any more. // need to wait for those, since we don't care about the touch-behaviour
// values any more.
return true; return true;
} }
@ -673,7 +676,7 @@ void TouchBlockState::DispatchEvent(const InputData& aEvent) const {
} }
bool TouchBlockState::TouchActionAllowsPinchZoom() const { bool TouchBlockState::TouchActionAllowsPinchZoom() const {
if (!StaticPrefs::TouchActionEnabled()) { if (!StaticPrefs::layout_css_touch_action_enabled()) {
return true; return true;
} }
// Pointer events specification requires that all touch points allow zoom. // Pointer events specification requires that all touch points allow zoom.
@ -686,7 +689,7 @@ bool TouchBlockState::TouchActionAllowsPinchZoom() const {
} }
bool TouchBlockState::TouchActionAllowsDoubleTapZoom() const { bool TouchBlockState::TouchActionAllowsDoubleTapZoom() const {
if (!StaticPrefs::TouchActionEnabled()) { if (!StaticPrefs::layout_css_touch_action_enabled()) {
return true; return true;
} }
for (size_t i = 0; i < mAllowedTouchBehaviors.Length(); i++) { for (size_t i = 0; i < mAllowedTouchBehaviors.Length(); i++) {
@ -698,7 +701,7 @@ bool TouchBlockState::TouchActionAllowsDoubleTapZoom() const {
} }
bool TouchBlockState::TouchActionAllowsPanningX() const { bool TouchBlockState::TouchActionAllowsPanningX() const {
if (!StaticPrefs::TouchActionEnabled()) { if (!StaticPrefs::layout_css_touch_action_enabled()) {
return true; return true;
} }
if (mAllowedTouchBehaviors.IsEmpty()) { if (mAllowedTouchBehaviors.IsEmpty()) {
@ -710,7 +713,7 @@ bool TouchBlockState::TouchActionAllowsPanningX() const {
} }
bool TouchBlockState::TouchActionAllowsPanningY() const { bool TouchBlockState::TouchActionAllowsPanningY() const {
if (!StaticPrefs::TouchActionEnabled()) { if (!StaticPrefs::layout_css_touch_action_enabled()) {
return true; return true;
} }
if (mAllowedTouchBehaviors.IsEmpty()) { if (mAllowedTouchBehaviors.IsEmpty()) {
@ -722,7 +725,7 @@ bool TouchBlockState::TouchActionAllowsPanningY() const {
} }
bool TouchBlockState::TouchActionAllowsPanningXY() const { bool TouchBlockState::TouchActionAllowsPanningXY() const {
if (!StaticPrefs::TouchActionEnabled()) { if (!StaticPrefs::layout_css_touch_action_enabled()) {
return true; return true;
} }
if (mAllowedTouchBehaviors.IsEmpty()) { if (mAllowedTouchBehaviors.IsEmpty()) {

Просмотреть файл

@ -13,6 +13,7 @@
#include "mozilla/layers/APZThreadUtils.h" #include "mozilla/layers/APZThreadUtils.h"
#include "OverscrollHandoffState.h" #include "OverscrollHandoffState.h"
#include "QueuedInput.h" #include "QueuedInput.h"
#include "mozilla/StaticPrefs.h"
#define INPQ_LOG(...) #define INPQ_LOG(...)
// #define INPQ_LOG(...) printf_stderr("INPQ: " __VA_ARGS__) // #define INPQ_LOG(...) printf_stderr("INPQ: " __VA_ARGS__)
@ -82,7 +83,7 @@ nsEventStatus InputQueue::ReceiveTouchInput(
if (aEvent.mType == MultiTouchInput::MULTITOUCH_START) { if (aEvent.mType == MultiTouchInput::MULTITOUCH_START) {
nsTArray<TouchBehaviorFlags> currentBehaviors; nsTArray<TouchBehaviorFlags> currentBehaviors;
bool haveBehaviors = false; bool haveBehaviors = false;
if (!StaticPrefs::TouchActionEnabled()) { if (!StaticPrefs::layout_css_touch_action_enabled()) {
haveBehaviors = true; haveBehaviors = true;
} else if (mActiveTouchBlock) { } else if (mActiveTouchBlock) {
haveBehaviors = haveBehaviors =
@ -114,7 +115,7 @@ nsEventStatus InputQueue::ReceiveTouchInput(
aTarget, InputBlockState::TargetConfirmationState::eConfirmed, aTarget, InputBlockState::TargetConfirmationState::eConfirmed,
nullptr /* the block was just created so it has no events */, nullptr /* the block was just created so it has no events */,
false /* not a scrollbar drag */); false /* not a scrollbar drag */);
if (StaticPrefs::TouchActionEnabled()) { if (StaticPrefs::layout_css_touch_action_enabled()) {
block->SetAllowedTouchBehaviors(currentBehaviors); block->SetAllowedTouchBehaviors(currentBehaviors);
} }
INPQ_LOG("block %p tagged as fast-motion\n", block); INPQ_LOG("block %p tagged as fast-motion\n", block);

Просмотреть файл

@ -521,7 +521,7 @@ void APZCTesterBase::Tap(const RefPtr<InputReceiver>& aTarget,
// If touch-action is enabled then simulate the allowed touch behaviour // If touch-action is enabled then simulate the allowed touch behaviour
// notification that the main thread is supposed to deliver. // notification that the main thread is supposed to deliver.
if (StaticPrefs::TouchActionEnabled() && if (StaticPrefs::layout_css_touch_action_enabled() &&
status != nsEventStatus_eConsumeNoDefault) { status != nsEventStatus_eConsumeNoDefault) {
SetDefaultAllowedTouchBehavior(aTarget, *aOutInputBlockId); SetDefaultAllowedTouchBehavior(aTarget, *aOutInputBlockId);
} }
@ -597,7 +597,7 @@ void APZCTesterBase::Pan(const RefPtr<InputReceiver>& aTarget,
EXPECT_EQ(1UL, aAllowedTouchBehaviors->Length()); EXPECT_EQ(1UL, aAllowedTouchBehaviors->Length());
aTarget->SetAllowedTouchBehavior(*aOutInputBlockId, aTarget->SetAllowedTouchBehavior(*aOutInputBlockId,
*aAllowedTouchBehaviors); *aAllowedTouchBehaviors);
} else if (StaticPrefs::TouchActionEnabled()) { } else if (StaticPrefs::layout_css_touch_action_enabled()) {
SetDefaultAllowedTouchBehavior(aTarget, *aOutInputBlockId); SetDefaultAllowedTouchBehavior(aTarget, *aOutInputBlockId);
} }
} }
@ -682,7 +682,7 @@ void APZCTesterBase::DoubleTap(const RefPtr<InputReceiver>& aTarget,
// If touch-action is enabled then simulate the allowed touch behaviour // If touch-action is enabled then simulate the allowed touch behaviour
// notification that the main thread is supposed to deliver. // notification that the main thread is supposed to deliver.
if (StaticPrefs::TouchActionEnabled() && if (StaticPrefs::layout_css_touch_action_enabled() &&
status != nsEventStatus_eConsumeNoDefault) { status != nsEventStatus_eConsumeNoDefault) {
SetDefaultAllowedTouchBehavior(aTarget, blockId); SetDefaultAllowedTouchBehavior(aTarget, blockId);
} }
@ -701,7 +701,7 @@ void APZCTesterBase::DoubleTap(const RefPtr<InputReceiver>& aTarget,
} }
mcc->AdvanceByMillis(10); mcc->AdvanceByMillis(10);
if (StaticPrefs::TouchActionEnabled() && if (StaticPrefs::layout_css_touch_action_enabled() &&
status != nsEventStatus_eConsumeNoDefault) { status != nsEventStatus_eConsumeNoDefault) {
SetDefaultAllowedTouchBehavior(aTarget, blockId); SetDefaultAllowedTouchBehavior(aTarget, blockId);
} }
@ -774,7 +774,7 @@ void APZCTesterBase::PinchWithTouchInput(
EXPECT_EQ(2UL, aAllowedTouchBehaviors->Length()); EXPECT_EQ(2UL, aAllowedTouchBehaviors->Length());
aTarget->SetAllowedTouchBehavior(*aOutInputBlockId, aTarget->SetAllowedTouchBehavior(*aOutInputBlockId,
*aAllowedTouchBehaviors); *aAllowedTouchBehaviors);
} else if (StaticPrefs::TouchActionEnabled()) { } else if (StaticPrefs::layout_css_touch_action_enabled()) {
SetDefaultAllowedTouchBehavior(aTarget, *aOutInputBlockId, 2); SetDefaultAllowedTouchBehavior(aTarget, *aOutInputBlockId, 2);
} }

Просмотреть файл

@ -348,7 +348,7 @@ TEST_F(APZCBasicTester, OverScroll_Bug1152051b) {
uint64_t blockId; uint64_t blockId;
nsEventStatus status = nsEventStatus status =
TouchDown(apzc, ScreenIntPoint(10, 10), mcc->Time(), &blockId); TouchDown(apzc, ScreenIntPoint(10, 10), mcc->Time(), &blockId);
if (StaticPrefs::TouchActionEnabled() && if (StaticPrefs::layout_css_touch_action_enabled() &&
status != nsEventStatus_eConsumeNoDefault) { status != nsEventStatus_eConsumeNoDefault) {
SetDefaultAllowedTouchBehavior(apzc, blockId); SetDefaultAllowedTouchBehavior(apzc, blockId);
} }

Просмотреть файл

@ -27,7 +27,7 @@ class APZCGestureDetectorTester : public APZCBasicTester {
}; };
TEST_F(APZCGestureDetectorTester, Pan_After_Pinch) { TEST_F(APZCGestureDetectorTester, Pan_After_Pinch) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
FrameMetrics originalMetrics = GetPinchableFrameMetrics(); FrameMetrics originalMetrics = GetPinchableFrameMetrics();
apzc->SetFrameMetrics(originalMetrics); apzc->SetFrameMetrics(originalMetrics);
@ -126,7 +126,7 @@ TEST_F(APZCGestureDetectorTester, Pan_After_Pinch) {
} }
TEST_F(APZCGestureDetectorTester, Pan_With_Tap) { TEST_F(APZCGestureDetectorTester, Pan_With_Tap) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
FrameMetrics originalMetrics = GetPinchableFrameMetrics(); FrameMetrics originalMetrics = GetPinchableFrameMetrics();
apzc->SetFrameMetrics(originalMetrics); apzc->SetFrameMetrics(originalMetrics);
@ -392,7 +392,7 @@ class APZCLongPressTester : public APZCGestureDetectorTester {
TouchDown(apzc, ScreenIntPoint(10, 10), mcc->Time(), &blockId); TouchDown(apzc, ScreenIntPoint(10, 10), mcc->Time(), &blockId);
EXPECT_EQ(nsEventStatus_eConsumeDoDefault, status); EXPECT_EQ(nsEventStatus_eConsumeDoDefault, status);
if (StaticPrefs::TouchActionEnabled() && if (StaticPrefs::layout_css_touch_action_enabled() &&
status != nsEventStatus_eConsumeNoDefault) { status != nsEventStatus_eConsumeNoDefault) {
// SetAllowedTouchBehavior() must be called after sending touch-start. // SetAllowedTouchBehavior() must be called after sending touch-start.
nsTArray<uint32_t> allowedTouchBehaviors; nsTArray<uint32_t> allowedTouchBehaviors;
@ -458,7 +458,7 @@ class APZCLongPressTester : public APZCGestureDetectorTester {
mcc->Time(), &blockId); mcc->Time(), &blockId);
EXPECT_EQ(nsEventStatus_eConsumeDoDefault, status); EXPECT_EQ(nsEventStatus_eConsumeDoDefault, status);
if (StaticPrefs::TouchActionEnabled() && if (StaticPrefs::layout_css_touch_action_enabled() &&
status != nsEventStatus_eConsumeNoDefault) { status != nsEventStatus_eConsumeNoDefault) {
// SetAllowedTouchBehavior() must be called after sending touch-start. // SetAllowedTouchBehavior() must be called after sending touch-start.
nsTArray<uint32_t> allowedTouchBehaviors; nsTArray<uint32_t> allowedTouchBehaviors;
@ -521,24 +521,24 @@ class APZCLongPressTester : public APZCGestureDetectorTester {
}; };
TEST_F(APZCLongPressTester, LongPress) { TEST_F(APZCLongPressTester, LongPress) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
DoLongPressTest(mozilla::layers::AllowedTouchBehavior::NONE); DoLongPressTest(mozilla::layers::AllowedTouchBehavior::NONE);
} }
TEST_F(APZCLongPressTester, LongPressWithTouchAction) { TEST_F(APZCLongPressTester, LongPressWithTouchAction) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
DoLongPressTest(mozilla::layers::AllowedTouchBehavior::HORIZONTAL_PAN | DoLongPressTest(mozilla::layers::AllowedTouchBehavior::HORIZONTAL_PAN |
mozilla::layers::AllowedTouchBehavior::VERTICAL_PAN | mozilla::layers::AllowedTouchBehavior::VERTICAL_PAN |
mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM); mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM);
} }
TEST_F(APZCLongPressTester, LongPressPreventDefault) { TEST_F(APZCLongPressTester, LongPressPreventDefault) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
DoLongPressPreventDefaultTest(mozilla::layers::AllowedTouchBehavior::NONE); DoLongPressPreventDefaultTest(mozilla::layers::AllowedTouchBehavior::NONE);
} }
TEST_F(APZCLongPressTester, LongPressPreventDefaultWithTouchAction) { TEST_F(APZCLongPressTester, LongPressPreventDefaultWithTouchAction) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
DoLongPressPreventDefaultTest( DoLongPressPreventDefaultTest(
mozilla::layers::AllowedTouchBehavior::HORIZONTAL_PAN | mozilla::layers::AllowedTouchBehavior::HORIZONTAL_PAN |
mozilla::layers::AllowedTouchBehavior::VERTICAL_PAN | mozilla::layers::AllowedTouchBehavior::VERTICAL_PAN |
@ -706,7 +706,7 @@ TEST_F(APZCGestureDetectorTester, LongPressInterruptedByWheel) {
uint64_t wheelBlockId = 0; uint64_t wheelBlockId = 0;
nsEventStatus status = nsEventStatus status =
TouchDown(apzc, ScreenIntPoint(10, 10), mcc->Time(), &touchBlockId); TouchDown(apzc, ScreenIntPoint(10, 10), mcc->Time(), &touchBlockId);
if (StaticPrefs::TouchActionEnabled() && if (StaticPrefs::layout_css_touch_action_enabled() &&
status != nsEventStatus_eConsumeNoDefault) { status != nsEventStatus_eConsumeNoDefault) {
SetDefaultAllowedTouchBehavior(apzc, touchBlockId); SetDefaultAllowedTouchBehavior(apzc, touchBlockId);
} }

Просмотреть файл

@ -455,7 +455,7 @@ TEST_F(APZHitTestingTester, ComplexMultiLayerTree) {
} }
TEST_F(APZHitTestingTester, TestRepaintFlushOnNewInputBlock) { TEST_F(APZHitTestingTester, TestRepaintFlushOnNewInputBlock) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
// The main purpose of this test is to verify that touch-start events (or // The main purpose of this test is to verify that touch-start events (or
// anything that starts a new input block) don't ever get untransformed. This // anything that starts a new input block) don't ever get untransformed. This
@ -637,7 +637,7 @@ TEST_F(APZHitTestingTester, Bug1148350) {
uint64_t blockId; uint64_t blockId;
TouchDown(manager, ScreenIntPoint(100, 100), mcc->Time(), &blockId); TouchDown(manager, ScreenIntPoint(100, 100), mcc->Time(), &blockId);
if (StaticPrefs::TouchActionEnabled()) { if (StaticPrefs::layout_css_touch_action_enabled()) {
SetDefaultAllowedTouchBehavior(manager, blockId); SetDefaultAllowedTouchBehavior(manager, blockId);
} }
mcc->AdvanceByMillis(100); mcc->AdvanceByMillis(100);

Просмотреть файл

@ -82,7 +82,7 @@ class APZCPanningTester : public APZCBasicTester {
}; };
TEST_F(APZCPanningTester, Pan) { TEST_F(APZCPanningTester, Pan) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
SCOPED_GFX_PREF(APZVelocityBias, float, SCOPED_GFX_PREF(APZVelocityBias, float,
0.0); // Velocity bias can cause extra repaint requests 0.0); // Velocity bias can cause extra repaint requests
DoPanTest(true, true, mozilla::layers::AllowedTouchBehavior::NONE); DoPanTest(true, true, mozilla::layers::AllowedTouchBehavior::NONE);
@ -97,7 +97,7 @@ TEST_F(APZCPanningTester, Pan) {
// finger horizontally too - APZ has no way of knowing beforehand and so must // finger horizontally too - APZ has no way of knowing beforehand and so must
// consume the events. // consume the events.
TEST_F(APZCPanningTester, PanWithTouchActionAuto) { TEST_F(APZCPanningTester, PanWithTouchActionAuto) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
SCOPED_GFX_PREF(APZVelocityBias, float, SCOPED_GFX_PREF(APZVelocityBias, float,
0.0); // Velocity bias can cause extra repaint requests 0.0); // Velocity bias can cause extra repaint requests
DoPanTest(true, true, DoPanTest(true, true,
@ -106,14 +106,14 @@ TEST_F(APZCPanningTester, PanWithTouchActionAuto) {
} }
TEST_F(APZCPanningTester, PanWithTouchActionNone) { TEST_F(APZCPanningTester, PanWithTouchActionNone) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
SCOPED_GFX_PREF(APZVelocityBias, float, SCOPED_GFX_PREF(APZVelocityBias, float,
0.0); // Velocity bias can cause extra repaint requests 0.0); // Velocity bias can cause extra repaint requests
DoPanTest(false, false, 0); DoPanTest(false, false, 0);
} }
TEST_F(APZCPanningTester, PanWithTouchActionPanX) { TEST_F(APZCPanningTester, PanWithTouchActionPanX) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
SCOPED_GFX_PREF(APZVelocityBias, float, SCOPED_GFX_PREF(APZVelocityBias, float,
0.0); // Velocity bias can cause extra repaint requests 0.0); // Velocity bias can cause extra repaint requests
DoPanTest(false, false, DoPanTest(false, false,
@ -121,18 +121,18 @@ TEST_F(APZCPanningTester, PanWithTouchActionPanX) {
} }
TEST_F(APZCPanningTester, PanWithTouchActionPanY) { TEST_F(APZCPanningTester, PanWithTouchActionPanY) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
SCOPED_GFX_PREF(APZVelocityBias, float, SCOPED_GFX_PREF(APZVelocityBias, float,
0.0); // Velocity bias can cause extra repaint requests 0.0); // Velocity bias can cause extra repaint requests
DoPanTest(true, true, mozilla::layers::AllowedTouchBehavior::VERTICAL_PAN); DoPanTest(true, true, mozilla::layers::AllowedTouchBehavior::VERTICAL_PAN);
} }
TEST_F(APZCPanningTester, PanWithPreventDefaultAndTouchAction) { TEST_F(APZCPanningTester, PanWithPreventDefaultAndTouchAction) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
DoPanWithPreventDefaultTest(); DoPanWithPreventDefaultTest();
} }
TEST_F(APZCPanningTester, PanWithPreventDefault) { TEST_F(APZCPanningTester, PanWithPreventDefault) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
DoPanWithPreventDefaultTest(); DoPanWithPreventDefaultTest();
} }

Просмотреть файл

@ -210,18 +210,18 @@ class APZCPinchLockingTester : public APZCPinchTester {
}; };
TEST_F(APZCPinchTester, Pinch_DefaultGestures_NoTouchAction) { TEST_F(APZCPinchTester, Pinch_DefaultGestures_NoTouchAction) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
DoPinchTest(true); DoPinchTest(true);
} }
TEST_F(APZCPinchGestureDetectorTester, Pinch_UseGestureDetector_NoTouchAction) { TEST_F(APZCPinchGestureDetectorTester, Pinch_UseGestureDetector_NoTouchAction) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
DoPinchTest(true); DoPinchTest(true);
} }
TEST_F(APZCPinchGestureDetectorTester, TEST_F(APZCPinchGestureDetectorTester,
Pinch_UseGestureDetector_TouchActionNone) { Pinch_UseGestureDetector_TouchActionNone) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
nsTArray<uint32_t> behaviors = {mozilla::layers::AllowedTouchBehavior::NONE, nsTArray<uint32_t> behaviors = {mozilla::layers::AllowedTouchBehavior::NONE,
mozilla::layers::AllowedTouchBehavior::NONE}; mozilla::layers::AllowedTouchBehavior::NONE};
DoPinchTest(false, &behaviors); DoPinchTest(false, &behaviors);
@ -229,7 +229,7 @@ TEST_F(APZCPinchGestureDetectorTester,
TEST_F(APZCPinchGestureDetectorTester, TEST_F(APZCPinchGestureDetectorTester,
Pinch_UseGestureDetector_TouchActionZoom) { Pinch_UseGestureDetector_TouchActionZoom) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
nsTArray<uint32_t> behaviors; nsTArray<uint32_t> behaviors;
behaviors.AppendElement(mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM); behaviors.AppendElement(mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM);
behaviors.AppendElement(mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM); behaviors.AppendElement(mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM);
@ -238,7 +238,7 @@ TEST_F(APZCPinchGestureDetectorTester,
TEST_F(APZCPinchGestureDetectorTester, TEST_F(APZCPinchGestureDetectorTester,
Pinch_UseGestureDetector_TouchActionNotAllowZoom) { Pinch_UseGestureDetector_TouchActionNotAllowZoom) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
nsTArray<uint32_t> behaviors; nsTArray<uint32_t> behaviors;
behaviors.AppendElement(mozilla::layers::AllowedTouchBehavior::NONE); behaviors.AppendElement(mozilla::layers::AllowedTouchBehavior::NONE);
behaviors.AppendElement(mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM); behaviors.AppendElement(mozilla::layers::AllowedTouchBehavior::PINCH_ZOOM);
@ -247,7 +247,7 @@ TEST_F(APZCPinchGestureDetectorTester,
TEST_F(APZCPinchGestureDetectorTester, TEST_F(APZCPinchGestureDetectorTester,
Pinch_UseGestureDetector_TouchActionNone_NoAPZZoom) { Pinch_UseGestureDetector_TouchActionNone_NoAPZZoom) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
SCOPED_GFX_PREF(APZAllowZooming, bool, false); SCOPED_GFX_PREF(APZAllowZooming, bool, false);
// Since we are preventing the pinch action via touch-action we should not be // Since we are preventing the pinch action via touch-action we should not be
@ -469,7 +469,7 @@ TEST_F(APZCPinchGestureDetectorTester, Pinch_APZZoom_Disabled) {
TEST_F(APZCPinchGestureDetectorTester, Pinch_NoSpan) { TEST_F(APZCPinchGestureDetectorTester, Pinch_NoSpan) {
SCOPED_GFX_PREF(APZAllowZooming, bool, false); SCOPED_GFX_PREF(APZAllowZooming, bool, false);
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
FrameMetrics originalMetrics = GetPinchableFrameMetrics(); FrameMetrics originalMetrics = GetPinchableFrameMetrics();
apzc->SetFrameMetrics(originalMetrics); apzc->SetFrameMetrics(originalMetrics);

Просмотреть файл

@ -614,11 +614,11 @@ TEST_F(APZScrollHandoffTester, ImmediateHandoffDisallowed_Fling) {
} }
TEST_F(APZScrollHandoffTester, CrossApzcAxisLock_NoTouchAction) { TEST_F(APZScrollHandoffTester, CrossApzcAxisLock_NoTouchAction) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, false); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, false);
TestCrossApzcAxisLock(); TestCrossApzcAxisLock();
} }
TEST_F(APZScrollHandoffTester, CrossApzcAxisLock_TouchAction) { TEST_F(APZScrollHandoffTester, CrossApzcAxisLock_TouchAction) {
SCOPED_GFX_PREF(TouchActionEnabled, bool, true); SCOPED_GFX_PREF(layout_css_touch_action_enabled, bool, true);
TestCrossApzcAxisLock(); TestCrossApzcAxisLock();
} }

Просмотреть файл

@ -551,7 +551,7 @@ class MOZ_STACK_CLASS AutoPointerEventTargetUpdater final {
MOZ_ASSERT(!aFrame->GetContent() || MOZ_ASSERT(!aFrame->GetContent() ||
aShell->GetDocument() == aFrame->GetContent()->OwnerDoc()); aShell->GetDocument() == aFrame->GetContent()->OwnerDoc());
MOZ_ASSERT(PointerEventHandler::IsPointerEventEnabled()); MOZ_ASSERT(StaticPrefs::dom_w3c_pointer_events_enabled());
mShell = aShell; mShell = aShell;
mWeakFrame = aFrame; mWeakFrame = aFrame;
mTargetContent = aTargetContent; mTargetContent = aTargetContent;
@ -6909,7 +6909,7 @@ bool PresShell::EventHandler::DispatchPrecedingPointerEvent(
MOZ_ASSERT(aEventTargetData); MOZ_ASSERT(aEventTargetData);
MOZ_ASSERT(aEventStatus); MOZ_ASSERT(aEventStatus);
if (!PointerEventHandler::IsPointerEventEnabled()) { if (!StaticPrefs::dom_w3c_pointer_events_enabled()) {
return true; return true;
} }

Просмотреть файл

@ -267,7 +267,6 @@ nsresult nsLayoutStatics::Initialize() {
nsApplicationCacheService::AppClearDataObserverInit(); nsApplicationCacheService::AppClearDataObserverInit();
HTMLVideoElement::InitStatics(); HTMLVideoElement::InitStatics();
nsGenericHTMLFrameElement::InitStatics();
#ifdef MOZ_XUL #ifdef MOZ_XUL
nsMenuBarListener::InitializeStatics(); nsMenuBarListener::InitializeStatics();

Просмотреть файл

@ -395,9 +395,8 @@ nsFileControlFrame::DnDListener::HandleEvent(Event* aEvent) {
inputElement->MozSetDndFilesAndDirectories(array); inputElement->MozSetDndFilesAndDirectories(array);
} else { } else {
bool blinkFileSystemEnabled = bool blinkFileSystemEnabled =
Preferences::GetBool("dom.webkitBlink.filesystem.enabled", false); StaticPrefs::dom_webkitBlink_filesystem_enabled();
bool dirPickerEnabled = bool dirPickerEnabled = StaticPrefs::dom_input_dirpicker();
Preferences::GetBool("dom.input.dirpicker", false);
if (blinkFileSystemEnabled || dirPickerEnabled) { if (blinkFileSystemEnabled || dirPickerEnabled) {
FileList* files = static_cast<FileList*>(fileList.get()); FileList* files = static_cast<FileList*>(fileList.get());
if (files) { if (files) {

Просмотреть файл

@ -15,6 +15,7 @@
#include "mozilla/EventStates.h" #include "mozilla/EventStates.h"
#include "mozilla/HTMLEditor.h" #include "mozilla/HTMLEditor.h"
#include "mozilla/PresShell.h" #include "mozilla/PresShell.h"
#include "mozilla/StaticPrefs.h"
#include "nsCOMPtr.h" #include "nsCOMPtr.h"
#include "nsString.h" #include "nsString.h"
@ -585,8 +586,6 @@ void nsFrameSelection::Init(mozilla::PresShell* aPresShell,
if (!prefCachesInitialized) { if (!prefCachesInitialized) {
prefCachesInitialized = true; prefCachesInitialized = true;
Preferences::AddBoolVarCache(&sSelectionEventsEnabled,
"dom.select_events.enabled", false);
Preferences::AddBoolVarCache(&sSelectionEventsOnTextControlsEnabled, Preferences::AddBoolVarCache(&sSelectionEventsOnTextControlsEnabled,
"dom.select_events.textcontrols.enabled", "dom.select_events.textcontrols.enabled",
false); false);
@ -601,7 +600,7 @@ void nsFrameSelection::Init(mozilla::PresShell* aPresShell,
bool plaintextControl = (aLimiter != nullptr); bool plaintextControl = (aLimiter != nullptr);
bool initSelectEvents = plaintextControl bool initSelectEvents = plaintextControl
? sSelectionEventsOnTextControlsEnabled ? sSelectionEventsOnTextControlsEnabled
: sSelectionEventsEnabled; : StaticPrefs::dom_select_events_enabled();
Document* doc = aPresShell->GetDocument(); Document* doc = aPresShell->GetDocument();
if (initSelectEvents || if (initSelectEvents ||
@ -613,7 +612,6 @@ void nsFrameSelection::Init(mozilla::PresShell* aPresShell,
} }
} }
bool nsFrameSelection::sSelectionEventsEnabled = false;
bool nsFrameSelection::sSelectionEventsOnTextControlsEnabled = false; bool nsFrameSelection::sSelectionEventsOnTextControlsEnabled = false;
nsresult nsFrameSelection::MoveCaret(nsDirection aDirection, nsresult nsFrameSelection::MoveCaret(nsDirection aDirection,

Просмотреть файл

@ -880,7 +880,6 @@ class nsFrameSelection final {
int8_t mCaretMovementStyle = 0; int8_t mCaretMovementStyle = 0;
static bool sSelectionEventsEnabled;
static bool sSelectionEventsOnTextControlsEnabled; static bool sSelectionEventsOnTextControlsEnabled;
}; };

Просмотреть файл

@ -889,7 +889,7 @@ static void AddAnimationsForDisplayItem(nsIFrame* aFrame,
GroupAnimationsByProperty(matchedAnimations, propertySet); GroupAnimationsByProperty(matchedAnimations, propertySet);
// Bug 1424900: Drop this pref check after shipping individual transforms. // Bug 1424900: Drop this pref check after shipping individual transforms.
const bool hasMultipleTransformLikeProperties = const bool hasMultipleTransformLikeProperties =
StaticPrefs::IndividualTransform() && StaticPrefs::layout_css_individual_transform_enabled() &&
aType == DisplayItemType::TYPE_TRANSFORM; aType == DisplayItemType::TYPE_TRANSFORM;
nsCSSPropertyIDSet nonAnimatingProperties = nsCSSPropertyIDSet nonAnimatingProperties =
nsCSSPropertyIDSet::TransformLikeProperties(); nsCSSPropertyIDSet::TransformLikeProperties();

Просмотреть файл

@ -81,7 +81,6 @@ pref("image.cache.size", 1048576); // bytes
/* offline cache prefs */ /* offline cache prefs */
pref("browser.offline-apps.notify", true); pref("browser.offline-apps.notify", true);
pref("browser.cache.offline.enable", true);
pref("browser.cache.offline.capacity", 5120); // kilobytes pref("browser.cache.offline.capacity", 5120); // kilobytes
pref("offline-apps.quota.warn", 1024); // kilobytes pref("offline-apps.quota.warn", 1024); // kilobytes
@ -173,7 +172,6 @@ pref("browser.formfill.enable", true);
pref("layout.spellcheckDefault", 0); pref("layout.spellcheckDefault", 0);
/* new html5 forms */ /* new html5 forms */
pref("dom.forms.datetime", true);
pref("dom.forms.datetime.others", true); pref("dom.forms.datetime.others", true);
/* extension manager and xpinstall */ /* extension manager and xpinstall */
@ -345,9 +343,6 @@ pref("privacy.item.geolocation", true);
pref("privacy.item.siteSettings", true); pref("privacy.item.siteSettings", true);
pref("privacy.item.syncAccount", true); pref("privacy.item.syncAccount", true);
// enable geo
pref("geo.enabled", true);
// content sink control -- controls responsiveness during page load // content sink control -- controls responsiveness during page load
// see https://bugzilla.mozilla.org/show_bug.cgi?id=481566#c9 // see https://bugzilla.mozilla.org/show_bug.cgi?id=481566#c9
//pref("content.sink.enable_perf_mode", 2); // 0 - switch, 1 - interactive, 2 - perf //pref("content.sink.enable_perf_mode", 2); // 0 - switch, 1 - interactive, 2 - perf
@ -794,11 +789,6 @@ pref("consoleservice.logcat", false);
pref("consoleservice.logcat", true); pref("consoleservice.logcat", true);
#endif #endif
#ifndef RELEASE_OR_BETA
// Enable VR on mobile, making it enable by default.
pref("dom.vr.enabled", true);
#endif
pref("browser.tabs.showAudioPlayingIcon", true); pref("browser.tabs.showAudioPlayingIcon", true);
pref("dom.serviceWorkers.enabled", true); pref("dom.serviceWorkers.enabled", true);
@ -829,13 +819,6 @@ pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com
// Token server used by Firefox Account-authenticated Sync. // Token server used by Firefox Account-authenticated Sync.
pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5"); pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5");
#ifndef RELEASE_OR_BETA
// Enable Presentation API on Nightly
pref("dom.presentation.enabled", true);
pref("dom.presentation.controller.enabled", true); // enable 1-UA mode
pref("dom.presentation.receiver.enabled", true); // enable 1-UA mode
#endif
pref("dom.audiochannel.audioCompeting", true); pref("dom.audiochannel.audioCompeting", true);
pref("dom.audiochannel.mediaControl", true); pref("dom.audiochannel.mediaControl", true);
pref("media.block-autoplay-until-in-foreground", false); pref("media.block-autoplay-until-in-foreground", false);

Просмотреть файл

@ -104,6 +104,12 @@
// clang-format off // clang-format off
#ifdef RELEASE_OR_BETA
# define NOT_IN_RELEASE_OR_BETA_VALUE false
#else
# define NOT_IN_RELEASE_OR_BETA_VALUE true
#endif
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Prefs starting with "accessibility." // Prefs starting with "accessibility."
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
@ -682,6 +688,18 @@ VARCACHE_PREF(
bool, false bool, false
) )
//---------------------------------------------------------------------------
// Prefs starting with "beacon."
//---------------------------------------------------------------------------
// Is support for Navigator.sendBeacon enabled?
VARCACHE_PREF(
Live,
"beacon.enabled",
beacon_enabled,
bool, true
)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Prefs starting with "browser." // Prefs starting with "browser."
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
@ -959,6 +977,30 @@ VARCACHE_PREF(
bool, true bool, true
) )
// Is support for CanvasRenderingContext2D.filter enabled?
VARCACHE_PREF(
Live,
"canvas.filters.enabled",
canvas_filters_enabled,
bool, true
)
// Provide ability to turn on support for canvas focus rings.
VARCACHE_PREF(
Live,
"canvas.focusring.enabled",
canvas_focusring_enabled,
bool, true
)
// Is support for CanvasRenderingContext2D's hitRegion APIs enabled?
VARCACHE_PREF(
Live,
"canvas.hitregions.enabled",
canvas_hitregions_enabled,
bool, false
)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Prefs starting with "channelclassifier." // Prefs starting with "channelclassifier."
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
@ -990,6 +1032,15 @@ VARCACHE_PREF(
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Prefs starting with "device." // Prefs starting with "device."
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Is support for the device sensors API enabled?
VARCACHE_PREF(
Live,
"device.sensors.enabled",
device_sensors_enabled,
bool, true
)
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"device.sensors.ambientLight.enabled", "device.sensors.ambientLight.enabled",
@ -1153,6 +1204,14 @@ VARCACHE_PREF(
bool, false bool, false
) )
// Is support for Navigator.getBattery enabled?
VARCACHE_PREF(
Live,
"dom.battery.enabled",
dom_battery_enabled,
bool, true
)
// Block multiple external protocol URLs in iframes per single event. // Block multiple external protocol URLs in iframes per single event.
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -1217,6 +1276,14 @@ VARCACHE_PREF(
bool, false bool, false
) )
// Is support for Performance.mozMemory enabled?
VARCACHE_PREF(
Live,
"dom.enable_memory_stats",
dom_enable_memory_stats,
bool, false
)
// Enable Performance API // Enable Performance API
// Whether nonzero values can be returned from performance.timing.* // Whether nonzero values can be returned from performance.timing.*
VARCACHE_PREF( VARCACHE_PREF(
@ -1439,6 +1506,54 @@ VARCACHE_PREF(
RelaxedAtomicBool, false RelaxedAtomicBool, false
) )
// Is support for input type=date and type=time enabled?
VARCACHE_PREF(
Live,
"dom.forms.datetime",
dom_forms_datetime,
bool, true
)
// Is support for HTMLInputElement.inputMode enabled?
VARCACHE_PREF(
Live,
"dom.forms.inputmode",
dom_forms_inputmode,
bool, NOT_IN_RELEASE_OR_BETA_VALUE
)
// Enable Directory API. By default, disabled.
VARCACHE_PREF(
Live,
"dom.input.dirpicker",
dom_input_dirpicker,
bool, false
)
// Is support for InputEvent.data enabled?
VARCACHE_PREF(
Live,
"dom.inputevent.data.enabled",
dom_inputevent_data_enabled,
bool, true
)
// Is support for InputEvent.dataTransfer enabled?
VARCACHE_PREF(
Live,
"dom.inputevent.datatransfer.enabled",
dom_inputevent_datatransfer_enabled,
bool, true
)
// Is support for InputEvent.inputType enabled?
VARCACHE_PREF(
Live,
"dom.inputevent.inputtype.enabled",
dom_inputevent_inputtype_enabled,
bool, true
)
// How long a content process can take before closing its IPC channel // How long a content process can take before closing its IPC channel
// after shutdown is initiated. If the process exceeds the timeout, // after shutdown is initiated. If the process exceeds the timeout,
// we fear the worst and kill it. // we fear the worst and kill it.
@ -1485,6 +1600,24 @@ VARCACHE_PREF(
bool, true bool, true
) )
// Whether window.onappinstalled from "W3C Web Manifest" is enabled
VARCACHE_PREF(
Live,
"dom.manifest.onappinstalled",
dom_manifest_onappinstalled,
bool, false
)
// This pref is used to enable/disable the `document.autoplayPolicy` API which
// returns a enum string which presents current autoplay policy and can change
// overtime based on user session activity.
VARCACHE_PREF(
Live,
"dom.media.autoplay.autoplay-policy-api",
dom_media_autoplay_autoplay_policy_api,
bool, false
)
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"dom.meta-viewport.enabled", "dom.meta-viewport.enabled",
@ -1499,6 +1632,22 @@ VARCACHE_PREF(
bool, false bool, false
) )
// Is support for module scripts (<script type="module">) enabled for content?
VARCACHE_PREF(
Live,
"dom.moduleScripts.enabled",
dom_moduleScripts_enabled,
bool, true
)
// Is support for mozBrowser frames enabled?
VARCACHE_PREF(
Live,
"dom.mozBrowserFramesEnabled",
dom_mozBrowserFramesEnabled,
bool, false
)
// Whether we disable triggering mutation events for changes to style // Whether we disable triggering mutation events for changes to style
// attribute via CSSOM. // attribute via CSSOM.
// NOTE: This preference is used in unit tests. If it is removed or its default // NOTE: This preference is used in unit tests. If it is removed or its default
@ -1524,6 +1673,14 @@ VARCACHE_PREF(
) )
#undef PREF_VALUE #undef PREF_VALUE
// Is support for Window.paintWorklet enabled?
VARCACHE_PREF(
Live,
"dom.paintWorklet.enabled",
dom_paintWorklet_enabled,
bool, false
)
// Enable/disable the PaymentRequest API // Enable/disable the PaymentRequest API
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -1573,6 +1730,46 @@ VARCACHE_PREF(
bool, false bool, false
) )
// Is support for PerformanceTiming.timeToContentfulPaint enabled?
VARCACHE_PREF(
Live,
"dom.performance.time_to_contentful_paint.enabled",
dom_performance_time_to_contentful_paint_enabled,
bool, false
)
// Is support for PerformanceTiming.timeToDOMContentFlushed enabled?
VARCACHE_PREF(
Live,
"dom.performance.time_to_dom_content_flushed.enabled",
dom_performance_time_to_dom_content_flushed_enabled,
bool, false
)
// Is support for PerformanceTiming.timeToFirstInteractive enabled?
VARCACHE_PREF(
Live,
"dom.performance.time_to_first_interactive.enabled",
dom_performance_time_to_first_interactive_enabled,
bool, false
)
// Is support for PerformanceTiming.timeToNonBlankPaint enabled?
VARCACHE_PREF(
Live,
"dom.performance.time_to_non_blank_paint.enabled",
dom_performance_time_to_non_blank_paint_enabled,
bool, false
)
// Is support for Permissions.revoke enabled?
VARCACHE_PREF(
Live,
"dom.permissions.revoke.enable",
dom_permissions_revoke_enable,
bool, false
)
// Whether we should show the placeholder when the element is focused but empty. // Whether we should show the placeholder when the element is focused but empty.
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -1581,27 +1778,44 @@ VARCACHE_PREF(
bool, true bool, true
) )
// Is support for Element.requestPointerLock enabled?
// This is added for accessibility purpose. When user has no way to exit
// pointer lock (e.g. no keyboard available), they can use this pref to
// disable the Pointer Lock API altogether.
VARCACHE_PREF(
Live,
"dom.pointer-lock.enabled",
dom_pointer_lock_enabled,
bool, true
)
// Presentation API // Presentation API
#if defined(ANDROID)
# define PREF_VALUE NOT_IN_RELEASE_OR_BETA_VALUE
#else
# define PREF_VALUE false
#endif
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"dom.presentation.enabled", "dom.presentation.enabled",
dom_presentation_enabled, dom_presentation_enabled,
bool, false bool, PREF_VALUE
) )
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"dom.presentation.controller.enabled", "dom.presentation.controller.enabled",
dom_presentation_controller_enabled, dom_presentation_controller_enabled,
bool, false bool, PREF_VALUE
) )
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"dom.presentation.receiver.enabled", "dom.presentation.receiver.enabled",
dom_presentation_receiver_enabled, dom_presentation_receiver_enabled,
bool, false bool, PREF_VALUE
) )
#undef PREF_VALUE
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -1635,6 +1849,14 @@ VARCACHE_PREF(
RelaxedAtomicBool, false RelaxedAtomicBool, false
) )
// Is support for Navigator.registerContentHandler enabled?
VARCACHE_PREF(
Live,
"dom.registerContentHandler.enabled",
dom_registerContentHandler_enabled,
bool, false
)
// Reporting API. // Reporting API.
#ifdef NIGHTLY_BUILD #ifdef NIGHTLY_BUILD
# define PREF_VALUE true # define PREF_VALUE true
@ -1796,6 +2018,14 @@ VARCACHE_PREF(
) )
#undef PREF_VALUE #undef PREF_VALUE
// Is support for selection event APIs enabled?
VARCACHE_PREF(
Live,
"dom.select_events.enabled",
dom_select_events_enabled,
bool, true
)
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"dom.separate_event_queue_for_post_message.enabled", "dom.separate_event_queue_for_post_message.enabled",
@ -1822,6 +2052,15 @@ VARCACHE_PREF(
RelaxedAtomicBool, false RelaxedAtomicBool, false
) )
// External.AddSearchProvider is deprecated and it will be removed in the next
// cycles.
VARCACHE_PREF(
Live,
"dom.sidebar.enabled",
dom_sidebar_enabled,
bool, true
)
// Are shared memory User Agent style sheets enabled? // Are shared memory User Agent style sheets enabled?
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -1852,6 +2091,14 @@ VARCACHE_PREF(
) )
#undef PREF_VALUE #undef PREF_VALUE
// Is support for Storage test APIs enabled?
VARCACHE_PREF(
Live,
"dom.storage.testing",
dom_storage_testing,
bool, false
)
// For area and anchor elements with target=_blank and no rel set to // For area and anchor elements with target=_blank and no rel set to
// opener/noopener. // opener/noopener.
#ifdef EARLY_BETA_OR_EARLIER #ifdef EARLY_BETA_OR_EARLIER
@ -1867,6 +2114,14 @@ VARCACHE_PREF(
) )
#undef PREF_VALUE #undef PREF_VALUE
// Is support for Selection.GetRangesForInterval enabled?
VARCACHE_PREF(
Live,
"dom.testing.selection.GetRangesForInterval",
dom_testing_selection_GetRangesForInterval,
bool, false
)
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"dom.testing.structuredclonetester.enabled", "dom.testing.structuredclonetester.enabled",
@ -1899,12 +2154,29 @@ VARCACHE_PREF(
bool, false bool, false
) )
// Is support for Window.visualViewport enabled?
VARCACHE_PREF(
Live,
"dom.visualviewport.enabled",
dom_visualviewport_enabled,
bool, false
)
// Is support for WebVR APIs enabled?
// Enabled by default in beta and release for Windows and OS X and for all
// platforms in nightly and aurora.
#if defined(XP_WIN) || defined(XP_DARWIN) || !defined(RELEASE_OR_BETA)
# define PREF_VALUE true
#else
# define PREF_VALUE false
#endif
VARCACHE_PREF( VARCACHE_PREF(
Once, Once,
"dom.vr.enabled", "dom.vr.enabled",
dom_vr_enabled, dom_vr_enabled,
bool, false bool, PREF_VALUE
) )
#undef PREF_VALUE
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -2096,6 +2368,14 @@ VARCACHE_PREF(
) )
#undef PREF_VALUE #undef PREF_VALUE
// Is support for Navigator.webdriver enabled?
VARCACHE_PREF(
Live,
"dom.webdriver.enabled",
dom_webdriver_enabled,
bool, true
)
// In case Touch API is enabled, this pref controls whether to support // In case Touch API is enabled, this pref controls whether to support
// ontouch* event handlers, document.createTouch, document.createTouchList and // ontouch* event handlers, document.createTouch, document.createTouchList and
// document.createEvent("TouchEvent"). // document.createEvent("TouchEvent").
@ -2150,6 +2430,20 @@ VARCACHE_PREF(
bool, false bool, false
) )
// Is support for HTMLInputElement.webkitEntries enabled?
#if !defined(MOZ_WIDGET_ANDROID)
# define PREF_VALUE true
#else
# define PREF_VALUE false
#endif
VARCACHE_PREF(
Live,
"dom.webkitBlink.filesystem.enabled",
dom_webkitBlink_filesystem_enabled,
bool, PREF_VALUE
)
#undef PREF_VALUE
// Whether the WebMIDI API is enabled // Whether the WebMIDI API is enabled
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -2205,6 +2499,14 @@ VARCACHE_PREF(
RelaxedAtomicBool, true RelaxedAtomicBool, true
) )
// Is support for Window.event enabled?
VARCACHE_PREF(
Live,
"dom.window.event.enabled",
dom_window_event_enabled,
bool, true
)
// Enable the "noreferrer" feature argument for window.open() // Enable the "noreferrer" feature argument for window.open()
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -2257,6 +2559,45 @@ VARCACHE_PREF(
RelaxedAtomicBool, true RelaxedAtomicBool, true
) )
// Is support for XMLDocument.async enabled?
VARCACHE_PREF(
Live,
"dom.xmldocument.async.enabled",
dom_xmldocument_async_enabled,
bool, false
)
// Is support for XMLDocument.load enabled?
VARCACHE_PREF(
Live,
"dom.xmldocument.load.enabled",
dom_xmldocument_load_enabled,
bool, false
)
// Is support for Navigator.geolocation enabled?
VARCACHE_PREF(
Live,
"geo.enabled",
geo_enabled,
bool, true
)
// WebIDL test prefs
VARCACHE_PREF(
Live,
"abc.def",
abc_def,
bool, true
)
VARCACHE_PREF(
Live,
"ghi.jkl",
ghi_jkl,
bool, true
)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Prefs starting with "extensions." // Prefs starting with "extensions."
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
@ -4247,6 +4588,14 @@ VARCACHE_PREF(
) )
#undef PREF_VALUE #undef PREF_VALUE
// Is support for GeometryUtils.convert*FromNode enabled?
VARCACHE_PREF(
Live,
"layout.css.convertFromNode.enabled",
layout_css_convertFromNode_enabled,
bool, NOT_IN_RELEASE_OR_BETA_VALUE
)
// Is support for DOMMatrix enabled? // Is support for DOMMatrix enabled?
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -4335,7 +4684,15 @@ VARCACHE_PREF(
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"layout.css.individual-transform.enabled", "layout.css.individual-transform.enabled",
IndividualTransform, layout_css_individual_transform_enabled,
bool, false
)
// Is support for CSS initial-letter property enabled?
VARCACHE_PREF(
Live,
"layout.css.initial-letter.enabled",
layout_css_initial_letter_enabled,
bool, false bool, false
) )
@ -4347,6 +4704,22 @@ VARCACHE_PREF(
bool, false bool, false
) )
// Is support for motion-path enabled?
VARCACHE_PREF(
Live,
"layout.css.motion-path.enabled",
layout_css_motion_path_enabled,
bool, NOT_IN_RELEASE_OR_BETA_VALUE
)
// Is support for -moz-binding enabled?
VARCACHE_PREF(
Live,
"layout.css.moz-binding.content.enabled",
layout_css_moz_binding_content_enabled,
bool, false
)
// Pref to control whether @-moz-document rules are enabled in content pages. // Pref to control whether @-moz-document rules are enabled in content pages.
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -4378,6 +4751,36 @@ VARCACHE_PREF(
bool, false bool, false
) )
// Is -moz-osx-font-smoothing enabled? (Only supported in OSX builds)
#if defined(XP_MACOSX)
# define PREF_VALUE true
#else
# define PREF_VALUE false
#endif
VARCACHE_PREF(
Live,
"layout.css.osx-font-smoothing.enabled",
layout_css_osx_font_smoothing_enabled,
bool, PREF_VALUE
)
#undef PREF_VALUE
// Is support for CSS overflow-clip-box enabled for non-UA sheets?
VARCACHE_PREF(
Live,
"layout.css.overflow-clip-box.enabled",
layout_css_overflow_clip_box_enabled,
bool, false
)
// Is support for overscroll-behavior enabled?
VARCACHE_PREF(
Live,
"layout.css.overscroll-behavior.enabled",
layout_css_overscroll_behavior_enabled,
bool, true
)
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"layout.css.paint-order.enabled", "layout.css.paint-order.enabled",
@ -4393,6 +4796,30 @@ VARCACHE_PREF(
bool, true bool, true
) )
// Is support for -moz-prefixed animation properties enabled?
VARCACHE_PREF(
Live,
"layout.css.prefixes.animations",
layout_css_prefixes_animations,
bool, true
)
// Is support for -moz-border-image enabled?
VARCACHE_PREF(
Live,
"layout.css.prefixes.border-image",
layout_css_prefixes_border_image,
bool, true
)
// Is support for -moz-box-sizing enabled?
VARCACHE_PREF(
Live,
"layout.css.prefixes.box-sizing",
layout_css_prefixes_box_sizing,
bool, true
)
// Are "-webkit-{min|max}-device-pixel-ratio" media queries supported? // Are "-webkit-{min|max}-device-pixel-ratio" media queries supported?
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -4401,6 +4828,30 @@ VARCACHE_PREF(
bool, true bool, true
) )
// Is support for -moz-prefixed font feature properties enabled?
VARCACHE_PREF(
Live,
"layout.css.prefixes.font-features",
layout_css_prefixes_font_features,
bool, true
)
// Is support for -moz-prefixed transform properties enabled?
VARCACHE_PREF(
Live,
"layout.css.prefixes.transforms",
layout_css_prefixes_transforms,
bool, true
)
// Is support for -moz-prefixed transition properties enabled?
VARCACHE_PREF(
Live,
"layout.css.prefixes.transitions",
layout_css_prefixes_transitions,
bool, true
)
// Is CSS error reporting enabled? // Is CSS error reporting enabled?
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -4416,6 +4867,22 @@ VARCACHE_PREF(
AtomicFloat, 1.0f AtomicFloat, 1.0f
) )
// Is support for scrollbar-color property enabled?
VARCACHE_PREF(
Live,
"layout.css.scrollbar-color.enabled",
layout_css_scrollbar_color_enabled,
bool, true
)
// Is support for scrollbar-width property enabled?
VARCACHE_PREF(
Live,
"layout.css.scrollbar-width.enabled",
layout_css_scrollbar_width_enabled,
bool, true
)
#ifdef NIGHTLY_BUILD #ifdef NIGHTLY_BUILD
# define PREF_VALUE true # define PREF_VALUE true
#else #else
@ -4472,11 +4939,16 @@ VARCACHE_PREF(
bool, true bool, true
) )
// W3C touch-action css property (related to touch and pointer events)
// Note that we turn this on even on platforms/configurations where touch
// events are not supported (e.g. OS X, or Windows with e10s disabled). For
// those platforms we don't handle touch events anyway so it's conceptually
// a no-op.
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"layout.css.touch_action.enabled", "layout.css.touch_action.enabled",
TouchActionEnabled, layout_css_touch_action_enabled,
RelaxedAtomicBool, false RelaxedAtomicBool, true
) )
// Does arbitrary ::-webkit-* pseudo-element parsed? // Does arbitrary ::-webkit-* pseudo-element parsed?
@ -4767,6 +5239,14 @@ VARCACHE_PREF(
) )
#undef PREF_VALUE #undef PREF_VALUE
// Is support for CSS text-justify property enabled?
VARCACHE_PREF(
Live,
"layout.css.text-justify.enabled",
layout_css_text_justify_enabled,
bool, true
)
// Is support for -webkit-line-clamp enabled? // Is support for -webkit-line-clamp enabled?
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
@ -5536,7 +6016,7 @@ VARCACHE_PREF(
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"media.videocontrols.lock-video-orientation", "media.videocontrols.lock-video-orientation",
MediaVideocontrolsLockVideoOrientation, media_videocontrols_lock_video_orientation,
bool, PREF_VALUE bool, PREF_VALUE
) )
#undef PREF_VALUE #undef PREF_VALUE
@ -5608,7 +6088,7 @@ VARCACHE_PREF(
VARCACHE_PREF( VARCACHE_PREF(
Live, Live,
"media.test.video-suspend", "media.test.video-suspend",
MediaTestVideoSuspend, media_test_video_suspend,
RelaxedAtomicBool, false RelaxedAtomicBool, false
) )
@ -5653,6 +6133,27 @@ VARCACHE_PREF(
bool, true bool, true
) )
VARCACHE_PREF(
Live,
"media.peerconnection.dtmf.enabled",
media_peerconnection_dtmf_enabled,
bool, true
)
VARCACHE_PREF(
Live,
"media.peerconnection.identity.enabled",
media_peerconnection_identity_enabled,
bool, true
)
VARCACHE_PREF(
Live,
"media.peerconnection.rtpsourcesapi.enabled",
media_peerconnection_rtpsourcesapi_enabled,
bool, true
)
#ifdef MOZ_WEBRTC #ifdef MOZ_WEBRTC
#ifdef ANDROID #ifdef ANDROID
@ -5703,6 +6204,61 @@ VARCACHE_PREF(
#endif // MOZ_WEBRTC #endif // MOZ_WEBRTC
// HTMLMediaElement.allowedToPlay should be exposed to web content when
// block autoplay rides the trains to release. Until then, Nightly only.
#ifdef NIGHTLY_BUILD
# define PREF_VALUE true
#else
# define PREF_VALUE false
#endif
VARCACHE_PREF(
Live,
"media.allowed-to-play.enabled",
media_allowed_to_play_enabled,
bool, PREF_VALUE
)
#undef PREF_VALUE
// Is support for MediaKeys.getStatusForPolicy enabled?
VARCACHE_PREF(
Live,
"media.eme.hdcp-policy-check.enabled",
media_eme_hdcp_policy_check_enabled,
bool, false
)
// Is support for MediaDevices.ondevicechange enabled?
VARCACHE_PREF(
Live,
"media.ondevicechange.enabled",
media_ondevicechange_enabled,
bool, true
)
// Is support for HTMLMediaElement.seekToNextFrame enabled?
VARCACHE_PREF(
Live,
"media.seekToNextFrame.enabled",
media_seekToNextFrame_enabled,
bool, true
)
// setSinkId will be enabled in bug 1498512. Till then the
// implementation will remain hidden behind this pref (Bug 1152401, Bug 934425).
VARCACHE_PREF(
Live,
"media.setsinkid.enabled",
media_setsinkid_enabled,
bool, false
)
VARCACHE_PREF(
Live,
"media.useAudioChannelService.testing",
media_useAudioChannelService_testing,
bool, false
)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Prefs starting with "mousewheel." // Prefs starting with "mousewheel."
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
@ -6347,6 +6903,18 @@ VARCACHE_PREF(
int32_t, 0 int32_t, 0
) )
//---------------------------------------------------------------------------
// Prefs starting with "svg."
//---------------------------------------------------------------------------
// Is support for transform-box enabled?
VARCACHE_PREF(
Live,
"svg.transform-box.enabled",
svg_transform_box_enabled,
bool, true
)
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// Prefs starting with "telemetry." // Prefs starting with "telemetry."
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
@ -6736,6 +7304,7 @@ VARCACHE_PREF(
) )
#undef PREF_VALUE #undef PREF_VALUE
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
// End of prefs // End of prefs
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------

Просмотреть файл

@ -99,9 +99,6 @@ pref("browser.cache.compression_level", 0);
// Don't show "Open with" option on download dialog if true. // Don't show "Open with" option on download dialog if true.
pref("browser.download.forbid_open_with", false); pref("browser.download.forbid_open_with", false);
// Remove navigator.registerContentHandler
pref("dom.registerContentHandler.enabled", false);
// Insecure registerProtocolHandler is disabled by default // Insecure registerProtocolHandler is disabled by default
pref("dom.registerProtocolHandler.insecure.enabled", false); pref("dom.registerProtocolHandler.insecure.enabled", false);
@ -122,12 +119,6 @@ pref("dom.indexedDB.logging.profiler-marks", false);
// Whether or not File Handle is enabled. // Whether or not File Handle is enabled.
pref("dom.fileHandle.enabled", true); pref("dom.fileHandle.enabled", true);
// Whether window.onappinstalled from "W3C Web Manifest" is enabled
pref("dom.manifest.onappinstalled", false);
// Whether or not selection events are enabled
pref("dom.select_events.enabled", true);
// Whether or not selection events on text controls are enabled // Whether or not selection events on text controls are enabled
#ifdef NIGHTLY_BUILD #ifdef NIGHTLY_BUILD
pref("dom.select_events.textcontrols.enabled", true); pref("dom.select_events.textcontrols.enabled", true);
@ -152,27 +143,6 @@ pref("dom.serviceWorkers.update_delay", 1000);
// Enable test for 24 hours update, service workers will always treat last update check time is over 24 hours // Enable test for 24 hours update, service workers will always treat last update check time is over 24 hours
pref("dom.serviceWorkers.testUpdateOverOneDay", false); pref("dom.serviceWorkers.testUpdateOverOneDay", false);
// Enable Permission API's .revoke() method
pref("dom.permissions.revoke.enable", false);
// Enable exposing timeToNonBlankPaint
pref("dom.performance.time_to_non_blank_paint.enabled", false);
// Enable exposing timeToContentfulPaint
pref("dom.performance.time_to_contentful_paint.enabled", false);
// Enable exposing timeToDOMContentFlushed
pref("dom.performance.time_to_dom_content_flushed.enabled", false);
// Enable exposing timeToFirstInteractive
pref("dom.performance.time_to_first_interactive.enabled", false);
// Enable Pointer Lock API
// This is added for accessibility purpose. When user has no way to exit
// pointer lock (e.g. no keyboard available), they can use this pref to
// disable the Pointer Lock API altogether.
pref("dom.pointer-lock.enabled", true);
// If this is true, TextEventDispatcher dispatches keydown and keyup events // If this is true, TextEventDispatcher dispatches keydown and keyup events
// even during composition (keypress events are never fired during composition // even during composition (keypress events are never fired during composition
// even if this is true). // even if this is true).
@ -208,15 +178,9 @@ pref("dom.keyboardevent.keypress.hack.use_legacy_keycode_and_charcode.addl", "")
// explanation for the detail. // explanation for the detail.
pref("dom.mouseevent.click.hack.use_legacy_non-primary_dispatch", ""); pref("dom.mouseevent.click.hack.use_legacy_non-primary_dispatch", "");
// Whether InputEvent.data is enabled.
pref("dom.inputevent.data.enabled", true);
// Whether InputEvent.dataTransfer is enabled. // Whether InputEvent.dataTransfer is enabled.
pref("dom.inputevent.datatransfer.enabled", true); pref("dom.inputevent.datatransfer.enabled", true);
// Whether InputEvent.inputType is enabled.
pref("dom.inputevent.inputtype.enabled", true);
#ifdef JS_BUILD_BINAST #ifdef JS_BUILD_BINAST
pref("dom.script_loader.binast_encoding.enabled", false); pref("dom.script_loader.binast_encoding.enabled", false);
@ -227,9 +191,6 @@ pref("dom.script_loader.binast_encoding.enabled", false);
pref("dom.script_loader.binast_encoding.domain.restrict.list", "*.facebook.com,static.xx.fbcdn.net,*.cloudflare.com,*.cloudflarestream.com,unpkg.com"); pref("dom.script_loader.binast_encoding.domain.restrict.list", "*.facebook.com,static.xx.fbcdn.net,*.cloudflare.com,*.cloudflarestream.com,unpkg.com");
#endif #endif
// Whether window.event is enabled
pref("dom.window.event.enabled", true);
// Fastback caching - if this pref is negative, then we calculate the number // Fastback caching - if this pref is negative, then we calculate the number
// of content viewers to cache based on the amount of available memory. // of content viewers to cache based on the amount of available memory.
pref("browser.sessionhistory.max_total_viewers", -1); pref("browser.sessionhistory.max_total_viewers", -1);
@ -402,8 +363,6 @@ pref("media.navigator.video.use_tmmbr", false);
pref("media.navigator.audio.use_fec", true); pref("media.navigator.audio.use_fec", true);
pref("media.navigator.video.red_ulpfec_enabled", false); pref("media.navigator.video.red_ulpfec_enabled", false);
pref("media.peerconnection.dtmf.enabled", true);
#ifdef NIGHTLY_BUILD #ifdef NIGHTLY_BUILD
pref("media.peerconnection.sdp.rust.enabled", true); pref("media.peerconnection.sdp.rust.enabled", true);
pref("media.peerconnection.sdp.rust.compare", true); pref("media.peerconnection.sdp.rust.compare", true);
@ -469,14 +428,12 @@ pref("media.peerconnection.ice.link_local", false); // Set only for testing IPV6
pref("media.peerconnection.ice.force_interface", ""); // Limit to only a single interface pref("media.peerconnection.ice.force_interface", ""); // Limit to only a single interface
pref("media.peerconnection.ice.relay_only", false); // Limit candidates to TURN pref("media.peerconnection.ice.relay_only", false); // Limit candidates to TURN
pref("media.peerconnection.use_document_iceservers", true); pref("media.peerconnection.use_document_iceservers", true);
pref("media.peerconnection.identity.enabled", true);
pref("media.peerconnection.identity.timeout", 10000); pref("media.peerconnection.identity.timeout", 10000);
pref("media.peerconnection.ice.stun_client_maximum_transmits", 7); pref("media.peerconnection.ice.stun_client_maximum_transmits", 7);
pref("media.peerconnection.ice.trickle_grace_period", 5000); pref("media.peerconnection.ice.trickle_grace_period", 5000);
pref("media.peerconnection.ice.no_host", false); pref("media.peerconnection.ice.no_host", false);
pref("media.peerconnection.ice.default_address_only", false); pref("media.peerconnection.ice.default_address_only", false);
pref("media.peerconnection.ice.proxy_only", false); pref("media.peerconnection.ice.proxy_only", false);
pref("media.peerconnection.rtpsourcesapi.enabled", true);
pref("media.peerconnection.turn.disable", false); pref("media.peerconnection.turn.disable", false);
// These values (aec, agc, and noise) are from: // These values (aec, agc, and noise) are from:
@ -498,9 +455,6 @@ pref("media.getusermedia.agc", 1); // kAdaptiveDigital
pref("media.navigator.audio.full_duplex", true); pref("media.navigator.audio.full_duplex", true);
#endif #endif
// Exposes the navigator.webdriver attribute.
pref("dom.webdriver.enabled", true);
#if !defined(ANDROID) #if !defined(ANDROID)
pref("media.getusermedia.screensharing.enabled", true); pref("media.getusermedia.screensharing.enabled", true);
#endif #endif
@ -561,19 +515,6 @@ pref("media.autoplay.allow-extension-background-pages", true);
pref("media.autoplay.enabled.user-gestures-needed", false); pref("media.autoplay.enabled.user-gestures-needed", false);
#endif #endif
// HTMLMediaElement.allowedToPlay should be exposed to web content when
// block autoplay rides the trains to release. Until then, Nightly only.
#ifdef NIGHTLY_BUILD
pref("media.allowed-to-play.enabled", true);
#else
pref("media.allowed-to-play.enabled", false);
#endif
// This pref is used to enable/disable the `document.autoplayPolicy` API which
// returns a enum string which presents current autoplay policy and can change
// overtime based on user session activity.
pref("dom.media.autoplay.autoplay-policy-api", false);
// The default number of decoded video frames that are enqueued in // The default number of decoded video frames that are enqueued in
// MediaDecoderReader's mVideoQueue. // MediaDecoderReader's mVideoQueue.
pref("media.video-queue.default-size", 10); pref("media.video-queue.default-size", 10);
@ -620,10 +561,6 @@ pref("media.av1.use-dav1d", false);
pref("media.webaudio.audiocontextoptions-samplerate.enabled", true); pref("media.webaudio.audiocontextoptions-samplerate.enabled", true);
// setSinkId expected to be unconditionally enabled in 63. Till then the
// implementation will remain hidden behind this pref (Bug 1152401, Bug 934425).
pref("media.setsinkid.enabled", false);
// Weather we allow AMD switchable graphics // Weather we allow AMD switchable graphics
pref("layers.amd-switchable-gfx.enabled", true); pref("layers.amd-switchable-gfx.enabled", true);
@ -961,11 +898,6 @@ pref("accessibility.tabfocus_applies_to_xul", true);
pref("ui.scrollToClick", 0); pref("ui.scrollToClick", 0);
#endif #endif
// provide ability to turn on support for canvas focus rings
pref("canvas.focusring.enabled", true);
pref("canvas.hitregions.enabled", false);
pref("canvas.filters.enabled", true);
// We want the ability to forcibly disable platform a11y, because // We want the ability to forcibly disable platform a11y, because
// some non-a11y-related components attempt to bring it up. See bug // some non-a11y-related components attempt to bring it up. See bug
// 538530 for details about Windows; we have a pref here that allows it // 538530 for details about Windows; we have a pref here that allows it
@ -1263,7 +1195,6 @@ pref("dom.storage.shadow_writes", true);
pref("dom.storage.snapshot_prefill", 16384); pref("dom.storage.snapshot_prefill", 16384);
pref("dom.storage.snapshot_gradual_prefill", 4096); pref("dom.storage.snapshot_gradual_prefill", 4096);
pref("dom.storage.snapshot_reusing", true); pref("dom.storage.snapshot_reusing", true);
pref("dom.storage.testing", false);
pref("dom.storage.client_validation", true); pref("dom.storage.client_validation", true);
pref("dom.send_after_paint_to_content", false); pref("dom.send_after_paint_to_content", false);
@ -1303,9 +1234,6 @@ pref("dom.experimental_forms", false);
// platforms which don't have a color picker implemented yet. // platforms which don't have a color picker implemented yet.
pref("dom.forms.color", true); pref("dom.forms.color", true);
// Support for input type=date and type=time.
pref("dom.forms.datetime", true);
// Support for input type=month, type=week and type=datetime-local. By default, // Support for input type=month, type=week and type=datetime-local. By default,
// disabled. // disabled.
pref("dom.forms.datetime.others", false); pref("dom.forms.datetime.others", false);
@ -1324,9 +1252,6 @@ pref("dom.forms.select.customstyling", true);
#endif #endif
pref("dom.select_popup_in_parent.enabled", false); pref("dom.select_popup_in_parent.enabled", false);
// Enable Directory API. By default, disabled.
pref("dom.input.dirpicker", false);
pref("dom.cycle_collector.incremental", true); pref("dom.cycle_collector.incremental", true);
// Whether to shim a Components object on untrusted windows. // Whether to shim a Components object on untrusted windows.
@ -3008,15 +2933,6 @@ pref("layout.css.dpi", -1);
// of a CSS "px". This is only used for windows on the screen, not for printing. // of a CSS "px". This is only used for windows on the screen, not for printing.
pref("layout.css.devPixelsPerPx", "-1.0"); pref("layout.css.devPixelsPerPx", "-1.0");
// Is support for CSS initial-letter property enabled?
pref("layout.css.initial-letter.enabled", false);
// Is support for scrollbar-color property enabled?
pref("layout.css.scrollbar-color.enabled", true);
// Is support for scrollbar-width property enabled?
pref("layout.css.scrollbar-width.enabled", true);
// Set the threshold distance in CSS pixels below which scrolling will snap to // Set the threshold distance in CSS pixels below which scrolling will snap to
// an edge, when scroll snapping is set to "proximity". // an edge, when scroll snapping is set to "proximity".
pref("layout.css.scroll-snap.proximity-threshold", 200); pref("layout.css.scroll-snap.proximity-threshold", 200);
@ -3031,39 +2947,10 @@ pref("layout.css.scroll-snap.prediction-max-velocity", 2000);
// gestures. // gestures.
pref("layout.css.scroll-snap.prediction-sensitivity", "0.750"); pref("layout.css.scroll-snap.prediction-sensitivity", "0.750");
// Is support for GeometryUtils.convert*FromNode enabled?
#ifdef RELEASE_OR_BETA
pref("layout.css.convertFromNode.enabled", false);
#else
pref("layout.css.convertFromNode.enabled", true);
#endif
// Is support for CSS text-justify property enabled?
pref("layout.css.text-justify.enabled", true);
// Is the paint-order property supported for HTML text? // Is the paint-order property supported for HTML text?
// (It is always supported for SVG.) // (It is always supported for SVG.)
pref("layout.css.paint-order.enabled", true); pref("layout.css.paint-order.enabled", true);
// Are sets of prefixed properties supported?
pref("layout.css.prefixes.border-image", true);
pref("layout.css.prefixes.transforms", true);
pref("layout.css.prefixes.transitions", true);
pref("layout.css.prefixes.animations", true);
pref("layout.css.prefixes.box-sizing", true);
pref("layout.css.prefixes.font-features", true);
// Is -moz-osx-font-smoothing enabled?
// Only supported in OSX builds
#ifdef XP_MACOSX
pref("layout.css.osx-font-smoothing.enabled", true);
#else
pref("layout.css.osx-font-smoothing.enabled", false);
#endif
// Is support for CSS overflow-clip-box enabled for non-UA sheets?
pref("layout.css.overflow-clip-box.enabled", false);
// Is layout of CSS outline-style:auto enabled? // Is layout of CSS outline-style:auto enabled?
pref("layout.css.outline-style-auto.enabled", false); pref("layout.css.outline-style-auto.enabled", false);
@ -3089,16 +2976,6 @@ pref("layout.css.scroll-behavior.damping-ratio", "1.0");
// Are inter-character ruby annotations enabled? // Are inter-character ruby annotations enabled?
pref("layout.css.ruby.intercharacter.enabled", false); pref("layout.css.ruby.intercharacter.enabled", false);
// Is support for overscroll-behavior enabled?
pref("layout.css.overscroll-behavior.enabled", true);
// Is support for motion-path enabled?
#ifdef RELEASE_OR_BETA
pref("layout.css.motion-path.enabled", false);
#else
pref("layout.css.motion-path.enabled", true);
#endif
// pref for which side vertical scrollbars should be on // pref for which side vertical scrollbars should be on
// 0 = end-side in UI direction // 0 = end-side in UI direction
// 1 = end-side in document/content direction // 1 = end-side in document/content direction
@ -3367,8 +3244,6 @@ pref("svg.display-lists.painting.enabled", true);
// See https://svgwg.org/svg2-draft/single-page.html#types-SVGBoundingBoxOptions // See https://svgwg.org/svg2-draft/single-page.html#types-SVGBoundingBoxOptions
pref("svg.new-getBBox.enabled", false); pref("svg.new-getBBox.enabled", false);
pref("svg.transform-box.enabled", true);
# This pref controls whether the 'context-fill' and 'context-stroke' keywords # This pref controls whether the 'context-fill' and 'context-stroke' keywords
# can be used in SVG-as-an-image in the content processes to use the fill/ # can be used in SVG-as-an-image in the content processes to use the fill/
# stroke specified on the element that embeds the image. (These keywords are # stroke specified on the element that embeds the image. (These keywords are
@ -4906,8 +4781,6 @@ pref("webgl.perf.max-warnings", 0);
pref("webgl.perf.max-acceptable-fb-status-invals", 0); pref("webgl.perf.max-acceptable-fb-status-invals", 0);
pref("webgl.perf.spew-frame-allocs", true); pref("webgl.perf.spew-frame-allocs", true);
pref("webgl.enable-webgl2", true);
pref("webgl.enable-debug-renderer-info", true); pref("webgl.enable-debug-renderer-info", true);
pref("webgl.renderer-string-override", ""); pref("webgl.renderer-string-override", "");
pref("webgl.vendor-string-override", ""); pref("webgl.vendor-string-override", "");
@ -5110,15 +4983,9 @@ pref("layers.shared-buffer-provider.enabled", true);
// Force all possible layers to be always active layers // Force all possible layers to be always active layers
pref("layers.force-active", false); pref("layers.force-active", false);
// Enable/Disable the geolocation API for content
pref("geo.enabled", true);
// Timeout for outbound network geolocation provider XHR // Timeout for outbound network geolocation provider XHR
pref("geo.wifi.xhr.timeout", 60000); pref("geo.wifi.xhr.timeout", 60000);
// Enable/Disable the various sensor APIs for content
pref("device.sensors.enabled", true);
// Enable/Disable the device storage API for content // Enable/Disable the device storage API for content
pref("device.storage.enabled", false); pref("device.storage.enabled", false);
@ -5245,9 +5112,6 @@ pref("dom.vibrator.enabled", true);
pref("dom.vibrator.max_vibrate_ms", 10000); pref("dom.vibrator.max_vibrate_ms", 10000);
pref("dom.vibrator.max_vibrate_list_len", 128); pref("dom.vibrator.max_vibrate_list_len", 128);
// Battery API
pref("dom.battery.enabled", true);
// Push // Push
pref("dom.push.loglevel", "Error"); pref("dom.push.loglevel", "Error");
@ -5306,19 +5170,9 @@ pref("dom.w3c_pointer_events.dispatch_by_pointer_messages", false);
// W3C pointer events draft // W3C pointer events draft
pref("dom.w3c_pointer_events.implicit_capture", false); pref("dom.w3c_pointer_events.implicit_capture", false);
// W3C MediaDevices devicechange event
pref("media.ondevicechange.enabled", true);
// W3C MediaDevices devicechange fake event // W3C MediaDevices devicechange fake event
pref("media.ondevicechange.fakeDeviceChangeEvent.enabled", false); pref("media.ondevicechange.fakeDeviceChangeEvent.enabled", false);
// W3C touch-action css property (related to touch and pointer events)
// Note that we turn this on even on platforms/configurations where touch
// events are not supported (e.g. OS X, or Windows with e10s disabled). For
// those platforms we don't handle touch events anyway so it's conceptually
// a no-op.
pref("layout.css.touch_action.enabled", true);
// How long must we wait before declaring that a window is a "ghost" (i.e., a // How long must we wait before declaring that a window is a "ghost" (i.e., a
// likely leak)? This should be longer than it usually takes for an eligible // likely leak)? This should be longer than it usually takes for an eligible
// window to be collected via the GC/CC. // window to be collected via the GC/CC.
@ -5339,13 +5193,6 @@ pref("io.activity.enabled", false);
// to take effect. // to take effect.
pref("jsloader.shareGlobal", true); pref("jsloader.shareGlobal", true);
// WebVR is enabled by default in beta and release for Windows and for all
// platforms in nightly and aurora.
#if defined(XP_WIN) || defined(XP_MACOSX) || !defined(RELEASE_OR_BETA)
pref("dom.vr.enabled", true);
#else
pref("dom.vr.enabled", false);
#endif
// It is often desirable to automatically start vr presentation when // It is often desirable to automatically start vr presentation when
// a user puts on the VR headset. This is done by emitting the // a user puts on the VR headset. This is done by emitting the
// Window.vrdisplayactivate event when the headset's sensors detect it // Window.vrdisplayactivate event when the headset's sensors detect it
@ -5553,12 +5400,6 @@ pref("captivedetect.maxWaitingTime", 5000);
pref("captivedetect.pollingTime", 3000); pref("captivedetect.pollingTime", 3000);
pref("captivedetect.maxRetryCount", 5); pref("captivedetect.maxRetryCount", 5);
#ifdef RELEASE_OR_BETA
pref("dom.forms.inputmode", false);
#else
pref("dom.forms.inputmode", true);
#endif
// Enable mapped array buffer by default. // Enable mapped array buffer by default.
pref("dom.mapped_arraybuffer.enabled", true); pref("dom.mapped_arraybuffer.enabled", true);
@ -5691,8 +5532,6 @@ pref("dom.wakelock.enabled", false);
// The URL of the Firefox Accounts auth server backend // The URL of the Firefox Accounts auth server backend
pref("identity.fxaccounts.auth.uri", "https://api.accounts.firefox.com/v1"); pref("identity.fxaccounts.auth.uri", "https://api.accounts.firefox.com/v1");
pref("beacon.enabled", true);
// Presentation Device // Presentation Device
pref("dom.presentation.tcp_server.debug", false); pref("dom.presentation.tcp_server.debug", false);
pref("dom.presentation.discovery.enabled", false); pref("dom.presentation.discovery.enabled", false);
@ -5714,9 +5553,6 @@ pref("intl.allow-insecure-text-input", false);
// Enable meta-viewport support in remote APZ-enabled frames. // Enable meta-viewport support in remote APZ-enabled frames.
pref("dom.meta-viewport.enabled", false); pref("dom.meta-viewport.enabled", false);
// Disable Visual Viewport API
pref("dom.visualviewport.enabled", false);
// Search service settings // Search service settings
pref("browser.search.log", false); pref("browser.search.log", false);
pref("browser.search.update", true); pref("browser.search.update", true);
@ -5853,17 +5689,12 @@ pref("dom.input.fallbackUploadDir", "");
// Turn rewriting of youtube embeds on/off // Turn rewriting of youtube embeds on/off
pref("plugins.rewrite_youtube_embeds", true); pref("plugins.rewrite_youtube_embeds", true);
// Disable browser frames by default
pref("dom.mozBrowserFramesEnabled", false);
pref("dom.audiochannel.audioCompeting", false); pref("dom.audiochannel.audioCompeting", false);
pref("dom.audiochannel.audioCompeting.allAgents", false); pref("dom.audiochannel.audioCompeting.allAgents", false);
// Default media volume // Default media volume
pref("media.default_volume", "1.0"); pref("media.default_volume", "1.0");
pref("media.seekToNextFrame.enabled", true);
// return the maximum number of cores that navigator.hardwareCurrency returns // return the maximum number of cores that navigator.hardwareCurrency returns
pref("dom.maxHardwareConcurrency", 16); pref("dom.maxHardwareConcurrency", 16);
@ -5872,10 +5703,6 @@ pref("dom.maxHardwareConcurrency", 16);
pref("osfile.reset_worker_delay", 30000); pref("osfile.reset_worker_delay", 30000);
#endif #endif
#if !defined(MOZ_WIDGET_ANDROID)
pref("dom.webkitBlink.filesystem.enabled", true);
#endif
pref("media.block-autoplay-until-in-foreground", true); pref("media.block-autoplay-until-in-foreground", true);
// TODO: Bug 1324406: Treat 'data:' documents as unique, opaque origins // TODO: Bug 1324406: Treat 'data:' documents as unique, opaque origins
@ -5910,9 +5737,6 @@ pref("browser.sanitizer.loglevel", "Warn");
// To disable blocking of auth prompts, set the limit to -1. // To disable blocking of auth prompts, set the limit to -1.
pref("prompts.authentication_dialog_abuse_limit", 2); pref("prompts.authentication_dialog_abuse_limit", 2);
// Whether module scripts (<script type="module">) are enabled for content.
pref("dom.moduleScripts.enabled", true);
// Maximum amount of time in milliseconds consecutive setTimeout()/setInterval() // Maximum amount of time in milliseconds consecutive setTimeout()/setInterval()
// callback are allowed to run before yielding the event loop. // callback are allowed to run before yielding the event loop.
pref("dom.timeout.max_consecutive_callbacks_ms", 4); pref("dom.timeout.max_consecutive_callbacks_ms", 4);
@ -5992,10 +5816,6 @@ pref("dom.datatransfer.mozAtAPIs", false);
pref("dom.datatransfer.mozAtAPIs", true); pref("dom.datatransfer.mozAtAPIs", true);
#endif #endif
// External.AddSearchProvider is deprecated and it will be removed in the next
// cycles.
pref("dom.sidebar.enabled", true);
// Turn off fission frameloader swapping while regressions are being fixed. // Turn off fission frameloader swapping while regressions are being fixed.
// Should be turned back on to resolve bug 1551993. // Should be turned back on to resolve bug 1551993.
pref("fission.rebuild_frameloaders_on_remoteness_change", false); pref("fission.rebuild_frameloaders_on_remoteness_change", false);

Просмотреть файл

@ -85,6 +85,7 @@
#include "gfxConfig.h" #include "gfxConfig.h"
#include "nsView.h" #include "nsView.h"
#include "nsViewManager.h" #include "nsViewManager.h"
#include "mozilla/StaticPrefs.h"
#ifdef DEBUG #ifdef DEBUG
# include "nsIObserver.h" # include "nsIObserver.h"
@ -898,7 +899,7 @@ void nsBaseWidget::ConfigureAPZCTreeManager() {
// have code that can deal with them properly. If APZ is not enabled, this // have code that can deal with them properly. If APZ is not enabled, this
// function doesn't get called. // function doesn't get called.
if (Preferences::GetInt("dom.w3c_touch_events.enabled", 0) || if (Preferences::GetInt("dom.w3c_touch_events.enabled", 0) ||
Preferences::GetBool("dom.w3c_pointer_events.enabled", false)) { StaticPrefs::dom_w3c_pointer_events_enabled()) {
RegisterTouchWindow(); RegisterTouchWindow();
} }
} }
@ -976,7 +977,7 @@ nsEventStatus nsBaseWidget::ProcessUntransformedAPZEvent(
UniquePtr<DisplayportSetListener> postLayerization; UniquePtr<DisplayportSetListener> postLayerization;
if (WidgetTouchEvent* touchEvent = aEvent->AsTouchEvent()) { if (WidgetTouchEvent* touchEvent = aEvent->AsTouchEvent()) {
if (touchEvent->mMessage == eTouchStart) { if (touchEvent->mMessage == eTouchStart) {
if (StaticPrefs::TouchActionEnabled()) { if (StaticPrefs::layout_css_touch_action_enabled()) {
APZCCallbackHelper::SendSetAllowedTouchBehaviorNotification( APZCCallbackHelper::SendSetAllowedTouchBehaviorNotification(
this, GetDocument(), *(original->AsTouchEvent()), aInputBlockId, this, GetDocument(), *(original->AsTouchEvent()), aInputBlockId,
mSetAllowedTouchBehaviorCallback); mSetAllowedTouchBehaviorCallback);

Просмотреть файл

@ -22,15 +22,12 @@ WinPointerEvents::GetPointerTypePtr WinPointerEvents::getPointerType = nullptr;
WinPointerEvents::GetPointerInfoPtr WinPointerEvents::getPointerInfo = nullptr; WinPointerEvents::GetPointerInfoPtr WinPointerEvents::getPointerInfo = nullptr;
WinPointerEvents::GetPointerPenInfoPtr WinPointerEvents::getPointerPenInfo = WinPointerEvents::GetPointerPenInfoPtr WinPointerEvents::getPointerPenInfo =
nullptr; nullptr;
bool WinPointerEvents::sPointerEventEnabled = true;
bool WinPointerEvents::sFirePointerEventsByWinPointerMessages = false; bool WinPointerEvents::sFirePointerEventsByWinPointerMessages = false;
WinPointerEvents::WinPointerEvents() { WinPointerEvents::WinPointerEvents() {
InitLibrary(); InitLibrary();
static bool addedPointerEventEnabled = false; static bool addedPointerEventEnabled = false;
if (!addedPointerEventEnabled) { if (!addedPointerEventEnabled) {
Preferences::AddBoolVarCache(&sPointerEventEnabled,
"dom.w3c_pointer_events.enabled", true);
Preferences::AddBoolVarCache( Preferences::AddBoolVarCache(
&sFirePointerEventsByWinPointerMessages, &sFirePointerEventsByWinPointerMessages,
"dom.w3c_pointer_events.dispatch_by_pointer_messages", false); "dom.w3c_pointer_events.dispatch_by_pointer_messages", false);
@ -73,7 +70,7 @@ bool WinPointerEvents::ShouldHandleWinPointerMessages(UINT aMsg,
WPARAM aWParam) { WPARAM aWParam) {
MOZ_ASSERT(aMsg == WM_POINTERDOWN || aMsg == WM_POINTERUP || MOZ_ASSERT(aMsg == WM_POINTERDOWN || aMsg == WM_POINTERUP ||
aMsg == WM_POINTERUPDATE || aMsg == WM_POINTERLEAVE); aMsg == WM_POINTERUPDATE || aMsg == WM_POINTERLEAVE);
if (!sLibraryHandle || !sPointerEventEnabled) { if (!sLibraryHandle || !StaticPrefs::dom_w3c_pointer_events_enabled()) {
return false; return false;
} }
@ -135,13 +132,13 @@ bool WinPointerEvents::ShouldRollupOnPointerEvent(UINT aMsg, WPARAM aWParam) {
} }
bool WinPointerEvents::ShouldFirePointerEventByWinPointerMessages() { bool WinPointerEvents::ShouldFirePointerEventByWinPointerMessages() {
MOZ_ASSERT(sLibraryHandle && sPointerEventEnabled); MOZ_ASSERT(sLibraryHandle && StaticPrefs::dom_w3c_pointer_events_enabled());
return sFirePointerEventsByWinPointerMessages; return sFirePointerEventsByWinPointerMessages;
} }
WinPointerInfo* WinPointerEvents::GetCachedPointerInfo(UINT aMsg, WinPointerInfo* WinPointerEvents::GetCachedPointerInfo(UINT aMsg,
WPARAM aWParam) { WPARAM aWParam) {
if (!sLibraryHandle || !sPointerEventEnabled || if (!sLibraryHandle || !StaticPrefs::dom_w3c_pointer_events_enabled() ||
MOUSE_INPUT_SOURCE() != dom::MouseEvent_Binding::MOZ_SOURCE_PEN || MOUSE_INPUT_SOURCE() != dom::MouseEvent_Binding::MOZ_SOURCE_PEN ||
ShouldFirePointerEventByWinPointerMessages()) { ShouldFirePointerEventByWinPointerMessages()) {
return nullptr; return nullptr;

Просмотреть файл

@ -162,7 +162,6 @@ class WinPointerEvents final {
static HMODULE sLibraryHandle; static HMODULE sLibraryHandle;
static const wchar_t kPointerLibraryName[]; static const wchar_t kPointerLibraryName[];
static bool sPointerEventEnabled;
static bool sFirePointerEventsByWinPointerMessages; static bool sFirePointerEventsByWinPointerMessages;
// Static function pointers // Static function pointers
static GetPointerTypePtr getPointerType; static GetPointerTypePtr getPointerType;