NS_IMETHODIMP HTMLTextAreaElement::SaveState() { nsresult rv = NS_OK; // Only save if value != defaultValue (bug 62713) nsPresState *state = nullptr; if (mValueChanged) { state = GetPrimaryPresState(); if (state) { nsAutoString value; GetValueInternal(value, true); rv = nsLinebreakConverter::ConvertStringLineBreaks( value, nsLinebreakConverter::eLinebreakPlatform, nsLinebreakConverter::eLinebreakContent); if (NS_FAILED(rv)) { NS_ERROR("Converting linebreaks failed!"); return rv; } nsCOMPtr<nsISupportsString> pState = do_CreateInstance(NS_SUPPORTS_STRING_CONTRACTID); if (!pState) { return NS_ERROR_OUT_OF_MEMORY; } pState->SetData(value); state->SetStateProperty(pState); } } if (mDisabledChanged) { if (!state) { state = GetPrimaryPresState(); rv = NS_OK; } if (state) { // We do not want to save the real disabled state but the disabled // attribute. state->SetDisabled(HasAttr(kNameSpaceID_None, nsGkAtoms::disabled)); } } return rv; }
NS_IMETHODIMP nsHTMLTextAreaElement::SaveState() { nsresult rv = NS_OK; // Only save if value != defaultValue (bug 62713) nsPresState *state = nsnull; if (mValueChanged) { rv = GetPrimaryPresState(this, &state); if (state) { nsAutoString value; GetValueInternal(value, PR_TRUE); rv = nsLinebreakConverter::ConvertStringLineBreaks( value, nsLinebreakConverter::eLinebreakPlatform, nsLinebreakConverter::eLinebreakContent); NS_ASSERTION(NS_SUCCEEDED(rv), "Converting linebreaks failed!"); nsCOMPtr<nsISupportsString> pState (do_CreateInstance(NS_SUPPORTS_STRING_CONTRACTID)); if (!pState) { return NS_ERROR_OUT_OF_MEMORY; } pState->SetData(value); state->SetStateProperty(pState); } } if (mDisabledChanged) { if (!state) { rv = GetPrimaryPresState(this, &state); } if (state) { PRBool disabled; GetDisabled(&disabled); state->SetDisabled(disabled); } } return rv; }
NS_IMETHODIMP HTMLTextAreaElement::SaveState() { nsresult rv = NS_OK; // Only save if value != defaultValue (bug 62713) PresState* state = nullptr; if (mValueChanged) { state = GetPrimaryPresState(); if (state) { nsAutoString value; GetValueInternal(value, true); rv = nsLinebreakConverter::ConvertStringLineBreaks( value, nsLinebreakConverter::eLinebreakPlatform, nsLinebreakConverter::eLinebreakContent); if (NS_FAILED(rv)) { NS_ERROR("Converting linebreaks failed!"); return rv; } state->contentData() = std::move(value); } } if (mDisabledChanged) { if (!state) { state = GetPrimaryPresState(); rv = NS_OK; } if (state) { // We do not want to save the real disabled state but the disabled // attribute. state->disabled() = HasAttr(kNameSpaceID_None, nsGkAtoms::disabled); state->disabledSet() = true; } } return rv; }
NS_IMETHODIMP HTMLButtonElement::SaveState() { if (!mDisabledChanged) { return NS_OK; } nsPresState* state = GetPrimaryPresState(); if (state) { // We do not want to save the real disabled state but the disabled // attribute. state->SetDisabled(HasAttr(kNameSpaceID_None, nsGkAtoms::disabled)); } return NS_OK; }