Reviewed by George Staikos.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
WML is not build by default. Enabling possible in Qt, Gtk & Mac. Win/Wx are TODO.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@38541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 0b52af6..986d638 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,157 @@
+2008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
+
+ Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
+ Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
+
+ WML is not build by default.
+
+ * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
+ * GNUmakefile.am: Add new files and generator hooks.
+ * WebCore.pro: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
+ (WebCore::linkAttribute):
+ (WebCore::CSSStyleSelector::styleForElement):c
+ * css/wml.css: Added.
+ * dom/DOMImplementation.cpp: Handle WMLDocument creation
+ (WebCore::DOMImplementation::createDocument):
+ * dom/Document.cpp: Handle WMLElement creation.
+ (WebCore::Document::createElement):
+ * dom/Document.h: Add helper function identifying WML documents.
+ (WebCore::Document::isWMLDocument):
+ * dom/Node.h: Add heper function identifying WML elements.
+ (WebCore::Node::isWMLElement):
+ * dom/XMLTokenizer.cpp: Handle errors in WML documents
+ (WebCore::XMLTokenizer::insertErrorMessageBlock):
+ * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
+ (WebCore::XMLTokenizer::internalSubset):
+ * dom/XMLTokenizerQt.cpp: Ditto.
+ (WebCore::):
+ * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
+ * history/BackForwardList.cpp: Add WML specific function for clearing the history.
+ (WebCore::BackForwardList::clearWmlPageHistory):
+ * history/BackForwardList.h:
+ * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::FrameLoader::setForceReloadWmlDeck):
+ (WebCore::FrameLoader::shouldReload):
+ (WebCore::FrameLoader::loadItem):
+ * loader/FrameLoader.h:
+ * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
+ (WebCore::MainResourceLoader::addData):
+ * page/Frame.cpp: Initialize WMLNames.
+ (WebCore::Frame::Frame):
+ * page/Page.cpp: Maintain WMLPageState object per Page.
+ (WebCore::Page::Page):
+ (WebCore::Page::setWMLPageState):
+ (WebCore::Page::wmlPageState):
+ * page/Page.h:
+ * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
+ (WebCore::initializeSupportedNonImageMimeTypes):
+ * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
+ (WebCore::):
+ * platform/win/MIMETypeRegistryWin.cpp: Ditto.
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+ * manual-tests/wml: Added.
+ * manual-tests/wml/a-br-element.wml: Added.
+ * manual-tests/wml/a-element.wml: Added.
+ * manual-tests/wml/a-img-element.wml: Added.
+ * manual-tests/wml/access-target.wml: Added.
+ * manual-tests/wml/anchor-br-element.wml: Added.
+ * manual-tests/wml/anchor-element.wml: Added.
+ * manual-tests/wml/anchor-img-element.wml: Added.
+ * manual-tests/wml/card-newcontext-attr.wml: Added.
+ * manual-tests/wml/card-onenterbackward.wml: Added.
+ * manual-tests/wml/card-onenterforward.wml: Added.
+ * manual-tests/wml/card-ontimer.wml: Added.
+ * manual-tests/wml/deck-access-control.wml: Added.
+ * manual-tests/wml/go-element.wml: Added.
+ * manual-tests/wml/input-emptyok.wml: Added.
+ * manual-tests/wml/input-format.wml: Added.
+ * manual-tests/wml/onevent-go.wml: Added.
+ * manual-tests/wml/onevent-noop.wml: Added.
+ * manual-tests/wml/onevent-prev.wml: Added.
+ * manual-tests/wml/onevent-refresh.wml: Added.
+ * manual-tests/wml/onevent-shadow.wml: Added.
+ * manual-tests/wml/postfield-get.wml: Added.
+ * manual-tests/wml/postfield-post.wml: Added.
+ * manual-tests/wml/select-element.wml: Added.
+ * manual-tests/wml/select-onpick-event.wml: Added.
+ * manual-tests/wml/setvar-element.wml: Added.
+ * manual-tests/wml/targetdeck.wml: Added.
+ * manual-tests/wml/task-go-in-anchor.wml: Added.
+ * manual-tests/wml/task-noop-in-do.wml: Added.
+ * manual-tests/wml/task-noop-in-onevent.wml: Added.
+ * manual-tests/wml/task-prev-in-anchor.wml: Added.
+ * manual-tests/wml/task-refresh-in-anchor.wml: Added.
+ * manual-tests/wml/template-go.wml: Added.
+ * manual-tests/wml/template-onevent.wml: Added.
+ * manual-tests/wml/template-ontimer.wml: Added.
+ * manual-tests/wml/timer.wml: Added.
+ * manual-tests/wml/variable-substitution.wml: Added.
+ * wml: Added.
+ * wml/WMLAElement.cpp: Added.
+ (WebCore::WMLAElement::WMLAElement):
+ (WebCore::WMLAElement::parseMappedAttribute):
+ (WebCore::WMLAElement::supportsFocus):
+ (WebCore::WMLAElement::isFocusable):
+ (WebCore::WMLAElement::isMouseFocusable):
+ (WebCore::WMLAElement::isKeyboardFocusable):
+ (WebCore::WMLAElement::defaultEventHandler):
+ (WebCore::WMLAElement::accessKeyAction):
+ (WebCore::WMLAElement::isURLAttribute):
+ (WebCore::WMLAElement::target):
+ * wml/WMLAElement.h: Added.
+ * wml/WMLAttributeNames.in: Added.
+ * wml/WMLCardElement.cpp: Added.
+ (WebCore::WMLCardElement::WMLCardElement):
+ * wml/WMLCardElement.h: Added.
+ * wml/WMLDocument.cpp: Added.
+ (WebCore::WMLDocument::WMLDocument):
+ (WebCore::WMLDocument::~WMLDocument):
+ * wml/WMLDocument.h: Added.
+ (WebCore::WMLDocument::create):
+ (WebCore::WMLDocument::isWMLDocument):
+ * wml/WMLElement.cpp: Added.
+ (WebCore::WMLElement::WMLElement):
+ (WebCore::WMLElement::mapToEntry):
+ (WebCore::WMLElement::parseMappedAttribute):
+ (WebCore::WMLElement::rendererIsNeeded):
+ (WebCore::WMLElement::createRenderer):
+ * wml/WMLElement.h: Added.
+ (WebCore::WMLElement::isWMLElement):
+ * wml/WMLPElement.cpp: Added.
+ (WebCore::WMLPElement::WMLPElement):
+ (WebCore::WMLPElement::mapToEntry):
+ (WebCore::WMLPElement::parseMappedAttribute):
+ * wml/WMLPElement.h: Added.
+ * wml/WMLPageState.cpp: Added.
+ (WebCore::WMLPageState::WMLPageState):
+ (WebCore::WMLPageState::~WMLPageState):
+ (WebCore::WMLPageState::reset):
+ (WebCore::WMLPageState::setNeedCheckDeckAccess):
+ (WebCore::WMLPageState::isDeckAccessible):
+ * wml/WMLPageState.h: Added.
+ (WebCore::WMLPageState::storeVariable):
+ (WebCore::WMLPageState::storeVariables):
+ (WebCore::WMLPageState::getVaribale):
+ (WebCore::WMLPageState::hasVariables):
+ (WebCore::WMLPageState::historyLength):
+ (WebCore::WMLPageState::setHistoryLength):
+ (WebCore::WMLPageState::page):
+ (WebCore::WMLPageState::activeCard):
+ (WebCore::WMLPageState::setActiveCard):
+ (WebCore::WMLPageState::setDeckAccessDomain):
+ (WebCore::WMLPageState::setDeckAccessPath):
+ (WebCore::WMLPageState::hasDeckAccess):
+ * wml/WMLTagNames.in: Added.
+
2008-11-17 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.