diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.cpp')
-rw-r--r-- | src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.cpp b/src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.cpp index 69b2f8e..2848985 100644 --- a/src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.cpp +++ b/src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) + * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -23,17 +23,19 @@ #if ENABLE(WML) #include "WMLEventHandlingElement.h" +#include "WMLCardElement.h" #include "WMLDoElement.h" #include "WMLIntrinsicEventHandler.h" +#include "WMLOptionElement.h" #include "WMLTaskElement.h" +#include "WMLTemplateElement.h" #include "WMLNames.h" namespace WebCore { using namespace WMLNames; -WMLEventHandlingElement::WMLEventHandlingElement(const QualifiedName& tagName, Document* doc) - : WMLElement(tagName, doc) +WMLEventHandlingElement::WMLEventHandlingElement() { } @@ -47,14 +49,14 @@ void WMLEventHandlingElement::createEventHandlerIfNeeded() m_eventHandler.set(new WMLIntrinsicEventHandler); } -void WMLEventHandlingElement::registerDoElement(WMLDoElement* doElement) +void WMLEventHandlingElement::registerDoElement(WMLDoElement* doElement, Document* document) { Vector<WMLDoElement*>::iterator it = m_doElements.begin(); Vector<WMLDoElement*>::iterator end = m_doElements.end(); for (; it != end; ++it) { if ((*it)->name() == doElement->name()) { - reportWMLError(document(), WMLErrorDuplicatedDoElement); + reportWMLError(document, WMLErrorDuplicatedDoElement); return; } } @@ -63,6 +65,21 @@ void WMLEventHandlingElement::registerDoElement(WMLDoElement* doElement) doElement->setActive(true); } +WMLEventHandlingElement* toWMLEventHandlingElement(WMLElement* element) +{ + if (!element->isWMLElement()) + return 0; + + if (element->hasTagName(cardTag)) + return static_cast<WMLCardElement*>(element); + else if (element->hasTagName(optionTag)) + return static_cast<WMLOptionElement*>(element); + else if (element->hasTagName(templateTag)) + return static_cast<WMLTemplateElement*>(element); + + return 0; +} + } #endif |