Bug 1740230 - Remove some prefs for pseudo-classes that we have shipped/unshipped successfully. r=dholbert

And remove code for :-moz-submit-invalid completely.

Differential Revision: https://phabricator.services.mozilla.com/D130737
This commit is contained in:
Emilio Cobos Álvarez 2021-11-10 13:27:47 +00:00
Родитель b7dcc16500
Коммит a5f66c95e1
97 изменённых файлов: 4 добавлений и 1401 удалений

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

@ -226,8 +226,7 @@ class EventStates {
#define NS_EVENT_STATE_READWRITE NS_DEFINE_EVENT_STATE_MACRO(25)
// Content is the default one (meaning depends of the context).
#define NS_EVENT_STATE_DEFAULT NS_DEFINE_EVENT_STATE_MACRO(26)
// Content is a submit control and the form isn't valid.
#define NS_EVENT_STATE_MOZ_SUBMITINVALID NS_DEFINE_EVENT_STATE_MACRO(27)
// Free bit here.
// Content is in the optimum region.
#define NS_EVENT_STATE_OPTIMUM NS_DEFINE_EVENT_STATE_MACRO(28)
// Content is in the suboptimal region.

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

@ -406,10 +406,6 @@ EventStates HTMLButtonElement::IntrinsicState() const {
}
}
if (mForm && !mForm->GetValidity() && IsSubmitControl()) {
state |= NS_EVENT_STATE_MOZ_SUBMITINVALID;
}
return state;
}

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

@ -2020,37 +2020,6 @@ void HTMLFormElement::UpdateValidity(bool aElementValidity) {
return;
}
/*
* We are going to update states assuming submit controls want to
* be notified because we can't know.
* UpdateValidity shouldn't be called so much during parsing so it _should_
* be safe.
*/
nsAutoScriptBlocker scriptBlocker;
// Inform submit controls that the form validity has changed.
for (uint32_t i = 0, length = mControls->mElements.Length(); i < length;
++i) {
nsCOMPtr<nsIFormControl> fc = do_QueryInterface(mControls->mElements[i]);
MOZ_ASSERT(fc);
if (fc->IsSubmitControl()) {
mControls->mElements[i]->UpdateState(true);
}
}
// Because of backward compatibility, <input type='image'> is not in elements
// so we have to check for controls not in elements too.
uint32_t length = mControls->mNotInElements.Length();
for (uint32_t i = 0; i < length; ++i) {
nsCOMPtr<nsIFormControl> fc =
do_QueryInterface(mControls->mNotInElements[i]);
MOZ_ASSERT(fc);
if (fc->IsSubmitControl()) {
mControls->mNotInElements[i]->UpdateState(true);
}
}
UpdateState(true);
}

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

@ -224,8 +224,8 @@ class HTMLFormElement final : public nsGenericHTMLElement,
void OnSubmitClickEnd();
/**
* This method will update the form validity so the submit controls states
* will be updated (for -moz-submit-invalid pseudo-class).
* This method will update the form validity.
*
* This method has to be called by form elements whenever their validity state
* or status regarding constraint validation changes.
*
@ -237,16 +237,6 @@ class HTMLFormElement final : public nsGenericHTMLElement,
*/
void UpdateValidity(bool aElementValidityState);
/**
* Returns the form validity based on the last UpdateValidity() call.
*
* @return Whether the form was valid the last time UpdateValidity() was
* called.
*
* @note This method may not return the *current* validity state!
*/
bool GetValidity() const { return !mInvalidElementsCount; }
/**
* This method check the form validity and make invalid form elements send
* invalid event if needed.
@ -594,7 +584,6 @@ class HTMLFormElement final : public nsGenericHTMLElement,
/**
* Number of invalid and candidate for constraint validation elements in the
* form the last time UpdateValidity has been called.
* @note Should only be used by UpdateValidity() and GetValidity()!
*/
int32_t mInvalidElementsCount;

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

