add CanGc as argument to Validatable.validity_state (#40155)

add CanGc as argument to Validatable.validity_state

Testing: These changes do not require tests because they are a refactor.
Addresses part of https://github.com/servo/servo/issues/34573.

Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
This commit is contained in:
Yerkebulan Tulibergenov
2025-10-24 23:06:32 -07:00
committed by GitHub
parent 92cc41abdd
commit 132bd24c6d
14 changed files with 90 additions and 88 deletions

View File

@@ -107,8 +107,8 @@ impl HTMLObjectElementMethods<crate::DomTypeHolder> for HTMLObjectElement {
}
// https://html.spec.whatwg.org/multipage/#dom-cva-validity
fn Validity(&self) -> DomRoot<ValidityState> {
self.validity_state()
fn Validity(&self, can_gc: CanGc) -> DomRoot<ValidityState> {
self.validity_state(can_gc)
}
// https://html.spec.whatwg.org/multipage/#dom-cva-checkvalidity
@@ -127,8 +127,8 @@ impl HTMLObjectElementMethods<crate::DomTypeHolder> for HTMLObjectElement {
}
// https://html.spec.whatwg.org/multipage/#dom-cva-setcustomvalidity
fn SetCustomValidity(&self, error: DOMString) {
self.validity_state().set_custom_error_message(error);
fn SetCustomValidity(&self, error: DOMString, can_gc: CanGc) {
self.validity_state(can_gc).set_custom_error_message(error);
}
}
@@ -137,9 +137,9 @@ impl Validatable for HTMLObjectElement {
self.upcast()
}
fn validity_state(&self) -> DomRoot<ValidityState> {
fn validity_state(&self, can_gc: CanGc) -> DomRoot<ValidityState> {
self.validity_state
.or_init(|| ValidityState::new(&self.owner_window(), self.upcast(), CanGc::note()))
.or_init(|| ValidityState::new(&self.owner_window(), self.upcast(), can_gc))
}
fn is_instance_validatable(&self) -> bool {