Bug 1829189 - Make OnAttrSetButNotChanged and AfterSetAttr infallible. r=smaug
Same rg + sed shenanigans as the first patch. There were two that could fail, both due to OOM: * HTMLInputElement::AfterSetAttr: If we fail (only in the type=range case) we end up with an old value without it being clamped by min/max/step. * HTMLBodyElement::AfterSetAttr: If we fail we won't peek up the DocShell's frame margins and styling could be incorrect. That seems better than having to deal with broken states after we've already set the attribute. Depends on D176069 Differential Revision: https://phabricator.services.mozilla.com/D176070
This commit is contained in:
@@ -4728,11 +4728,11 @@ bool HTMLMediaElement::IsHTMLFocusable(bool aWithMouse, bool* aIsFocusable,
|
||||
|
||||
int32_t HTMLMediaElement::TabIndexDefault() { return 0; }
|
||||
|
||||
nsresult HTMLMediaElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
|
||||
const nsAttrValue* aValue,
|
||||
const nsAttrValue* aOldValue,
|
||||
nsIPrincipal* aMaybeScriptedPrincipal,
|
||||
bool aNotify) {
|
||||
void HTMLMediaElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
|
||||
const nsAttrValue* aValue,
|
||||
const nsAttrValue* aOldValue,
|
||||
nsIPrincipal* aMaybeScriptedPrincipal,
|
||||
bool aNotify) {
|
||||
if (aNameSpaceID == kNameSpaceID_None) {
|
||||
if (aName == nsGkAtoms::src) {
|
||||
mSrcMediaSource = nullptr;
|
||||
@@ -4785,9 +4785,10 @@ nsresult HTMLMediaElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName,
|
||||
aNameSpaceID, aName, aValue, aOldValue, aMaybeScriptedPrincipal, aNotify);
|
||||
}
|
||||
|
||||
nsresult HTMLMediaElement::OnAttrSetButNotChanged(
|
||||
int32_t aNamespaceID, nsAtom* aName, const nsAttrValueOrString& aValue,
|
||||
bool aNotify) {
|
||||
void HTMLMediaElement::OnAttrSetButNotChanged(int32_t aNamespaceID,
|
||||
nsAtom* aName,
|
||||
const nsAttrValueOrString& aValue,
|
||||
bool aNotify) {
|
||||
AfterMaybeChangeAttr(aNamespaceID, aName, aNotify);
|
||||
|
||||
return nsGenericHTMLElement::OnAttrSetButNotChanged(aNamespaceID, aName,
|
||||
|
||||
Reference in New Issue
Block a user