@ -5947,10 +5947,6 @@ EventStates HTMLInputElement::IntrinsicState() const {
state |= NS_EVENT_STATE_PLACEHOLDERSHOWN;
}
if (mForm && !mForm->GetValidity() && IsSubmitControl()) {
state |= NS_EVENT_STATE_MOZ_SUBMITINVALID;
}
return state;
}

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].appendChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<input id='i' type='email' value='foo'>
<form>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].appendChild(document.getElementById('b'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<button id='b' type='submit'></button>
<form>
<input required>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('b').type = 'button';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<button id='b' type='submit'></button>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('b').type = 'submit';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<button id='b'></button>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = '';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' value='foo' required readonly>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').readOnly = 'ro';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').removeAttribute('readonly');
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required readonly>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
:-moz-ui-invalid { box-shadow: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = '';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' value='foo' required>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = 'foo';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required readonly>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input type='email' value='foo'>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<table id='t'>
<tr><td><input required></td></tr>
<tr><td><button type='submit'></button></td></tr>
</table>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
</form>
</body>
</html>

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

@ -1,18 +0,0 @@
defaults pref(layout.css.moz-submit-invalid.enabled,true)
== static-valid.html valid-ref.html
== dynamic-valid.html valid-ref.html
== static-invalid.html invalid-ref.html
== dynamic-invalid.html invalid-ref.html
== dynamic-invalid-barred.html invalid-barred-ref.html
== dynamic-invalid-barred-2.html invalid-barred-ref.html
== dynamic-invalid-not-barred.html invalid-ref.html
== static-invalid-barred.html invalid-barred-ref.html
== remove-invalid-element.html valid-ref-2.html
== add-invalid-element.html invalid-ref-2.html
== add-submit-control.html invalid-ref.html
== remove-submit-control.html valid-ref-3.html
== change-type-submit-control.html invalid-ref.html
== change-type-not-submit-control.html valid-ref-4.html
== self-invalid.html about:blank
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == remove-form.html invalid-ref-3.html # bug 1392106

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

@ -1,23 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('t').removeChild(document.forms[0]);
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<table id='t'>
<form>
<tr><td><input required></td></tr>
<tr><td><button type='submit'></button></td></tr>
</form>
</table>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].removeChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' type='email' value='foo'>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.body.appendChild(document.getElementById('b'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<button id='b' type='submit'></button>
</form>
</body>
</html>

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

@ -1,20 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('b').setCustomValidity('foo');
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<button id='b' type='submit'></button>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input required readonly>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input required>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input value='foo' required>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
</form>
<button type='submit'></button>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
<button type='button'></button>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input value='foo' required>
<button type='submit'></button>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE>
<html>
<link rel='stylesheet' type='text/css' href='style.css'>
<body>
<form>
<button type='submit' class='submit-invalid-ref'>Submit!</button>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE>
<html class="reftest-wait">
<style>
input:invalid {
display: none;
}
</style>
<script>
function onloadHandler()
{
document.getElementById('e').setCustomValidity('foo');
document.documentElement.className='';
}
</script>
<body onload="onloadHandler();">
<form>
<input id='e'>
<button type='submit'>Submit!</button>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE>
<html>
<link rel='stylesheet' type='text/css' href='style.css'>
<body>
<form>
<input type='image' class='submit-invalid-ref'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE>
<html class="reftest-wait">
<style>
input:invalid {
display: none;
}
</style>
<script>
function onloadHandler()
{
document.getElementById('e').setCustomValidity('foo');
document.documentElement.className='';
}
</script>
<body onload="onloadHandler();">
<form>
<input id='e'>
<input type='image'>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE>
<html>
<link rel='stylesheet' type='text/css' href='style.css'>
<body>
<form>
<input type='submit' class='submit-invalid-ref'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE>
<html class="reftest-wait">
<style>
input:invalid {
display: none;
}
</style>
<script>
function onloadHandler()
{
document.getElementById('e').setCustomValidity('foo');
document.documentElement.className='';
}
</script>
<body onload="onloadHandler();">
<form>
<input id='e'>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,5 +0,0 @@
defaults pref(layout.css.moz-submit-invalid.enabled,true)
== input-submit.html input-submit-ref.html
== input-image.html input-image-ref.html
== button-submit.html button-submit-ref.html

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

@ -1,2 +0,0 @@
.submit-invalid-ref {
}

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].appendChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<input id='i' type='email' value='foo'>
<form>
<input type='image'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].appendChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<input id='i' type='image'>
<form>
<input required>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').type = 'text';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<input id='i' type='image'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').type = 'image';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<input id='i'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = '';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' value='foo' required readonly>
<input type='image'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').readOnly = 'ro';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required>
<input type='image'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').removeAttribute('readonly');
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required readonly>
<input type='image'>
</form>
</body>
</html>

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

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
:-moz-ui-invalid { box-shadow: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = '';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' value='foo' required>
<input type='image'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = 'foo';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required>
<input type='image'>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required readonly>
<input type='image'>
</form>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input type='email' value='foo'>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<table id='t'>
<tr><td><input required></td></tr>
<tr><td><input type='image'></td></tr>
</table>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
</form>
</body>
</html>

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

@ -1,18 +0,0 @@
defaults pref(layout.css.moz-submit-invalid.enabled,true)
== static-valid.html valid-ref.html
== dynamic-valid.html valid-ref.html
== static-invalid.html invalid-ref.html
== dynamic-invalid.html invalid-ref.html
== dynamic-invalid-barred.html invalid-barred-ref.html
== dynamic-invalid-barred-2.html invalid-barred-ref.html
== dynamic-invalid-not-barred.html invalid-ref.html
== static-invalid-barred.html invalid-barred-ref.html
== remove-invalid-element.html valid-ref-2.html
== add-invalid-element.html invalid-ref-2.html
== add-submit-control.html invalid-ref.html
== remove-submit-control.html valid-ref-3.html
== change-type-submit-control.html invalid-ref.html
== change-type-not-submit-control.html valid-ref-4.html
== self-invalid.html about:blank
== remove-form.html invalid-ref-3.html

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

@ -1,23 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('t').removeChild(document.forms[0]);
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<table id='t'>
<form>
<tr><td><input required></td></tr>
<tr><td><input type='image'></td></tr>
</form>
</table>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].removeChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' type='email' value='foo'>
<input type='image'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.body.appendChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<input id='i' type='image'>
</form>
</body>
</html>

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

