зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1069012 - Unprefix ::placeholder pseudo-element. r=bz
This commit is contained in:
Родитель
d4bbac96b5
Коммит
2b28c5e2a9
|
@ -406,7 +406,7 @@
|
|||
padding: 3px 2px 1px;
|
||||
text-transform: none;
|
||||
}
|
||||
.pkt_ext_containersaved .pkt_ext_tag_input_wrapper input::-moz-placeholder {
|
||||
.pkt_ext_containersaved .pkt_ext_tag_input_wrapper input::placeholder {
|
||||
color: #a9a9a9;
|
||||
letter-spacing: normal;
|
||||
text-transform: none;
|
||||
|
|
|
@ -2330,7 +2330,7 @@ html|span.ac-emphasize-text-url {
|
|||
}
|
||||
}
|
||||
|
||||
#editBMPanel_tagsField > .autocomplete-textbox-container > .textbox-input-box > html|*.textbox-input::-moz-placeholder {
|
||||
#editBMPanel_tagsField > .autocomplete-textbox-container > .textbox-input-box > html|*.textbox-input::placeholder {
|
||||
opacity: 1.0;
|
||||
color: #bbb;
|
||||
}
|
||||
|
|
|
@ -1357,8 +1357,8 @@ toolbar[brighttext] #close-button {
|
|||
-moz-box-direction: reverse;
|
||||
}
|
||||
|
||||
html|*.urlbar-input:-moz-lwtheme::-moz-placeholder,
|
||||
.searchbar-textbox:-moz-lwtheme > .autocomplete-textbox-container > .textbox-input-box > html|*.textbox-input::-moz-placeholder {
|
||||
html|*.urlbar-input:-moz-lwtheme::placeholder,
|
||||
.searchbar-textbox:-moz-lwtheme > .autocomplete-textbox-container > .textbox-input-box > html|*.textbox-input::placeholder {
|
||||
opacity: 1.0;
|
||||
color: #777;
|
||||
}
|
||||
|
|
|
@ -1854,7 +1854,7 @@ output {
|
|||
border-color: #66afe9;
|
||||
outline: 0;
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }
|
||||
.form-control::-moz-placeholder {
|
||||
.form-control::placeholder {
|
||||
color: #999999;
|
||||
opacity: 1; }
|
||||
.form-control:-ms-input-placeholder {
|
||||
|
@ -4510,4 +4510,4 @@ body {
|
|||
.jumbotron {
|
||||
border-bottom: 300; } }
|
||||
|
||||
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJtYWluLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiJGljb24tZm9udC1wYXRoOiBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3Mtb2ZmaWNpYWwvdmVuZG9yL2Fzc2V0cy9mb250cy9ib290c3RyYXAvXCI7XG5cbi8vIGJvd2VyOnNjc3NcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzLW9mZmljaWFsL3ZlbmRvci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwLnNjc3NcIjtcbi8vIGVuZGJvd2VyXG5cbi5icm93c2VoYXBweSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMC4yZW0gMDtcbn1cblxuLyogU3BhY2Ugb3V0IGNvbnRlbnQgYSBiaXQgKi9cbmJvZHkge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4vKiBFdmVyeXRoaW5nIGJ1dCB0aGUganVtYm90cm9uIGdldHMgc2lkZSBzcGFjaW5nIGZvciBtb2JpbGUgZmlyc3Qgdmlld3MgKi9cbi5oZWFkZXIsXG4ubWFya2V0aW5nLFxuLmZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi8qIEN1c3RvbSBwYWdlIGhlYWRlciAqL1xuLmhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG5cbiAgICAvKiBNYWtlIHRoZSBtYXN0aGVhZCBoZWFkaW5nIHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgbmF2aWdhdGlvbiAqL1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxOXB4O1xuICAgIH1cbn1cblxuLyogQ3VzdG9tIHBhZ2UgZm9vdGVyICovXG4uZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTlweDtcbiAgICBjb2xvcjogIzc3NztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLmNvbnRhaW5lci1uYXJyb3cgPiBociB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG59XG5cbi8qIE1haW4gbWFya2V0aW5nIG1lc3NhZ2UgYW5kIHNpZ24gdXAgYnV0dG9uICovXG4uanVtYm90cm9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAyNHB4O1xuICAgIH1cbn1cblxuLyogU3VwcG9ydGluZyBtYXJrZXRpbmcgY29udGVudCAqL1xuLm1hcmtldGluZyB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgcCArIGg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICB9XG59XG5cbi8qIFJlc3BvbnNpdmU6IFBvcnRyYWl0IHRhYmxldHMgYW5kIHVwICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDczMHB4O1xuICAgIH1cblxuICAgIC8qIFJlbW92ZSB0aGUgcGFkZGluZyB3ZSBzZXQgZWFybGllciAqL1xuICAgIC5oZWFkZXIsXG4gICAgLm1hcmtldGluZyxcbiAgICAuZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qIFNwYWNlIG91dCB0aGUgbWFzdGhlYWQgKi9cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAvKiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgb24gdGhlIGp1bWJvdHJvbiBmb3IgdmlzdWFsIGVmZmVjdCAqL1xuICAgIC5qdW1ib3Ryb24ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAzMDA7XG4gICAgfVxufVxuXG4vLyB0aGlzIGlzIGEgY29tbWVudC4uLlxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
|
||||
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJtYWluLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiJGljb24tZm9udC1wYXRoOiBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3Mtb2ZmaWNpYWwvdmVuZG9yL2Fzc2V0cy9mb250cy9ib290c3RyYXAvXCI7XG5cbi8vIGJvd2VyOnNjc3NcbkBpbXBvcnQgXCIuLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzLW9mZmljaWFsL3ZlbmRvci9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwLnNjc3NcIjtcbi8vIGVuZGJvd2VyXG5cbi5icm93c2VoYXBweSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMC4yZW0gMDtcbn1cblxuLyogU3BhY2Ugb3V0IGNvbnRlbnQgYSBiaXQgKi9cbmJvZHkge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4vKiBFdmVyeXRoaW5nIGJ1dCB0aGUganVtYm90cm9uIGdldHMgc2lkZSBzcGFjaW5nIGZvciBtb2JpbGUgZmlyc3Qgdmlld3MgKi9cbi5oZWFkZXIsXG4ubWFya2V0aW5nLFxuLmZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi8qIEN1c3RvbSBwYWdlIGhlYWRlciAqL1xuLmhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG5cbiAgICAvKiBNYWtlIHRoZSBtYXN0aGVhZCBoZWFkaW5nIHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgbmF2aWdhdGlvbiAqL1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxOXB4O1xuICAgIH1cbn1cblxuLyogQ3VzdG9tIHBhZ2UgZm9vdGVyICovXG4uZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTlweDtcbiAgICBjb2xvcjogIzc3NztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLmNvbnRhaW5lci1uYXJyb3cgPiBociB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG59XG5cbi8qIE1haW4gbWFya2V0aW5nIG1lc3NhZ2UgYW5kIHNpZ24gdXAgYnV0dG9uICovXG4uanVtYm90cm9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAyNHB4O1xuICAgIH1cbn1cblxuLyogU3VwcG9ydGluZyBtYXJrZXRpbmcgY29udGVudCAqL1xuLm1hcmtldGluZyB7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgcCArIGg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICB9XG59XG5cbi8qIFJlc3BvbnNpdmU6IFBvcnRyYWl0IHRhYmxldHMgYW5kIHVwICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDczMHB4O1xuICAgIH1cblxuICAgIC8qIFJlbW92ZSB0aGUgcGFkZGluZyB3ZSBzZXQgZWFybGllciAqL1xuICAgIC5oZWFkZXIsXG4gICAgLm1hcmtldGluZyxcbiAgICAuZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qIFNwYWNlIG91dCB0aGUgbWFzdGhlYWQgKi9cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAvKiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgb24gdGhlIGp1bWJvdHJvbiBmb3IgdmlzdWFsIGVmZmVjdCAqL1xuICAgIC5qdW1ib3Ryb24ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAzMDA7XG4gICAgfVxufVxuXG4vLyB0aGlzIGlzIGEgY29tbWVudC4uLlxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
|
||||
|
|
|
@ -547,8 +547,8 @@ checkbox:-moz-focusring {
|
|||
visibility: hidden;
|
||||
}
|
||||
|
||||
.devtools-searchinput .textbox-input::-moz-placeholder,
|
||||
.devtools-filterinput .textbox-input::-moz-placeholder {
|
||||
.devtools-searchinput .textbox-input::placeholder,
|
||||
.devtools-filterinput .textbox-input::placeholder {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ console.log("The PSEUDO_ELEMENTS have been copied to your clipboard.")
|
|||
*/
|
||||
|
||||
/*eslint-disable */
|
||||
exports.PSEUDO_ELEMENTS = [":after",":before",":backdrop",":first-letter",":first-line",":-moz-selection",":-moz-focus-inner",":-moz-focus-outer",":-moz-list-bullet",":-moz-list-number",":-moz-math-anonymous",":-moz-progress-bar",":-moz-range-track",":-moz-range-progress",":-moz-range-thumb",":-moz-meter-bar",":-moz-placeholder",":-moz-color-swatch"];
|
||||
exports.PSEUDO_ELEMENTS = [":after",":before",":backdrop",":first-letter",":first-line",":-moz-selection",":-moz-focus-inner",":-moz-focus-outer",":-moz-list-bullet",":-moz-list-number",":-moz-math-anonymous",":-moz-progress-bar",":-moz-range-track",":-moz-range-progress",":-moz-range-thumb",":-moz-meter-bar",":-moz-placeholder",":placeholder",":-moz-color-swatch"];
|
||||
/*eslint-enable */
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
@namespace html url('http://www.w3.org/1999/xhtml');
|
||||
|
||||
/* We need to have a non-transparent placeholder so we can test it. */
|
||||
html|input::-moz-placeholder {
|
||||
html|input::placeholder {
|
||||
opacity: 1.0;
|
||||
color: graytext;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -350,8 +350,8 @@ nsTextControlFrame::CreateAnonymousContent(nsTArray<ContentInfo>& aElements)
|
|||
nsIContent* placeholderNode = txtCtrl->CreatePlaceholderNode();
|
||||
NS_ENSURE_TRUE(placeholderNode, NS_ERROR_OUT_OF_MEMORY);
|
||||
|
||||
// Associate ::-moz-placeholder pseudo-element with the placeholder node.
|
||||
CSSPseudoElementType pseudoType = CSSPseudoElementType::mozPlaceholder;
|
||||
// Associate ::placeholder pseudo-element with the placeholder node.
|
||||
CSSPseudoElementType pseudoType = CSSPseudoElementType::placeholder;
|
||||
|
||||
// If this is a text input inside a number input then we want to use the
|
||||
// main number input as the source of style for the placeholder frame.
|
||||
|
@ -1464,7 +1464,7 @@ nsTextControlFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
|||
mozilla::dom::Element*
|
||||
nsTextControlFrame::GetPseudoElement(CSSPseudoElementType aType)
|
||||
{
|
||||
if (aType == CSSPseudoElementType::mozPlaceholder) {
|
||||
if (aType == CSSPseudoElementType::placeholder) {
|
||||
nsCOMPtr<nsITextControlElement> txtCtrl = do_QueryInterface(GetContent());
|
||||
return txtCtrl->GetPlaceholderNode();
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
":backdrop",
|
||||
":first-letter",
|
||||
":first-line",
|
||||
":placeholder",
|
||||
":-moz-color-swatch",
|
||||
":-moz-focus-inner",
|
||||
":-moz-focus-outer",
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<!--
|
||||
This test checks that setting a background on a ::-moz-placeholder works.
|
||||
This test checks that setting a background on a ::placeholder works.
|
||||
However, given that it is not possible to do an actualy equality check, we
|
||||
have te check that setting a background doesn't produce the same result
|
||||
as not setting it.
|
||||
-->
|
||||
<style>
|
||||
:-moz-any(input, textarea).color::-moz-placeholder {
|
||||
:-moz-any(input, textarea).color::placeholder {
|
||||
background-color: blue;
|
||||
}
|
||||
:-moz-any(input, textarea).gradient::-moz-placeholder {
|
||||
:-moz-any(input, textarea).gradient::placeholder {
|
||||
background: linear-gradient(to right, blue, white, red);
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<style>
|
||||
:-moz-any(input, textarea)::-moz-placeholder {
|
||||
:-moz-any(input, textarea)::placeholder {
|
||||
visibility: hidden;
|
||||
padding: 20px;
|
||||
float: right;
|
||||
|
|
|
@ -13,5 +13,7 @@
|
|||
<body>
|
||||
<input value='foo bar'>
|
||||
<textarea>foo bar</textarea>
|
||||
<input value='bar foo'>
|
||||
<textarea>bar foo</textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<html>
|
||||
<!--
|
||||
This test checks that a few allowed CSS properties have an effect when
|
||||
applied to ::-moz-placeholder.
|
||||
applied to ::placeholder or ::-moz-placeholder.
|
||||
-->
|
||||
<style>
|
||||
/*
|
||||
|
@ -15,7 +15,8 @@
|
|||
font-style: italic;
|
||||
}
|
||||
|
||||
:-moz-any(input, textarea)::-moz-placeholder {
|
||||
[placeholder="foo bar"]::placeholder,
|
||||
[placeholder="bar foo"]::-moz-placeholder {
|
||||
opacity: 1.0;
|
||||
font: -moz-list;
|
||||
font-family: mono;
|
||||
|
@ -28,5 +29,7 @@
|
|||
<body>
|
||||
<input placeholder='foo bar'>
|
||||
<textarea placeholder='foo bar'></textarea>
|
||||
<input placeholder='bar foo'>
|
||||
<textarea placeholder='bar foo'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
:-moz-placeholder {
|
||||
color: red;
|
||||
}
|
||||
:placeholder {
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<input placeholder='foobar'>
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
<html>
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<style>
|
||||
input::-moz-placeholder {
|
||||
[bar]::-moz-placeholder,
|
||||
[foo]::placeholder {
|
||||
display: inline;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<input placeholder='foo'>
|
||||
<input placeholder='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
<html>
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<style>
|
||||
input::-moz-placeholder {
|
||||
[placeholder="bar"]::-moz-placeholder,
|
||||
[placeholder="foo"]::placeholder {
|
||||
opacity: 0.1;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<input placeholder='foo'>
|
||||
<input placeholder='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
<html>
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<style>
|
||||
input::-moz-placeholder {
|
||||
[placeholder="bar"]::-moz-placeholder,
|
||||
[placeholder="foo"]::placeholder {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<input placeholder='foo'>
|
||||
<input placeholder='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,5 +2,6 @@
|
|||
<html>
|
||||
<body>
|
||||
<input>
|
||||
<input>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -4,11 +4,13 @@
|
|||
<script>
|
||||
function loadHandler()
|
||||
{
|
||||
document.getElementById('moz').placeholder='bar';
|
||||
document.getElementById('i').placeholder='foo';
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input id='i'>
|
||||
<input id='moz'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -11,11 +11,20 @@
|
|||
document.getElementById('i').blur();
|
||||
}
|
||||
function blurHandler()
|
||||
{
|
||||
document.getElementById('moz').focus();
|
||||
}
|
||||
function focusHandlerMoz()
|
||||
{
|
||||
document.getElementById('moz').blur();
|
||||
}
|
||||
function blurHandlerMoz()
|
||||
{
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input id='i' placeholder='foo' onfocus='focusHandler();' onblur='blurHandler();'>
|
||||
<input id='moz' placeholder='bar' onfocus='focusHandlerMoz();' onblur='blurHandlerMoz();'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<input type='button'>
|
||||
<input type='button'>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
@ -7,11 +7,16 @@
|
|||
document.getElementById('i').focus();
|
||||
}
|
||||
function focusHandler()
|
||||
{
|
||||
document.getElementById('moz').focus();
|
||||
}
|
||||
function focusHandlerMoz()
|
||||
{
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input id='i' class='ref' value='foo' onfocus='focusHandler();'>
|
||||
<input id='moz' class='ref' value='bar' onfocus='focusHandlerMoz();'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -7,11 +7,16 @@
|
|||
document.getElementById('i').focus();
|
||||
}
|
||||
function focusHandler()
|
||||
{
|
||||
document.getElementById('moz').focus();
|
||||
}
|
||||
function focusHandlerMoz()
|
||||
{
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input id='i' placeholder='foo' onfocus='focusHandler();'>
|
||||
<input id='moz' placeholder='bar' onfocus='focusHandlerMoz();'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('i').removeAttribute('placeholder');
|
||||
document.getElementById('moz').removeAttribute('placeholder');
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input id='i' placeholder='foo'>
|
||||
<input id='moz' placeholder='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<input class='ref' value='foo'>
|
||||
<input class='ref' value='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<input placeholder='foo'>
|
||||
<input placeholder='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('i').type = 'text';
|
||||
document.getElementById('moz').type = 'text';
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input type='button' id='i' placeholder='foo'>
|
||||
<input type='button' id='moz' placeholder='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('i').type = 'button';
|
||||
document.getElementById('moz').type = 'button';
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input id='i' placeholder='foo'>
|
||||
<input id='moz' placeholder='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,5 +2,6 @@
|
|||
<html>
|
||||
<body>
|
||||
<input value='bar'>
|
||||
<input value='foo'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('i').value = 'bar';
|
||||
document.getElementById('moz').value = 'foo';
|
||||
document.forms[0].reset();
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
|
@ -12,6 +13,7 @@
|
|||
<body onload='loadHandler();'>
|
||||
<form>
|
||||
<input id='i' placeholder='foo'>
|
||||
<input id='moz' placeholder='bar'>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('i').value = 'bar';
|
||||
document.getElementById('moz').value = 'foo';
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input id='i' placeholder='foo'>
|
||||
<input id='moz' placeholder='bar'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('i').value = '';
|
||||
document.getElementById('moz').value = '';
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<input id='i' placeholder='foo' value='bar'>
|
||||
<input id='moz' placeholder='bar' value='foo'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<input placeholder='foo' value='bar'>
|
||||
<input placeholder='bar' value='foo'>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
input::-moz-placeholder {
|
||||
input::placeholder {
|
||||
color: green;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
input::-moz-placeholder,
|
||||
[placeholder="bar"]::-moz-placeholder,
|
||||
[placeholder="foo"]::placeholder,
|
||||
input.ref {
|
||||
color: green;
|
||||
opacity: 1.0;
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
<html>
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<style>
|
||||
textarea::-moz-placeholder {
|
||||
textarea::-moz-placeholder,
|
||||
textarea::placeholder {
|
||||
display: inline;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<textarea placeholder='foo'></textarea>
|
||||
<textarea placeholder='bar'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
<html>
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<style>
|
||||
textarea::-moz-placeholder {
|
||||
textarea::-moz-placeholder,
|
||||
textarea::placeholder {
|
||||
opacity: 0.1;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<textarea placeholder='foo'></textarea>
|
||||
<textarea placeholder='bar'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -8,5 +8,6 @@
|
|||
</style>
|
||||
<body>
|
||||
<textarea class='ref'>foo</textarea>
|
||||
<textarea class='ref'>bar</textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,18 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<!--
|
||||
resize shouldn't be allowed on the ::-moz-placeholder.
|
||||
resize shouldn't be allowed on the ::placeholder.
|
||||
-->
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<style>
|
||||
textarea {
|
||||
resize: none;
|
||||
}
|
||||
textarea::-moz-placeholder {
|
||||
textarea::-moz-placeholder,
|
||||
textarea::placeholder {
|
||||
resize: both;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<textarea placeholder='foo'></textarea>
|
||||
<textarea placeholder='bar'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('t').placeholder='foo';
|
||||
document.getElementById('moz').placeholder='bar';
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<textarea id='t'></textarea>
|
||||
<textarea id='moz'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -11,11 +11,20 @@
|
|||
document.getElementById('t').blur();
|
||||
}
|
||||
function blurHandler()
|
||||
{
|
||||
document.getElementById('moz').focus();
|
||||
}
|
||||
function focusHandlerMoz()
|
||||
{
|
||||
document.getElementById('moz').blur();
|
||||
}
|
||||
function blurHandlerMoz()
|
||||
{
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<textarea id='t' placeholder='foo' onfocus='focusHandler();' onblur='blurHandler();'></textarea>
|
||||
<textarea id='moz' placeholder='bar' onfocus='focusHandlerMoz();' onblur='blurHandlerMoz();'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -7,11 +7,16 @@
|
|||
document.getElementById('t').focus();
|
||||
}
|
||||
function focusHandler()
|
||||
{
|
||||
document.getElementById('moz').focus();
|
||||
}
|
||||
function focusHandlerMoz()
|
||||
{
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<textarea id='t' class='ref' onfocus='focusHandler();'>foo</textarea>
|
||||
<textarea id='moz' class='ref' onfocus='focusHandlerMoz();'>bar</textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -7,11 +7,16 @@
|
|||
document.getElementById('t').focus();
|
||||
}
|
||||
function focusHandler()
|
||||
{
|
||||
document.getElementById('moz').focus();
|
||||
}
|
||||
function focusHandlerMoz()
|
||||
{
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<textarea id='t' placeholder='foo' onfocus='focusHandler();'></textarea>
|
||||
<textarea id='moz' placeholder='bar' onfocus='focusHandlerMoz();'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('t').removeAttribute('placeholder');
|
||||
document.getElementById('moz').removeAttribute('placeholder');
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<textarea id='t' placeholder='foo'></textarea>
|
||||
<textarea id='moz' placeholder='bar'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<textarea class='ref'>foo</textarea>
|
||||
<textarea class='ref'>bar</textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<textarea placeholder='foo'></textarea>
|
||||
<textarea placeholder='bar'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,5 +2,6 @@
|
|||
<html>
|
||||
<body>
|
||||
<textarea>bar</textarea>
|
||||
<textarea>foo</textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('t').value = 'bar';
|
||||
document.getElementById('moz').value = 'foo';
|
||||
document.forms[0].reset();
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
|
@ -12,6 +13,7 @@
|
|||
<body onload='loadHandler();'>
|
||||
<form>
|
||||
<textarea id='t' placeholder='foo'></textarea>
|
||||
<textarea id='moz' placeholder='bar'></textarea>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('t').value = 'bar';
|
||||
document.getElementById('moz').value = 'foo';
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<textarea id='t' placeholder='foo'></textarea>
|
||||
<textarea id='moz' placeholder='bar'></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,10 +5,12 @@
|
|||
function loadHandler()
|
||||
{
|
||||
document.getElementById('t').value = '';
|
||||
document.getElementById('moz').value = '';
|
||||
document.documentElement.className = '';
|
||||
}
|
||||
</script>
|
||||
<body onload='loadHandler();'>
|
||||
<textarea id='t' placeholder='foo'>bar</textarea>
|
||||
<textarea id='moz' placeholder='bar'>foo</textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -3,5 +3,6 @@
|
|||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<body>
|
||||
<textarea placeholder='foo'>bar</textarea>
|
||||
<textarea placeholder='bar'>foo</textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
textarea::-moz-placeholder {
|
||||
textarea::placeholder {
|
||||
color: green;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
textarea::-moz-placeholder,
|
||||
textarea::placeholder,
|
||||
textarea.ref {
|
||||
color: green;
|
||||
opacity: 1.0;
|
||||
|
|
|
@ -2,5 +2,6 @@
|
|||
<html>
|
||||
<body>
|
||||
<textarea></textarea>
|
||||
<textarea></textarea>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,15 +5,13 @@
|
|||
|
||||
input {
|
||||
width: 15em;
|
||||
}
|
||||
|
||||
input[type=text]::-moz-placeholder {
|
||||
color: blue;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<input type="text" placeholder="placeholder">
|
||||
<input type="number" value="123">
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -5,16 +5,20 @@
|
|||
|
||||
input {
|
||||
width: 15em;
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
|
||||
input[type=number]::placeholder {
|
||||
color: blue;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
input[type=number]::-moz-placeholder {
|
||||
color: blue;
|
||||
font-style: italic;
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<input type="number" placeholder="placeholder">
|
||||
<input type="number" placeholder="123">
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
textarea.placeholder,
|
||||
input.placeholder,
|
||||
input::-moz-placeholder,
|
||||
textarea::-moz-placeholder {
|
||||
input::placeholder,
|
||||
textarea::placeholder {
|
||||
/* Unfortunately, we can't style the <input> or <textarea> text so we can't
|
||||
set it to opacity: 0.54; which means we have to revert the style to
|
||||
something that doesn't include an opacity. */
|
||||
|
|
|
@ -48,11 +48,11 @@ span {
|
|||
.t4 {width:17.5em;}
|
||||
|
||||
input { font-family:DejaVuSansMono; }
|
||||
input::-moz-placeholder {
|
||||
input::placeholder {
|
||||
overflow:hidden;
|
||||
text-overflow:ellipsis;
|
||||
}
|
||||
input.t5::-moz-placeholder {
|
||||
input.t5::placeholder {
|
||||
text-overflow:"X";
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<!DOCTYPE html>
|
||||
<body>
|
||||
<style>
|
||||
::-moz-placeholder { color: red; }
|
||||
::-moz-placeholder:focus { color: green; }
|
||||
::placeholder { color: red; }
|
||||
::placeholder:focus { color: green; }
|
||||
</style>
|
||||
<script>
|
||||
window.getComputedStyle(document.body, "::-moz-placeholder").color;
|
||||
window.getComputedStyle(document.body, "::placeholder").color;
|
||||
</script>
|
||||
|
|
|
@ -5961,9 +5961,10 @@ CSSParserImpl::ParsePseudoSelector(int32_t& aDataMask,
|
|||
return eSelectorParsingStatus_Error;
|
||||
}
|
||||
|
||||
// We currently allow :-moz-placeholder and ::-moz-placeholder. We have to
|
||||
// be a bit stricter regarding the pseudo-element parsing rules.
|
||||
if (pseudoElementType == CSSPseudoElementType::mozPlaceholder &&
|
||||
// We currently allow :-moz-placeholder and ::-moz-placeholder and
|
||||
// ::placeholder. We have to be a bit stricter regarding the
|
||||
// pseudo-element parsing rules.
|
||||
if (pseudoElementType == CSSPseudoElementType::placeholder &&
|
||||
pseudoClassType == CSSPseudoClassType::mozPlaceholder) {
|
||||
if (parsingPseudoElement) {
|
||||
pseudoClassType = CSSPseudoClassType::NotPseudo;
|
||||
|
|
|
@ -204,7 +204,7 @@ static_assert((CSS_PROPERTY_PARSE_PROPERTY_MASK &
|
|||
// Is this property (which must be a shorthand) really an alias?
|
||||
#define CSS_PROPERTY_IS_ALIAS (1<<17)
|
||||
|
||||
// Does the property apply to ::-moz-placeholder?
|
||||
// Does the property apply to ::placeholder?
|
||||
#define CSS_PROPERTY_APPLIES_TO_PLACEHOLDER (1<<18)
|
||||
|
||||
// This property is allowed in an @page rule.
|
||||
|
|
|
@ -80,6 +80,8 @@ CSS_PSEUDO_ELEMENT(mozMeterBar, ":-moz-meter-bar",
|
|||
CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE)
|
||||
CSS_PSEUDO_ELEMENT(mozPlaceholder, ":-moz-placeholder",
|
||||
CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE)
|
||||
CSS_PSEUDO_ELEMENT(placeholder, ":placeholder",
|
||||
CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE)
|
||||
CSS_PSEUDO_ELEMENT(mozColorSwatch, ":-moz-color-swatch",
|
||||
CSS_PSEUDO_ELEMENT_SUPPORTS_STYLE_ATTRIBUTE |
|
||||
CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE)
|
||||
|
|
|
@ -83,6 +83,10 @@ nsCSSPseudoElements::GetPseudoType(nsIAtom *aAtom, EnabledState aEnabledState)
|
|||
++i) {
|
||||
if (*CSSPseudoElements_info[i].mAtom == aAtom) {
|
||||
auto type = static_cast<Type>(i);
|
||||
// ::moz-placeholder is an alias for ::placeholder
|
||||
if (type == CSSPseudoElementType::mozPlaceholder) {
|
||||
type = CSSPseudoElementType::placeholder;
|
||||
}
|
||||
return IsEnabled(type, aEnabledState) ? type : Type::NotPseudo;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2534,9 +2534,9 @@ void ContentEnumFunc(const RuleValue& value, nsCSSSelector* aSelector,
|
|||
// We can get here when calling getComputedStyle(aElt, aPseudo) if:
|
||||
//
|
||||
// * aPseudo is a pseudo-element that supports a user action
|
||||
// pseudo-class, like "::-moz-placeholder";
|
||||
// pseudo-class, like "::placeholder";
|
||||
// * there is a style rule that uses a pseudo-class on this
|
||||
// pseudo-element in the document, like ::-moz-placeholder:hover; and
|
||||
// pseudo-element in the document, like ::placeholder:hover; and
|
||||
// * aElt does not have such a pseudo-element.
|
||||
//
|
||||
// We know that the selector can't match, since there is no element for
|
||||
|
|
|
@ -2219,7 +2219,7 @@ GetPseudoRestriction(nsStyleContext *aContext)
|
|||
pseudoRestriction = CSS_PROPERTY_APPLIES_TO_FIRST_LETTER;
|
||||
} else if (pseudoType == nsCSSPseudoElements::firstLine) {
|
||||
pseudoRestriction = CSS_PROPERTY_APPLIES_TO_FIRST_LINE;
|
||||
} else if (pseudoType == nsCSSPseudoElements::mozPlaceholder) {
|
||||
} else if (pseudoType == nsCSSPseudoElements::placeholder) {
|
||||
pseudoRestriction = CSS_PROPERTY_APPLIES_TO_PLACEHOLDER;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1805,7 +1805,7 @@ nsStyleSet::WalkRestrictionRule(CSSPseudoElementType aPseudoType,
|
|||
aRuleWalker->Forward(mFirstLetterRule);
|
||||
else if (aPseudoType == CSSPseudoElementType::firstLine)
|
||||
aRuleWalker->Forward(mFirstLineRule);
|
||||
else if (aPseudoType == CSSPseudoElementType::mozPlaceholder)
|
||||
else if (aPseudoType == CSSPseudoElementType::placeholder)
|
||||
aRuleWalker->Forward(mPlaceholderRule);
|
||||
}
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ input {
|
|||
}
|
||||
|
||||
input > .anonymous-div,
|
||||
input::-moz-placeholder {
|
||||
input::placeholder {
|
||||
word-wrap: normal !important;
|
||||
/* Make the line-height equal to the available height */
|
||||
line-height: -moz-block-height;
|
||||
|
@ -156,8 +156,8 @@ textarea > scrollbar {
|
|||
|
||||
textarea > .anonymous-div,
|
||||
input > .anonymous-div,
|
||||
input::-moz-placeholder,
|
||||
textarea::-moz-placeholder {
|
||||
input::placeholder,
|
||||
textarea::placeholder {
|
||||
overflow: auto;
|
||||
border: 0px !important;
|
||||
padding: inherit !important;
|
||||
|
@ -173,7 +173,7 @@ textarea::-moz-placeholder {
|
|||
}
|
||||
|
||||
input > .anonymous-div,
|
||||
input::-moz-placeholder {
|
||||
input::placeholder {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
|
@ -185,8 +185,8 @@ input > .anonymous-div.inherit-overflow {
|
|||
overflow: inherit;
|
||||
}
|
||||
|
||||
input::-moz-placeholder,
|
||||
textarea::-moz-placeholder {
|
||||
input::placeholder,
|
||||
textarea::placeholder {
|
||||
/*
|
||||
* Changing display to inline can leads to broken behaviour and will assert.
|
||||
*/
|
||||
|
@ -208,7 +208,7 @@ textarea::-moz-placeholder {
|
|||
opacity: 0.54;
|
||||
}
|
||||
|
||||
textarea::-moz-placeholder {
|
||||
textarea::placeholder {
|
||||
white-space: pre-wrap !important;
|
||||
}
|
||||
|
||||
|
@ -775,8 +775,8 @@ input[type="submit"]:disabled {
|
|||
*/
|
||||
textarea > .anonymous-div,
|
||||
input > .anonymous-div,
|
||||
input::-moz-placeholder,
|
||||
textarea::-moz-placeholder,
|
||||
input::placeholder,
|
||||
textarea::placeholder,
|
||||
*|*::-moz-button-content,
|
||||
*|*::-moz-display-comboboxcontrol-frame,
|
||||
optgroup:before {
|
||||
|
|
|
@ -75,7 +75,7 @@ var gTests = [
|
|||
active_test_style: 'body input::-moz-range-thumb:active { background: lime; }',
|
||||
active_reference_style: 'body input::-moz-range-thumb { background: lime; }' },
|
||||
|
||||
// ::-moz-placeholder can't be tested, since the UA style sheet sets it to
|
||||
// ::placeholder can't be tested, since the UA style sheet sets it to
|
||||
// be pointer-events:none.
|
||||
];
|
||||
|
||||
|
|
|
@ -905,6 +905,8 @@ function run() {
|
|||
should_serialize_to("p:first-letter", "p::first-letter");
|
||||
should_serialize_to("div>p:first-letter", "div > p::first-letter");
|
||||
should_serialize_to("span +div:first-line", "span + div::first-line");
|
||||
should_serialize_to("input::placeholder", "input::placeholder");
|
||||
should_serialize_to("input:placeholder-shown", "input:placeholder-shown");
|
||||
|
||||
// Test serialization of non CSS2 pseudo-element.
|
||||
should_serialize_to("input::-moz-placeholder", "input::-moz-placeholder");
|
||||
|
|
|
@ -60,7 +60,7 @@ body {
|
|||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
#filter-input:-moz-placeholder {
|
||||
#filter-input::placeholder {
|
||||
color: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,14 +21,14 @@ html|*.textbox-textarea {
|
|||
}
|
||||
|
||||
/*
|
||||
html|*.textbox-input::-moz-placeholder,
|
||||
html|*.textbox-textarea::-moz-placeholder {
|
||||
html|*.textbox-input::placeholder,
|
||||
html|*.textbox-textarea::placeholder {
|
||||
text-align: left;
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
html|*.textbox-input::-moz-placeholder:-moz-locale-dir(rtl),
|
||||
html|*.textbox-textarea::-moz-placeholder:-moz-locale-dir(rtl) {
|
||||
html|*.textbox-input::placeholder:-moz-locale-dir(rtl),
|
||||
html|*.textbox-textarea::placeholder:-moz-locale-dir(rtl) {
|
||||
text-align: right;
|
||||
direction: rtl;
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ html|*.textbox-textarea {
|
|||
|
||||
@media (-moz-windows-default-theme) {
|
||||
@media not all and (-moz-os-version: windows-xp) {
|
||||
textbox html|*.textbox-input::-moz-placeholder {
|
||||
textbox html|*.textbox-input::placeholder {
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче