Bug 1728537 - Part 2: Move RestoreState out of nsIFormControl; r=smaug

Differential Revision: https://phabricator.services.mozilla.com/D124180
This commit is contained in:
Edgar Chen
2021-09-01 16:51:58 +00:00
parent 3f6076d6b0
commit da8d018c08
7 changed files with 17 additions and 21 deletions

View File

@@ -41,11 +41,11 @@ class HTMLButtonElement final : public nsGenericHTMLFormElementWithState,
// nsGenericHTMLFormElement // nsGenericHTMLFormElement
void SaveState() override; void SaveState() override;
bool RestoreState(PresState* aState) override;
// overriden nsIFormControl methods // overriden nsIFormControl methods
NS_IMETHOD Reset() override; NS_IMETHOD Reset() override;
NS_IMETHOD SubmitNamesValues(FormData* aFormData) override; NS_IMETHOD SubmitNamesValues(FormData* aFormData) override;
bool RestoreState(PresState* aState) override;
virtual bool IsDisabledForEvents(WidgetEvent* aEvent) override; virtual bool IsDisabledForEvents(WidgetEvent* aEvent) override;
virtual void FieldSetDisabledChanged(bool aNotify) override; virtual void FieldSetDisabledChanged(bool aNotify) override;

View File

@@ -148,6 +148,7 @@ class HTMLInputElement final : public TextControlElement,
// nsGenericHTMLFormElement // nsGenericHTMLFormElement
void SaveState() override; void SaveState() override;
MOZ_CAN_RUN_SCRIPT_BOUNDARY bool RestoreState(PresState* aState) override;
// EventTarget // EventTarget
virtual void AsyncEventRunning(AsyncEventDispatcher* aEvent) override; virtual void AsyncEventRunning(AsyncEventDispatcher* aEvent) override;
@@ -156,8 +157,6 @@ class HTMLInputElement final : public TextControlElement,
MOZ_CAN_RUN_SCRIPT_BOUNDARY MOZ_CAN_RUN_SCRIPT_BOUNDARY
NS_IMETHOD Reset() override; NS_IMETHOD Reset() override;
NS_IMETHOD SubmitNamesValues(FormData* aFormData) override; NS_IMETHOD SubmitNamesValues(FormData* aFormData) override;
MOZ_CAN_RUN_SCRIPT_BOUNDARY
virtual bool RestoreState(PresState* aState) override;
virtual bool AllowDrop() override; virtual bool AllowDrop() override;
virtual bool IsDisabledForEvents(WidgetEvent* aEvent) override; virtual bool IsDisabledForEvents(WidgetEvent* aEvent) override;

View File

@@ -1282,8 +1282,6 @@ void HTMLSelectElement::SaveState() {
} }
} }
// nsIFormControl
bool HTMLSelectElement::RestoreState(PresState* aState) { bool HTMLSelectElement::RestoreState(PresState* aState) {
// Get the presentation state object to retrieve our stuff out of. // Get the presentation state object to retrieve our stuff out of.
const PresContentData& state = aState->contentData(); const PresContentData& state = aState->contentData();
@@ -1335,6 +1333,8 @@ void HTMLSelectElement::RestoreStateTo(const SelectContentData& aNewSelected) {
} }
} }
// nsIFormControl
NS_IMETHODIMP NS_IMETHODIMP
HTMLSelectElement::Reset() { HTMLSelectElement::Reset() {
uint32_t numSelected = 0; uint32_t numSelected = 0;

View File

@@ -202,11 +202,11 @@ class HTMLSelectElement final : public nsGenericHTMLFormElementWithState,
// nsGenericHTMLFormElement // nsGenericHTMLFormElement
void SaveState() override; void SaveState() override;
bool RestoreState(PresState* aState) override;
// Overriden nsIFormControl methods // Overriden nsIFormControl methods
NS_IMETHOD Reset() override; NS_IMETHOD Reset() override;
NS_IMETHOD SubmitNamesValues(FormData* aFormData) override; NS_IMETHOD SubmitNamesValues(FormData* aFormData) override;
virtual bool RestoreState(PresState* aState) override;
virtual bool IsDisabledForEvents(WidgetEvent* aEvent) override; virtual bool IsDisabledForEvents(WidgetEvent* aEvent) override;
virtual void FieldSetDisabledChanged(bool aNotify) override; virtual void FieldSetDisabledChanged(bool aNotify) override;

View File

@@ -58,12 +58,12 @@ class HTMLTextAreaElement final : public TextControlElement,
// nsGenericHTMLFormElement // nsGenericHTMLFormElement
void SaveState() override; void SaveState() override;
bool RestoreState(PresState* aState) override;
// nsIFormControl // nsIFormControl
MOZ_CAN_RUN_SCRIPT_BOUNDARY MOZ_CAN_RUN_SCRIPT_BOUNDARY
NS_IMETHOD Reset() override; NS_IMETHOD Reset() override;
NS_IMETHOD SubmitNamesValues(FormData* aFormData) override; NS_IMETHOD SubmitNamesValues(FormData* aFormData) override;
virtual bool RestoreState(PresState* aState) override;
virtual bool IsDisabledForEvents(WidgetEvent* aEvent) override; virtual bool IsDisabledForEvents(WidgetEvent* aEvent) override;
virtual void FieldSetDisabledChanged(bool aNotify) override; virtual void FieldSetDisabledChanged(bool aNotify) override;

View File

@@ -975,9 +975,6 @@ class nsGenericHTMLFormElement : public nsGenericHTMLElement,
virtual void SetForm(mozilla::dom::HTMLFormElement* aForm) override; virtual void SetForm(mozilla::dom::HTMLFormElement* aForm) override;
virtual void ClearForm(bool aRemoveFromForm, bool aUnbindOrDelete) override; virtual void ClearForm(bool aRemoveFromForm, bool aUnbindOrDelete) override;
virtual bool RestoreState(mozilla::PresState* aState) override {
return false;
}
virtual bool AllowDrop() override { return true; } virtual bool AllowDrop() override { return true; }
// nsIContent // nsIContent
@@ -997,6 +994,17 @@ class nsGenericHTMLFormElement : public nsGenericHTMLElement,
*/ */
virtual void SaveState() {} virtual void SaveState() {}
/**
* Restore from presentation state. You pass in the presentation state for
* this form control (generated with GenerateStateKey() + "-C") and the form
* control will grab its state from there.
*
* @param aState the pres state to use to restore the control
* @return true if the form control was a checkbox and its
* checked state was restored, false otherwise.
*/
virtual bool RestoreState(mozilla::PresState* aState) { return false; }
/** /**
* This callback is called by a fieldest on all its elements whenever its * This callback is called by a fieldest on all its elements whenever its
* disabled attribute is changed so the element knows its disabled state * disabled attribute is changed so the element knows its disabled state

View File

@@ -146,17 +146,6 @@ class nsIFormControl : public nsISupports {
NS_IMETHOD NS_IMETHOD
SubmitNamesValues(mozilla::dom::FormData* aFormData) = 0; SubmitNamesValues(mozilla::dom::FormData* aFormData) = 0;
/**
* Restore from presentation state. You pass in the presentation state for
* this form control (generated with GenerateStateKey() + "-C") and the form
* control will grab its state from there.
*
* @param aState the pres state to use to restore the control
* @return true if the form control was a checkbox and its
* checked state was restored, false otherwise.
*/
virtual bool RestoreState(mozilla::PresState* aState) = 0;
virtual bool AllowDrop() = 0; virtual bool AllowDrop() = 0;
/** /**