@ -1,20 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').setCustomValidity('foo');
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' type='image'>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input required readonly>
<input type='image'>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input required>
<input type='image'>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input value='foo' required>
<input type='image'>
</form>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input type='image'>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
</form>
<input type='image'>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
<input>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input value='foo' required>
<input type='image'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].appendChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<input id='i' type='email' value='foo'>
<form>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].appendChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<input id='i' type='submit'>
<form>
<input required>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').type = 'text';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<input id='i' type='submit'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').type = 'submit';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<input id='i'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = '';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' value='foo' required readonly>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').readOnly = 'ro';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').removeAttribute('readonly');
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required readonly>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,22 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
:-moz-ui-invalid { box-shadow: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = '';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' value='foo' required>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').value = 'foo';
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' required>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required readonly>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input type='email' value='foo'>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<table id='t'>
<tr><td><input required></td></tr>
<tr><td><input type='submit'></td></tr>
</table>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
</form>
</body>
</html>

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

@ -1,18 +0,0 @@
defaults pref(layout.css.moz-submit-invalid.enabled,true)
== static-valid.html valid-ref.html
== dynamic-valid.html valid-ref.html
== static-invalid.html invalid-ref.html
== dynamic-invalid.html invalid-ref.html
== dynamic-invalid-barred.html invalid-barred-ref.html
== dynamic-invalid-barred-2.html invalid-barred-ref.html
== dynamic-invalid-not-barred.html invalid-ref.html
== static-invalid-barred.html invalid-barred-ref.html
== remove-invalid-element.html valid-ref-2.html
== add-invalid-element.html invalid-ref-2.html
== add-submit-control.html invalid-ref.html
== remove-submit-control.html valid-ref-3.html
== change-type-submit-control.html invalid-ref.html
== change-type-not-submit-control.html valid-ref-4.html
== self-invalid.html about:blank
== remove-form.html invalid-ref-3.html

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

@ -1,23 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('t').removeChild(document.forms[0]);
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<table id='t'>
<form>
<tr><td><input required></td></tr>
<tr><td><input type='submit'></td></tr>
</form>
</table>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.forms[0].removeChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' type='email' value='foo'>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,21 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.body.appendChild(document.getElementById('i'));
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input required>
<input id='i' type='submit'>
</form>
</body>
</html>

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

@ -1,20 +0,0 @@
<!DOCTYPE html>
<html class='reftest-wait'>
<head>
<style>
:invalid { display: none; }
</style>
</head>
<script>
function onloadHandler()
{
document.getElementById('i').setCustomValidity('foo');
document.documentElement.className = '';
}
</script>
<body onload='onloadHandler();'>
<form>
<input id='i' type='submit'>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input required readonly>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input required>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<style>
:-moz-submit-invalid { display: none; }
</style>
</head>
<body>
<form>
<input value='foo' required>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,8 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
</form>
<input type='submit'>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input required>
<input>
</form>
</body>
</html>

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

@ -1,9 +0,0 @@
<!DOCTYPE html>
<html>
<body>
<form>
<input value='foo' required>
<input type='submit'>
</form>
</body>
</html>

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

@ -1,4 +0,0 @@
include button-submit/reftest.list
include input-image/reftest.list
include input-submit/reftest.list
include default-style/reftest.list

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

@ -96,8 +96,6 @@ with Files("css-ruby/**"):
BUG_COMPONENT = ("Core", "Layout: Block and Inline")
with Files("css-selectors/**"):
BUG_COMPONENT = ("Core", "CSS Parsing and Computation")
with Files("css-submit-invalid/**"):
BUG_COMPONENT = ("Core", "Layout: Form Controls")
with Files("css-transitions/**"):
BUG_COMPONENT = ("Core", "CSS Transitions and Animations")
with Files("css-ui-invalid/**"):

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

