| Index: Source/core/html/HTMLFormElement.cpp
|
| diff --git a/Source/core/html/HTMLFormElement.cpp b/Source/core/html/HTMLFormElement.cpp
|
| index 00a901e6784b2ca6234ba072fdca896d668f120f..39d2e11ab7566468abc8f0e9aed9993954617075 100644
|
| --- a/Source/core/html/HTMLFormElement.cpp
|
| +++ b/Source/core/html/HTMLFormElement.cpp
|
| @@ -184,7 +184,7 @@ void HTMLFormElement::submitImplicitly(Event* event, bool fromImplicitSubmission
|
| FormAssociatedElement* formAssociatedElement = m_associatedElements[i];
|
| if (!formAssociatedElement->isFormControlElement())
|
| continue;
|
| - HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(formAssociatedElement);
|
| + Handle<HTMLFormControlElement> formElement(static_cast<HTMLFormControlElement*>(formAssociatedElement));
|
| if (formElement->isSuccessfulSubmitButton()) {
|
| if (formElement->renderer()) {
|
| formElement->dispatchSimulatedClick(event);
|
| @@ -197,13 +197,13 @@ void HTMLFormElement::submitImplicitly(Event* event, bool fromImplicitSubmission
|
| prepareForSubmission(event);
|
| }
|
|
|
| -static inline HTMLFormControlElement* submitElementFromEvent(const Event* event)
|
| +static inline Result<HTMLFormControlElement> submitElementFromEvent(const Event* event)
|
| {
|
| for (Node* node = event->target()->toNode(); node; node = node->parentNode()) {
|
| if (node->isElementNode() && toElement(node)->isFormControlElement())
|
| - return static_cast<HTMLFormControlElement*>(node);
|
| + return Handle<HTMLFormControlElement>(static_cast<HTMLFormControlElement*>(node));
|
| }
|
| - return 0;
|
| + return nullptr;
|
| }
|
|
|
| bool HTMLFormElement::validateInteractively(Event* event)
|
| @@ -212,7 +212,7 @@ bool HTMLFormElement::validateInteractively(Event* event)
|
| if (!document()->page() || !document()->page()->settings()->interactiveFormValidationEnabled() || noValidate())
|
| return true;
|
|
|
| - HTMLFormControlElement* submitElement = submitElementFromEvent(event);
|
| + Handle<HTMLFormControlElement> submitElement = submitElementFromEvent(event);
|
| if (submitElement && submitElement->formNoValidate())
|
| return true;
|
|
|
| @@ -311,7 +311,7 @@ void HTMLFormElement::getTextFieldValues(StringPairVector& fieldNamesAndValues)
|
| if (!element->hasLocalName(inputTag))
|
| continue;
|
|
|
| - HTMLInputElement* input = static_cast<HTMLInputElement*>(control);
|
| + Handle<HTMLInputElement> input(static_cast<HTMLInputElement*>(control));
|
| if (!input->isTextField())
|
| continue;
|
|
|
| @@ -334,7 +334,7 @@ void HTMLFormElement::submit(Event* event, bool activateSubmitButton, bool proce
|
| m_isSubmittingOrPreparingForSubmission = true;
|
| m_wasUserSubmitted = processingUserGesture;
|
|
|
| - HTMLFormControlElement* firstSuccessfulSubmitButton = 0;
|
| + Handle<HTMLFormControlElement> firstSuccessfulSubmitButton;
|
| bool needButtonActivation = activateSubmitButton; // do we need to activate a submit button?
|
|
|
| for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
|
| @@ -342,7 +342,7 @@ void HTMLFormElement::submit(Event* event, bool activateSubmitButton, bool proce
|
| if (!associatedElement->isFormControlElement())
|
| continue;
|
| if (needButtonActivation) {
|
| - HTMLFormControlElement* control = static_cast<HTMLFormControlElement*>(associatedElement);
|
| + Handle<HTMLFormControlElement> control(static_cast<HTMLFormControlElement*>(associatedElement));
|
| if (control->isActivatedSubmit())
|
| needButtonActivation = false;
|
| else if (firstSuccessfulSubmitButton == 0 && control->isSuccessfulSubmitButton())
|
| @@ -619,17 +619,17 @@ bool HTMLFormElement::wasUserSubmitted() const
|
| return m_wasUserSubmitted;
|
| }
|
|
|
| -HTMLFormControlElement* HTMLFormElement::defaultButton() const
|
| +Result<HTMLFormControlElement> HTMLFormElement::defaultButton() const
|
| {
|
| for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
|
| if (!m_associatedElements[i]->isFormControlElement())
|
| continue;
|
| - HTMLFormControlElement* control = static_cast<HTMLFormControlElement*>(m_associatedElements[i]);
|
| + Handle<HTMLFormControlElement> control(static_cast<HTMLFormControlElement*>(m_associatedElements[i]));
|
| if (control->isSuccessfulSubmitButton())
|
| return control;
|
| }
|
|
|
| - return 0;
|
| + return nullptr;
|
| }
|
|
|
| bool HTMLFormElement::checkValidity()
|
| @@ -650,7 +650,7 @@ bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<Form
|
| bool hasInvalidControls = false;
|
| for (unsigned i = 0; i < elements.size(); ++i) {
|
| if (elements[i]->form() == this && elements[i]->isFormControlElement()) {
|
| - HTMLFormControlElement* control = static_cast<HTMLFormControlElement*>(elements[i].get());
|
| + Handle<HTMLFormControlElement> control(static_cast<HTMLFormControlElement*>(elements[i].get()));
|
| if (!control->checkValidity(&unhandledInvalidControls) && control->form() == this)
|
| hasInvalidControls = true;
|
| }
|
| @@ -658,14 +658,14 @@ bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<Form
|
| return hasInvalidControls;
|
| }
|
|
|
| -HTMLFormControlElement* HTMLFormElement::elementForAlias(const AtomicString& alias)
|
| +Result<HTMLFormControlElement> HTMLFormElement::elementForAlias(const AtomicString& alias)
|
| {
|
| if (alias.isEmpty() || !m_elementAliases)
|
| - return 0;
|
| - return m_elementAliases->get(alias.impl()).get();
|
| + return nullptr;
|
| + return m_elementAliases->get(alias.impl());
|
| }
|
|
|
| -void HTMLFormElement::addElementAlias(HTMLFormControlElement* element, const AtomicString& alias)
|
| +void HTMLFormElement::addElementAlias(Handle<HTMLFormControlElement> element, const AtomicString& alias)
|
| {
|
| if (alias.isEmpty())
|
| return;
|
| @@ -678,16 +678,16 @@ void HTMLFormElement::getNamedElements(const AtomicString& name, Vector<RefPtr<N
|
| {
|
| elements()->namedItems(name, namedItems);
|
|
|
| - HTMLFormControlElement* aliasElement = elementForAlias(name);
|
| + Handle<HTMLFormControlElement> aliasElement = elementForAlias(name);
|
| if (aliasElement) {
|
| - if (namedItems.find(aliasElement) == notFound) {
|
| + if (namedItems.find(aliasElement.passRefPtr()) == notFound) {
|
| // We have seen it before but it is gone now. Still, we need to return it.
|
| // FIXME: The above comment is not clear enough; it does not say why we need to do this.
|
| - namedItems.append(aliasElement);
|
| + namedItems.append(aliasElement.passRefPtr());
|
| }
|
| }
|
| - if (namedItems.size() && namedItems.first() != aliasElement)
|
| - addElementAlias(static_cast<HTMLFormControlElement*>(namedItems.first().get()), name);
|
| + if (namedItems.size() && namedItems.first().get() != aliasElement.raw())
|
| + addElementAlias(Handle<HTMLFormControlElement>(static_cast<HTMLFormControlElement*>(namedItems.first().get())), name);
|
| }
|
|
|
| bool HTMLFormElement::shouldAutocomplete() const
|
|
|