mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-01-15 09:30:20 +00:00
#399: M1352799 maxlength is now dynamic
This commit is contained in:
parent
3436d24318
commit
e5a4aa65bf
@ -1384,19 +1384,16 @@ nsTextEditorState::PrepareEditor(const nsAString *aValue)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldInitializeEditor) {
|
// Initialize the plaintext editor
|
||||||
// Initialize the plaintext editor
|
nsCOMPtr<nsIPlaintextEditor> textEditor = do_QueryInterface(newEditor);
|
||||||
nsCOMPtr<nsIPlaintextEditor> textEditor(do_QueryInterface(newEditor));
|
if (textEditor) {
|
||||||
if (textEditor) {
|
if (shouldInitializeEditor) {
|
||||||
// Set up wrapping
|
// Set up wrapping
|
||||||
textEditor->SetWrapColumn(GetWrapCols());
|
textEditor->SetWrapColumn(GetWrapCols());
|
||||||
|
|
||||||
// Set max text field length
|
|
||||||
int32_t maxLength;
|
|
||||||
if (GetMaxLength(&maxLength)) {
|
|
||||||
textEditor->SetMaxTextLength(maxLength);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set max text field length
|
||||||
|
textEditor->SetMaxTextLength(GetMaxLength());
|
||||||
}
|
}
|
||||||
|
|
||||||
nsCOMPtr<nsIContent> content = do_QueryInterface(mTextCtrlElement);
|
nsCOMPtr<nsIContent> content = do_QueryInterface(mTextCtrlElement);
|
||||||
@ -1840,22 +1837,22 @@ be called if @placeholder is the empty string when trimmed from line breaks");
|
|||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
int32_t
|
||||||
nsTextEditorState::GetMaxLength(int32_t* aMaxLength)
|
nsTextEditorState::GetMaxLength()
|
||||||
{
|
{
|
||||||
nsCOMPtr<nsIContent> content = do_QueryInterface(mTextCtrlElement);
|
nsCOMPtr<nsIContent> content = do_QueryInterface(mTextCtrlElement);
|
||||||
nsGenericHTMLElement* element =
|
nsGenericHTMLElement* element =
|
||||||
nsGenericHTMLElement::FromContentOrNull(content);
|
nsGenericHTMLElement::FromContentOrNull(content);
|
||||||
NS_ENSURE_TRUE(element, false);
|
if (MOZ_UNLIKELY(!element)) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
const nsAttrValue* attr = element->GetParsedAttr(nsGkAtoms::maxlength);
|
const nsAttrValue* attr = element->GetParsedAttr(nsGkAtoms::maxlength);
|
||||||
if (attr && attr->Type() == nsAttrValue::eInteger) {
|
if (attr && attr->Type() == nsAttrValue::eInteger) {
|
||||||
*aMaxLength = attr->GetIntegerValue();
|
return attr->GetIntegerValue();
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -211,7 +211,7 @@ public:
|
|||||||
* @param aMaxLength the value of the max length attr
|
* @param aMaxLength the value of the max length attr
|
||||||
* @returns false if attr not defined
|
* @returns false if attr not defined
|
||||||
*/
|
*/
|
||||||
bool GetMaxLength(int32_t* aMaxLength);
|
int32_t GetMaxLength();
|
||||||
|
|
||||||
void ClearValueCache() { mCachedValue.Truncate(); }
|
void ClearValueCache() { mCachedValue.Truncate(); }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user