WebFormElement.cpp [plain text]
#include "config.h"
#include "WebFormElement.h"
#include "FormState.h"
#include "HTMLFormControlElement.h"
#include "HTMLFormElement.h"
#include "HTMLInputElement.h"
#include "HTMLNames.h"
#include "WebFormControlElement.h"
#include "WebInputElement.h"
#include "platform/WebString.h"
#include "platform/WebURL.h"
#include <wtf/PassRefPtr.h>
using namespace WebCore;
namespace WebKit {
bool WebFormElement::autoComplete() const
{
return constUnwrap<HTMLFormElement>()->shouldAutocomplete();
}
WebString WebFormElement::action() const
{
return constUnwrap<HTMLFormElement>()->action();
}
WebString WebFormElement::name() const
{
return constUnwrap<HTMLFormElement>()->name();
}
WebString WebFormElement::method() const
{
return constUnwrap<HTMLFormElement>()->method();
}
bool WebFormElement::wasUserSubmitted() const
{
return constUnwrap<HTMLFormElement>()->wasUserSubmitted();
}
void WebFormElement::submit()
{
unwrap<HTMLFormElement>()->submit();
}
void WebFormElement::getNamedElements(const WebString& name,
WebVector<WebNode>& result)
{
Vector<RefPtr<Node> > tempVector;
unwrap<HTMLFormElement>()->getNamedElements(name, tempVector);
result.assign(tempVector);
}
void WebFormElement::getFormControlElements(WebVector<WebFormControlElement>& result) const
{
const HTMLFormElement* form = constUnwrap<HTMLFormElement>();
Vector<RefPtr<HTMLFormControlElement> > tempVector;
for (size_t i = 0; i < form->associatedElements().size(); i++) {
if (!form->associatedElements()[i]->isFormControlElement())
continue;
HTMLFormControlElement* element = static_cast<HTMLFormControlElement*>(form->associatedElements()[i]);
if (element->hasLocalName(HTMLNames::inputTag)
|| element->hasLocalName(HTMLNames::selectTag))
tempVector.append(element);
}
result.assign(tempVector);
}
WebFormElement::WebFormElement(const PassRefPtr<HTMLFormElement>& e)
: WebElement(e)
{
}
WebFormElement& WebFormElement::operator=(const PassRefPtr<HTMLFormElement>& e)
{
m_private = e;
return *this;
}
WebFormElement::operator PassRefPtr<HTMLFormElement>() const
{
return static_cast<HTMLFormElement*>(m_private.get());
}
}