Bug 737786 - 2/5 - Use a pseudo-element instead of a pseudo-class for placeholder styling. r=bz

This commit is contained in:
Mounir Lamouri
2012-11-09 10:24:23 +00:00
parent e07c431650
commit 8b0e1e63ee
39 changed files with 118 additions and 179 deletions

View File

@@ -378,8 +378,18 @@ nsTextControlFrame::CreateAnonymousContent(nsTArray<ContentInfo>& aElements)
nsIContent* placeholderNode = txtCtrl->CreatePlaceholderNode();
NS_ENSURE_TRUE(placeholderNode, NS_ERROR_OUT_OF_MEMORY);
if (!aElements.AppendElement(placeholderNode))
// Associate ::-moz-placeholder pseudo-element with the placeholder node.
nsCSSPseudoElements::Type pseudoType =
nsCSSPseudoElements::ePseudo_mozPlaceholder;
nsRefPtr<nsStyleContext> placeholderStyleContext =
PresContext()->StyleSet()->ResolvePseudoElementStyle(
mContent->AsElement(), pseudoType, GetStyleContext());
if (!aElements.AppendElement(ContentInfo(placeholderNode,
placeholderStyleContext))) {
return NS_ERROR_OUT_OF_MEMORY;
}
}
rv = UpdateValueDisplay(false);