@ -117,9 +117,6 @@ include css-valid/reftest.list
# css invalid
include css-invalid/reftest.list
# css-submit-invalid
include css-submit-invalid/reftest.list
# css text-overflow
include text-overflow/reftest.list

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

@ -41,10 +41,6 @@ const NON_CONTENT_ACCESIBLE_PSEUDOS = [
"::-moz-tree-row(foo)",
];
if (!SpecialPowers.getBoolPref("layout.css.autofill.enabled")) {
NON_CONTENT_ACCESIBLE_PSEUDOS.push(":autofill", ":-webkit-autofill");
}
test(function() {
sheet.textContent = `div { color: initial }`;
assert_equals(sheet.sheet.cssRules.length, 1);

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

@ -6890,20 +6890,6 @@
mirror: always
rust: true
# Whether the `:autofill` pseudo-class is exposed to content.
- name: layout.css.autofill.enabled
type: RelaxedAtomicBool
value: true
mirror: always
rust: true
# Whether the `:-moz-submit-invalid` pseudo-class is exposed to content.
- name: layout.css.moz-submit-invalid.enabled
type: RelaxedAtomicBool
value: false
mirror: always
rust: true
# Whether the `:-moz-lwtheme` pseudo-class is exposed to content.
- name: layout.css.moz-lwtheme.content.enabled
type: RelaxedAtomicBool

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

@ -80,8 +80,6 @@ bitflags! {
const IN_READWRITE_STATE = 1 << 25;
/// <https://html.spec.whatwg.org/multipage/#selector-default>
const IN_DEFAULT_STATE = 1 << 26;
/// Non-standard: https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-submit-invalid
const IN_MOZ_SUBMITINVALID_STATE = 1 << 27;
/// Non-standard & undocumented.
const IN_OPTIMUM_STATE = 1 << 28;
/// Non-standard & undocumented.

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

@ -37,7 +37,7 @@ macro_rules! apply_non_ts_list {
("any-link", AnyLink, IN_VISITED_OR_UNVISITED_STATE, _),
("visited", Visited, IN_VISITED_STATE, _),
("active", Active, IN_ACTIVE_STATE, _),
("autofill", Autofill, IN_AUTOFILL_STATE, PSEUDO_CLASS_ENABLED_IN_UA_SHEETS_AND_CHROME),
("autofill", Autofill, IN_AUTOFILL_STATE, _),
("checked", Checked, IN_CHECKED_STATE, _),
("defined", Defined, IN_DEFINED_STATE, _),
("disabled", Disabled, IN_DISABLED_STATE, _),
@ -76,7 +76,6 @@ macro_rules! apply_non_ts_list {
("placeholder-shown", PlaceholderShown, IN_PLACEHOLDER_SHOWN_STATE, _),
("read-only", ReadOnly, IN_READONLY_STATE, _),
("read-write", ReadWrite, IN_READWRITE_STATE, _),
("-moz-submit-invalid", MozSubmitInvalid, IN_MOZ_SUBMITINVALID_STATE, _),
("user-valid", UserValid, IN_MOZ_UI_VALID_STATE, _),
("user-invalid", UserInvalid, IN_MOZ_UI_INVALID_STATE, _),
("-moz-meter-optimum", MozMeterOptimum, IN_OPTIMUM_STATE, _),

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

@ -139,12 +139,6 @@ impl NonTSPseudoClass {
/// Returns whether the pseudo-class is enabled in content sheets.
#[inline]
fn is_enabled_in_content(&self) -> bool {
if let NonTSPseudoClass::Autofill = *self {
return static_prefs::pref!("layout.css.autofill.enabled");
}
if let NonTSPseudoClass::MozSubmitInvalid = *self {
return static_prefs::pref!("layout.css.moz-submit-invalid.enabled");
}
if matches!(*self, Self::MozLWTheme | Self::MozLWThemeBrightText | Self::MozLWThemeDarkText) {
return static_prefs::pref!("layout.css.moz-lwtheme.content.enabled");
}

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

@ -2077,7 +2077,6 @@ impl<'le> ::selectors::Element for GeckoElement<'le> {
NonTSPseudoClass::InRange |
NonTSPseudoClass::OutOfRange |
NonTSPseudoClass::Default |
NonTSPseudoClass::MozSubmitInvalid |
NonTSPseudoClass::UserValid |
NonTSPseudoClass::UserInvalid |
NonTSPseudoClass::MozMeterOptimum |