2005-12-17  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

        - removed unused SPI headers

        * WebCore.xcodeproj/project.pbxproj:
        * kwq/DOM-compat.h: Removed.

2005-12-18  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6144
          REGRESSION: DOMStringImpl leak in code to make DOMString from NSString

        * kwq/DOMInternal.mm: (DOMString::DOMString): Remove now-unneeded ref.

2005-12-18  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5680
          containsOnlyWhitespace does not need to be a virtual function

        * khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget): Cast
        pointer to a TextImpl before calling containsOnlyWhitespace; the code already
        checked isTextNode.
        * khtml/rendering/render_line.cpp: (khtml::shouldDrawDecoration): Expanded an
        if statement into a few separate ones for slight additional clarity. Added a
        check of isTextNode and cast pointer to a TextImpl.

        * khtml/xml/dom_nodeimpl.h: Remove containsOnlyWhitespace function.
        * khtml/xml/dom_textimpl.h: Remove virtual keyword from containsOnlyWhitespace.

2005-12-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt, landed by Darin.

        Test: fast/text/international/bidi-ignored-for-first-child-inline.html

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=5980
        Bidi properties of an inline container whose first child is an
        inline container are ignored

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::bidiNext):
        Adjust embedding at inline containers' boundaries instead of inside.
        (khtml::RenderBlock::bidiFirst):
        (khtml::RenderBlock::determineStartPosition):

2005-12-18  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5932
          Wrong encoding used for http://www.miel.ru

        * kwq/KWQCharsets.mm: (KWQCFStringEncodingFromIANACharsetName):
        Fall back on ICU encoding names if we don't find the name in the WebCore
        encoding names table.

2005-12-18  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5927
          Result of XSLT transformation has no charset defined

        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::applyXSLTransform):
        Get encoding from transform and pass in to XSLTProcessor.

        * khtml/xsl/xslt_processorimpl.h:
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::XSLTProcessorImpl::createDocumentFromSource): Added encoding parameter.
        Create a Decoder and use it to decode the source document (default encoding UTF-8).
        (DOM::XSLTProcessorImpl::transformToString): Add an encoding result. Set it to the
        encoding from the libxml2 document object.
        (DOM::XSLTProcessorImpl::transformToDocument): Get encoding from transform and pass
        in to XSLTProcessor.
        (DOM::XSLTProcessorImpl::transformToFragment): Ditto.

2005-12-18  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Eric, landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5631
          KWQKHTMLPart::attributedString ignores many tags

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::attributedString):
        Fix incorrectly nested else.

2005-12-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5768
          pages with frames that are all "fixed" get no layout and are blank (like www.farnell.nl)

        * khtml/rendering/render_frames.cpp: (RenderFrameSet::layout):
        * manual-tests/bugzilla-5768.html: Added. Can't seem to get it to work (fail) as an automated test.
        * manual-tests/resources/frame1.html: Added.
        * manual-tests/resources/frame2.html: Added.

2005-12-17  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin.

        - Fix <http://bugs.webkit.org/show_bug.cgi?id=6120>
        Random crashes when running the test suite
        
        * khtml/css/css_ruleimpl.h:
        (DOM::CSSMediaRuleImpl::media):
        Make m_lstMedia a smart pointer.

2005-12-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5479
          Can't select text with RTL override rendered by ATSUI

        * khtml/rendering/font.h: Remove reversed parameter from checkSelectionPoint, replacing
        it with a text direction parameter.
        * khtml/rendering/render_text.cpp: (InlineTextBox::offsetForPosition): Ditto.
        * kwq/KWQFontMetrics.h: Add a directional override parameter to checkSelectionPoint.
        * kwq/KWQFontMetrics.mm: (QFontMetrics::checkSelectionPoint): Pass the directional override
        through to the text renderer. Don't pass the reversed flag redundantly -- use the rtl flag
        in the style instead.
        * kwq/WebCoreTextRenderer.h: Remove reversed parameter from pointToOffset.

2005-12-16  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        DOMString should hold its impl in a RefPtr
        http://bugs.webkit.org/show_bug.cgi?id=6106
        I also cleaned up spacing in dom_string.cpp
        No tests needed (no functionality changes).

        * khtml/dom/dom_string.cpp:
        (DOM::DOMString::DOMString):
        (DOM::DOMString::operator += ):
        (DOM::DOMString::insert):
        (DOM::DOMString::operator []):
        (DOM::DOMString::find):
        (DOM::DOMString::length):
        (DOM::DOMString::truncate):
        (DOM::DOMString::remove):
        (DOM::DOMString::split):
        (DOM::DOMString::lower):
        (DOM::DOMString::upper):
        (DOM::DOMString::percentage):
        (DOM::DOMString::unicode):
        (DOM::DOMString::qstring):
        (DOM::DOMString::toInt):
        (DOM::DOMString::copy):
        (DOM::strcasecmp):
        (DOM::DOMString::toCoordsArray):
        (DOM::DOMString::toLengthArray):
        (DOM::operator==):
        * khtml/dom/dom_string.h:
        (DOM::DOMString::DOMString):
        (DOM::DOMString::impl):

2005-12-16  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        XSLTProcessorImpl should use RefPtr instead of manual ref/deref
        http://bugs.webkit.org/show_bug.cgi?id=6110
        No test cases needed (no functionality changes).

        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (DOM::XSLImportRuleImpl::XSLImportRuleImpl):
        (DOM::XSLImportRuleImpl::~XSLImportRuleImpl):
        (DOM::XSLImportRuleImpl::setStyleSheet):
        * khtml/xsl/xsl_stylesheetimpl.h:
        (DOM::XSLImportRuleImpl::styleSheet):

2005-12-16  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Fix for <rdar://problem/4381546> Safari crash at www.dallascowboys.com in KWQListIteratorImpl::current()

        * khtml/khtml_part.cpp:
        (KHTMLPart::slotFinishedParsing): ref the part before calling checkCompleted.

2005-12-16  Vicki Murley  <vicki@apple.com>

        Reviewed by Tim O.
 
	- fix <rdar://problem/4380428> window.onbeforeunload works on IE but not on Safari

        * khtml/ecma/kjs_window.cpp:

2005-12-16  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Eric.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=6112
        REGRESSION: navigator.plugins empty.

        Layout test added:
        * fast/js/Plug-ins-expected.checksum: Added.
        * fast/js/Plug-ins-expected.png: Added.
        * fast/js/Plug-ins-expected.txt: Added.
        * fast/js/Plug-ins.html: Added.

        * khtml/ecma/kjs_navigator.cpp:
        (KJS::PluginBase::PluginBase): Changed initialization of KConfig from
        empty string to pluginsinfo.

2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        Test: fast/text/international/bidi-european-terminators.html

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=6014
        Bidi algorithm: incorrect resolved levels for neutrals between R and
        ET ON L

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::bidiReorderLine):
        Keep track of the last position before the current run of ETs directly
        using a new BidiState member, lastBeforeET.

2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5486
          DumpRenderTree should print the RTL and directional override flags for text runs

        * kwq/KWQRenderTreeDebug.cpp: (writeTextRun): Dump the additional flags.

2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=6043
        Incorrect selection highlighting in pre-formatted text with tabs

        * khtml/rendering/render_text.cpp: Correct parameters in calls to RenderText::width().
        (InlineTextBox::selectionRect):
        (InlineTextBox::placeEllipsisBox):
        (InlineTextBox::paintDecoration):
        (InlineTextBox::paintMarker):
        (InlineTextBox::paintMarkedTextUnderline):
        * manual-tests/pre-tab-selection-rect.html: Added.

2005-12-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.
        
        Test: fast/js/replace-child-siblings.html

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=6069
        Assertion failure in RenderBlock::addChildToFlow during replaceChild
        
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::ContainerNodeImpl::replaceChild): If the new child was right
        before or right after the old child, then it just stays.
        
2005-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5688
          speed up JavaScript parsing by not creating a UString just to parse

        * khtml/ecma/kjs_dom.cpp: (KJS::DOMNode::getListener): Use listenerObj instead of
        listenerObjImp.
        * khtml/ecma/kjs_html.cpp: (KJS::Image::getValueProperty): Ditto.
        * khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::getValueProperty): Ditto.
        * khtml/ecma/kjs_window.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getListener): Ditto.
        (KJS::Window::getJSLazyEventListener): Take code as a DOMString, not QString.

        * khtml/ecma/kjs_events.cpp:
        (KJS::jsStringOrUndefined): Renamed function and moved it to the top of the file.
        (KJS::JSAbstractEventListener::handleEvent): Cleaned up function, removed double
        logging, and fixed code path to not use UString::ascii().
        (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Updated since type
        of the window object is now Window.
        (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Ditto.
        (KJS::JSUnprotectedEventListener::windowObj): Ditto.
        (KJS::JSEventListener::JSEventListener): Ditto.
        (KJS::JSEventListener::~JSEventListener): Ditto.
        (KJS::JSEventListener::windowObj): Ditto.
        (KJS::JSLazyEventListener::JSLazyEventListener): Ditto. Also changed code to be
        a DOMString instead of a QString.
        (KJS::JSLazyEventListener::handleEvent): Removed function because the base class
        handleEvent already calls listenerObj which takes care of parseCode -- no need to
        do an additional parseCode here.
        (KJS::JSLazyEventListener::parseCode): Rearrange and clean up a bit. Code is now
        a DOMString instead of a QString.
        (KJS::Clipboard::Clipboard): Remove explicit ref since we now use a RefPtr for
        the clipboard object.
        (KJS::Clipboard::getValueProperty): Update to call jsStringOrUndefined.

        * khtml/ecma/kjs_events.h: Reformatted the file. Changed windowObj functions to
        return Window* instead of ObjectImp*. Removed listenerObjImp function. Removed
        destructors from many classes that don't need them. Used a RefPtr for the
        ClipboardImpl in a Clipboard object.

        * khtml/ecma/kjs_proxy.h:
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::evaluate): Take filename and code as DOMString instead of QString.
        (KJSProxyImpl::createHTMLEventHandler): Take URL and code as DOMString.

        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::createHTMLEventListener): Take a DOMString rather than a QString for the
        JavaScript code.
        (DocumentImpl::setHTMLWindowEventListener): Added an overload that takes an attribute
        pointer. Calls through after extracting the code from the attribute value.

        * khtml/html/html_elementimpl.h:
        * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setHTMLEventListener): New
        version of function that takes an attribute pointer; calls through to the base class
        after extracting the code from the attribute value.

        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::parseMappedAttribute): Change to use new setHTMLWindowEventListener
        and setHTMLEventListener that takes an attribute pointer.
        (HTMLFrameElementImpl::parseMappedAttribute): Ditto.
        (HTMLFrameSetElementImpl::parseMappedAttribute): Ditto.
        * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseMappedAttribute): Ditto.
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::parseMappedAttribute): Ditto.
        (DOM::HTMLButtonElementImpl::parseMappedAttribute): Ditto.
        (DOM::HTMLInputElementImpl::parseMappedAttribute): Ditto.
        (DOM::HTMLLabelElementImpl::parseMappedAttribute): Ditto.
        (DOM::HTMLSelectElementImpl::parseMappedAttribute): Ditto.
        (DOM::HTMLTextAreaElementImpl::parseMappedAttribute): Ditto.
        * khtml/html/html_imageimpl.cpp:
        (DOM::HTMLImageElementImpl::parseMappedAttribute): Ditto.
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::parseMappedAttribute): Ditto.

        * khtml/html/html_headimpl.h:
        * khtml/html/html_headimpl.cpp:
        (HTMLScriptElementImpl::notifyFinished): Don't convert URL to QString since we now take
        a DOMString.
        (HTMLScriptElementImpl::evaluateScript): Change to take script as a DOMString.

        * khtml/khtml_part.h:
        * khtml/khtml_part.cpp: (KHTMLPart::createHTMLEventListener): Take a DOMString rather than
        a QString for the JavaScript code.

        * kwq/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame evaluateWebScript:]): Change
        code path so it doesn't convert an NSString to UTF-8 to get it into the JavaScript
        machinery. Use QString::fromNSString instead for now.

2005-12-15  Darin Adler  <darin@apple.com>

        - fix crash caused by my last check-in

        * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
        Use RefPtr to ref/deref the tokenizer.

2005-12-15  Darin Adler  <darin@apple.com>

        * khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::exitText):
        Add missing null check.

2005-12-15  Geoffrey Garen  <ggaren@apple.com>

        Fixed <rdar://problem/4381444> Remove GMail-specific work-around 
        previously added.

        Reviewed by Darin.

        No test case because this patch just turns on already-tested behavior
        for GMail.

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::textAreaGetter): Removed code that hid the
        selectionEnd property from sites on the GMail domain.

2005-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6092
          REGRESSION: dom/xhtml/level2/html//HTMLInputElement01.xhtml crashes

        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::XMLTokenizer): Initialize the new m_currentNodeIsReferenced
        field to false for the document case, and true for the non-0 fragment case. Also
        don't reference the document in the document tokenizer case to avoid a circular
        reference -- HTML parser already does both of these things.
        (khtml::XMLTokenizer::~XMLTokenizer): Call setCurrentNode(0) to release the current
        node in case the tokenizer is being destroyed without finishing parsing. Only call
        deref on the document inthe fragment-parsing case.
        (khtml::XMLTokenizer::setCurrentNode): Added. Reference the current node only if
        it's not the document. Just as with the HTML parser, use a boolean to track whether
        the current node needs a deref or not.
        (khtml::XMLTokenizer::startElementNs): Use a RefPtr to keep the newly created element
        alive at least until setCurrentNode is called. Remove the bogus explicit delete of
        of the node after calling addChild, since reference counting takes care of it.
        Stop parsing if we fail to create an element.
        (khtml::XMLTokenizer::endElementNs): Use setCurrentNode and use a local variable
        to avoid reference count thrash.
        (khtml::XMLTokenizer::characters): Changed to only support text nodes. CDATA no
        longer calls this function. 
        (khtml::XMLTokenizer::enterText): Use setCurrentNode, and remove bogus delete call. 
        (khtml::XMLTokenizer::exitText): Add checks for stopped parser and for whether
        the current node is a text node so this can be called unconditionally.
        (khtml::XMLTokenizer::cdataBlock): Use setCurrentNode and move the call before the
        call to attach to make sure the node is already ref'd when attach is called.
        (khtml::XMLTokenizer::finish): Call setCurrentNode(0) to release the nodes we've
        been parsing.
        (khtml::XMLTokenizer::executeScripts): Fixed incorrect cast to TextImpl to cast to
        the base class CharacterDataImpl instead.

2005-12-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by Tim Hatcher.

	Made SVG on by default!
        Also removed last two KHTML_NO_CPLUSPLUS_DOM #ifs and turned off.
        Removed APPLE_COMPILE_HACK, fixing or replacing with #if 0 for now.

        * WebCore.xcodeproj/project.pbxproj: Made SVG default!
        * ksvg2/KSVGSettings.cpp: Removed.
        * ksvg2/css/SVGCSSStyleSelector.cpp: fixed copyright.
        * ksvg2/svg/SVGCursorElementImpl.cpp:
        (SVGCursorElementImpl::notifyFinished): fixed
        * ksvg2/svg/SVGElementImpl.cpp:
        (SVGElementImpl::parseMappedAttribute): removed dead code.
        * ksvg2/svg/SVGImageElementImpl.cpp:
        (SVGImageElementImpl::createRenderer): #if 0
        (SVGImageElementImpl::notifyFinished): #if 0
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::pixelUnitToMillimeterX): #if 0
        (SVGSVGElementImpl::pixelUnitToMillimeterY): #if 0
        * kwq/DOM.mm: removed KHTML_NO_CPLUSPLUS_DOM
        (ObjCNodeFilterCondition::acceptNode):
        * kwq/KWQKHTMLPart.mm: removed KHTML_NO_CPLUSPLUS_DOM

2005-12-15  Eric Seidel  <eseidel@apple.com>

	Fix build break.  (Files missed in previous commit.)

        * khtml/css/csshelper.cpp:
        * khtml/ecma/kjs_navigator.cpp:
        * khtml/rendering/render_canvasimage.cpp:
        * khtml/rendering/render_image.cpp:

2005-12-15  Adele Peterson  <adele@apple.com>

        Reviewed by John.

        - Fix for <rdar://problem/4258232> Crash in HTMLOptionElementImpl::index when option element has no corresponding select - http://www.mattkruse.com/javascript/datadumper/

        Test: fast/forms/option-index.html

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLOptionElementImpl::index): nil check for select element.

2005-12-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Remove more legacy code from khtml/kwq
        http://bugs.webkit.org/show_bug.cgi?id=6091

        No tests needed, no functionality changes.

        * ForwardingHeaders/kapplication.h: Removed.
        * ForwardingHeaders/kcompletionbox.h: Removed.
        * ForwardingHeaders/kdatastream.h: Removed.
        * ForwardingHeaders/kfiledialog.h: Removed.
        * ForwardingHeaders/kfileitem.h: Removed.
        * ForwardingHeaders/khtml_iface.h: Removed.
        * ForwardingHeaders/khtml_pagecache.h: Removed.
        * ForwardingHeaders/khtml_printsettings.h: Removed.
        * ForwardingHeaders/khtml_run.h: Removed.
        * ForwardingHeaders/kiconloader.h: Removed.
        * ForwardingHeaders/kio/kprotocolmanager.h: Removed.
        * ForwardingHeaders/kio/netaccess.h: Removed.
        * ForwardingHeaders/kmessagebox.h: Removed.
        * ForwardingHeaders/kmimetype.h: Removed.
        * ForwardingHeaders/kmultipledrag.h: Removed.
        * ForwardingHeaders/kparts/partmanager.h: Removed.
        * ForwardingHeaders/kprinter.h: Removed.
        * ForwardingHeaders/kprotocolmanager.h: Removed.
        * ForwardingHeaders/ksimpleconfig.h: Removed.
        * ForwardingHeaders/ksslcertchain.h: Removed.
        * ForwardingHeaders/ksslinfodlg.h: Removed.
        * ForwardingHeaders/kstdaction.h: Removed.
        * ForwardingHeaders/ktempfile.h: Removed.
        * ForwardingHeaders/ktrader.h: Removed.
        * ForwardingHeaders/kurldrag.h: Removed.
        * ForwardingHeaders/kxmlguifactory.h: Removed.
        * ForwardingHeaders/netaccess.h: Removed.
        * ForwardingHeaders/private/qucomextra_p.h: Removed.
        * ForwardingHeaders/qasyncimageio.h: Removed.
        * ForwardingHeaders/qbitmap.h: Removed.
        * ForwardingHeaders/qclipboard.h: Removed.
        * ForwardingHeaders/qdir.h: Removed.
        * ForwardingHeaders/qdrawutil.h: Removed.
        * ForwardingHeaders/qfontdatabase.h: Removed.
        * ForwardingHeaders/qfontinfo.h: Removed.
        * ForwardingHeaders/qglobal.h: Removed.
        * ForwardingHeaders/qhbox.h: Removed.
        * ForwardingHeaders/qinputdialog.h: Removed.
        * ForwardingHeaders/qintcache.h: Removed.
        * ForwardingHeaders/qmetaobject.h: Removed.
        * ForwardingHeaders/qmovie.h: Removed.
        * ForwardingHeaders/qobjectlist.h: Removed.
        * ForwardingHeaders/qtooltip.h: Removed.
        * ForwardingHeaders/scheduler.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * khtml/css/cssstyleselector.cpp:
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::KJSProxyImpl):
        (KJSProxyImpl::initScript):
        * khtml/ecma/kjs_window.cpp:
        * khtml/ecma/kjs_window.moc: Removed.
        * khtml/html/html_documentimpl.cpp:
        (DOM::HTMLDocumentImpl::HTMLDocumentImpl):
        * khtml/html/html_documentimpl.moc: Removed.
        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_formimpl.h:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_objectimpl.h:
        * khtml/html/htmltokenizer.moc: Removed.
        * khtml/khtml_part.cpp:
        (KHTMLPart::didOpenURL):
        (KHTMLPart::stopLoading):
        (KHTMLPart::createJavaContext):
        (KHTMLPart::begin):
        (KHTMLPart::slotRedirection):
        (KHTMLPart::setSelection):
        (KHTMLPart::handleFallbackContent):
        * khtml/khtml_part.h:
        * khtml/khtml_part.moc: Removed.
        * khtml/khtmlpart_p.h:
        (KHTMLPartPrivate::KHTMLPartPrivate):
        (KHTMLPartPrivate::~KHTMLPartPrivate):
        * khtml/khtmlview.cpp:
        (KHTMLViewPrivate::KHTMLViewPrivate):
        (KHTMLViewPrivate::~KHTMLViewPrivate):
        (KHTMLView::KHTMLView):
        (KHTMLView::init):
        (KHTMLView::resizeEvent):
        (KHTMLView::layout):
        (KHTMLView::viewportMousePressEvent):
        (KHTMLView::viewportMouseDoubleClickEvent):
        (KHTMLView::viewportMouseReleaseEvent):
        (KHTMLView::scrollTo):
        (KHTMLView::focusNextPrevNode):
        (KHTMLView::focusInEvent):
        (KHTMLView::focusOutEvent):
        * khtml/khtmlview.h:
        * khtml/khtmlview.moc: Removed.
        * khtml/misc/loader.cpp:
        (CachedImage::CachedImage):
        (CachedImage::ref):
        (CachedImage::deref):
        (CachedImage::pixmap_size):
        (CachedImage::valid_rect):
        (CachedImage::clear):
        (CachedXSLStyleSheet::CachedXSLStyleSheet):
        (Cache::clear):
        (Cache::flush):
        (Cache::getStatistics):
        (Cache::setCacheDisabled):
        * khtml/misc/loader.h:
        * khtml/misc/loader.moc: Removed.
        * khtml/rendering/render_form.cpp:
        (ComboBoxWidget::ComboBoxWidget):
        (RenderSelect::createListBox):
        (RenderSlider::slotClicked):
        * khtml/rendering/render_form.h:
        * khtml/rendering/render_form.moc: Removed.
        * khtml/rendering/render_frames.cpp:
        (RenderFrameSet::userResize):
        (RenderPart::updateWidgetPosition):
        * khtml/rendering/render_frames.moc: Removed.
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::isTransparent):
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::destroy):
        (RenderWidget::setSelectionState):
        * khtml/rendering/render_replaced.moc: Removed.
        * khtml/xml/dom_docimpl.cpp:
        (DocumentTypeImpl::cloneNode):
        * khtml/xml/dom_docimpl.moc: Removed.
        * khtml/xml/xml_tokenizer.cpp:
        * khtml/xml/xml_tokenizer.moc: Removed.
        * ksvg2/svg/SVGImageElementImpl.cpp:
        * kwq/KWQApplication.h:
        (QApplication::sendEvent):
        * kwq/KWQComboBox.h:
        * kwq/KWQKApplication.h: Removed.
        * kwq/KWQKHTMLPageCache.h: Removed.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::openURLFromPageCache):
        * kwq/KWQKHTMLPartBrowserExtension.h:
        * kwq/KWQKHistoryProvider.mm:
        * kwq/KWQKJavaAppletContext.h:
        (KJavaAppletContext::KJavaAppletContext):
        * kwq/KWQKPartsHistoryProvider.h:
        * kwq/KWQKPartsPartManager.h: Removed.
        * kwq/KWQMovie.h: Removed.
        * kwq/KWQMovie.mm: Removed.
        * kwq/KWQObject.h:
        * kwq/KWQScrollView.h:
        * kwq/KWQScrollView.mm:
        * kwq/KWQWidget.h:

2005-12-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        khtml/css should use RefPtr instead of manual ref() deref()
        http://bugs.webkit.org/show_bug.cgi?id=6094

        No functionality changes, thus no tests.

        * khtml/css/css_computedstyle.cpp:
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyValue):
        * khtml/css/css_ruleimpl.cpp:
        (DOM::CSSFontFaceRuleImpl::CSSFontFaceRuleImpl):
        (DOM::CSSFontFaceRuleImpl::~CSSFontFaceRuleImpl):
        (DOM::CSSImportRuleImpl::CSSImportRuleImpl):
        (DOM::CSSImportRuleImpl::~CSSImportRuleImpl):
        (DOM::CSSImportRuleImpl::setStyleSheet):
        (DOM::CSSMediaRuleImpl::CSSMediaRuleImpl):
        (DOM::CSSMediaRuleImpl::~CSSMediaRuleImpl):
        (DOM::CSSPageRuleImpl::CSSPageRuleImpl):
        (DOM::CSSPageRuleImpl::~CSSPageRuleImpl):
        (DOM::CSSStyleRuleImpl::CSSStyleRuleImpl):
        (DOM::CSSStyleRuleImpl::~CSSStyleRuleImpl):
        (DOM::CSSStyleRuleImpl::setDeclaration):
        * khtml/css/css_ruleimpl.h:
        (DOM::CSSFontFaceRuleImpl::style):
        (DOM::CSSImportRuleImpl::media):
        (DOM::CSSImportRuleImpl::styleSheet):
        (DOM::CSSMediaRuleImpl::cssRules):
        (DOM::CSSPageRuleImpl::style):
        (DOM::CSSStyleRuleImpl::style):
        (DOM::CSSStyleRuleImpl::declaration):
        * khtml/css/css_stylesheetimpl.cpp:
        (StyleSheetImpl::StyleSheetImpl):
        (StyleSheetImpl::~StyleSheetImpl):
        (StyleSheetImpl::setMedia):
        * khtml/css/css_stylesheetimpl.h:
        (DOM::StyleSheetImpl::media):
        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSMutableStyleDeclarationImpl::get4Values):
        (DOM::CSSMutableStyleDeclarationImpl::getShortHandValue):
        (DOM::CSSMutableStyleDeclarationImpl::merge):
        (DOM::CSSStyleDeclarationImpl::diff):
        (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
        (DOM::CSSPrimitiveValueImpl::cleanup):
        (DOM::CSSPrimitiveValueImpl::cssText):
        (DOM::RectImpl::RectImpl):
        (DOM::RectImpl::~RectImpl):
        (DOM::RectImpl::setTop):
        (DOM::RectImpl::setRight):
        (DOM::RectImpl::setBottom):
        (DOM::RectImpl::setLeft):
        (DOM::PairImpl::PairImpl):
        (DOM::PairImpl::~PairImpl):
        (DOM::PairImpl::setFirst):
        (DOM::PairImpl::setSecond):
        (DOM::CSSBorderImageValueImpl::CSSBorderImageValueImpl):
        (DOM::CSSBorderImageValueImpl::~CSSBorderImageValueImpl):
        * khtml/css/css_valueimpl.h:
        (DOM::RectImpl::top):
        (DOM::RectImpl::right):
        (DOM::RectImpl::bottom):
        (DOM::RectImpl::left):
        (DOM::PairImpl::first):
        (DOM::PairImpl::second):
        (DOM::DashboardRegionImpl::setNext):
        (DOM::CSSProperty::CSSProperty):
        (DOM::CSSProperty::operator=):
        (DOM::CSSProperty::~CSSProperty):
        (DOM::CSSProperty::setValue):
        (DOM::CSSProperty::value):
        * khtml/css/cssparser.cpp:
        (CSSParser::parseColor):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty):

2005-12-15  Adele Peterson  <adele@apple.com>

        Reviewed by Darin and Hyatt.

        Fixed <rdar://problem/4381360> REGRESSION: Focus ring on contenteditable div outlines text in overflow area instead of div (6100)
        http://bugs.webkit.org/show_bug.cgi?id=6100

        Test: fast/overflow/overflow-focus-ring.html

        * khtml/rendering/render_flow.cpp:
        (RenderFlow::addFocusRingRects): For overflow, we don't need to compute the rects for the children.

2005-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Tim Hatcher.

        - removed unnecessary conversion between AtomicString and QString

        * khtml/html/html_headimpl.cpp:
        (HTMLScriptElementImpl::parseMappedAttribute): Remove extra conversions.
        (HTMLScriptElementImpl::insertedIntoDocument): Ditto.

2005-12-14  Adele Peterson  <adele@apple.com>

        Reviewed by Darin and Tim Hatcher.

        - fixed <rdar://problem/4375502> 10.4.4 REGRESSION: Clicking on anchor tag in email causes unwanted horizontal scroll

        When scrolling views, we were failing to take the current scroll position into account when calculating the new scroll position. 

        * kwq/KWQScrollView.h: Added scrollPointRecursively.
        * kwq/KWQScrollView.mm:
        (QScrollView::scrollXOffset): Calculates the x-coordinate scroll offset for a view.
        (QScrollView::scrollYOffset): Calculates the y-coordinate scroll offset for a view.
        (QScrollView::scrollPointRecursively): This function walks up the view hierarchy to scroll to a point.  
        I moved this from setContentsPos so that function would only have an effect on the current view.
        (QScrollView::setContentsPos): return to old behavior where this function calls scrollPoint on a view and doesn't recurse.

        * khtml/rendering/render_layer.cpp: (khtml::RenderLayer::scrollRectToVisible): 
        Uses new QScrollView functions scrollXOffset and scrollYOffset to correctly calculate how a view should scroll.
        Also determines whether or not QScrollView should try to scroll recursively (which happens when scrollRectToVisible is done calling itself recursively).

2005-12-14  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        SVG test cases changed (now the svg.css is loaded properly).
        No other functionality changes, just code removal.
        http://bugs.webkit.org/show_bug.cgi?id=6078

        * ForwardingHeaders/klibloader.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * khtml/css/csshelper.cpp:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::CSSStyleSelector):
        (khtml::parseUASheet):
        (khtml::CSSStyleSelector::loadDefaultStyle):
        * khtml/css/cssstyleselector.h:
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        (KJS::JSLazyEventListener::eventParameterName):
        (KJS::JSLazyEventListener::parseCode):
        * khtml/ecma/kjs_events.h:
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::HTMLElement::implementsCall):
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):
        (KJS::PluginBase::PluginBase):
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::KJSProxyImpl):
        (KJSProxyImpl::evaluate):
        (KJSProxyImpl::clear):
        (KJSProxyImpl::createHTMLEventHandler):
        (KJSProxyImpl::initScript):
        * khtml/ecma/kjs_proxy.h:
        (KJSProxyImpl::setEventHandlerLineno):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::interpreter):
        (KJS::Window::retrieve):
        (KJS::Window::clear):
        (KJS::ScheduledAction::execute):
        * khtml/ecma/kjs_window.h:
        * khtml/html/html_canvasimpl.cpp:
        * khtml/html/html_documentimpl.cpp:
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::formData):
        * khtml/html/html_headimpl.cpp:
        (HTMLScriptElementImpl::evaluateScript):
        * khtml/html/html_imageimpl.cpp:
        * khtml/html/html_tableimpl.cpp:
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::HTMLTokenizer):
        (khtml::HTMLTokenizer::processToken):
        * khtml/khtml_part.cpp:
        (KHTMLPart::KHTMLPart):
        (KHTMLPart::init):
        (KHTMLPart::~KHTMLPart):
        (KHTMLPart::restoreURL):
        (KHTMLPart::didOpenURL):
        (KHTMLPart::jScript):
        (KHTMLPart::executeScript):
        (KHTMLPart::write):
        (KHTMLPart::reparseConfiguration):
        (KHTMLPart::createHTMLEventListener):
        * khtml/khtml_part.h:
        * khtml/khtmlpart_p.h:
        (KHTMLPartPrivate::KHTMLPartPrivate):
        (KHTMLPartPrivate::~KHTMLPartPrivate):
        * khtml/misc/decoder.cpp:
        * khtml/misc/loader.cpp:
        (CachedCSSStyleSheet::CachedCSSStyleSheet):
        (CachedScript::CachedScript):
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_frames.cpp:
        * khtml/rendering/render_inline.cpp:
        * khtml/rendering/render_line.cpp:
        * khtml/rendering/render_table.cpp:
        * khtml/rendering/table_layout.cpp:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::implicitOpen):
        (DocumentImpl::write):
        * khtml/xml/dom_nodeimpl.cpp:
        * ksvg2/svg/SVGTestsImpl.cpp:
        (SVGTestsImpl::isValid):
        * kwq/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * kwq/KWQKGlobal.h:
        * kwq/KWQKHTMLFactory.h:
        (KHTMLFactory::vLinks):
        * kwq/KWQKHTMLFactory.mm:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::KWQKHTMLPart):
        (KWQKHTMLPart::userGestureHint):
        (KWQKHTMLPart::bindingRootObject):
        * kwq/KWQKHTMLSettings.h:
        (KHTMLSettings::fantasyFontName):
        (KHTMLSettings::isJavaScriptEnabled):
        * kwq/KWQKInstance.h: Removed.
        * kwq/KWQKLibrary.h: Removed.
        * kwq/KWQKPartsFactory.h: Removed.
        * kwq/KWQKPartsPart.h:
        (KParts::ReadOnlyPart::name):
        * kwq/KWQKStandardDirs.h:
        * kwq/KWQKStandardDirs.mm:
        (locate):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge executionContextForView:]):

2005-12-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by John.

	Extra fix for <rdar://problem/4374783> 10.4.4 REGRESSION: caret 
	disappears when typing at the bottom of a scrollable textarea.

	Should be floorf and not floor.

        * kwq/KWQTextArea.mm:
        (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:font:]):

2005-12-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Eric.

	Fix for <rdar://problem/4374783> 10.4.4 REGRESSION: caret 
	disappears when typing at the bottom of a scrollable textarea.

	This regression occurred because we were calculating the font
	height incorrectly. Made changes that Doug suggested in the bug.

        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView setFont:]): Send the font itself to 
	_KWQ_updateTypingAttributes
        (-[KWQTextAreaTextView setLineHeight:]): Same.
        (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:font:]):
	Calculate the font height using defaultLineHeightForFont.

2005-12-14  Mitz Pettel  <opendarwin.org@mitzpettel.com>
 
         Reviewed by Darin & Geoff, committed by Adele.
         
         Test: fast/overflow/overflow-text-hit-testing.html
 
         Fix for <http://bugs.webkit.org/show_bug.cgi?id=5921>
         Hit-testing text in overflows does not take scrolling into account.
 
         * khtml/rendering/render_text.cpp:
         (RenderText::positionForCoordinates): Adjust for containing block scroll
         
2005-12-14  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin, committed by Adele.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=4362
        Add mac-cyrillic to the list of encodings

        * kwq/mac-encodings.txt: Added maccyrillic

2005-12-13  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5465
        REGRESSION: check box onchange event doesn't fire (radio buttons do not get disabled in Bugzilla)

        Test: fast/forms/checkbox-radio-onchange.html

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLInputElementImpl::setChecked): call onChange after setting the checked state.  
        This will match our old behavior, and Firefox behavior.  
        This will also fire onChange for radio buttons which matches Firefox behavior.

2005-12-13  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt and Darin.

	Fix for <rdar://problem/4335884> REGRESSION: assertion failure 
	after adding DOM element (render_container.cpp:365: beforeChild->
	parent() == this).

	When adding a child, tables should send the next to last box
	instead of the last box as beforeChild because that is what
	RenderContainer::insertChildNode() expects. RenderContainer
	::insertChildNode() will not recurse to the correct box for
	tables because tables won't pass the isAnonymousBlock() check,
	so tables must send the correct information to start with.

        * khtml/rendering/render_table.cpp:
        (RenderTable::addChild): Keep track of the nextToLastBox and
	send that one to the other addChild() functions instead of the
	lastBox.

=== Safari-521~5 ===

2005-12-13  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Dave Hyatt.

        Test: fast/dom/css-shortHands.html

        First cut at leaving off implicit values in shorthand properties.
        Need to account for multipl backgrounds and "border" later.

        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSMutableStyleDeclarationImpl::get4Values):
        (DOM::CSSMutableStyleDeclarationImpl::getShortHandValue):

2005-12-13  Anders Carlsson  <andersca@mac.com>

        * ChangeLog: Add titles to the recent bugzilla bugs.

2005-12-13  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin.

        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::indexGetter):
        (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
        (KJS::DOMStyleSheetList::indexGetter):
        (KJS::DOMStyleSheetList::nameGetter):
        (KJS::DOMMediaList::indexGetter):
        (KJS::DOMCSSRuleList::indexGetter):
        (KJS::DOMCSSValueList::indexGetter):
        * khtml/ecma/kjs_css.h:
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeList::indexGetter):
        (KJS::DOMNodeList::nameGetter):
        (KJS::DOMElement::attributeGetter):
        (KJS::DOMNamedNodeMap::lengthGetter):
        (KJS::DOMNamedNodeMap::indexGetter):
        (KJS::DOMNamedNodeMap::nameGetter):
        (KJS::DOMNamedNodesCollection::lengthGetter):
        (KJS::DOMNamedNodesCollection::indexGetter):
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::namedItemGetter):
        (KJS::HTMLElement::formIndexGetter):
        (KJS::HTMLElement::formNameGetter):
        (KJS::HTMLElement::selectIndexGetter):
        (KJS::HTMLElement::framesetNameGetter):
        (KJS::HTMLElement::frameWindowPropertyGetter):
        (KJS::HTMLElement::runtimeObjectGetter):
        (KJS::HTMLElement::runtimeObjectPropertyGetter):
        (KJS::HTMLCollection::lengthGetter):
        (KJS::HTMLCollection::indexGetter):
        (KJS::HTMLCollection::nameGetter):
        (KJS::HTMLSelectCollection::selectedIndexGetter):
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Plugins::indexGetter):
        (KJS::Plugins::nameGetter):
        (KJS::MimeTypes::indexGetter):
        (KJS::MimeTypes::nameGetter):
        (KJS::Plugin::indexGetter):
        (KJS::Plugin::nameGetter):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::childFrameGetter):
        (KJS::Window::namedFrameGetter):
        (KJS::Window::indexGetter):
        (KJS::Window::namedItemGetter):
        (KJS::FrameArray::indexGetter):
        (KJS::FrameArray::nameGetter):
        * khtml/ecma/kjs_window.h:
        Update for changes to PropertySlot::GetValueFunc.

2005-12-13  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Fix crash on malformed transform attributes and transforms with
        trailing spaces:
        http://bugs.webkit.org/show_bug.cgi?id=6061

        * ksvg2/svg/SVGTransformableImpl.cpp:
        (SVGTransformableImpl::parseTransformAttribute):

2005-12-13  Maciej Stachowiak  <mjs@apple.com>

        - build fix for last-minute part of previous change

        * khtml/ecma/kjs_binding.cpp:

2005-12-13  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

        - updated for new HashCountedSet class

        * ForwardingHeaders/kxmlcore/HashCountedSet.h: Added forwarding header.
        * khtml/ecma/kjs_binding.cpp: Moved #define to disable pointer specialization higher
	in the file.

2005-12-12  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <rdar://problem/4040763> VisiblePosition constructor can return a result outside of the original 

        This bug was filed as a reminder to remove the workaround for 
        <rdar://problem/4033202>.  We fixed the problems with 
        VisiblePosition causing 4033202, so I removed the workaround 
        and added a layout test.

        * khtml/editing/visible_units.cpp:
        (khtml::previousLinePosition):

2005-12-12  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

	<rdar://problem/4027704> Paste of HTML list content can break list structure by dropping empty list items

	Fixed by having ReplaceSelectionCommand remove empty nodes just
	from the ancestors of the node(s) moved by mergeStart, rather
	than scanning the whole fragment.
	
	Layout tests added:
	    editing/pasteboard/paste-table-001.html
	    editing/pasteboard/paste-list-001.html
	    
        * khtml/editing/replace_selection_command.cpp:
        (khtml::ReplaceSelectionCommand::isProbablyTableStructureNode):
        (khtml::ReplaceSelectionCommand::pruneEmptyNodes):
	Removed no longer needed functions.
	
        (khtml::ReplaceSelectionCommand::doApply):
	Remove ancestor nodes emptied by mergeStart.
	Do that instead of calling pruneEmptyNodes().
	
        * khtml/editing/replace_selection_command.h:
        (khtml::ReplacementFragment::desiredStyles):
	Removed pruneEmptyNodes().

2005-12-12  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Dave Hyatt.

        Test: fast/dom/css-selectorText.html

        Fixes selecotrText serialization to only print "*"
        when it is stand alone. Fixes the attribute set selector,
        along with general cleanup. Also print chained selectors.

        * khtml/css/css_base.cpp:
        (CSSSelector::extractPseudoType):
        (CSSSelector::selectorText):
        * khtml/css/css_ruleimpl.cpp:
        (DOM::CSSStyleRuleImpl::selectorText):

2005-12-12  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren.

        Test: fast/forms/textarea-setinnerhtml.html

        Fixes setInnerHTML for <textarea>
        <rdar://problem/4372143>

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLTextAreaElementImpl::setValue):

2005-12-12  Adele Peterson  <adele@apple.com>

        Reviewed by Dave Harrison.

        - fixed <rdar://problem/4374673> Regression: Safari fails to scroll to top of page if (name="top") attribute is not present

        When there's no node corresponding to the anchor (the name is empty or "top"), we still want to scroll to the top of the document.  This got left out in the conversion to the new scrolling code.

        * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):

2005-12-12  Rob Buis  <rwlbuis@xs4all.nl>

        Reviewed by eseidel.  Committed by eseidel.

        Test: svg/custom/control-points-for-S-and-T.svg

        "S" and "T" path types handle control points incorrectly
        http://bugs.webkit.org/show_bug.cgi?id=6042

        * ksvg2/svg/svgpathparser.cpp:
        (SVGPathParser::parseSVG):

2005-12-12  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        No test cases needed, no functionality change.
        Corrected spacing, and conformance with style guidelines.
        http://bugs.webkit.org/show_bug.cgi?id=6039

        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasFilters.h:
        (KCanvasFEComponentTransfer::setRedFunction):
        (KCanvasFEComponentTransfer::setGreenFunction):
        (KCanvasFEComponentTransfer::setBlueFunction):
        (KCanvasFEComponentTransfer::setAlphaFunction):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (ciVector):
        (KCanvasFilterQuartz::prepareFilter):
        (KCanvasFilterQuartz::applyFilter):
        (KCanvasFilterQuartz::filterBBoxForItemBBox):
        (KCanvasFilterQuartz::getCIFilterStack):
        (KCanvasFilterQuartz::imageForName):
        (KCanvasFilterQuartz::setImageForName):
        (KCanvasFilterQuartz::setOutputImage):
        (alphaImageForImage):
        (KCanvasFilterQuartz::inputImage):
        (KCanvasFEBlendQuartz::getCIFilter):
        (KCanvasFEColorMatrixQuartz::getCIFilter):
        (KCanvasFECompositeQuartz::getCIFilter):
        (getPointLightVectors):
        (getLightVectors):
        (getNormalMap):
        (KCanvasFEDiffuseLightingQuartz::getCIFilter):
        (KCanvasFEFloodQuartz::getCIFilter):
        (KCanvasFEGaussianBlurQuartz::getCIFilter):
        (KCanvasFEMergeQuartz::getCIFilter):
        (KCanvasFEOffsetQuartz::getCIFilter):
        (KCanvasFESpecularLightingQuartz::getCIFilter):
        (KCanvasFETileQuartz::getCIFilter):

2005-12-11  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5538
          XSLT crashes with multi-word internal entity declarations

        Added the crashing specimen as a layout test.

        * khtml/xsl/xsl_stylesheetimpl.cpp: (DOM::XSLStyleSheetImpl::loadChildSheets):
        Check that the node is an element node before calling IS_XSLT_ELEM.

2005-12-11  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin & mjs.

        Fixes SVG to load external scripts and report parse errors.
        http://bugs.webkit.org/show_bug.cgi?id=5875

        Added 7 layout tests to exercise parse error code.

        * khtml/xml/xml_tokenizer.cpp:
        (khtml::createXHTMLParserErrorHeader):
        (khtml::XMLTokenizer::insertErrorMessageBlock):
        (khtml::XMLTokenizer::executeScripts):
        * ksvg2/svg/SVGStyledElementImpl.h: removed broken code
        * ksvg2/svg/SVGStyledElementImpl.cpp: removed broken attach()

2005-12-11  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Small fixes made during SVG code review.
        http://bugs.webkit.org/show_bug.cgi?id=5999

        One test case added for conditional processing directives
        used outside of switch statements.

        * WebCore+SVG/DrawDocument.mm:
        (-[DrawView description]):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFEGaussianBlurQuartz::getCIFilter):
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        * khtml/css/cssparser.h:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::loadDefaultStyle):
        (khtml::CSSStyleSelector::applyProperty):
        * khtml/css/cssstyleselector.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::retrieveWindow):
        (KJS::Window::retrieveActive):
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::isImageType):
        * khtml/khtml_part.h:
        * khtml/rendering/DataRef.h:
        (khtml::DataRef::operator == ):
        (khtml::DataRef::operator != ):
        * khtml/rendering/render_canvas.cpp:
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::localTransform):
        * khtml/rendering/render_style.cpp:
        (RenderStyle::diff):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::createElementNS):
        (DocumentImpl::createEvent):
        * khtml/xml/dom_elementimpl.cpp:
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_textimpl.cpp:
        (TextImpl::rendererIsNeeded):
        * ksvg2/css/KSVGCSSParser.cpp:
        (DOM::CSSParser::parseSVGValue):
        * ksvg2/css/svg.css:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        * ksvg2/svg/SVGElementImpl.cpp:
        (SVGElementImpl::childShouldCreateRenderer):
        * ksvg2/svg/SVGElementImpl.h:
        (KSVG::SVGElementImpl::isValid):

2005-12-10  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed, build fix.

	- fix SVG build for recent QTimer changes.

        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (KSVG::SVGTimer::SVGTimer):

2005-12-10  Darin Adler  <darin@apple.com>

        Rubber stamped by Maciej.

        - updated for KJS class renaming

        * many files and functions

2005-12-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin and Eric.

        * Makefile.am: Support --enable-svg

2005-12-10  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - eliminated the old Undefined(), Null(), Boolean(), Number(), and String()

        Code now uses jsUndefined(), jsNull(), jsBoolean(), jsNumber(), and jsString().

        * khtml/ecma/domparser.cpp:
        (KJS::DOMParserProtoFunc::callAsFunction):
        * khtml/ecma/kjs_binding.cpp:
        (KJS::jsStringOrNull):
        (KJS::setDOMException):
        * khtml/ecma/kjs_binding.h:
        (KJS::DOMFunction::toPrimitive):
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::indexGetter):
        (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
        (KJS::DOMCSSStyleDeclaration::getValueProperty):
        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
        (KJS::DOMStyleSheet::getValueProperty):
        (KJS::getDOMStyleSheet):
        (KJS::DOMStyleSheetList::getValueProperty):
        (KJS::getDOMStyleSheetList):
        (KJS::DOMStyleSheetListFunc::callAsFunction):
        (KJS::DOMMediaList::getValueProperty):
        (KJS::DOMMediaList::indexGetter):
        (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
        (KJS::DOMCSSStyleSheet::getValueProperty):
        (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
        (KJS::DOMCSSRuleList::getValueProperty):
        (KJS::DOMCSSRuleListFunc::callAsFunction):
        (KJS::DOMCSSRule::getValueProperty):
        (KJS::DOMCSSRuleFunc::callAsFunction):
        (KJS::CSSRuleConstructor::getValueProperty):
        (KJS::DOMCSSValue::getValueProperty):
        (KJS::getDOMCSSValue):
        (KJS::CSSValueConstructor::getValueProperty):
        (KJS::DOMCSSPrimitiveValue::getValueProperty):
        (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
        (KJS::CSSPrimitiveValueConstructor::getValueProperty):
        (KJS::DOMCSSValueList::getValueProperty):
        (KJS::DOMCSSValueListFunc::callAsFunction):
        (KJS::DOMCounter::getValueProperty):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::toPrimitive):
        (KJS::DOMNode::getListener):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::DOMNodeList::toPrimitive):
        (KJS::DOMNodeList::getValueProperty):
        (KJS::DOMNodeList::callAsFunction):
        (KJS::DOMAttr::getValueProperty):
        (KJS::DOMDocument::getValueProperty):
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        (KJS::DOMElement::getValueProperty):
        (KJS::DOMElement::attributeGetter):
        (KJS::DOMElementProtoFunc::callAsFunction):
        (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
        (KJS::DOMDocumentType::getValueProperty):
        (KJS::DOMNamedNodeMap::lengthGetter):
        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        (KJS::DOMProcessingInstruction::getValueProperty):
        (KJS::DOMNotation::getValueProperty):
        (KJS::DOMEntity::getValueProperty):
        (KJS::getDOMNode):
        (KJS::NodeConstructor::getValueProperty):
        (KJS::DOMExceptionConstructor::getValueProperty):
        (KJS::DOMNamedNodesCollection::lengthGetter):
        (KJS::DOMCharacterData::getValueProperty):
        (KJS::DOMCharacterDataProtoFunc::callAsFunction):
        (KJS::DOMTextProtoFunc::callAsFunction):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSLazyEventListener::parseCode):
        (KJS::EventConstructor::getValueProperty):
        (KJS::DOMEvent::getValueProperty):
        (KJS::DOMEventProtoFunc::callAsFunction):
        (KJS::getDOMEvent):
        (KJS::EventExceptionConstructor::getValueProperty):
        (KJS::DOMUIEvent::getValueProperty):
        (KJS::DOMUIEventProtoFunc::callAsFunction):
        (KJS::DOMMouseEvent::getValueProperty):
        (KJS::DOMMouseEventProtoFunc::callAsFunction):
        (KJS::DOMKeyboardEvent::getValueProperty):
        (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
        (KJS::MutationEventConstructor::getValueProperty):
        (KJS::DOMMutationEvent::getValueProperty):
        (KJS::DOMMutationEventProtoFunc::callAsFunction):
        (KJS::DOMWheelEvent::getValueProperty):
        (KJS::DOMWheelEventProtoFunc::callAsFunction):
        (KJS::stringOrUndefined):
        (KJS::Clipboard::getValueProperty):
        (KJS::ClipboardProtoFunc::callAsFunction):
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::HTMLDocFunction::callAsFunction):
        (KJS::HTMLDocument::getValueProperty):
        (KJS::HTMLElement::framesetNameGetter):
        (KJS::HTMLElement::frameWindowPropertyGetter):
        (KJS::HTMLElement::runtimeObjectPropertyGetter):
        (KJS::KJS::HTMLElement::callAsFunction):
        (KJS::HTMLElement::htmlGetter):
        (KJS::HTMLElement::headGetter):
        (KJS::HTMLElement::linkGetter):
        (KJS::HTMLElement::titleGetter):
        (KJS::HTMLElement::metaGetter):
        (KJS::HTMLElement::baseGetter):
        (KJS::HTMLElement::isIndexGetter):
        (KJS::HTMLElement::styleGetter):
        (KJS::HTMLElement::bodyGetter):
        (KJS::HTMLElement::formGetter):
        (KJS::HTMLElement::selectGetter):
        (KJS::HTMLElement::optGroupGetter):
        (KJS::HTMLElement::optionGetter):
        (KJS::getInputSelectionStart):
        (KJS::getInputSelectionEnd):
        (KJS::HTMLElement::inputGetter):
        (KJS::HTMLElement::textAreaGetter):
        (KJS::HTMLElement::buttonGetter):
        (KJS::HTMLElement::labelGetter):
        (KJS::HTMLElement::fieldSetGetter):
        (KJS::HTMLElement::legendGetter):
        (KJS::HTMLElement::uListGetter):
        (KJS::HTMLElement::oListGetter):
        (KJS::HTMLElement::dListGetter):
        (KJS::HTMLElement::dirGetter):
        (KJS::HTMLElement::menuGetter):
        (KJS::HTMLElement::liGetter):
        (KJS::HTMLElement::divGetter):
        (KJS::HTMLElement::paragraphGetter):
        (KJS::HTMLElement::headingGetter):
        (KJS::HTMLElement::blockQuoteGetter):
        (KJS::HTMLElement::quoteGetter):
        (KJS::HTMLElement::preGetter):
        (KJS::HTMLElement::brGetter):
        (KJS::HTMLElement::baseFontGetter):
        (KJS::HTMLElement::fontGetter):
        (KJS::HTMLElement::hrGetter):
        (KJS::HTMLElement::modGetter):
        (KJS::HTMLElement::anchorGetter):
        (KJS::HTMLElement::imageGetter):
        (KJS::HTMLElement::objectGetter):
        (KJS::HTMLElement::paramGetter):
        (KJS::HTMLElement::appletGetter):
        (KJS::HTMLElement::mapGetter):
        (KJS::HTMLElement::areaGetter):
        (KJS::HTMLElement::scriptGetter):
        (KJS::HTMLElement::tableGetter):
        (KJS::HTMLElement::tableCaptionGetter):
        (KJS::HTMLElement::tableColGetter):
        (KJS::HTMLElement::tableSectionGetter):
        (KJS::HTMLElement::tableRowGetter):
        (KJS::HTMLElement::tableCellGetter):
        (KJS::HTMLElement::frameSetGetter):
        (KJS::HTMLElement::frameGetter):
        (KJS::HTMLElement::iFrameGetter):
        (KJS::HTMLElement::marqueeGetter):
        (KJS::HTMLElement::getValueProperty):
        (KJS::HTMLElementFunction::HTMLElementFunction):
        (KJS::KJS::HTMLElementFunction::callAsFunction):
        (KJS::HTMLCollection::lengthGetter):
        (KJS::KJS::HTMLCollection::callAsFunction):
        (KJS::KJS::HTMLCollection::getNamedItems):
        (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
        (KJS::HTMLSelectCollection::selectedIndexGetter):
        (KJS::HTMLSelectCollection::getOwnPropertySlot):
        (KJS::OptionConstructorImp::OptionConstructorImp):
        (KJS::Image::getValueProperty):
        (KJS::KJS::Context2DFunction::callAsFunction):
        (KJS::Context2D::getValueProperty):
        (KJS::Context2D::Context2D):
        (KJS::GradientFunction::callAsFunction):
        (KJS::Gradient::getValueProperty):
        (KJS::ImagePattern::getValueProperty):
        (KJS::getSelectHTMLCollection):
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):
        (KJS::Plugins::getValueProperty):
        (KJS::Plugins::nameGetter):
        (KJS::MimeTypes::getValueProperty):
        (KJS::MimeTypes::nameGetter):
        (KJS::Plugin::getValueProperty):
        (KJS::Plugin::nameGetter):
        (KJS::MimeType::getValueProperty):
        (KJS::PluginsFunc::callAsFunction):
        (KJS::NavigatorFunc::callAsFunction):
        * khtml/ecma/kjs_proxy.cpp:
        (TestFunctionImp::callAsFunction):
        * khtml/ecma/kjs_range.cpp:
        (KJS::DOMRange::getValueProperty):
        (KJS::DOMRangeProtoFunc::callAsFunction):
        (KJS::RangeConstructor::getValueProperty):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::DOMNodeIterator::getValueProperty):
        (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
        (KJS::NodeFilterConstructor::getValueProperty):
        (KJS::DOMNodeFilterProtoFunc::callAsFunction):
        (KJS::DOMTreeWalker::getValueProperty):
        (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Screen::getValueProperty):
        (KJS::Window::retrieve):
        (KJS::showModalDialog):
        (KJS::Window::getValueProperty):
        (KJS::Window::getListener):
        (KJS::WindowFunc::callAsFunction):
        (KJS::FrameArray::getValueProperty):
        (KJS::FrameArray::indexGetter):
        (KJS::FrameArray::nameGetter):
        (KJS::Location::getValueProperty):
        (KJS::Location::toPrimitive):
        (KJS::LocationFunc::callAsFunction):
        (KJS::Selection::getValueProperty):
        (KJS::Selection::toPrimitive):
        (KJS::SelectionFunc::callAsFunction):
        (KJS::BarInfo::getValueProperty):
        (KJS::History::getValueProperty):
        (KJS::HistoryFunc::callAsFunction):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::getValueProperty):
        (KJS::XMLHttpRequest::getAllResponseHeaders):
        (KJS::XMLHttpRequest::getResponseHeader):
        (KJS::XMLHttpRequest::getStatus):
        (KJS::XMLHttpRequest::getStatusText):
        (KJS::XMLHttpRequestProtoFunc::callAsFunction):
        * khtml/ecma/xmlserializer.cpp:
        (KJS::XMLSerializerProtoFunc::callAsFunction):
        * ksvg2/ecma/Ecma.cpp:
        (KSVG::getSVGPathSeg):
        * ksvg2/ecma/GlobalObject.cpp:
        (GlobalObject::get):
        * kwq/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame evaluateWebScript:]):

2005-12-10  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin and Tim Hatcher.

        - fix WebCore SVG build for gcc 3.3 (don't know why it has these complaints)

        * kcanvas/KCanvasFilters.h:
        (QPointF::QPointF): Add a default constructor
        (KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix): ditto
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFEBlendQuartz::getCIFilter): Move a variable declaration
	instead exception blocking
        (KCanvasFECompositeQuartz::getCIFilter): ditto
        (KCanvasFEMergeQuartz::getCIFilter): ditto

2005-12-10  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6032
          REGRESSION: Uncaught exception when image is dragged out of webpage

        * WebCore.exp: Export the new WebCoreElementImageRendererKey and remove the old
        WebCoreElementImageKey.
        * kwq/WebCoreBridge.h: Add WebCoreElementImageRendererKey, remove WebCoreElementImageKey.
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Pass the image renderer in the
        dictionary, but not the NSImage.

2005-12-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=6029
          plainText() returns a partial result when the node contains RTL text

        Test: fast/dom/inner-text-rtl.html

        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::handleTextBox): Avoid advancing m_sortedTextBoxes if textBoxEnd wasn't reached.
        * kwq/KWQListImpl.h:
        * kwq/KWQListImpl.mm:
        (KWQListImpl::getNext): Added.
        (KWQListImpl::getPrev): Added.
        * kwq/KWQPtrList.h:
        (QPtrList::getNext): Added.
        (QPtrList::getPrev): Added.

2005-12-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Hyatt, landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5826
          Blocks with direction:rtl and overflow:auto or scroll have incorrect scrollbars

        * khtml/rendering/render_block.cpp: (khtml::RenderBlock::leftmostPosition):
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::RenderLayer): Initialize
        (khtml::RenderLayer::scrollOffset):
        (khtml::RenderLayer::subtractScrollOffset):
        (khtml::RenderLayer::scrollToOffset):
        (khtml::RenderLayer::scrollRectToVisible):
        (khtml::RenderLayer::updateScrollPositionFromScrollbars):
        (khtml::RenderLayer::computeScrollDimensions):
        (khtml::RenderLayer::updateScrollInfoAfterLayout):
        * khtml/rendering/render_layer.h:
        (khtml::RenderLayer::scrollXOffset):
        (khtml::RenderLayer::scrollToYOffset):

2005-12-10  Graham Dennis  <Graham.Dennis@gmail.com>

        Reviewed by Hyatt, landed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=3983
          outline:auto improperly puts outline around contained elements, not the actual div

        * khtml/rendering/render_flow.cpp: (RenderFlow::addFocusRingRects):
        Only add the rect if this is a RenderBlock.

2005-12-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5784
          Assertion failure in DocumentImpl::removeElementById() (idCount > 0)
          Another symptom is that getElementById doesn't work when the ID is on a duplicate
          <html> or <body> element.

        Added a new layout test that checks for at least one symptom of the bug.

        * khtml/html/htmlparser.cpp: (HTMLParser::handleError): Use setAttribute here instead
        of using insertAttribute and calling recalcStyle explicitly. That's because setAttribute
        does other things that are needed to change an attribute in an attribute map that's
        already connected to an element, including updating the ID map if the attribute is
        the ID attribute.

        * khtml/xml/dom_elementimpl.h: (DOM::NamedAttrMapImpl::insertAttribute):
        Assert that this parser-only function is only used on attribute maps that aren't yet
        attached to elements.

2005-12-10  Darin Adler  <darin@apple.com>

        Reviewed by Eric and Tim Omernick.

        - speed up timers by using CFTimerRunLoopRef instead of NSTimer
          http://bugs.webkit.org/show_bug.cgi?id=5677

        * kwq/KWQObject.h: Removed pauseTimer, resumeTimers, and _addTimer, added timerIntervals and
        restartTimer. Made KWQObjectSenderScope functions be inline.
        * kwq/KWQObject.mm:
        (timerFired): Added. Function called when the CFRunLoopTimerRef fires. Puts the timer into the
        deferred timer array if timers are deferred, otherwise makes a QTimerEvent and calls timerEvent
        on the target.
        (QObject::startTimer): Moved most of the code inside restartTimer. This now just picks a new
        timer ID and calls restartTimer.
        (QObject::restartTimer): Added. Creates a KWQObjectTimer and puts it in a timers dictionary.
        That includes creating a CFRunLoopTimer and scheduling it on the current run loop.
        (QObject::timerIntervals): Added. Looks up a timer and returns the intervals for next time to
        fire and the "fire again" interval.
        (deleteTimer): Added. Invalidates and then removes a timer.
        (QObject::killTimer): Changed to use deleteTimer to do most of its work.
        (deleteOneTimer): Added. Calls deleteTimer.
        (QObject::killTimers): Changed to use deleteOneTimer to do most of its work.
        (sendDeferredTimerEvent): Added. Creates a QTimerEvent and calls timerEvent on the target.
        (sendDeferredTimerEvents): Added. Calls sendDeferredTimerEvent in a loop on all the deferred timers.
        (QObject::setDefersTimers): Updated to call sendDeferredTimerEvents as needed.

        * kwq/KWQTimer.h:
        (QTimer::QTimer): Made constructor inline and removed the optional parameter.
        (QTimer::isActive): Made inline.
        (QTimer::fireDate): Added. Inline function.
        Got rid of the NSTimer and added a CFRunLoopTimer.
        * kwq/KWQTimer.mm:
        (timerFired): Added. Calls fire on the QTimer object.
        (QTimer::start): Changed to create a CFRunLoopTimer.
        (QTimer::stop): Changed to use CFRunLoopTimer functions.
        (QTimer::fire): Ditto.

        * khtml/ecma/kjs_window.h: Added PausedTimeouts class. Moved WindowQObject class up in the
        file so it can be used inline in the implementation of the Window class, and changed to
        use the PausedTimeouts class intead of a QMap to store the paused timeouts.
        * khtml/ecma/kjs_window.cpp:
        (KJS::ScheduledAction::execute): Put a check for nil part at the start; this replaces
        a check in the caller and a check partway down this function (after the part was
        already dereferenced). Fixed message handling so the message is not converted to ascii
        and back. Added an isObject() check so we won't crash if the passed function is a value
        that's not an object. Changed check for function vs. script to check for a function
        of nil instead of using a separate boolean.
        (KJS::WindowQObject::pauseTimeouts): Updated to create the new PausedTimeouts object,
        using the new QObject::timerIntervals function rather than the old QObject::pauseTimer
        function. This means that the paused timers are entirely stored in the PausedTimeouts
        object instead of being half in a QMap and the other half inside the QObject itself.
        (KJS::WindowQObject::resumeTimeouts): Ditto, using the new QObject::restartTimer function.
        (KJS::PausedTimeouts::~PausedTimeouts): Added. Deletes the stored timeouts, including
        the scheduled actions, unless the timeouts have already been resumed (in which case the
        m_array field will be 0).

        * kwq/KWQKHTMLPart.h: Renamed pause/resumeActions to pause/resumeTimeouts and made them
        use the PausedTimeouts class and no longer take a key parameter.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::redirectionTimerStartedOrStopped): Use the new fireDate() function rathe than
        the old getNSTimer() function to get the fire date.
        (KWQKHTMLPart::pauseTimeouts): Remove the call to hasTimeouts and the key parameter.
        (KWQKHTMLPart::resumeTimeouts): Remove the key parameter.
        (KWQKHTMLPart::openURLFromPageCache): Change the timeout handling to use PausedTimeouts instead
        of a QMap for the paused timeouts.

        * kwq/KWQPageState.h: Changed to use PausedTimeouts instead of a QMap for timeouts.
        Added a pausedTimeouts parameter to the initializer and removed the setPausedActions: method.
        * kwq/KWQPageState.mm:
        (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:pausedTimeouts:]):
        Added code where it sets the pausedTimouts.
        (-[KWQPageState pausedTimeouts]): Added.
        (-[KWQPageState clear]): Added code to delete the pausedTimeouts and to deref mousePressNode.
        (-[KWQPageState invalidate]): Fixed bug where document would not be deref'd if the view was 0.
        (-[KWQPageState dealloc]): Removed code to deref mousePressNode since that's now handled in the clear method.
        (-[KWQPageState finalize]): Set document to 0 after deref for consistency.

        * kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]): Changed to pass in the
        paused timeouts using the new pauseTimeouts function.

2005-12-09  Justin Garcia  <justin.garcia@apple.com>

        <rdar://problem/4370209> Reproducible crash when pasting over whitespace:pre text
        <rdar://problem/4370220> Double or triple clicking in whitespace:pre text creates incorrect selections
        Some preparation for a fix for:
        <radar://problem/4364427> triple-click includes first item on next line (www.apple.com, but I think I've seen it elsewhere)
        
        There were a few bugs in endOfParagraph's and endOfLine's handling of IncludeLineBreak.
        The IncludeLinebreak concept also doesn't make sense: when asked to 
        IncludeLineBreak, "endOfParagraph" would return the start of the next paragraph.  
        Callers that want this funtionality should just call endOfParagraph and then get next() 
        if it exists.
        In endOfParagraph's whitespace:pre handling, when the input visible position
        was at the end of a text node with whitespace:pre, that text node was searched
        for '/n'.  It should be skipped.
        
        Reviewed by harrison

        Added new layout tests in editing/pasting and editing/selection

        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::validate):
        * khtml/editing/composite_edit_command.cpp:
        (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        * khtml/editing/visible_units.cpp:
        (khtml::endOfLine):
        (khtml::isEndOfLine):
        (khtml::endOfParagraph):
        (khtml::isEndOfParagraph):
        * khtml/editing/visible_units.h:

2005-12-09  Tim Omernick  <timo@apple.com>

        Reviewed by Darin.

	<rdar://problem/4371187> 10.4.4 Regression: Anchor tags for navigation
	within messages in HTML mail no longer working

	A kwq category on NSView used to ensure scrolling the super NSClipViews, but that is gone now.
	Implemented equivalent functionality by walking up the view hierarchy in QScrollView::setContentsPos().

        * kwq/KWQScrollView.mm:
        (QScrollView::setContentsPos):

2005-12-08  Tim Omernick  <timo@apple.com>

        Reviewed by Maciej.

	<rdar://problem/4311703> Crash in NPN_Invoke receiving contents of http://www.woodieschilidogs.com/ in Mail.app

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::windowScriptNPObject):
        The window script object can be 0 if JavaScript is disabled.  However, callers (like plugins) expect us to
        always return a window script object here.  By substituting a plain ObjectImp for the window's ObjectImp,
        we can satisfy callers' assumptions and let them try to manipulate the dummy object when JavaScript is
        disabled.

2005-12-08  David Harrison  <harrison@apple.com>

        Reviewed by Geoff.
	
	<rdar://problem/4366496> 10.4.4 Regression: "Corel Painter IX (v9.1)"
	crashed when going from the "Open a template" menu to "Select recent
	Document" in the "Welcome to Corel XI!" window.
	
	These are the parts of that bug fix that were not already fixed in TOT.

        * kwq/KWQComboBox.mm:
        (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
	Retain the event because it is the [NSApp currentEvent], which can
	change and therefore be released during [super trackMouse:...]
	
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::sendFakeEventsAfterWidgetTracking):
	Allow for the event not being leftmousedown or keydown

2005-12-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by eseidel.  Committed by eseidel.
        
        No test possible since this fixes random behavior.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=5997
        REGRESSION: Focus rings around links are not erased when focus is lost

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::NodeImpl): Initialize m_inDetach to false.

2005-12-08  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        No applet test (mjs says DRT has kittens in that case)
        SVG is covered by <use> test cases (5 tests).

        Fixes <applet> in xhtml, as well as <use> in SVG.
        http://bugs.webkit.org/show_bug.cgi?id=5987

        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::endElementNs): call closeRenderer()

2005-12-08  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5686
          make Shared::deref faster by eliminating multiple branches

        * khtml/misc/shared.h: Rewrote both Shared and TreeShared to be functionally
        the same, but used signed reference counts and remove the extra
        check inside deref that handles the case of extra derefs (a programming
        mistake in any case). This elimnates a branch from a hot code path.
        Also added license header. New versions have private data members, unlike
        the old ones that used protected.

        * khtml/rendering/render_replaced.h: Removed private inheritance from
        Shared, and instead just declared a variable that holds a reference count,
        because that's the only thing that was being used from Shared.
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::RenderWidget): Initialized m_refCount.
        (RenderWidget::~RenderWidget): Use m_refCount.
        (RenderWidget::eventFilter): Ditto.
        (RenderWidget::deref): Use m_refCount and the new faster idiom (although here
        it's not important becaue the function isn't even inlined).

2005-12-08  Eric Seidel  <eseidel@apple.com>

        No review needed, build fix only.

        * ksvg2/css/KSVGCSSParser.cpp:
        (DOM::CSSParser::parseSVGValue): parseShorthand rename
        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: missing header
        * ksvg2/svg/SVGFELightElementImpl.cpp: missing header
        * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: missing header

2005-12-08  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5689
          add support for CSS "custom cursors" (cursor images)

        * khtml/css/css_computedstyle.cpp:
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Added code to the
        CSS_PROP_CURSOR case to handle cursor images.
        * khtml/css/cssparser.cpp: (CSSParser::parseValue): Allow and parse a URL for the
        cursor for the image case.
        * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Do
        the appropriate inherit and initial for CSS_PROP_CURSOR, and allow either an
        identifier or a URL for the value.
        * khtml/html/html_inlineimpl.cpp: (DOM::HTMLAnchorElementImpl::defaultEventHandler):
        Removed inappropriate call to resetCursor. We don't change the cursor shape just
        because we're following a link.
        * khtml/khtmlview.cpp:
        (selectCursor): Added. New function that chooses the appropriate cursor.
        Includes new logic to handle image cursors.
        (KHTMLView::viewportMouseMoveEvent): Refactored to use selectCursor to choose
        the appropriate cursor.
        * kwq/KWQClipboard.mm: (KWQClipboard::dragNSImage): Call the function to get an
        image renderer by its new name, imageRenderer().
        * kwq/KWQCursor.mm:
        (createCustomCursor): Added.
        (QCursor::QCursor): Changed constructor that takes a QPixmap to call createCustomCursor.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::khtmlMouseMoveEvent): Replaced a call to resetCursor with a call to
        setCursor(QCursor()).
        (KWQKHTMLPart::fileWrapperForElement): Fixed code that assumed the render object is always
        a RenderImage. Call TIFFRepresentation on the image renderer instead of incorrectly assuming
        it's always an NSImage.
        * kwq/KWQPainter.mm:
        (QPainter::drawFloatPixmap): Call imageRenderer function instead of getting right at the
        data member.
        (QPainter::drawTiledPixmap): Ditto.
        (QPainter::drawScaledAndTiledPixmap): Ditto.
        * kwq/KWQPixmap.h: Removed convertToImage(), renamed image() to imageRenderer().
        * kwq/KWQPixmap.mm: Similar name changes.
        * kwq/KWQWidget.mm: (QWidget::setCursor): To workaround extra work done by AppKit when you set
        the cursor to the same one, check if the cursor is already set before calling setDocumentCursor.
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Call the image method on the image
        renderer instead of incorrectly assuming the renderer itself is an image.

        * kwq/WebCoreImageRenderer.h: Added a TIFFRepresentation method to this protocol.

2005-12-07  David Hyatt  <hyatt@apple.com>

	Fix for Radar bug #4333923, typing tab character into empty
	document in Mail doesn't work.  This was just a silly regression
	from my pre-wrap/pre-line implementation.  I accidentally changed
	code to examine the wrong style().
	
        Reviewed by harrison

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::findNextLineBreak):

2005-12-07  David Hyatt  <hyatt@apple.com>

	Fix the DHTML menus on monster.com.  offsetParent should only return RenderObjects that
	have corresponding DOM elements.
	
        Reviewed by Eric Seidel

        * khtml/rendering/render_object.cpp:
        (RenderObject::offsetParent):

2005-12-07  Eric Seidel  <eseidel@apple.com>

        No review needed, removing dead (svg only) files.

        Removing unused files.

        * kcanvas/KCanvasRegistry.cpp: Removed.
        * kcanvas/KCanvasRegistry.h: Removed.

2005-12-05  David Hyatt  <hyatt@apple.com>

	Add support for more methods for exposing more useful style information.

	getMatchedCSSRules can be used to obtain the matched sheet rules for an element.  In Obj-C
	it will also include user/user agent sheet rules.

	Also add support for tracking the original shorthand in which a property was declared, as well
	as whether the property was just implicitly set rather than explicitly mentioned (e.g., if it was
	an omitted piece of a shorthand).  The new methods on CSSStyleDeclaration are getPropertyShorthand
	and isPropertyImplicit.
	
        Reviewed by mjs

        Test: fast/inspector/style.html

        * khtml/css/css_computedstyle.h:
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyShorthand):
        (DOM::CSSComputedStyleDeclarationImpl::isPropertyImplicit):
        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSStyleDeclarationImpl::getPropertyShorthand):
        (DOM::CSSStyleDeclarationImpl::isPropertyImplicit):
        (DOM::CSSMutableStyleDeclarationImpl::getPropertyPriority):
        (DOM::CSSMutableStyleDeclarationImpl::getPropertyShorthand):
        (DOM::CSSMutableStyleDeclarationImpl::isPropertyImplicit):
        (DOM::CSSProperty::cssText):
        (DOM::operator==):
        * khtml/css/css_valueimpl.h:
        (DOM::CSSProperty::CSSProperty):
        (DOM::CSSProperty::operator=):
        (DOM::CSSProperty::~CSSProperty):
        (DOM::CSSProperty::setValue):
        (DOM::CSSProperty::shorthandID):
        (DOM::CSSProperty::isImportant):
        (DOM::CSSProperty::isImplicit):
        * khtml/css/cssparser.cpp:
        (CSSParser::CSSParser):
        (CSSParser::addProperty):
        (CSSParser::parseValue):
        (CSSParser::parseBackgroundShorthand):
        (CSSParser::parseShorthand):
        (CSSParser::parse4Values):
        (CSSParser::parseBackgroundPosition):
        (CSSParser::parseBackgroundProperty):
        * khtml/css/cssparser.h:
        (DOM::CSSParser::enterShorthand):
        (DOM::CSSParser::exitShorthand):
        (DOM::CSSParser::inShorthand):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::CSSStyleSelector):
        (khtml::CSSStyleSelector::matchRules):
        (khtml::CSSStyleSelector::matchRulesForList):
        (khtml::CSSStyleSelector::initForStyleResolve):
        (khtml::CSSStyleSelector::styleRulesForElement):
        (khtml::CSSStyleSelector::pseudoStyleRulesForElement):
        * khtml/css/cssstyleselector.h:
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
        * khtml/ecma/kjs_css.h:
        (KJS::DOMCSSStyleDeclaration::):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        * khtml/ecma/kjs_views.h:
        (KJS::DOMAbstractView::):
        * khtml/xml/dom2_viewsimpl.cpp:
        (DOM::AbstractViewImpl::getComputedStyle):
        (DOM::AbstractViewImpl::getMatchedCSSRules):
        * khtml/xml/dom2_viewsimpl.h:
        * kwq/DOM-CSS.mm:
        (-[DOMCSSStyleDeclaration getPropertyShorthand:]):
        (-[DOMCSSStyleDeclaration isPropertyImplicit:]):
        (-[DOMDocument getMatchedCSSRules::]):
        * kwq/DOMPrivate.h:

2005-12-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	- add PassRefPtr, a smart pointer class that works in conjunction
	with RefPtr but has transfer-of-ownership semantics
	- apply RefPtr and PassRefPtr to UString

        * khtml/ecma/kjs_binding.cpp:
        (KJS::UString::UString):

2005-12-05  Justin Garcia  <justin.garcia@apple.com>

        <http://bugs.webkit.org/show_bug.cgi?id=5936>
        REGRESSION: selection keeps growing after double-click
        Also filed as <rdar://problem/4364425>

        Reviewed by darin, harrison
        
        Rolled back previous change, simplified expansion, fixed 
        adjustForEditableContent to work in cases where start/end are 
        distinct from base/extent, renamed m_baseIsStart to m_baseIsFirst.
        
        Added two new layout tests in editing/selection to test
        modifying selections created with double and triple clicks.

        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::SelectionController):
        (khtml::SelectionController::init):
        (khtml::SelectionController::operator=):
        (khtml::SelectionController::expandUsingGranularity):
        (khtml::SelectionController::adjustForEditableContent):
        (khtml::SelectionController::validate):
        * khtml/editing/SelectionController.h:
        * khtml/khtml_part.cpp:
        (KHTMLPart::handleMouseMoveEventSelection):
        (KHTMLPart::khtmlMouseMoveEvent):

2005-12-05  Eric Seidel  <eseidel@apple.com>

        Rubber-stamped by mjs.

        * WebCore.xcodeproj/project.pbxproj: updated paths for SVG move.

2005-12-05  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        No test cases possible/necessary.

        Removing unused ForwardingHeaders, as well as header cleanup in SVG
        Fixed KSVG2 files to include proper KDOM headers.
        Fixed KDOM forwarding headers to point to correct khtml headers.
        Added DataRef.h to hold khtml::DataRef.
        Made SVGRenderStyle a DataRef on RenderStyle.
        (Landing two bugs at once as their project file changes intertwine)

        http://bugs.webkit.org/show_bug.cgi?id=5942
        http://bugs.webkit.org/show_bug.cgi?id=5943

        * ForwardingHeaders/kdom/DOMString.h:
        * ForwardingHeaders/kdom/KDOMSettings.h:
        * ForwardingHeaders/kdom/cache/KDOMCachedDocument.h:
        * ForwardingHeaders/kdom/cache/KDOMCachedImage.h:
        * ForwardingHeaders/kdom/cache/KDOMCachedObject.h:
        * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h:
        * ForwardingHeaders/kdom/cache/KDOMCachedScript.h:
        * ForwardingHeaders/kdom/cache/KDOMLoader.h:
        * ForwardingHeaders/kdom/core/AttrImpl.h:
        * ForwardingHeaders/kdom/core/CDFInterface.h: Removed.
        * ForwardingHeaders/kdom/core/DOMImplementationImpl.h:
        * ForwardingHeaders/kdom/core/DOMStringImpl.h:
        * ForwardingHeaders/kdom/core/DocumentImpl.h:
        * ForwardingHeaders/kdom/core/ElementImpl.h:
        * ForwardingHeaders/kdom/core/NodeImpl.h:
        * ForwardingHeaders/kdom/core/XMLElementImpl.h:
        * ForwardingHeaders/kdom/css/CSSPrimitiveValueImpl.h:
        * ForwardingHeaders/kdom/css/CSSStyleRuleImpl.h:
        * ForwardingHeaders/kdom/css/CSSStyleSelector.h:
        * ForwardingHeaders/kdom/css/CSSStyleSheetImpl.h:
        * ForwardingHeaders/kdom/css/CSSValueImpl.h:
        * ForwardingHeaders/kdom/css/KDOMCSSParser.h:
        * ForwardingHeaders/kdom/css/RGBColorImpl.h:
        * ForwardingHeaders/kdom/events/UIEventImpl.h:
        * ForwardingHeaders/kdom/events/kdomevents.h:
        * ForwardingHeaders/kdom/kdom.h:
        * ForwardingHeaders/ksvg2/KSVGPart.h:
        * ForwardingHeaders/ksvg2/KSVGView.h:
        * WebCore+SVG/KDOMHeaders.h:
        * WebCore+SVG/KDOMStubClasses.h: Removed.
        * WebCore+SVG/kdomcss.h: Removed.
        * WebCore+SVG/kdomls.h: Removed.
        * WebCore+SVG/kdomrange.h: Removed.
        * WebCore+SVG/kdomtraversal.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasTreeDebug.cpp:
        (writeStyle):
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (KCanvasItemQuartz::drawMarkersIfNeeded):
        * khtml/rendering/DataRef.h: Added.
        (khtml::DataRef::DataRef):
        (khtml::DataRef::~DataRef):
        (khtml::DataRef::operator->):
        (khtml::DataRef::get):
        (khtml::DataRef::access):
        (khtml::DataRef::init):
        (khtml::DataRef::operator=):
        (khtml::DataRef::operator == ):
        (khtml::DataRef::operator != ):
        * khtml/rendering/render_style.cpp:
        (m_affectedByAttributeSelectors):
        (RenderStyle::RenderStyle):
        (RenderStyle::inheritFrom):
        (RenderStyle::~RenderStyle):
        (RenderStyle::operator==):
        (RenderStyle::inheritedNotEqual):
        (RenderStyle::diff):
        * khtml/rendering/render_style.h:
        (khtml::RenderStyle::svgStyle):
        (khtml::RenderStyle::accessSVGStyle):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (KDOM::CSSStyleSelector::applySVGProperty):
        * ksvg2/css/SVGRenderStyle.cpp:
        (SVGRenderStyle::SVGRenderStyle):
        (SVGRenderStyle::inheritedNotEqual):
        * ksvg2/css/SVGRenderStyle.h:
        (KSVG::SVGRenderStyle::operator!=):
        * ksvg2/css/SVGRenderStyleDefs.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/SVGAElementImpl.cpp:
        (SVGAElementImpl::defaultEventHandler):
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        * ksvg2/svg/SVGCursorElementImpl.cpp:
        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
        * ksvg2/svg/SVGDOMImplementationImpl.h:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGElementImpl.h:
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        (SVGFEFloodElementImpl::filterEffect):
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        * ksvg2/svg/SVGStyleElementImpl.cpp:
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        * ksvg2/svg/SVGURIReferenceImpl.h:
        * ksvg2/svg/SVGZoomAndPanImpl.h:

2005-12-05  Eric Seidel  <eseidel@apple.com>

        Reviewed by timo.

        5 test cases updated, no additional tests needed.

        Removed KCPathData, KCPathDataList and KCanvasUserData.
        Added KCanvasPath and KCanvasPathQuartz instead.
        Updated methods to expect KCanvasPath* types and use RefPtr.
        Removed no longer needed KCPathDataList -> KCanvasUserData routines
        http://bugs.webkit.org/show_bug.cgi?id=5747

        * WebCore.xcodeproj/project.pbxproj: added KCanvasPath(Quartz)
        * kcanvas/KCanvasCreator.cpp:
        (KCanvasCreator::createRoundedRectangle): updated to KCanvasPath*
        (KCanvasCreator::createRectangle): updated to KCanvasPath*
        (KCanvasCreator::createEllipse): updated to KCanvasPath*
        (KCanvasCreator::createCircle): updated to KCanvasPath*
        (KCanvasCreator::createLine): updated to KCanvasPath*
        * kcanvas/KCanvasCreator.h:
        * kcanvas/KCanvasItem.cpp:
        (RenderPath::Private::Private): updated to KCanvasPath*
        (RenderPath::~RenderPath):
        (RenderPath::changePath):
        (RenderPath::path): updated to KCanvasPath*
        * kcanvas/KCanvasItem.h:
        * kcanvas/KCanvasMatrix.cpp:
        * kcanvas/KCanvasMatrix.h:
        * kcanvas/KCanvasPath.cpp:
        (operator<<): updated to call device->stringForPath()
        * kcanvas/KCanvasPath.h:
        (KCanvasPath::~KCanvasPath):
        (KCClipDataList::addPath): updated to KCanvasPath*
        * kcanvas/KCanvasResources.cpp:
        (KCanvasClipper::addClipData): updated to KCanvasPath*
        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasTypes.h:
        * kcanvas/device/KRenderingDevice.cpp:
        (KCanvasCommonArgs::path): updated to KCanvasPath*
        (KCanvasCommonArgs::setPath): updated to KCanvasPath*
        (KRenderingDevice::KRenderingDevice):
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (KCanvasItemQuartz::paint): updated to KCanvasPath*
        (KCanvasItemQuartz::bboxForPath): updated to KCanvasPath*
        (KCanvasItemQuartz::hitsPath): updated to KCanvasPath*
        * kcanvas/device/quartz/KCanvasPathQuartz.h: Added.
        (KCanvasPathQuartz::cgPath): updated to KCanvasPath*
        * kcanvas/device/quartz/KCanvasPathQuartz.mm: Added.
        (KCanvasPathQuartz::KCanvasPathQuartz): added
        (KCanvasPathQuartz::~KCanvasPathQuartz): added
        (KCanvasPathQuartz::isEmpty): added
        (KCanvasPathQuartz::moveTo): added
        (KCanvasPathQuartz::lineTo): added
        (KCanvasPathQuartz::curveTo): added
        (KCanvasPathQuartz::closeSubpath): added
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (KCanvasClipperQuartz::applyClip): updated to KCanvasPath*
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (KRenderingDeviceQuartz::createPath): added
        (KRenderingDeviceQuartz::stringForPath): updated to KCanvasPath*
        (KRenderingDeviceQuartz::createItem): updated to KCanvasPath*
        * kcanvas/device/quartz/QuartzSupport.h:
        * kcanvas/device/quartz/QuartzSupport.mm:
        * ksvg2/svg/SVGCircleElementImpl.cpp:
        (SVGCircleElementImpl::toPathData): updated to KCanvasPath*
        * ksvg2/svg/SVGCircleElementImpl.h:
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        (SVGClipPathElementImpl::canvasResource): updated to KCanvasPath*
        * ksvg2/svg/SVGEllipseElementImpl.cpp:
        (KSVG::SVGEllipseElementImpl::toPathData): updated to KCanvasPath*
        * ksvg2/svg/SVGEllipseElementImpl.h:
        * ksvg2/svg/SVGImageElementImpl.cpp:
        (SVGImageElementImpl::createRenderer): updated to KCanvasPath*
        * ksvg2/svg/SVGLineElementImpl.cpp:
        (SVGLineElementImpl::toPathData): updated to KCanvasPath*
        * ksvg2/svg/SVGLineElementImpl.h:
        * ksvg2/svg/SVGPathElementImpl.cpp:
        (KSVG::SVGPathElementImpl::toPathData): updated to KCanvasPath*
        * ksvg2/svg/SVGPathElementImpl.h:
        * ksvg2/svg/SVGPolygonElementImpl.cpp:
        (SVGPolygonElementImpl::toPathData): updated to KCanvasPath*
        * ksvg2/svg/SVGPolygonElementImpl.h:
        * ksvg2/svg/SVGPolylineElementImpl.cpp:
        (SVGPolylineElementImpl::toPathData): updated to KCanvasPath*
        * ksvg2/svg/SVGPolylineElementImpl.h:
        * ksvg2/svg/SVGRectElementImpl.cpp:
        (SVGRectElementImpl::toPathData): updated to KCanvasPath*
        * ksvg2/svg/SVGRectElementImpl.h:
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::createRenderer): updated to KCanvasPath*
        (SVGStyledElementImpl::updateCanvasItem): updated to KCanvasPath*
        (SVGStyledElementImpl::pushAttributeContext):
        * ksvg2/svg/SVGStyledElementImpl.h:
        (KSVG::SVGStyledElementImpl::toPathData): updated to KCanvasPath*

2005-12-05  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed <rdar://problem/4364374> Denver Regression: ModBlog.com user menus don't stay visible due to extra mouseout events (5668)
          http://bugs.webkit.org/show_bug.cgi?id=5668

        * khtml/khtmlview.cpp: (KHTMLView::dispatchMouseEvent): Do the same "skip text node"
        logic for the "oldUnder" variable as for the "targetNode" variable.

2005-12-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.

        Fixed a problem from the patch to fix <rdar://problem/4365690>. After that checkin, KWQKHTMLPart was
        inadvertently left with both centerSelectionInVisibleArea() and centerSelectionInVisibleArea() const.

        * kwq/KWQKHTMLPart.h:
        renamed centerSelectionInVisibleArea() to revealSelection(). This is the method that
        was named jumpToSelection() before my recent checkin.
        
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        call revealSelection() rather than centerSelectionInVisibleArea(); this restores the
        behavior from before my recent checkin.
        (KWQKHTMLPart::revealSelection):
        renamed from centerSelectionInVisibleArea()
        (KWQKHTMLPart::advanceToNextMisspelling):
        call revealSelection() rather than centerSelectionInVisibleArea(); this restores the
        behavior from before my recent checkin.

        * kwq/WebCoreBridge.h:
        removed one of the two declarations of centerSelectionInVisibleArea()

2005-12-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.
        
        Removed some dead code I happened to stumble across. No test cases added.

        * kwq/KWQTimer.h:
        removed unused immediateSingleShotOnMainThread()
        * kwq/KWQTimer.mm:
        removed unused immediateSingleShotOnMainThread() and the class KWQMainThreadPerformTarget
        that was used to implement it.

2005-12-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.

        - WebCore part of fix for 
        <rdar://problem/4365690> Find > Jump to Selection does nothing on plain-text documents (inc. source HTML)
        
        No behavioral changes here. This patch just eliminates the name "jumpToSelection" in favor of
        "centerSelectionInVisibleArea" to match WebKit and AppKit.

        * kwq/KWQKHTMLPart.h:
        eliminate jumpToSelection(); add centerSelectionInVisibleArea()

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        use centerSelectionInVisibleArea() instead of jumpToSelection()
        (KWQKHTMLPart::centerSelectionInVisibleArea):
        renamed from jumpToSelection
        (KWQKHTMLPart::advanceToNextMisspelling):
        use centerSelectionInVisibleArea() instead of jumpToSelection()

        * kwq/WebCoreBridge.h:
        eliminate jumpToSelection; add centerSelectionInVisibleArea
        * kwq/WebCoreBridge.mm:
        eliminate jumpToSelection. We had been implementing both jumpToSelection and
        centerSelectionInVisibleArea here, but jumpToSelection now has no more callers.

2005-12-05  Vicki Murley  <vicki@apple.com>

        Reviewed by John.
 
	- fix <rdar://problem/4363132> Regression: status bar shows wrong text when mousing over links 
	in wacky frameset at directory.apple.com

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]): reuse point to work with nested frames; add the overflow clip to 
	accommodate any scrolling

2005-12-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren.

        No additional test cases needed (or possible).

        Further dom/* cleanup, also removing extra forwarding headers
        http://bugs.webkit.org/show_bug.cgi?id=5930

        * ForwardingHeaders/dom/dom2_views.h: Removed.
        * ForwardingHeaders/dom/dom_core.h: Removed.
        * ForwardingHeaders/dom/dom_doc.h: Removed.
        * ForwardingHeaders/dom/dom_element.h: Removed.
        * ForwardingHeaders/dom/dom_misc.h: Removed.
        * ForwardingHeaders/dom/dom_text.h: Removed.
        * ForwardingHeaders/dom/dom_xml.h: Removed.
        * ForwardingHeaders/dom/html_base.h: Removed.
        * ForwardingHeaders/dom/html_block.h: Removed.
        * ForwardingHeaders/dom/html_document.h: Removed.
        * ForwardingHeaders/dom/html_element.h: Removed.
        * ForwardingHeaders/dom/html_form.h: Removed.
        * ForwardingHeaders/dom/html_head.h: Removed.
        * ForwardingHeaders/dom/html_image.h: Removed.
        * ForwardingHeaders/dom/html_inline.h: Removed.
        * ForwardingHeaders/dom/html_list.h: Removed.
        * ForwardingHeaders/dom/html_misc.h: Removed.
        * ForwardingHeaders/dom/html_object.h: Removed.
        * ForwardingHeaders/dom/html_table.h: Removed.
        * ForwardingHeaders/ecma/kjs_css.h: Removed.
        * ForwardingHeaders/ecma/kjs_html.h: Removed.
        * ForwardingHeaders/ecma/kjs_html.lut.h: Removed.
        * ForwardingHeaders/ecma/kjs_views.h: Removed.
        * ForwardingHeaders/ecma/kjs_views.lut.h: Removed.
        * ForwardingHeaders/ecma/kjs_window.h: Removed.
        * ForwardingHeaders/html/dtd.h: Removed.
        * ForwardingHeaders/kdom/KDOMPart.h: Removed.
        * ForwardingHeaders/kdom/KDOMView.h: Removed.
        * ForwardingHeaders/kdom/core/NodeListImpl.h: Removed.
        * ForwardingHeaders/kdom/css/CSSMediaRuleImpl.h: Removed.
        * ForwardingHeaders/kdom/css/CSSRuleImpl.h: Removed.
        * ForwardingHeaders/kdom/css/CSSRuleListImpl.h: Removed.
        * ForwardingHeaders/kdom/css/cssproperties.h: Removed.
        * ForwardingHeaders/kdom/css/cssvalues.h: Removed.
        * ForwardingHeaders/kdom/events/DocumentEventImpl.h: Removed.
        * ForwardingHeaders/kdom/parser/KDOMDocumentBuilder.h: Removed.
        * ForwardingHeaders/kdomcssproperties.h: Removed.
        * ForwardingHeaders/kdomcssvalues.h: Removed.
        * ForwardingHeaders/kinstance.h: Removed.
        * ForwardingHeaders/kjs/identifier.h: Removed.
        * ForwardingHeaders/kjs/property_map.h: Removed.
        * ForwardingHeaders/kjs/protected_object.h: Removed.
        * ForwardingHeaders/kjs/scope_chain.h: Removed.
        * ForwardingHeaders/kjs/ustring.h: Removed.
        * ForwardingHeaders/kjs/value.h: Removed.
        * ForwardingHeaders/ksvg2/svg/svgtags.h: Removed.
        * ForwardingHeaders/q3intdict.h: Removed.
        * ForwardingHeaders/q3memarray.h: Removed.
        * ForwardingHeaders/q3ptrcollection.h: Removed.
        * ForwardingHeaders/q3ptrdict.h: Removed.
        * ForwardingHeaders/qcstring.h: Removed.
        * ForwardingHeaders/qcursor.h: Removed.
        * ForwardingHeaders/qintdict.h: Removed.
        * ForwardingHeaders/qpair.h: Removed.
        * ForwardingHeaders/qprinter.h: Removed.
        * ForwardingHeaders/qptrcollection.h: Removed.
        * ForwardingHeaders/qsize.h: Removed.
        * ForwardingHeaders/qsortedlist.h: Removed.
        * ForwardingHeaders/qvaluevector.h: Removed.
        * ForwardingHeaders/xml/dom_positioniterator.h: Removed.
        * khtml/css/css_ruleimpl.cpp:
        * khtml/dom/css_value.h:
        * khtml/dom/dom2_events.cpp:
        * khtml/dom/dom2_events.h:
        * khtml/dom/dom2_range.h:
        * khtml/dom/dom2_traversal.cpp:
        * khtml/dom/dom_exception.h:
        * khtml/dom/dom_node.h:
        * khtml/dom/dom_string.cpp:
        * khtml/ecma/kjs_traversal.cpp:

2005-12-04  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin and Geoffrey.

        - Fixes <http://bugs.webkit.org/show_bug.cgi?id=4194>
        Reproducible Poof Crash when using search field at mathworks.com
        
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::setFocusNode):
        Don't send onblur to a node if m_inDetach is true.

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::detach):
        Set m_inDetach to true while calling RenderObject::destroy.

        * khtml/xml/dom_nodeimpl.h:
		  Add m_inDetach flag.

        * manual-tests/onblur-remove.html: Added.

2005-12-04  Eric Seidel  <eseidel@apple.com>

        No review needed, WebCore+SVG build fix only.

        I broke the WebCore+SVG build when removing dom_misc.h, fixing.

        * WebCore+SVG/KDOMHeaders.h: remove reference to dom_misc.h

2005-12-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        No functionality changes, no test cases possible or necessary.

        Removed dom_misc.* and changed to use Shared instead of DOMShared.
        Also removed FilterNode typedef, now using NodeImpl* directly.
        http://bugs.webkit.org/show_bug.cgi?id=5929

        * WebCore.xcodeproj/project.pbxproj:
        * khtml/css/css_base.h:
        * khtml/dom/dom2_events.h:
        * khtml/dom/dom2_traversal.cpp:
        (DOM::NodeFilterCondition::acceptNode):
        * khtml/dom/dom2_traversal.h:
        * khtml/dom/dom_exception.h:
        * khtml/dom/dom_misc.cpp: Removed.
        * khtml/dom/dom_misc.h: Removed.
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_traversal.h:
        * kwq/DOM.mm:
        (ObjCNodeFilterCondition::acceptNode):

2005-12-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        No test cases possible, no function changes.

        Remove rotten #ifdef'd code from the source:
        APPLE_CHANGES & KHTML_NO_CPLUSPLUS_DOM
        http://bugs.webkit.org/show_bug.cgi?id=5877

        * khtml/dom/css_rule.h:
        (DOM::CSSRule::):
        * khtml/dom/css_stylesheet.h:
        * khtml/dom/css_value.h:
        (DOM::CSSValue::):
        (DOM::CSSPrimitiveValue::):
        * khtml/dom/dom2_events.cpp:
        (DOM::EventListener::handleEventImpl):
        * khtml/dom/dom2_events.h:
        (DOM::Event::):
        (DOM::EventException::):
        (DOM::MutationEvent::):
        * khtml/dom/dom2_range.h:
        (DOM::RangeException::):
        (DOM::Range::):
        * khtml/dom/dom2_traversal.cpp:
        * khtml/dom/dom2_traversal.h:
        (DOM::NodeFilter::):
        * khtml/dom/dom_exception.h:
        (DOM::DOMException::):
        * khtml/dom/dom_misc.cpp:
        (DOM::DomShared::~DomShared):
        * khtml/dom/dom_misc.h:
        (DOM::DomShared::deleteMe):
        * khtml/dom/dom_node.h:
        (DOM::Node::):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/khtml_part.cpp:
        (KHTMLPart::stopLoading):
        * khtml/khtml_part.h:
        * khtml/khtmlview.cpp:
        (KHTMLView::viewportMousePressEvent):
        (KHTMLView::focusNextPrevNode):
        * kwq/KWQKConfigBase.h:
        * kwq/KWQKHTMLPageCache.h:
        * kwq/KWQPointArray.h:

2005-12-03  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin.

        Fixed <rdar://problem/4364302> leftmargin and topmargin should match 
        marginwidth and marginheight respectively

        Layout test added:
        positioning/leftmargin-topmargin-expected.txt
        positioning/leftmargin-topmargin.html

        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::parseMappedAttribute): Merged
        leftmargin/marginwidth, topmargin/marginheight

2005-12-03  Justin Garcia  <justin.garcia@apple.com>

        <http://bugs.webkit.org/show_bug.cgi?id=5856>
        Selection based in an editable block can extend outside
        
        validate() used to do expansion of the selection.  The expansion 
        itself wasn't validated, so it could create a selection
        that extended outside an editable area.  Also m_base and 
        m_extent weren't updated with the results of the expansion.

        Reviewed by darin

        Layout tests added: 
        * editing/selection/expanding-selections
        * editing/selection/expanding-selections2

        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::expandUsingGranularity): Does the expansion.
        (khtml::SelectionController::validate): Removed the granularity parameter.
        * khtml/editing/SelectionController.h:

2005-12-03  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Kevin.

        Fixed <rdar://problem/3918897> trailer windows at haroldandkumar.com 
        show up wrong size (with scroll bars)

        We had the wrong default features for new windows. The IE rule is:
        all features except for channelmode and fullscreen default to YES, but
        if the user specifies a feature string, all features default to NO.
        (There is no public standard that applies to this method.)

        <http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/open_0.asp>

        No test case because testing requires a call to window.open, which
        DumpRenderTree can't simulate.

        * khtml/ecma/kjs_window.cpp:
        (KJS::WindowFunc::callAsFunction):
        * kwq/KWQKPartsBrowserExtension.h:
        (KParts::WindowArgs::WindowArgs):

2005-12-01  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin.

        - Fix <http://bugs.webkit.org/show_bug.cgi?id=4340>
        Safari not supporting disabled in multi select option tag.

        * khtml/rendering/render_form.cpp:
        (RenderSelect::updateFromElement):
        Update calls to append functions to set the enabled state of items.

        * kwq/KWQComboBox.h:
        (QComboBox::appendItem):
        (QComboBox::appendGroupLabel):
        (QComboBox::appendSeparator):
        Add enabled parameter to append functions.
       
        * kwq/KWQComboBox.mm:
        (QComboBox::QComboBox):
        Don't autoenable menu items on the popup button since that's handled
        manually now.

        (QComboBox::setTitle):
        Set enabled state on menu items.

        (QComboBox::appendItem):
        Add enabled parameter.

        * kwq/KWQListBox.h:
        (KWQListBoxItem::KWQListBoxItem):
        Add enabled variable to item struct.

        (QListBox::appendItem):
        (QListBox::appendGroupLabel):
        Add enabled parameter to append functions.

        * kwq/KWQListBox.mm:
        (QListBox::appendItem):
        Add enabled parameter.

        (-[KWQTableView tableView:shouldSelectRow:]):
        Only select the row if the item is enabled.

        (-[KWQTableView drawRow:clipRect:]):
        Draw using the disabled color if the row is disabled.

        * manual-tests/disabled-option-elements.html: Added.

2005-12-02  Darin Adler  <darin@apple.com>

        Reviewed by Beth

	Fix for <rdar://problem/4358898> TOT/GLENDALE REGRESSION: Table 
	layout issue occurs at http://www.pixar.com/shorts/index.html and
	http://www.mitzpettel.com. 

	This fix rolls out a line from the fix for <rdar://problem/3871165> 
	text box in nested table disappears when you click on it (3452) 
	(Safari PSOFT: US EDU PS8: Lead List searches). This line causes
	the above regressions. To fix the original problem, we realized 
	that TableLayout::calcEffectiveWidth() essentially ignored setting
	the minimum and maximum widths of cells of width 0 (thereby ignoring 
	cells in colspans when every cell in a column was part of a colspan). 

        * khtml/rendering/render_table.cpp:
        (RenderTableSection::addCell): Roll out from the original fix.
        * khtml/rendering/table_layout.cpp:
        (AutoTableLayout::calcEffectiveWidth): Set effMinWidth and effMaxWidth 
        of a cell even when maxw or maxWidth is 0.

2005-12-02  Eric Seidel  <eseidel@apple.com>

        Reviewed by Tim H.

        Added ending newlines to files missing them.

        * ForwardingHeaders/kjs/property_map.h:
        * khtml/rendering/break_lines.cpp:
        * khtml/xbl/xbl_binding.h:
        * khtml/xbl/xbl_protobinding.h:
        * khtml/xbl/xbl_protohandler.h:
        * kwq/DOM-compat.h:
        * kwq/KWQTextUtilities.h:
        * kwq/WebCoreKeyboardAccess.h:

2005-12-02  Eric Seidel  <eseidel@apple.com>

        No review needed, SVG build fix only.

        SVG Build fix after SharedPtr -> RefPtr changes.

        * ksvg2/events/SVGZoomEventImpl.h:
        * ksvg2/svg/SVGAElementImpl.h:
        * ksvg2/svg/SVGAnimateColorElementImpl.h:
        * ksvg2/svg/SVGAnimateTransformElementImpl.h:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGAnimationElementImpl.h:
        * ksvg2/svg/SVGCircleElementImpl.h:
        * ksvg2/svg/SVGClipPathElementImpl.h:
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.h:
        * ksvg2/svg/SVGCursorElementImpl.h:
        * ksvg2/svg/SVGEllipseElementImpl.h:
        * ksvg2/svg/SVGExternalResourcesRequiredImpl.h:
        * ksvg2/svg/SVGFEBlendElementImpl.h:
        * ksvg2/svg/SVGFEColorMatrixElementImpl.h:
        * ksvg2/svg/SVGFEComponentTransferElementImpl.h:
        * ksvg2/svg/SVGFECompositeElementImpl.h:
        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.h:
        * ksvg2/svg/SVGFEFloodElementImpl.h:
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
        * ksvg2/svg/SVGFEImageElementImpl.h:
        * ksvg2/svg/SVGFELightElementImpl.h:
        * ksvg2/svg/SVGFEMergeNodeElementImpl.h:
        * ksvg2/svg/SVGFEOffsetElementImpl.h:
        * ksvg2/svg/SVGFESpecularLightingElementImpl.h:
        * ksvg2/svg/SVGFETileElementImpl.h:
        * ksvg2/svg/SVGFETurbulenceElementImpl.h:
        * ksvg2/svg/SVGFilterElementImpl.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h:
        * ksvg2/svg/SVGFitToViewBoxImpl.h:
        * ksvg2/svg/SVGGradientElementImpl.h:
        * ksvg2/svg/SVGHelper.h:
        (KSVG::lazy_create):
        * ksvg2/svg/SVGImageElementImpl.h:
        * ksvg2/svg/SVGLineElementImpl.h:
        * ksvg2/svg/SVGLinearGradientElementImpl.h:
        * ksvg2/svg/SVGMarkerElementImpl.h:
        * ksvg2/svg/SVGPathElementImpl.h:
        * ksvg2/svg/SVGPatternElementImpl.h:
        * ksvg2/svg/SVGPolyElementImpl.h:
        * ksvg2/svg/SVGRadialGradientElementImpl.h:
        * ksvg2/svg/SVGRectElementImpl.h:
        * ksvg2/svg/SVGSVGElementImpl.h:
        * ksvg2/svg/SVGStopElementImpl.h:
        * ksvg2/svg/SVGStyleElementImpl.h:
        * ksvg2/svg/SVGStyledElementImpl.h:
        * ksvg2/svg/SVGStyledTransformableElementImpl.h:
        * ksvg2/svg/SVGTestsImpl.h:
        * ksvg2/svg/SVGTextContentElementImpl.h:
        * ksvg2/svg/SVGTextPositioningElementImpl.h:
        * ksvg2/svg/SVGTransformImpl.h:
        * ksvg2/svg/SVGURIReferenceImpl.h:
        * ksvg2/svg/SVGUseElementImpl.h:
        * ksvg2/svg/SVGViewElementImpl.h:

2005-12-02  Eric Seidel  <eseidel@apple.com>

        No review needed.

        * ksvg2/scripts/make_names.pl: Add standard license header.

2005-12-02  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - fix for <rdar://problem/4360657> Regression: Seed: WebKit image scaling broken

        We're backing out the fix for <rdar://problem/3952698>.
        With the new button implementation, the buttons will
        not overlap for the telia webmail case.  We may need to address
        the minWidth behavior for other elements at a later time.

        * khtml/rendering/render_form.cpp:
        (RenderLineEdit::calcMinMaxWidth):
        (RenderTextArea::calcMinMaxWidth):
        * khtml/rendering/render_replaced.cpp:
        (RenderReplaced::calcMinMaxWidth):

2005-12-02  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by NOBODY (OOPS!).

        Fixed <rdar://problem/4344954> Glendale REGRESSION (Safari 416.12-417.2)
        cannot tab to next input field after tab-completing an email address in
        gmail.

        Implemented work-around to conceal the selectionEnd property if the
        document is on the gmail domain. We'll remove this code once Google
        fixes its site.

        No testcase because this is a domain-specific work-around.

        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::textAreaGetter):

2005-12-01  Maciej Stachowiak  <mjs@apple.com>

        SVG build fix, not reviewed.

	- land the ksvg2 part of my SharedPtr --> RefPtr change, which I
	forgot about before.

        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (KSVG::SVGTimer::notifyAll):
        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
        (SVGAnimateColorElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
        (SVGAnimateTransformElementImpl::handleTimerEvent):
        (SVGAnimateTransformElementImpl::parseTransformValue):
        (SVGAnimateTransformElementImpl::initialMatrix):
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::~SVGDocumentImpl):
        (SVGDocumentImpl::dispatchZoomEvent):
        (SVGDocumentImpl::dispatchScrollEvent):
        (SVGDocumentImpl::dispatchKeyEvent):
        (SVGDocumentImpl::executeScripts):
        (SVGDocumentImpl::dispatchUIEvent):
        (SVGDocumentImpl::dispatchMouseEvent):
        * ksvg2/svg/SVGLocatableImpl.cpp:
        (SVGLocatableImpl::getCTM):
        (SVGLocatableImpl::getScreenCTM):
        * ksvg2/svg/SVGMarkerElementImpl.cpp:
        (SVGMarkerElementImpl::canvasResource):
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::drawPatternContentIntoTile):
        (SVGPatternElementImpl::getCTM):
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::viewport):
        (SVGSVGElementImpl::checkIntersection):
        (SVGSVGElementImpl::checkEnclosure):
        (SVGSVGElementImpl::getCTM):
        (SVGSVGElementImpl::getScreenCTM):
        * ksvg2/svg/SVGScriptElementImpl.cpp:
        (SVGScriptElementImpl::executeScript):
        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
        (SVGStyledTransformableElementImpl::updateLocalTransform):

2005-12-02  Vicki Murley  <vicki@apple.com>

        Reviewed by Darin.
 
	- fix <rdar://problem/4361048> Regression: Seed: scrolling with scrollwheel, trackpad 
	doesn't work for nested framesets at gmail.com

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::passWheelEventToChildWidget): 
        * manual-tests/resources/lorem-text.html: Added.
        * manual-tests/resources/nestedframesets.html: Added.
        * manual-tests/scrolling-nestedframesets.html: Added.

2005-12-02  Andre Boule  <aboule@apple.com>

        Reviewed by rjw.

        Added #else for XSLT ifdef to make sure switch case 
        doesn't fall through when feature turned off.
        
	* khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):

2005-12-02  David Hyatt  <hyatt@apple.com>

        <rdar://problem/4356387> Glendale Regression: Some text
        does not render in the CIFilterBrowser widget anymore (tables overflow)

	Fix for overflow clipping bug when a positioned element is
	inserted in between two overflow:hidden elements in a 
	document.
	
        Reviewed by beth

        fast/clip/018.html

        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::calculateClipRects):

2005-12-02  Anders Carlsson  <andersca@mac.com>

        Reviewed by Timothy.

        * WebCore.xcodeproj/project.pbxproj:
        Remove KWQRefPtr.h

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::paint):
        Remove a call to notNull here.

2005-12-02  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Maciej.

        Cache the lastItem and lastItemOffset for fast retrieval of the
        same index or indeicies greater than lastItemOffset. Also cache
        the length. Like other node lists these cached values rest when the
        subtree under the root node changes.

        * khtml/xml/dom_nodeimpl.cpp:
        (ChildNodeListImpl::length): Use cachedLength when possible.
        (ChildNodeListImpl::item): Use lastItemOffset and lastItem if we can.

2005-12-01  Graham Dennis  <Graham.Dennis@gmail.com>
    
        <http://bugs.webkit.org/show_bug.cgi?id=4003>
        contentEditable div cannot be edited if it starts out with empty or <p/>
        
        Reviewed/tweaked/landed by justin

        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::init): A position at the original block
        shouldn't be considered 'outside' the original block.
        (khtml::hasRenderedChildrenWithHeight): Added.
        (khtml::VisiblePosition::isCandidate): A block flow element with 
        rendered children may be considered a candidate for a visible 
        position, as long as its children do not have a positive height.

2005-12-01  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Tim Hatcher.

	- removed deprecated reset, isNull and nonNull methods
	- replaced use of KWQRefPtr with RefPtr

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::toBoolean):
        (KJS::DOMNode::toPrimitive):
        (KJS::DOMNode::toString):
        (KJS::DOMNodeList::toPrimitive):
        * khtml/ecma/kjs_html.cpp:
        (KJS::OptionConstructorImp::construct):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::getValueProperty):
        (KJS::XMLHttpRequest::putValueProperty):
        (KJS::XMLHttpRequest::mark):
        (KJS::XMLHttpRequest::changeState):
        (KJS::XMLHttpRequest::open):
        * khtml/editing/edit_command.cpp:
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableSectionElementImpl::insertRow):
        (DOM::HTMLTableSectionElementImpl::deleteRow):
        (DOM::HTMLTableRowElementImpl::insertCell):
        (DOM::HTMLTableRowElementImpl::deleteCell):
        * khtml/khtml_part.cpp:
        (KHTMLPart::scheduleScript):
        (KHTMLPart::executeScheduledScript):
        (KHTMLPart::clear):
        (KHTMLPart::khtmlMousePressEvent):
        * khtml/khtmlview.cpp:
        (KHTMLViewPrivate::reset):
        (KHTMLView::updateDragAndDrop):
        (KHTMLView::cancelDragAndDrop):
        (KHTMLView::performDragAndDrop):
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::updateFirstLetter):
        * khtml/rendering/render_text.cpp:
        (RenderText::setStyle):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::prepareMouseEvent):
        * khtml/xml/dom_elementimpl.cpp:
        (NamedAttrMapImpl::setNamedItem):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::MouseEvent::MouseEvent):
        * kwq/KWQArrayImpl.h:
        * kwq/KWQArrayImpl.mm:
        (KWQArrayImpl::KWQArrayPrivate::KWQArrayPrivate):
        (KWQArrayImpl::duplicate):
        (KWQArrayImpl::detach):
        * kwq/KWQClipboard.mm:
        (KWQClipboard::setDragImage):
        (KWQClipboard::dragNSImage):
        * kwq/KWQFontMetrics.h:
        * kwq/KWQFontMetrics.mm:
        (QFontMetricsPrivate::QFontMetricsPrivate):
        (QFontMetrics::setFont):
        (QFontMetrics::ascent):
        (QFontMetrics::descent):
        (QFontMetrics::lineSpacing):
        (QFontMetrics::xHeight):
        (QFontMetrics::width):
        (QFontMetrics::floatWidth):
        (QFontMetrics::checkSelectionPoint):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::paint):
        (KWQKHTMLPart::openURLFromPageCache):
        (KWQKHTMLPart::khtmlMousePressEvent):
        (KWQKHTMLPart::khtmlMouseMoveEvent):
        (KWQKHTMLPart::dragSourceMovedTo):
        (KWQKHTMLPart::dragSourceEndedAt):
        (KWQKHTMLPart::mouseDown):
        (KWQKHTMLPart::snapshotDragImage):
        (KWQKHTMLPart::markMisspellings):
        (KWQKHTMLPart::setMarkedTextRange):
        * kwq/KWQMapImpl.h:
        * kwq/KWQMapImpl.mm:
        (KWQMapImpl::KWQMapPrivate::KWQMapPrivate):
        (KWQMapImpl::copyOnWrite):
        (KWQMapImpl::swap):
        * kwq/KWQRefPtr.h: Removed.
        * kwq/KWQRegExp.h:
        * kwq/KWQRegExp.mm:
        (QRegExp::KWQRegExpPrivate::KWQRegExpPrivate):
        (QRegExp::operator=):
        * kwq/KWQValueListImpl.h:
        * kwq/KWQValueListImpl.mm:
        (KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate):
        (KWQValueListImpl::operator=):
        (KWQValueListImpl::copyOnWrite):
        * kwq/KWQVariant.h:
        * kwq/KWQVariant.mm:
        (QVariant::QVariantPrivate::):
        (QVariant::QVariantPrivate::QVariantPrivate):

2005-12-01  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Beth.
        
        Another fix for 4098083 to apply to sliders.

        <rdar://problem/4098083> REGRESSION (125-312): crash 
        in [KWQTableView resignFirstResponder] selecting from JS menu 
        (car4you.at, etc.)

        Since it is possible that a render widget's eventFilterObject
        has been destroyed even though the render widget is still ref-ed,
        we need to nil-check the eventFilterObject before we use it to get
        the eventFilter.

        * kwq/KWQSlider.mm:
        (-[KWQSlider becomeFirstResponder]): Added nil check.
        (-[KWQSlider resignFirstResponder]): Added nil check.

2005-12-01  Adele Peterson  <adele@apple.com>

        Reviewed by Vicki and Dave Harrsion.

        - fixed <rdar://problem/4356771> Regression: Mail always scrolls to the bottom of a message when replying/forwarding

        Fixed a bug in getRect where the code would return a zero sized rect at the 
        lower right corner if the origin was 0,0.  This was causing the scrolling code to
        attempt to scroll to the lower left corner of the editable html element in Mail.

        Added test: 
        * editing/selection/focus_editable_html.html

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::ContainerNodeImpl::getRect):

2005-12-01  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

	- renamed SharedPtr to RefPtr via script

        * ForwardingHeaders/kxmlcore/RefPtr.h: Added.
        * ForwardingHeaders/kxmlcore/SharedPtr.h: Removed.
        * khtml/css/css_computedstyle.h:
        * khtml/ecma/XSLTProcessor.cpp:
        (KJS::XSLTProcessorProtoFunc::callAsFunction):
        * khtml/ecma/XSLTProcessor.h:
        * khtml/ecma/domparser.h:
        * khtml/ecma/kjs_css.h:
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_events.h:
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::namedItemGetter):
        (KJS::KJS::HTMLCollection::getNamedItems):
        (KJS::OptionConstructorImp::construct):
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_range.h:
        * khtml/ecma/kjs_traversal.h:
        * khtml/ecma/kjs_views.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::namedItemGetter):
        * khtml/ecma/xmlhttprequest.h:
        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::toRange):
        * khtml/editing/SelectionController.h:
        * khtml/editing/apply_style_command.cpp:
        (khtml::StyleChange::init):
        (khtml::StyleChange::currentlyHasStyle):
        (khtml::ApplyStyleCommand::doApply):
        (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
        (khtml::ApplyStyleCommand::removeCSSStyle):
        (khtml::hasTextDecorationProperty):
        (khtml::ApplyStyleCommand::extractTextDecorationStyle):
        (khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
        (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode):
        (khtml::ApplyStyleCommand::removeInlineStyle):
        (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
        (khtml::ApplyStyleCommand::computedFontSize):
        * khtml/editing/apply_style_command.h:
        * khtml/editing/edit_command.cpp:
        (khtml::EditCommandPtr::EditCommandPtr):
        (khtml::EditCommandPtr::operator=):
        * khtml/editing/edit_command.h:
        * khtml/editing/markup.cpp:
        (khtml::startMarkup):
        * khtml/editing/visible_position.cpp:
        (khtml::makeRange):
        * khtml/editing/visible_position.h:
        * khtml/editing/visible_range.h:
        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::range):
        (khtml::SimplifiedBackwardsTextIterator::range):
        (khtml::CharacterIterator::range):
        (khtml::TextIterator::rangeFromLocationAndLength):
        (khtml::findPlainText):
        * khtml/editing/visible_text.h:
        (khtml::WordAwareIterator::range):
        * khtml/editing/visible_units.cpp:
        (khtml::previousBoundary):
        (khtml::nextBoundary):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::children):
        * khtml/html/html_elementimpl.h:
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::elements):
        (DOM::HTMLSelectElementImpl::add):
        (DOM::HTMLSelectElementImpl::optionsHTMLCollection):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_imageimpl.cpp:
        (DOM::HTMLMapElementImpl::areas):
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_miscimpl.cpp:
        (DOM::HTMLCollectionImpl::namedItems):
        * khtml/html/html_miscimpl.h:
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::rows):
        (DOM::HTMLTableElementImpl::tBodies):
        (DOM::HTMLTableSectionElementImpl::insertRow):
        (DOM::HTMLTableSectionElementImpl::deleteRow):
        (DOM::HTMLTableSectionElementImpl::rows):
        (DOM::HTMLTableRowElementImpl::insertCell):
        (DOM::HTMLTableRowElementImpl::deleteCell):
        (DOM::HTMLTableRowElementImpl::cells):
        * khtml/html/html_tableimpl.h:
        * khtml/html/htmlparser.cpp:
        (HTMLParser::parseToken):
        (HTMLParser::insertNode):
        * khtml/khtml_events.h:
        * khtml/khtml_part.cpp:
        (KHTMLPart::selectionHasStyle):
        (KHTMLPart::selectionStartHasStyle):
        (KHTMLPart::selectionComputedStyle):
        (KHTMLPart::applyEditingStyleToBodyElement):
        (KHTMLPart::removeEditingStyleFromBodyElement):
        * khtml/khtmlpart_p.h:
        * khtml/khtmlview.cpp:
        (KHTMLView::viewportMousePressEvent):
        (KHTMLView::viewportMouseDoubleClickEvent):
        (KHTMLView::viewportMouseReleaseEvent):
        (KHTMLView::dispatchMouseEvent):
        * khtml/misc/shared.h:
        * khtml/rendering/bidi.cpp:
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::updateFirstLetter):
        * khtml/rendering/render_line.h:
        * khtml/rendering/render_text.cpp:
        (RenderText::setStyle):
        (RenderText::originalString):
        (RenderTextFragment::originalString):
        * khtml/rendering/render_text.h:
        * khtml/xml/dom2_eventsimpl.h:
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::rangeOfContents):
        * khtml/xml/dom2_rangeimpl.h:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::adoptNode):
        (DocumentImpl::setFocusNode):
        (DocumentImpl::addMarker):
        (DocumentImpl::removeMarkers):
        (DocumentImpl::applyXSLTransform):
        (DocumentImpl::images):
        (DocumentImpl::applets):
        (DocumentImpl::embeds):
        (DocumentImpl::objects):
        (DocumentImpl::links):
        (DocumentImpl::forms):
        (DocumentImpl::anchors):
        (DocumentImpl::all):
        (DocumentImpl::windowNamedItems):
        (DocumentImpl::documentNamedItems):
        (DocumentImpl::getElementsByName):
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentImpl::transformSourceDocument):
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::setAttributeNode):
        (ElementImpl::removeAttributeNode):
        (NamedAttrMapImpl::removeNamedItemNS):
        (NamedAttrMapImpl::setNamedItem):
        (NamedAttrMapImpl::removeNamedItem):
        * khtml/xml/dom_elementimpl.h:
        (DOM::ElementImpl::setAttributeNodeNS):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::childNodes):
        (DOM::NodeImpl::dispatchWindowEvent):
        (DOM::NodeImpl::dispatchMouseEvent):
        (DOM::NodeImpl::getElementsByTagNameNS):
        (DOM::ContainerNodeImpl::insertBefore):
        (DOM::ContainerNodeImpl::replaceChild):
        (DOM::ContainerNodeImpl::appendChild):
        (DOM::ContainerNodeImpl::addChild):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::getElementsByTagName):
        (DOM::NamedNodeMapImpl::removeNamedItem):
        (DOM::NamedNodeMapImpl::setNamedItemNS):
        * khtml/xml/dom_xmlimpl.h:
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::XSLTProcessorImpl::createDocumentFromSource):
        (DOM::createFragmentFromSource):
        (DOM::xsltStylesheetPointer):
        (DOM::xmlDocPtrFromNode):
        (DOM::XSLTProcessorImpl::transformToString):
        (DOM::XSLTProcessorImpl::transformToDocument):
        (DOM::XSLTProcessorImpl::transformToFragment):
        (DOM::XSLTProcessorImpl::getParameter):
        * khtml/xsl/xslt_processorimpl.h:
        * kwq/KWQClipboard.h:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        (KWQKHTMLPart::advanceToNextMisspelling):
        (KWQKHTMLPart::fontForSelection):
        (KWQKHTMLPart::markMisspellings):
        (KWQKHTMLPart::shouldClose):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge convertToNSRange:DOM::]):

2005-11-30  Maciej Stachowiak  <mjs@apple.com>

	Reviewed by Dave Hyatt.
	
        - change idiom used for implicit bool conversion of smart pointers, because the old one gives weird error messages sometimes

        * khtml/xml/DocPtr.h:
        (DOM::DocPtr::operator UnspecifiedBoolType):

2005-11-30  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        No additional tests needed, acid2 covers this case.

        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::rendererIsNeeded): call down into NodeImpl if needed.

2005-11-30  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        No functionality change, no tests needed.

        Make make_names.pl namespace agnostic and add XLinkNames.* for SVG

        * WebCore+SVG/XLinkNamesWrapper.cpp: Added.
        * WebCore.xcodeproj/project.pbxproj: added files, build rule.
        * khtml/khtml_part.cpp:
        (KHTMLPart::init): init XLinkNames
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::rendererIsNeeded): remove foreignObjectTag (temp.)
        * ksvg2/misc/xlinkattrs.in: Added.
        * ksvg2/scripts/make_names.pl: make namespace agnostic
        * ksvg2/svg/SVGLocatableImpl.cpp: remove foreignObjectTag (temp.)
        (SVGLocatableImpl::nearestViewportElement):
        (SVGLocatableImpl::farthestViewportElement):
        * ksvg2/svg/SVGURIReferenceImpl.cpp: use XLinkNames
        (SVGURIReferenceImpl::parseMappedAttribute):
        * ksvg2/svg/svgattrs.in: remove href
        * ksvg2/svg/svgtags.in: comment out unused tags

2005-11-30  Rob Buis  <rwlbuis@xs4all.nl>

        Reviewed by eseidel.  Committed by eseidel.

        Fixes 5 test cases:
        - paths-data-02-t.svg (most noticeable)
        - fonts-elem-01-t.svg
        - fonts-elem-02-t.svg
        - fonts-elem-03-t.svg
        - fonts-elem-04-t.svg

        http://bugs.webkit.org/show_bug.cgi?id=5881
        Quadratic bezier path render error

        * ksvg2/svg/svgpathparser.cpp:
        (SVGPathParser::parseSVG):

2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin.

        Test: fast/dom/HTMLScriptElement/script-set-src.html

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=4403
        Script element doesn't load if on set src if already in document

        * khtml/html/html_headimpl.cpp:
        (HTMLScriptElementImpl::parseMappedAttribute):
        (HTMLScriptElementImpl::closeRenderer):
        * khtml/html/html_headimpl.h:

2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin.  Committed by eseidel.

        Test: fast/table/cell-width-auto.html

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=5820
        Table cells with width:auto should use width from their <col>

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::calcMinMaxWidth):
        * khtml/rendering/render_table.cpp:
        (RenderTableCell::styleOrColWidth):
        (RenderTableCell::calcMinMaxWidth):
        * khtml/rendering/render_table.h:
        * khtml/rendering/table_layout.cpp:
        (FixedTableLayout::calcWidthArray):
        (AutoTableLayout::recalcColumn):
        (AutoTableLayout::calcEffectiveWidth):

2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by hyatt.  Committed by eseidel.

        Test: fast/text/span-in-word-space-causes-overflow.html

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=4695
        <span> in word-spaced text breaks width calc, causes overflow

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::findNextLineBreak):

2005-11-29  Andrew Wellington  <proton@wiretapped.net>

        Reviewed by darin.  Committed by eseidel.

        No automated test possible.

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=4726
        Drop of multiple non-image file URLs only yields one item

        * khtml/editing/markup.cpp:
        (khtml::createFragmentFromNodeList):
        * khtml/editing/markup.h:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):

2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin.  Committed by eseidel.

        Test case: fast/css/absolute-poition-in-rtl-parent.html
        Fix for bug: http://bugs.webkit.org/show_bug.cgi?id=5800

        * khtml/rendering/render_box.cpp:
        (RenderBox::calcAbsoluteHorizontal):

2005-11-29  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin

        Fix for <rdar://problem/4098083> REGRESSION (125-312): crash 
	in [KWQTableView resignFirstResponder] selecting from JS menu 
	(car4you.at, etc.)

	Though this crash is only currently reproducible on the branch
	and not on TOT, the fix should be in both. 

        * kwq/KWQWidget.mm:
        (QWidget::removeFromSuperview): The call to removeFromSuperview
	could destroy data, so we should only reference it before the 
	call.

2005-11-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by eseidel.  Committed by eseidel.

        Fixed http://bugs.webkit.org/show_bug.cgi?id=5879
        REGRESSION: Buttons go into pushed state when moused over when text field has focus

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::NodeImpl): Initialize m_inActiveChain to false.

2005-11-29  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Fixes W3C events tests, no additional tests necessary.
        http://bugs.webkit.org/show_bug.cgi?id=5876

        * ksvg2/css/svg.css: added namespace declaration
        * ksvg2/svg/SVGElementImpl.cpp:
        (SVGElementImpl::parseMappedAttribute): added support of on* attrs

2005-11-29  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        Test cases added: None.  Manual testing is way to awkward, and automated testing
        is not possible.  See following bug...
        <rdar://problem/4256882> Need automated testing support for accessibility APIs

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLGenericFormElementImpl::removedFromTree):
	Replace tab with spaces.  Remove braces from one line "if".
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject detach]):
	Send unregisterUniqueIdForUIElement unconditionally, for safety.
        (-[KWQAccObject dealloc]):
	New.  Send [self detach] so KWQObject gets unregistered and other cleanup happens as well.
        (CreateCGColorIfDifferent):
	Replace tab with spaces.
        (-[KWQAccObject removeAccObjectID]):
	Early to prevent a crash if called on a detached KWQAccObject (i.e. m_renderer == 0).

2005-11-29  Vicki Murley  <vicki@apple.com>

	Changes by Mitz Pettel, reviewed by Maciej.

	- fix http://bugs.webkit.org/show_bug.cgi?id=5829 (REGRESSION: cursor tracking and hit 
	testing in scrollable block don't take borders into account)

	* khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::hitTestLayer): don't add left and bottom borders when hit testing
	* manual-tests/scrollbar-hittest.html: Added.

2005-11-29  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?5683
          add code so we can use CFURL instead of NSURL for speed

        * kwq/KWQKURL.h: Added declaration of createCFURL function.
        * kwq/KWQKURL.mm:
        (KURL::createCFURL): Moved body of getNSURL in here.
        (KURL::getNSURL): Changed to createCFURL.

2005-11-29  Darin Adler  <darin@apple.com>

        - fixed broken tree (from my last check-in)

        * kwq/DOM-CSS.mm: Added "using namespace DOM" and an import of "dom_docimpl.h".

2005-11-29  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/4089752> Duplicate method implementation for -[DOMDocument getComputedStyle::]
          also http://bugs.webkit.org/show_bug.cgi?5682

        * kwq/DOM.mm: Removed extra implementation of -[DOMDocument getComputedStyle::].
        * kwq/DOM-CSS.mm: (-[DOMDocument getComputedStyle::]): Copied slightly better implementation from
        DOM.mm in here.

2005-11-29  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5681
          font family management can be faster by avoiding NSString/autorelease

        * kwq/KWQFontFamily.h: Replace _NSFamily with _CFFamily.
        * kwq/KWQFontFamily.mm:
        (KWQFontFamily::KWQFontFamily): Ditto.
        (KWQFontFamily::operator=): Ditto.
        (KWQFontFamily::getNSFamily): More of the same.
        (KWQFontFamily::setFamily): Ditto.

2005-11-29  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5679
          speed up QTime by removing unnecessary CFAbsoluteTimeGetGregorianDate

        * kwq/KWQDateTime.mm:
        (QTime::msec): Just multiply and mod the time in seconds, don't bother converting to
        a Gregorian date first, since that won't affect fractional seconds.
        (QTime::addMSecs): Multiply by 1/1000 instead of dividing by 1000.

2005-11-29  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - fixed <rdar://problem/4300202> JavaScript event keyCode/charCode/which is 25 for shift+tab, should be 9 (5678)
          also http://bugs.webkit.org/show_bug.cgi?id=5678

        * kwq/KWQEvent.mm:
        (WindowsKeyCodeForKeyEvent): Add case for tab key.
        (QKeyEvent::QKeyEvent): Force use of character code 9 for tab key regardless of
        what AppKit returns.
        * manual-tests/log-keypress-events.html: Added.

2005-11-29  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4925
          HTMLMapElementImpl::mapMouseEvent can be implemented without a stack
        - did some other cleanup in this file

        * khtml/html/html_imageimpl.h: Removed unused currentImage function.
        * khtml/html/html_imageimpl.cpp: Bits of cleanup in many functins, and:
        (DOM::HTMLMapElementImpl::mapMouseEvent): Simplified by using traverseNextNode.
        (DOM::HTMLMapElementImpl::parseMappedAttribute): Fixed bug where parsing a
        name or attribute value with a "#" prefix would actually modify the value itself
        by changing the DOMString. Changed the code to make a copy in this case.
        (DOM::HTMLAreaElementImpl::getRegion): Rearranged to be more readable.

2005-11-29  Darin Adler  <darin@apple.com>

        - fixed deployment builds

        * khtml/ecma/kjs_dom.cpp: (KJS::DOMDocument::getValueProperty):
        Put decoder local variable inside if statement.

2005-11-29  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        3 test cases added to cover CSS updates and CDF support.
        Updated all test results for absolute bbox change.

        Fixed in this patch:
        - CSS dynamic updates
        - dynamic path data updates
        - first pass at CDF support
        http://bugs.webkit.org/show_bug.cgi?id=5842

        * kcanvas/KCanvasContainer.cpp:
        (KCanvasContainer::KCanvasContainer): make "replaced" element
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (KCanvasItemQuartz::paint): added parent offset ASSERT
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (KCanvasContainerQuartz::paint): account for parent offset
        (KCanvasContainerQuartz::absoluteTransform): reflect viewport
        * khtml/css/css_valueimpl.cpp: remove HTML special case
        (DOM::CSSMutableStyleDeclarationImpl::setChanged):
        * khtml/css/cssstyleselector.cpp: remove HTML special case
        (khtml::CSSStyleSelector::locateCousinList):
        * khtml/rendering/render_object.cpp:
        (RenderObject::containingBlock): special case KCanvasContainer
        * khtml/rendering/render_style.cpp:
        (RenderStyle::operator==): fix call into SVGRenderStyle
        (RenderStyle::inheritedNotEqual): calls into SVGRenderStyle
        (RenderStyle::diff): calls into SVGRenderStyle
        * ksvg2/css/SVGRenderStyle.cpp:
        (SVGRenderStyle::equals): include flags in comparison
        (SVGRenderStyle::inheritedNotEqual): added
        * ksvg2/css/SVGRenderStyle.h:
        * ksvg2/svg/SVGPathElementImpl.cpp:
        (KSVG::SVGPathElementImpl::parseMappedAttribute): clear path first
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::attributeChanged): map to ksvg2 attributes
        * ksvg2/svg/SVGStyledElementImpl.h:

2005-11-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by hyatt.  Committed by eseidel.

        Not possible to test (functionality shouldn't change).

        Switch QRegion from using NSBezierPath to CGPath
        http://bugs.webkit.org/show_bug.cgi?id=5310

        * kwq/KWQRegion.h:
        * kwq/KWQRegion.mm:
        (QRegion::QRegion):
        (QRegion::~QRegion):
        (QRegion::operator=):
        (QRegion::contains):
        (QRegion::translate):
        (QRegion::boundingRect):

2005-11-28  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin. Commited by Maciej.

	- fixed http://bugs.webkit.org/show_bug.cgi?id=5715
	(document.charset, document.defaultCharset, and document.characterSet are not supported)

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMDocument::getValueProperty):
        (KJS::DOMDocument::putValueProperty):
        * khtml/ecma/kjs_dom.h:
        (KJS::DOMDocument::):

2005-11-28  Julien Palmas <julien.palmas@gmail.com>

        Reviewed by eseidel.  Committed by eseidel.

        Fixes 2 marker test cases.

        This patch makes WebCore+SVG's marker support 90% complete
        This fixes marker drawing as well as auto-orientation & scaling.
        http://bugs.webkit.org/show_bug.cgi?id=5359

        * kcanvas/KCanvasResources.cpp:
        (KCanvasMarker::setRef): combined setRefX and setRefY
        (KCanvasMarker::setScale): combined setScaleX and setScaleY
        (KCanvasMarker::draw): updated post-merger
        * kcanvas/KCanvasResources.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.h:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (DrawMarkersData::DrawMarkersData): new struct
        (drawMarkerWithData): added, draws one marker
        (updateMarkerDataForElement): added, helper function during draw
        (DrawStartAndMidMarkers): added, CGPathApply helper function
        (KCanvasItemQuartz::drawMarkersIfNeeded): updated
        (KCanvasItemQuartz::paint): updated.
        * kcanvas/device/quartz/QuartzSupport.h:
        (CGPointSubtractPoints): added
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (KCanvasRenderingStyle::updateStroke): updated to use static method
        (KCanvasRenderingStyle::cssPrimitiveToLength): now static
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/SVGMarkerElementImpl.cpp:
        (SVGMarkerElementImpl::parseMappedAttribute): updated
        (SVGMarkerElementImpl::canvasResource): fixed

2005-11-28  Adele Peterson  <adele@apple.com>

        Reviewed by Justin.

        - <rdar://problem/4356593> Regression: Crash in scrollRectToVisible

        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::setFocusNode): 
        Make sure there's still a renderer after updating the layout.

2005-11-28  Justin Garcia  <justin.garcia@apple.com>

        <http://bugs.webkit.org/show_bug.cgi?id=5354>
        Corner case where you can select outside the bounds of an editable block.
        
        Reviewed by darin
        
        Updated/added editing test cases to reflect fix.
        
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::init):
        It's ok to do some hunting to find a valid VisiblePosition given a position 
        that is not somewhere visible, like inside an empty div, but only leave the 
        block containing the position used to construct the VisiblePosition if we 
        can't find a VisiblePosition inside that block.
        We weren't using the equivalentDeepPosition of the input position to make 
        the initUpstream/initDownstream decision, so we were sometimes moving 
        past [br, 0], which is what having initUpstream around is supposed to prevent.  
        I got rid of initUpstream and included the check to prevent moving 
        past [br, 0] inside the now generalized init().
        
        * khtml/editing/visible_units.cpp:
        (khtml::endOfParagraph):
        After the changes to VisiblePosition::init(), asking for the visible position 
        at  [br, 1] isn't the right way to include a line break.

2005-11-28  Eric Seidel  <eseidel@apple.com>

        No review, build fix only.

        Corrected typo in last commit causing WebKit+SVG build failure.

        * kcanvas/KCanvasFilters.h:
        (QSizeF::QSizeF): fixed typo.

2005-11-28  Oliver Hunt  <ojh16@student.canterbury.ac.nz>

        Reviewed by eseidel.  Committed by eseidel.

        Fixes 2 lighting test cases.

        First-pass lighting filter implementation from Oliver.
        Also incomplete first-pass feConvolveMatrix
        Adding temporary QPointF, QSizeF for filter use.
        http://bugs.webkit.org/show_bug.cgi?id=5192

        * WebCore.xcodeproj/project.pbxproj: added lighting classes
        * kcanvas/KCanvasFilters.cpp:
        (KCanvasPoint3F::normalize): added
        (operator<<):
        (KCPointLightSource::externalRepresentation): added
        (KCSpotLightSource::externalRepresentation): added
        (KCDistantLightSource::externalRepresentation): added
        (KCanvasFEConvolveMatrix::externalRepresentation): added
        (KCanvasFEDiffuseLighting::externalRepresentation): added
        * kcanvas/KCanvasFilters.h:
        (KCanvasPoint3F::KCanvasPoint3F): added
        (KCanvasPoint3F::x): added
        (KCanvasPoint3F::setX): added
        (KCanvasPoint3F::y): added
        (KCanvasPoint3F::setY): added
        (KCanvasPoint3F::z): added
        (KCanvasPoint3F::setZ): added
        (QPointF::QPointF): added
        (QPointF::x): added
        (QPointF::setX): added
        (QPointF::y): added
        (QPointF::setY): added
        (QSizeF::QPointF): added
        (QSizeF::width): added
        (QSizeF::setWidth): added
        (QSizeF::height): added
        (QSizeF::setHeight): added
        (KCanvasFEConvolveMatrix::kernelSize): added
        (KCanvasFEConvolveMatrix::setKernelSize): added
        (KCanvasFEConvolveMatrix::kernel): added
        (KCanvasFEConvolveMatrix::setKernel): added
        (KCanvasFEConvolveMatrix::divisor): added
        (KCanvasFEConvolveMatrix::setDivisor): added
        (KCanvasFEConvolveMatrix::bias): added
        (KCanvasFEConvolveMatrix::setBias): added
        (KCanvasFEConvolveMatrix::targetOffset): added
        (KCanvasFEConvolveMatrix::setTargetOffset): added
        (KCanvasFEConvolveMatrix::edgeMode): added
        (KCanvasFEConvolveMatrix::setEdgeMode): added
        (KCanvasFEConvolveMatrix::kernelUnitLength): added
        (KCanvasFEConvolveMatrix::setKernelUnitLength): added
        (KCanvasFEConvolveMatrix::preserveAlpha): added
        (KCanvasFEConvolveMatrix::setPreserveAlpha): added
        (KCLightSource::KCLightSource): added
        (KCLightSource::~KCLightSource): added
        (KCLightSource::type): added
        (KCDistantLightSource::KCDistantLightSource): added
        (KCDistantLightSource::azimuth): added
        (KCDistantLightSource::elevation): added
        (KCPointLightSource::KCPointLightSource) added:
        (KCPointLightSource::position): added
        (KCSpotLightSource::KCSpotLightSource): added
        (KCSpotLightSource::position): added
        (KCSpotLightSource::direction): added
        (KCSpotLightSource::specularExponent): added
        (KCSpotLightSource::limitingConeAngle): added
        (KCanvasFEDiffuseLighting::lightingColor): added
        (KCanvasFEDiffuseLighting::setLightingColor): added
        (KCanvasFEDiffuseLighting::surfaceScale): added
        (KCanvasFEDiffuseLighting::setSurfaceScale): added
        (KCanvasFEDiffuseLighting::diffuseConstant): added
        (KCanvasFEDiffuseLighting::setDiffuseConstant): added
        (KCanvasFEDiffuseLighting::kernelUnitLengthX): added
        (KCanvasFEDiffuseLighting::setKernelUnitLengthX): added
        (KCanvasFEDiffuseLighting::kernelUnitLengthY): added
        (KCanvasFEDiffuseLighting::setKernelUnitLengthY): added
        (KCanvasFEDiffuseLighting::lightSource): added
        (KCanvasFEDiffuseLighting::setLightSource): added
        (KCanvasFESpecularLighting::lightingColor): added
        (KCanvasFESpecularLighting::setLightingColor): added
        (KCanvasFESpecularLighting::surfaceScale): added
        (KCanvasFESpecularLighting::setSurfaceScale): added
        (KCanvasFESpecularLighting::specularConstant): added
        (KCanvasFESpecularLighting::setSpecularConstant): added
        (KCanvasFESpecularLighting::specularExponent): added
        (KCanvasFESpecularLighting::setSpecularExponent): added
        (KCanvasFESpecularLighting::kernelUnitLengthX): added
        (KCanvasFESpecularLighting::setKernelUnitLengthX): added
        (KCanvasFESpecularLighting::kernelUnitLengthY): added
        (KCanvasFESpecularLighting::setKernelUnitLengthY): added
        (KCanvasFESpecularLighting::lightSource): added
        (KCanvasFESpecularLighting::setLightSource): added
        * kcanvas/KCanvasTreeDebug.cpp:
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (ciColor): uncommented
        (ciVector): added
        (KCanvasFECompositeQuartz::getCIFilter): spacing fix
        (getPointLightVectors): added
        (getLightVectors): added
        (getNormalMap): added
        (KCanvasFEDiffuseLightingQuartz::getCIFilter): added
        (KCanvasFEGaussianBlurQuartz::getCIFilter): changed CI filter
        (KCanvasFESpecularLightingQuartz::getCIFilter): added
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (KRenderingDeviceQuartz::createFilterEffect): added lighting
        * kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKArithmeticFilter.h: Added.
        * kcanvas/device/quartz/filters/WKArithmeticFilter.m: Added.
        (+[WKArithmeticFilter initialize]): added
        (+[WKArithmeticFilter filterWithName:]): added
        (-[WKArithmeticFilter init]): added
        (-[WKArithmeticFilter outputImage]): added
        * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.h: Added.
        * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m: Added.
        (+[WKDiffuseLightingFilter initialize]): added
        (+[WKDiffuseLightingFilter filterWithName:]): added
        (-[WKDiffuseLightingFilter init]): added
        (-[WKDiffuseLightingFilter outputImage]): added
        * kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKDistantLightFilter.h: Added.
        * kcanvas/device/quartz/filters/WKDistantLightFilter.m: Added.
        (+[WKDistantLightFilter initialize]): added
        (+[WKDistantLightFilter filterWithName:]): added
        (-[WKDistantLightFilter init]): added
        (-[WKDistantLightFilter outputImage]): added
        * kcanvas/device/quartz/filters/WKNormalMapFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKNormalMapFilter.h: Added.
        * kcanvas/device/quartz/filters/WKNormalMapFilter.m: Added.
        (+[WKNormalMapFilter initialize]): added
        (+[WKNormalMapFilter filterWithName:]): added
        (-[WKNormalMapFilter init]): added
        (-[WKNormalMapFilter xConvolveArgsWithBumpMap:]): added
        (-[WKNormalMapFilter yConvolveArgsWithBumpMap:]): added
        (-[WKNormalMapFilter outputImage]): added
        * kcanvas/device/quartz/filters/WKPointLightFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKPointLightFilter.h: Added.
        * kcanvas/device/quartz/filters/WKPointLightFilter.m: Added.
        (+[WKPointLightFilter initialize]): added
        (+[WKPointLightFilter filterWithName:]): added
        (-[WKPointLightFilter init]): added
        (-[WKPointLightFilter outputImage]): added
        * kcanvas/device/quartz/filters/WKSpecularLightingFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKSpecularLightingFilter.h: Added.
        * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m: Added.
        (+[WKSpecularLightingFilter initialize]): added
        (+[WKSpecularLightingFilter filterWithName:]): added
        (-[WKSpecularLightingFilter init]): added
        (-[WKSpecularLightingFilter outputImage]): added
        * kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel: Added.
        * kcanvas/device/quartz/filters/WKSpotLightFilter.h: Added.
        * kcanvas/device/quartz/filters/WKSpotLightFilter.m: Added.
        (+[WKSpotLightFilter initialize]): added
        (+[WKSpotLightFilter filterWithName:]): added
        (-[WKSpotLightFilter init]): added
        (-[WKSpotLightFilter outputImage]): added
        * ksvg2/scripts/make_names.pl: now creates lighting elements
        * ksvg2/svg/SVGAnimatedColorImpl.cpp: Added.
        (SVGAnimatedColorImpl::SVGAnimatedColorImpl): added
        (SVGAnimatedColorImpl::~SVGAnimatedColorImpl): added
        (SVGAnimatedColorImpl::create): added
        (SVGAnimatedColorImpl::assign): added
        * ksvg2/svg/SVGAnimatedColorImpl.h: Added.
        * ksvg2/svg/SVGElementImpl.cpp: HTMLNames -> htmlnames
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        (SVGFECompositeElementImpl::parseMappedAttribute): spelling fix
        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: Added.
        (SVGFEDiffuseLightingElementImpl::SVGFEDiffuseLightingElementImpl):
        (SVGFEDiffuseLightingElementImpl::~SVGFEDiffuseLightingElementImpl):
        (SVGFEDiffuseLightingElementImpl::in1): added
        (SVGFEDiffuseLightingElementImpl::diffuseConstant): added
        (SVGFEDiffuseLightingElementImpl::surfaceScale): added
        (SVGFEDiffuseLightingElementImpl::kernelUnitLengthX): added
        (SVGFEDiffuseLightingElementImpl::kernelUnitLengthY): added
        (SVGFEDiffuseLightingElementImpl::lightingColor): added
        (SVGFEDiffuseLightingElementImpl::parseMappedAttribute): added
        (SVGFEDiffuseLightingElementImpl::filterEffect): added
        (SVGFEDiffuseLightingElementImpl::updateLights): added
        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.h: Added.
        * ksvg2/svg/SVGFEDistantLightElementImpl.cpp: Added.
        (SVGFEDistantLightElementImpl::SVGFEDistantLightElementImpl):
        (SVGFEDistantLightElementImpl::~SVGFEDistantLightElementImpl):
        (SVGFEDistantLightElementImpl::lightSource): added
        * ksvg2/svg/SVGFEDistantLightElementImpl.h: Added.
        * ksvg2/svg/SVGFELightElementImpl.cpp: Added.
        (SVGFELightElementImpl::SVGFELightElementImpl): added
        (SVGFELightElementImpl::~SVGFELightElementImpl): added
        (SVGFELightElementImpl::azimuth): added
        (SVGFELightElementImpl::elevation): added
        (SVGFELightElementImpl::x): added
        (SVGFELightElementImpl::y): added
        (SVGFELightElementImpl::z): added
        (SVGFELightElementImpl::pointsAtX): added
        (SVGFELightElementImpl::pointsAtY): added
        (SVGFELightElementImpl::pointsAtZ): added
        (SVGFELightElementImpl::specularExponent): added
        (SVGFELightElementImpl::limitingConeAngle): added
        (SVGFELightElementImpl::parseMappedAttribute): added
        * ksvg2/svg/SVGFELightElementImpl.h: Added.
        * ksvg2/svg/SVGFEPointLightElementImpl.cpp: Added.
        (SVGFEPointLightElementImpl::SVGFEPointLightElementImpl): added
        (SVGFEPointLightElementImpl::~SVGFEPointLightElementImpl): added
        (SVGFEPointLightElementImpl::lightSource): added
        * ksvg2/svg/SVGFEPointLightElementImpl.h: Added.
        * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: Added.
        (SVGFESpecularLightingElementImpl::SVGFESpecularLightingElementImpl):
        (SVGFESpecularLightingElementImpl::~SVGFESpecularLightingElementImpl):
        (SVGFESpecularLightingElementImpl::in1): added
        (SVGFESpecularLightingElementImpl::specularConstant): added
        (SVGFESpecularLightingElementImpl::specularExponent): added
        (SVGFESpecularLightingElementImpl::surfaceScale): added
        (SVGFESpecularLightingElementImpl::kernelUnitLengthX): added
        (SVGFESpecularLightingElementImpl::kernelUnitLengthY): added
        (SVGFESpecularLightingElementImpl::lightingColor): added
        (SVGFESpecularLightingElementImpl::parseMappedAttribute): added
        (SVGFESpecularLightingElementImpl::filterEffect): added
        (SVGFESpecularLightingElementImpl::updateLights): added
        * ksvg2/svg/SVGFESpecularLightingElementImpl.h: Added.
        * ksvg2/svg/SVGFESpotLightElementImpl.cpp: Added.
        (SVGFESpotLightElementImpl::SVGFESpotLightElementImpl): added
        (SVGFESpotLightElementImpl::~SVGFESpotLightElementImpl): added
        (SVGFESpotLightElementImpl::lightSource): added
        * ksvg2/svg/SVGFESpotLightElementImpl.h: Added.
        * ksvg2/svg/SVGSVGElementImpl.cpp: HTMLNames -> htmlnames

2005-11-28  Beth Dakin  <bdakin@apple.com>

        Reviewed by Geoff

	Fixed build error on TOT.

        * khtml/xml/xml_tokenizer.cpp: Changed "HTMLNames.h" to 
					"htmlnames.h"

2005-11-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin. Committed by Maciej.

	- fixed Bidi algorithm: AN after L has incorrect resolved level
	(http://bugs.webkit.org/show_bug.cgi?id=5573)

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::bidiReorderLine):

2005-11-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by hyatt.  Committed by eseidel.

        One test case added:
        fast/text/international/bidi-layout-across-linebreak.html

        Fix for: http://bugs.webkit.org/show_bug.cgi?id=5172

        * khtml/rendering/bidi.cpp:
        (khtml::BidiState::BidiState):
        (khtml::operator==):
        (khtml::operator!=):
        (khtml::BidiIterator::increment):
        (khtml::appendRunsForObject):
        (khtml::appendRun):
        (khtml::embed):
        (khtml::RenderBlock::computeHorizontalPositionsForLine):
        (khtml::RenderBlock::computeVerticalPositionsForLine):
        (khtml::RenderBlock::bidiReorderLine):
        (khtml::buildCompactRuns):
        (khtml::RenderBlock::layoutInlineChildren):
        (khtml::RenderBlock::determineStartPosition):
        (khtml::RenderBlock::determineEndPosition):
        (khtml::RenderBlock::matchedEndLine):
        (khtml::RenderBlock::findNextLineBreak):
        * khtml/rendering/bidi.h:
        (khtml::BidiStatus::BidiStatus):
        * khtml/rendering/render_block.h:
        * khtml/rendering/render_line.cpp:
        (khtml::RootInlineBox::childRemoved):
        (khtml::RootInlineBox::setLineBreakInfo):
        * khtml/rendering/render_line.h:
        (khtml::RootInlineBox::RootInlineBox):
        (khtml::RootInlineBox::lineBreakBidiStatus):
        (khtml::RootInlineBox::lineBreakBidiContext):

2005-11-26  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        No additional test cases necessary, fixes text dumps for all tests.

        Fixes included in this patch:
        - Closes all known leaks in WebKit+SVG
        - adds static KRenderingDevice *QPainter::renderingDevice()
        - removes RenderCanvas::renderingDevice()
        - removed RenderCanvas usage from KCanvasRenderingStyle
        Bug: http://bugs.webkit.org/show_bug.cgi?id=5839

        * kcanvas/KCanvasItem.cpp:
        (RenderPath::RenderPath): remove canvas from KCanvasRenderingStyle
        (RenderPath::~RenderPath): use QPainter::renderingDevice()
        (RenderPath::fillContains): remove unnecessary code.
        (RenderPath::strokeContains): remove unnecessary code.
        (RenderPath::relativeBBox): remove unnecessary code.
        (RenderPath::setupForDraw): remove unnecessary code.
        (RenderPath::changePath): added ASSERT
        * kcanvas/KCanvasTreeDebug.cpp:
        (operator<<): print absolute bbox instead of relative
        (getTagName): removed KSVG::
        (writeRenderResources): added
        * kcanvas/KCanvasTreeDebug.h: added writeRenderResources
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (operator<<): style update
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFilterQuartz::applyFilter): delete filter context
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (KCanvasItemQuartz::paint): only push context if necessary
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (KCanvasContainerQuartz::paint): only push context if necessary
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (drawShadingWithStyle): use QPainter
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (KRenderingPaintServerSolidQuartz::draw): spacing cleanup
        * khtml/rendering/render_canvas.cpp: remove renderingDevice()
        (RenderCanvas::RenderCanvas): remove m_renderingDevice
        (RenderCanvas::~RenderCanvas): remove m_renderingDevice
        * khtml/rendering/render_canvas.h:
        * khtml/rendering/render_style.cpp:
        (RenderStyle::~RenderStyle): delete SVGRenderStyle
        * ksvg2/css/SVGRenderStyle.cpp:
        (SVGRenderStyle::~SVGRenderStyle): added
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (KCanvasRenderingStyle::KCanvasRenderingStyle): remove canvas arg
        (KCanvasRenderingStyle::updateFill): use QPainter
        (KCanvasRenderingStyle::updateStroke): use QPainter
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/SVGAElementImpl.cpp:
        (SVGAElementImpl::createRenderer): use QPainter
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        (SVGClipPathElementImpl::~SVGClipPathElementImpl): delete resource
        (SVGClipPathElementImpl::canvasResource): use QPainter
        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
        (SVGFEBlendElementImpl::~SVGFEBlendElementImpl): delete resource
        (SVGFEBlendElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        (SVGFEColorMatrixElementImpl::~SVGFEColorMatrixElementImpl):
        (SVGFEColorMatrixElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
        (SVGFEComponentTransferElementImpl::~SVGFEComponentTransferElementImpl):
        (SVGFEComponentTransferElementImpl::filterEffect):  use QPainter
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        (SVGFECompositeElementImpl::~SVGFECompositeElementImpl): delete rsc
        (SVGFECompositeElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        (SVGFEFloodElementImpl::~SVGFEFloodElementImpl): delete resource
        (SVGFEFloodElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        (SVGFEGaussianBlurElementImpl::~SVGFEGaussianBlurElementImpl):
        (SVGFEGaussianBlurElementImpl::filterEffect):  use QPainter
        * ksvg2/svg/SVGFEImageElementImpl.cpp:
        (SVGFEImageElementImpl::~SVGFEImageElementImpl): delete resource
        (SVGFEImageElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFEMergeElementImpl.cpp:
        (SVGFEMergeElementImpl::~SVGFEMergeElementImpl): delete resource
        (SVGFEMergeElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        (SVGFEOffsetElementImpl::~SVGFEOffsetElementImpl): delete resource
        (SVGFEOffsetElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFETileElementImpl.cpp:
        (SVGFETileElementImpl::~SVGFETileElementImpl): delete resource
        (SVGFETileElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        (SVGFETurbulenceElementImpl::~SVGFETurbulenceElementImpl):
        (SVGFETurbulenceElementImpl::filterEffect): use QPainter
        * ksvg2/svg/SVGFilterElementImpl.cpp:
        (SVGFilterElementImpl::~SVGFilterElementImpl): delete resource
        (SVGFilterElementImpl::canvasResource): use QPainter
        * ksvg2/svg/SVGGElementImpl.cpp:
        (SVGGElementImpl::createRenderer): use QPainter
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        (SVGGradientElementImpl::~SVGGradientElementImpl): delete resource
        (SVGGradientElementImpl::canvasResource): use QPainter
        (SVGGradientElementImpl::rebuildStops): deref style
        * ksvg2/svg/SVGImageElementImpl.cpp:
        (SVGImageElementImpl::createRenderer): use QPainter
        (SVGImageElementImpl::notifyFinished): use QPainter
        * ksvg2/svg/SVGMarkerElementImpl.cpp:
        (SVGMarkerElementImpl::~SVGMarkerElementImpl): delete resource
        (SVGMarkerElementImpl::canvasResource): use QPainter
        (SVGMarkerElementImpl::createRenderer): use QPainter
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::~SVGPatternElementImpl): delete resource
        (SVGPatternElementImpl::drawPatternContentIntoTile): use QPainter
        (SVGPatternElementImpl::createRenderer): use QPainter
        (SVGPatternElementImpl::canvasResource): use QPainter
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::createRenderer): use QPainter
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::createRenderer): use QPainter
        (SVGStyledElementImpl::updateCanvasItem): use QPainter
        (SVGStyledElementImpl::pushAttributeContext): use QPainter
        * ksvg2/svg/SVGSwitchElementImpl.cpp:
        (SVGSwitchElementImpl::createRenderer): use QPainter
        * ksvg2/svg/SVGUseElementImpl.cpp:
        (SVGUseElementImpl::createRenderer): use QPainter
        * kwq/KWQPainter.h:
        * kwq/KWQPainter.mm:
        (QPainter::renderingDevice): added
        * kwq/KWQRenderTreeDebug.cpp:
        (externalRepresentation): call writeRenderResources

2005-11-26  Maciej Stachowiak  <mjs@apple.com>

        Rubber stamped by Eric.

	- renamed InterpreterLock to JSLock

        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        (KJS::JSLazyEventListener::parseCode):
        (KJS::getDOMEvent):
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::~KJSProxyImpl):
        (KJSProxyImpl::evaluate):
        (KJSProxyImpl::createHTMLEventHandler):
        (KJSProxyImpl::initScript):
        * khtml/ecma/kjs_traversal.cpp:
        (KJS::JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::clear):
        (KJS::ScheduledAction::execute):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::send):
        (KJS::XMLHttpRequest::abort):
        (KJS::XMLHttpRequest::slotFinished):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::bindingRootObject):
        (KWQKHTMLPart::windowScriptObject):
        (KWQKHTMLPart::saveLocationProperties):
        (KWQKHTMLPart::restoreLocationProperties):
        (KWQKHTMLPart::openURLFromPageCache):
        (KWQKHTMLPart::cleanupPluginRootObjects):
        * kwq/KWQPageState.mm:
        (-[KWQPageState clear]):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge saveDocumentToPageCache]):
        * kwq/WebCoreJavaScript.mm:
        (+[WebCoreJavaScript rootObjectClasses]):
        (+[WebCoreJavaScript garbageCollect]):
        * kwq/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame evaluateWebScript:]):

2005-11-26  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5548
        Allow <meta> to override encoding.

        * khtml/misc/decoder.cpp:
        (Decoder::decode):

2005-11-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by ggaren.  Committed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5710
        item(i) should work like item[i]

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeProtoFunc::callAsFunction):

2005-11-26  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by mjs.  Committed by eseidel.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=5230
        "characterIndexForPoint: not yet implemented"

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge firstRectForDOMRange:]):
        (-[WebCoreBridge convertNSRangeToDOMRange:]):
        (-[WebCoreBridge convertDOMRangeToNSRange:]):
        (-[WebCoreBridge characterRangeAtPoint:]):

2005-11-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by darin.  Committed by eseidel.

        * khtml/rendering/render_table.cpp: <col>, <colgroup> <caption> fix
        http://bugs.webkit.org/show_bug.cgi?id=5822

2005-11-26  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix support for <switch>:
        (by fixing isValid and adding childShouldCreateRenderer)
        Added remedial on* event support.
        Added basic <script> processing support.
        http://bugs.webkit.org/show_bug.cgi?id=5810

        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (KCanvasItemQuartz::paint):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::implicitClose):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::createRendererIfNeeded):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::childShouldCreateRenderer):
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::finish):
        (khtml::XMLTokenizer::addScripts):
        (khtml::xmlDocPtrForString):
        * ksvg2/svg/SVGAElementImpl.h:
        (KSVG::SVGAElementImpl::isValid):
        (KSVG::SVGAElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGAnimationElementImpl.h:
        (KSVG::SVGAnimationElementImpl::isValid):
        * ksvg2/svg/SVGCircleElementImpl.h:
        (KSVG::SVGCircleElementImpl::isValid):
        * ksvg2/svg/SVGClipPathElementImpl.h:
        (KSVG::SVGClipPathElementImpl::isValid):
        * ksvg2/svg/SVGCursorElementImpl.h:
        (KSVG::SVGCursorElementImpl::isValid):
        * ksvg2/svg/SVGDefsElementImpl.h:
        (KSVG::SVGDefsElementImpl::isValid):
        * ksvg2/svg/SVGElementImpl.cpp:
        (SVGElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGEllipseElementImpl.h:
        (KSVG::SVGEllipseElementImpl::isValid):
        * ksvg2/svg/SVGGElementImpl.h:
        (KSVG::SVGGElementImpl::isValid):
        * ksvg2/svg/SVGImageElementImpl.h:
        (KSVG::SVGImageElementImpl::isValid):
        * ksvg2/svg/SVGLineElementImpl.h:
        (KSVG::SVGLineElementImpl::isValid):
        * ksvg2/svg/SVGLocatableImpl.cpp:
        (SVGLocatableImpl::nearestViewportElement):
        (SVGLocatableImpl::farthestViewportElement):
        * ksvg2/svg/SVGPathElementImpl.h:
        (KSVG::SVGPathElementImpl::isValid):
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::drawPatternContentIntoTile):
        * ksvg2/svg/SVGPatternElementImpl.h:
        (KSVG::SVGPatternElementImpl::isValid):
        * ksvg2/svg/SVGPolyElementImpl.h:
        (KSVG::SVGPolyElementImpl::isValid):
        * ksvg2/svg/SVGRectElementImpl.h:
        (KSVG::SVGRectElementImpl::isValid):
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGSVGElementImpl.h:
        (KSVG::SVGSVGElementImpl::isValid):
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::updateCanvasItem):
        * ksvg2/svg/SVGStyledElementImpl.h:
        * ksvg2/svg/SVGSwitchElementImpl.cpp:
        (SVGSwitchElementImpl::childShouldCreateRenderer):
        * ksvg2/svg/SVGSwitchElementImpl.h:
        (KSVG::SVGSwitchElementImpl::isValid):
        * ksvg2/svg/SVGSymbolElementImpl.h:
        (KSVG::SVGSymbolElementImpl::shouldAttachChild):
        * ksvg2/svg/SVGTestsImpl.cpp:
        (SVGTestsImpl::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElementImpl.h:
        (KSVG::SVGTextContentElementImpl::isValid):
        * ksvg2/svg/SVGUseElementImpl.h:
        (KSVG::SVGUseElementImpl::isValid):

2005-11-26  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        No additional test cases needed, this fixes 5 existing tests.

        This patch fixes feImage (to scale and flip).
        Also fixes feColorMatrix (previously inadvertently disabled)
        Fixes <svg> in <svg> (sub-elements establishing viewports)
        Fixes clip-rule, by fixing style resolution on <clipPath> children

        * WebCore.xcodeproj/project.pbxproj: removed svgattr.[ch]
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFEFloodQuartz::getCIFilter): respect subregion
        (KCanvasFEImageQuartz::getCIFilter): respect subregion, scale, flip
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (CGPathFromKCPathDataList): style/spacing update
        (KCanvasContainerQuartz::paint):  handle viewport, singular filters
        * khtml/rendering/render_object.cpp: 
        (RenderObject::absoluteTransform): use QMatrix operator *
        * ksvg2/scripts/make_names.pl: allow FEColorMatrixElementImpl
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        (SVGClipPathElementImpl::canvasResource): resolve style manually
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        (SVGFEColorMatrixElementImpl::filterEffect): spacing fix
        * kwq/KWQWMatrix.h:
        * kwq/KWQWMatrix.mm:
        (QWMatrix::operator* ): added

2005-11-26  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Removed all usage of ref(), deref() from ksvg2
        Instead everything uses SharedPtr now.
        Also updated lazy_create to be SharedPtr aware.
        And removed KDOM_SAFE_SET.

        No additional test cases needed.

        * WebCore+SVG/KDOMStubClasses.h:
        * ksvg2/events/SVGZoomEventImpl.cpp:
        (SVGZoomEventImpl::SVGZoomEventImpl):
        (SVGZoomEventImpl::~SVGZoomEventImpl):
        (SVGZoomEventImpl::zoomRectScreen):
        (SVGZoomEventImpl::previousTranslate):
        (SVGZoomEventImpl::newTranslate):
        * ksvg2/events/SVGZoomEventImpl.h:
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (KSVG::SVGTimer::notifyAll):
        * ksvg2/svg/SVGAElementImpl.cpp:
        (SVGAElementImpl::SVGAElementImpl):
        (SVGAElementImpl::~SVGAElementImpl):
        * ksvg2/svg/SVGAElementImpl.h:
        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
        (SVGAnimateColorElementImpl::SVGAnimateColorElementImpl):
        (SVGAnimateColorElementImpl::~SVGAnimateColorElementImpl):
        (SVGAnimateColorElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateColorElementImpl.h:
        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
        (SVGAnimateTransformElementImpl::parseTransformValue):
        * ksvg2/svg/SVGAnimateTransformElementImpl.h:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        (KSVG::SVGAnimatedTemplate::~SVGAnimatedTemplate):
        (KSVG::SVGAnimatedTemplate::baseVal):
        (KSVG::SVGAnimatedTemplate::setBaseVal):
        (KSVG::SVGAnimatedTemplate::animVal):
        (KSVG::SVGAnimatedTemplate::setAnimVal):
        (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::SVGAnimationElementImpl):
        (SVGAnimationElementImpl::~SVGAnimationElementImpl):
        (SVGAnimationElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGAnimationElementImpl.h:
        * ksvg2/svg/SVGCircleElementImpl.cpp:
        (SVGCircleElementImpl::SVGCircleElementImpl):
        (SVGCircleElementImpl::~SVGCircleElementImpl):
        * ksvg2/svg/SVGCircleElementImpl.h:
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        (SVGClipPathElementImpl::SVGClipPathElementImpl):
        (SVGClipPathElementImpl::~SVGClipPathElementImpl):
        (SVGClipPathElementImpl::clipPathUnits):
        * ksvg2/svg/SVGClipPathElementImpl.h:
        * ksvg2/svg/SVGColorImpl.cpp:
        (SVGColorImpl::SVGColorImpl):
        (SVGColorImpl::~SVGColorImpl):
        (SVGColorImpl::setRGBColor):
        * ksvg2/svg/SVGColorImpl.h:
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
        (SVGComponentTransferFunctionElementImpl::SVGComponentTransferFunctionElementImpl):
        (SVGComponentTransferFunctionElementImpl::~SVGComponentTransferFunctionElementImpl):
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.h:
        * ksvg2/svg/SVGCursorElementImpl.cpp:
        (SVGCursorElementImpl::SVGCursorElementImpl):
        (SVGCursorElementImpl::~SVGCursorElementImpl):
        * ksvg2/svg/SVGCursorElementImpl.h:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::SVGDocumentImpl):
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGElementImpl.cpp:
        (SVGElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGElementImpl.h:
        * ksvg2/svg/SVGEllipseElementImpl.cpp:
        (KSVG::SVGEllipseElementImpl::SVGEllipseElementImpl):
        (KSVG::SVGEllipseElementImpl::~SVGEllipseElementImpl):
        * ksvg2/svg/SVGEllipseElementImpl.h:
        * ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp:
        (SVGExternalResourcesRequiredImpl::SVGExternalResourcesRequiredImpl):
        (SVGExternalResourcesRequiredImpl::~SVGExternalResourcesRequiredImpl):
        * ksvg2/svg/SVGExternalResourcesRequiredImpl.h:
        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
        (SVGFEBlendElementImpl::SVGFEBlendElementImpl):
        (SVGFEBlendElementImpl::~SVGFEBlendElementImpl):
        * ksvg2/svg/SVGFEBlendElementImpl.h:
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        (SVGFEColorMatrixElementImpl::SVGFEColorMatrixElementImpl):
        (SVGFEColorMatrixElementImpl::~SVGFEColorMatrixElementImpl):
        * ksvg2/svg/SVGFEColorMatrixElementImpl.h:
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
        (SVGFEComponentTransferElementImpl::SVGFEComponentTransferElementImpl):
        (SVGFEComponentTransferElementImpl::~SVGFEComponentTransferElementImpl):
        * ksvg2/svg/SVGFEComponentTransferElementImpl.h:
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        (SVGFECompositeElementImpl::SVGFECompositeElementImpl):
        (SVGFECompositeElementImpl::~SVGFECompositeElementImpl):
        * ksvg2/svg/SVGFECompositeElementImpl.h:
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        (SVGFEFloodElementImpl::SVGFEFloodElementImpl):
        (SVGFEFloodElementImpl::~SVGFEFloodElementImpl):
        * ksvg2/svg/SVGFEFloodElementImpl.h:
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        (SVGFEGaussianBlurElementImpl::SVGFEGaussianBlurElementImpl):
        (SVGFEGaussianBlurElementImpl::~SVGFEGaussianBlurElementImpl):
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
        * ksvg2/svg/SVGFEImageElementImpl.cpp:
        (SVGFEImageElementImpl::SVGFEImageElementImpl):
        (SVGFEImageElementImpl::~SVGFEImageElementImpl):
        * ksvg2/svg/SVGFEImageElementImpl.h:
        * ksvg2/svg/SVGFEMergeNodeElementImpl.cpp:
        (SVGFEMergeNodeElementImpl::SVGFEMergeNodeElementImpl):
        (SVGFEMergeNodeElementImpl::~SVGFEMergeNodeElementImpl):
        * ksvg2/svg/SVGFEMergeNodeElementImpl.h:
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        (SVGFEOffsetElementImpl::SVGFEOffsetElementImpl):
        (SVGFEOffsetElementImpl::~SVGFEOffsetElementImpl):
        * ksvg2/svg/SVGFEOffsetElementImpl.h:
        * ksvg2/svg/SVGFETileElementImpl.cpp:
        (SVGFETileElementImpl::SVGFETileElementImpl):
        (SVGFETileElementImpl::~SVGFETileElementImpl):
        * ksvg2/svg/SVGFETileElementImpl.h:
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        (SVGFETurbulenceElementImpl::SVGFETurbulenceElementImpl):
        (SVGFETurbulenceElementImpl::~SVGFETurbulenceElementImpl):
        * ksvg2/svg/SVGFETurbulenceElementImpl.h:
        * ksvg2/svg/SVGFilterElementImpl.cpp:
        (SVGFilterElementImpl::SVGFilterElementImpl):
        (SVGFilterElementImpl::~SVGFilterElementImpl):
        (SVGFilterElementImpl::filterUnits):
        (SVGFilterElementImpl::primitiveUnits):
        (SVGFilterElementImpl::x):
        (SVGFilterElementImpl::y):
        (SVGFilterElementImpl::width):
        (SVGFilterElementImpl::height):
        * ksvg2/svg/SVGFilterElementImpl.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
        (SVGFilterPrimitiveStandardAttributesImpl::SVGFilterPrimitiveStandardAttributesImpl):
        (SVGFilterPrimitiveStandardAttributesImpl::~SVGFilterPrimitiveStandardAttributesImpl):
        (SVGFilterPrimitiveStandardAttributesImpl::width):
        (SVGFilterPrimitiveStandardAttributesImpl::height):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h:
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        (SVGGradientElementImpl::SVGGradientElementImpl):
        (SVGGradientElementImpl::~SVGGradientElementImpl):
        (SVGGradientElementImpl::gradientUnits):
        * ksvg2/svg/SVGGradientElementImpl.h:
        * ksvg2/svg/SVGHelper.h:
        (KSVG::lazy_create):
        * ksvg2/svg/SVGImageElementImpl.cpp:
        (SVGImageElementImpl::SVGImageElementImpl):
        (SVGImageElementImpl::~SVGImageElementImpl):
        * ksvg2/svg/SVGImageElementImpl.h:
        * ksvg2/svg/SVGLineElementImpl.cpp:
        (SVGLineElementImpl::SVGLineElementImpl):
        (SVGLineElementImpl::~SVGLineElementImpl):
        * ksvg2/svg/SVGLineElementImpl.h:
        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
        (SVGLinearGradientElementImpl::SVGLinearGradientElementImpl):
        (SVGLinearGradientElementImpl::~SVGLinearGradientElementImpl):
        (SVGLinearGradientElementImpl::x2):
        * ksvg2/svg/SVGLinearGradientElementImpl.h:
        * ksvg2/svg/SVGMarkerElementImpl.cpp:
        (SVGMarkerElementImpl::SVGMarkerElementImpl):
        (SVGMarkerElementImpl::~SVGMarkerElementImpl):
        (SVGMarkerElementImpl::markerUnits):
        * ksvg2/svg/SVGMarkerElementImpl.h:
        * ksvg2/svg/SVGPaintImpl.cpp:
        (SVGPaintImpl::SVGPaintImpl):
        (SVGPaintImpl::~SVGPaintImpl):
        (SVGPaintImpl::uri):
        (SVGPaintImpl::setUri):
        (SVGPaintImpl::cssText):
        * ksvg2/svg/SVGPaintImpl.h:
        * ksvg2/svg/SVGPathElementImpl.cpp:
        (KSVG::SVGPathElementImpl::SVGPathElementImpl):
        (KSVG::SVGPathElementImpl::~SVGPathElementImpl):
        (KSVG::SVGPathElementImpl::pathLength):
        * ksvg2/svg/SVGPathElementImpl.h:
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::SVGPatternElementImpl):
        (SVGPatternElementImpl::~SVGPatternElementImpl):
        (SVGPatternElementImpl::patternUnits):
        (SVGPatternElementImpl::patternContentUnits):
        (SVGPatternElementImpl::getCTM):
        * ksvg2/svg/SVGPatternElementImpl.h:
        * ksvg2/svg/SVGPolyElementImpl.cpp:
        (SVGPolyElementImpl::SVGPolyElementImpl):
        (SVGPolyElementImpl::~SVGPolyElementImpl):
        * ksvg2/svg/SVGPolyElementImpl.h:
        * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
        (SVGRadialGradientElementImpl::SVGRadialGradientElementImpl):
        (SVGRadialGradientElementImpl::~SVGRadialGradientElementImpl):
        (SVGRadialGradientElementImpl::cx):
        (SVGRadialGradientElementImpl::cy):
        (SVGRadialGradientElementImpl::r):
        * ksvg2/svg/SVGRadialGradientElementImpl.h:
        * ksvg2/svg/SVGRectElementImpl.cpp:
        (SVGRectElementImpl::SVGRectElementImpl):
        (SVGRectElementImpl::~SVGRectElementImpl):
        * ksvg2/svg/SVGRectElementImpl.h:
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::SVGSVGElementImpl):
        (SVGSVGElementImpl::~SVGSVGElementImpl):
        (SVGSVGElementImpl::width):
        (SVGSVGElementImpl::height):
        (SVGSVGElementImpl::viewport):
        * ksvg2/svg/SVGSVGElementImpl.h:
        * ksvg2/svg/SVGScriptElementImpl.cpp:
        (SVGScriptElementImpl::SVGScriptElementImpl):
        (SVGScriptElementImpl::~SVGScriptElementImpl):
        (SVGScriptElementImpl::type):
        (SVGScriptElementImpl::setType):
        (SVGScriptElementImpl::executeScript):
        * ksvg2/svg/SVGScriptElementImpl.h:
        * ksvg2/svg/SVGStopElementImpl.cpp:
        (SVGStopElementImpl::SVGStopElementImpl):
        (SVGStopElementImpl::~SVGStopElementImpl):
        * ksvg2/svg/SVGStopElementImpl.h:
        * ksvg2/svg/SVGStringListImpl.cpp:
        (SVGStringListImpl::reset):
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::SVGStyledElementImpl):
        (SVGStyledElementImpl::~SVGStyledElementImpl):
        (SVGStyledElementImpl::className):
        * ksvg2/svg/SVGStyledElementImpl.h:
        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
        (SVGStyledTransformableElementImpl::SVGStyledTransformableElementImpl):
        (SVGStyledTransformableElementImpl::~SVGStyledTransformableElementImpl):
        (SVGStyledTransformableElementImpl::getCTM):
        (SVGStyledTransformableElementImpl::getScreenCTM):
        (SVGStyledTransformableElementImpl::updateLocalTransform):
        * ksvg2/svg/SVGStyledTransformableElementImpl.h:
        * ksvg2/svg/SVGTestsImpl.cpp:
        (SVGTestsImpl::SVGTestsImpl):
        (SVGTestsImpl::~SVGTestsImpl):
        * ksvg2/svg/SVGTestsImpl.h:
        * ksvg2/svg/SVGTextContentElementImpl.cpp:
        (SVGTextContentElementImpl::SVGTextContentElementImpl):
        (SVGTextContentElementImpl::~SVGTextContentElementImpl):
        * ksvg2/svg/SVGTextContentElementImpl.h:
        * ksvg2/svg/SVGTextPositioningElementImpl.cpp:
        (SVGTextPositioningElementImpl::SVGTextPositioningElementImpl):
        (SVGTextPositioningElementImpl::~SVGTextPositioningElementImpl):
        * ksvg2/svg/SVGTextPositioningElementImpl.h:
        * ksvg2/svg/SVGTransformImpl.cpp:
        (SVGTransformImpl::SVGTransformImpl):
        (SVGTransformImpl::~SVGTransformImpl):
        (SVGTransformImpl::matrix):
        (SVGTransformImpl::setMatrix):
        * ksvg2/svg/SVGTransformImpl.h:
        * ksvg2/svg/SVGURIReferenceImpl.cpp:
        (SVGURIReferenceImpl::SVGURIReferenceImpl):
        (SVGURIReferenceImpl::~SVGURIReferenceImpl):
        * ksvg2/svg/SVGURIReferenceImpl.h:
        * ksvg2/svg/SVGUseElementImpl.cpp:
        (SVGUseElementImpl::SVGUseElementImpl):
        (SVGUseElementImpl::~SVGUseElementImpl):
        * ksvg2/svg/SVGUseElementImpl.h:
        * ksvg2/svg/SVGViewElementImpl.cpp:
        (SVGViewElementImpl::SVGViewElementImpl):
        (SVGViewElementImpl::~SVGViewElementImpl):
        * ksvg2/svg/SVGViewElementImpl.h:

2005-11-23  Eric Seidel  <eseidel@apple.com>
 
         Reviewed by mjs.
 
         No additional test cases needed, this fixes 15+ existing tests.
 
         This latest set of changes fixes <image> loading (mostly)
         (There still seems to be an image loading race condition.)
         This also fixes viewBox support (for many tests)
         Fixes a Safari crasher when using patterns
         Fixes bbox() handling throughout code (for spec conformance)
 
         * kcanvas/KCanvasContainer.cpp:
         (KCanvasContainer::Private::Private): renamed drawContents
         (KCanvasContainer::drawsContents): renamed drawContents
         (KCanvasContainer::setDrawsContents): renamed drawContents
         (KCanvasContainer::relativeBBox): renamed bbox(), fixed
         * kcanvas/KCanvasContainer.h:
         * kcanvas/KCanvasFilters.h:
         * kcanvas/KCanvasItem.cpp:
         (RenderPath::relativeBBox): renamed bbox()
         * kcanvas/KCanvasItem.h:
         * kcanvas/KCanvasPath.cpp:
         (operator<<): removed deprecated "viewportClip" support
         * kcanvas/KCanvasPath.h:
         (KCClipDataList::addPath): removed "viewportClip" support
         * kcanvas/KCanvasResources.cpp:
         (KCanvasClipper::KCanvasClipper): removed "viewportClip" support
         (KCanvasClipper::addClipData): removed "viewportClip" support
         (KCanvasClipper::externalRepresentation): removed "viewportClip"
         * kcanvas/KCanvasResources.h:
         * kcanvas/KCanvasTreeDebug.cpp:
         (operator<<): removed "viewportClip" support
         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
         (KCanvasFilterQuartz::prepareFilter): combined, simplified
         (KCanvasFilterQuartz::applyFilter): combined, simplified
         (KCanvasFilterQuartz::filterBBoxForItemBBox): simplified
         * kcanvas/device/quartz/KCanvasItemQuartz.h:
         (KCanvasItemQuartz::getAbsoluteRepaintRect): added
         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
         (KCanvasItemQuartz::paint): updated for bbox() changes
         (getSharedContext): simplified
         (KCanvasItemQuartz::bboxForPath): name change
         (KCanvasItemQuartz::hitsPath): fixed for absoluteTransform()
         * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
         (KCanvasContainerQuartz::getAbsoluteRepaintRect): added
         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
         (KCanvasContainerQuartz::layout): call RenderContainer::layout()
         (KCanvasContainerQuartz::paint): drawsContents() && viewbox()
         (KCanvasContainerQuartz::absoluteTransform): added
         (KCanvasClipperQuartz::applyClip): simplified
         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
         (KRenderingPaintServerImageQuartz::draw): added stretch/scale
         * khtml/rendering/render_object.cpp: added absoluteTransform()
         (RenderObject::absoluteTransform):
         * khtml/rendering/render_object.h: added absoluteTransform()
         (khtml::RenderObject::relativeBBox): rename
         (khtml::RenderObject::localTransform): better default behavior
         * khtml/xml/dom_docimpl.cpp:
         (DocumentImpl::createElementNS): simpler code
         * ksvg2/svg/SVGElementImpl.cpp:
         (SVGElementImpl::viewportElement): use isElementNode()
         * ksvg2/svg/SVGImageElementImpl.cpp: removed finalizeStyle()
         (SVGImageElementImpl::attach): 
         (SVGImageElementImpl::notifyFinished):
         * ksvg2/svg/SVGImageElementImpl.h:
         * ksvg2/svg/SVGLengthImpl.cpp:
         (SVGLengthImpl::value): bbox() rename
         * ksvg2/svg/SVGLocatableImpl.cpp:
         (SVGLocatableImpl::getBBox): fixed bbox() behavior
         * ksvg2/svg/SVGMarkerElementImpl.cpp:
         (SVGMarkerElementImpl::createRenderer): drawsContents rename
         * ksvg2/svg/SVGPatternElementImpl.cpp:
         (SVGPatternElementImpl::drawPatternContentIntoTile): fixed crash
         (SVGPatternElementImpl::createRenderer): drawsContents rename
         * ksvg2/svg/SVGSVGElementImpl.cpp:
         (SVGSVGElementImpl::x): simplified code
         (SVGSVGElementImpl::y): simplified code
         (SVGSVGElementImpl::width): simplified code
         (SVGSVGElementImpl::height): simplified code
         (SVGSVGElementImpl::parseMappedAttribute): add width/height to DOM
         * kwq/KWQWMatrix.mm:
         (QWMatrix::mapRect): simplified code
 
2005-11-23  Anders Carlsson  <andersca@mac.com>

        Reviewed by Eric.

        Fix for <http://bugs.webkit.org/show_bug.cgi?id=5805>
        Implement adoptNode.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.h:
        (KJS::DOMDocument::):
        Add JS wrapper for adoptNode.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::adoptNode):
        * khtml/xml/dom_docimpl.h:
        Implement adoptNode.

        * kwq/DOM.mm:
        (-[DOMDocument adoptNode:]):
        * kwq/DOMPrivate.h:
        Add Objective C wrapper for adoptNode.

2005-11-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.

	<rdar://problem/4139620> Seed: WebKit: hang when sending XMLHttpRequest if automatic proxy config is used

        * khtml/ecma/kjs_events.cpp:
        (KJS::JSLazyEventListener::parseCode):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::send):
        * kwq/WebCoreJavaScript.mm:

2005-11-22  eseidel  <eseidel@apple.com>

        No review required, svg target only.

        No additional test cases needed, this fixes 10+ existing tests.

        Fixed filters by fixing how KCanvasDeviceContexts are pushed/poped
        They now properly update the NSGrapicsContext currentContext, when
        being pushed/poped which allows for QPainter to notice the change.
        I also fixed <feImage> while there and updated all of the
        subclassed filterEffect() methods to return to proper subclass.

        * kcanvas/KCanvasFilters.h:
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFilterQuartz::KCanvasFilterQuartz):
        (KCanvasFilterQuartz::~KCanvasFilterQuartz):
        (KCanvasFilterQuartz::prepareFilter): fixed to push context
        (KCanvasFilterQuartz::applyFilter): fixed to pop context
        (KCanvasFEImageQuartz::getCIFilter): fixed :)
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (KCanvasItemQuartz::paint): fixed to push/pop context
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (KCanvasContainerQuartz::paint): fixed to push/pop context
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        (KRenderingDeviceContextQuartz::cgContext):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
        (KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
        (KRenderingDeviceContextQuartz::nsGraphicsContext): added
        (KRenderingDeviceQuartz::currentCGContext):
        (KRenderingDeviceQuartz::pushContext): now updates NSGraphicsContext
        (KRenderingDeviceQuartz::popContext): now updates NSGraphicsContext
        (KRenderingDeviceQuartz::contextForImage): fixed spacing
        (KRenderingDeviceQuartz::createPaintServer): removed comment
        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
        (SVGFEBlendElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFEBlendElementImpl.h:
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        (SVGFEColorMatrixElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFEColorMatrixElementImpl.h:
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
        (SVGFEComponentTransferElementImpl::filterEffect): returns sublcass
        * ksvg2/svg/SVGFEComponentTransferElementImpl.h:
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        (SVGFECompositeElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFECompositeElementImpl.h:
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        (SVGFEFloodElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFEFloodElementImpl.h:
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        (SVGFEGaussianBlurElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
        * ksvg2/svg/SVGFEImageElementImpl.cpp:
        (SVGFEImageElementImpl::notifyFinished): updates filterEffect on load
        (SVGFEImageElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFEImageElementImpl.h:
        * ksvg2/svg/SVGFEMergeElementImpl.cpp:
        (SVGFEMergeElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFEMergeElementImpl.h:
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        (SVGFEOffsetElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFEOffsetElementImpl.h:
        * ksvg2/svg/SVGFETileElementImpl.cpp:
        (SVGFETileElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFETileElementImpl.h:
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        (SVGFETurbulenceElementImpl::filterEffect): now returns subclass
        * ksvg2/svg/SVGFETurbulenceElementImpl.h:
        * ksvg2/svg/SVGFilterElementImpl.cpp:
        (SVGFilterElementImpl::canvasResource):
        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
        (SVGStyledTransformableElementImpl::attach): simplified
        * kwq/KWQPainter.h:
        * kwq/KWQPainter.mm:
        (QPainterPrivate::QPainterPrivate): removed cached quartz context
        (QPainterPrivate::~QPainterPrivate): removed cached quartz context
        (QPainter::createRenderingDeviceContext): changed method name

2005-11-22  eseidel  <eseidel@apple.com>

        Reviewed by mjs.

        No additional tests needed, this fixes bbox printing for all tests.

        * kcanvas/device/quartz/KCanvasFilterQuartz.h: removed space
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::bbox): added const (unbreaking bbox() calls)

2005-11-22  eseidel  <eseidel@apple.com>

        Reviewed by mjs.

        No additional test cases needed, this fixes 10+ existing tests.

        Moved filter code off of createRenderer format, fixing filters.
        Hacked in support for <image> and <feImage> (Pixmap only)
        Simplified FEComponentTransfer function construction.

        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasFilters.h:
        (KCanvasFEImage::KCanvasFEImage):
        (KCanvasFEImage::~KCanvasFEImage):
        (KCanvasFEImage::pixmap): added
        (KCanvasFEImage::setPixmap): added
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFEImageQuartz::getCIFilter): added
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (KRenderingPaintServerImageQuartz::draw): added
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
        (SVGComponentTransferFunctionElementImpl::transferFunction):
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.h:
        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
        (SVGFEBlendElementImpl::filterEffect):
        * ksvg2/svg/SVGFEBlendElementImpl.h:
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        (SVGFEColorMatrixElementImpl::filterEffect):
        * ksvg2/svg/SVGFEColorMatrixElementImpl.h:
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
        (SVGFEComponentTransferElementImpl::filterEffect):
        * ksvg2/svg/SVGFEComponentTransferElementImpl.h:
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        (SVGFECompositeElementImpl::filterEffect):
        * ksvg2/svg/SVGFECompositeElementImpl.h:
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        (SVGFEFloodElementImpl::filterEffect):
        * ksvg2/svg/SVGFEFloodElementImpl.h:
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        (SVGFEGaussianBlurElementImpl::filterEffect):
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
        * ksvg2/svg/SVGFEImageElementImpl.cpp:
        (SVGFEImageElementImpl::filterEffect):
        * ksvg2/svg/SVGFEMergeElementImpl.cpp:
        (SVGFEMergeElementImpl::filterEffect):
        * ksvg2/svg/SVGFEMergeElementImpl.h:
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        (SVGFEOffsetElementImpl::filterEffect):
        * ksvg2/svg/SVGFEOffsetElementImpl.h:
        * ksvg2/svg/SVGFETileElementImpl.cpp:
        (SVGFETileElementImpl::filterEffect):
        * ksvg2/svg/SVGFETileElementImpl.h:
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        (SVGFETurbulenceElementImpl::filterEffect):
        * ksvg2/svg/SVGFETurbulenceElementImpl.h:
        * ksvg2/svg/SVGFilterElementImpl.cpp:
        (SVGFilterElementImpl::x):
        (SVGFilterElementImpl::y):
        (SVGFilterElementImpl::width):
        (SVGFilterElementImpl::height):
        (SVGFilterElementImpl::canvasResource):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
        (SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes):
        * ksvg2/svg/SVGImageElementImpl.cpp:
        (SVGImageElementImpl::notifyFinished):
        (SVGImageElementImpl::finalizeStyle):
        * ksvg2/svg/SVGStyledElementImpl.h:
        * ksvg2/svg/SVGURIReferenceImpl.cpp:
        (SVGURIReferenceImpl::parseMappedAttribute):

2005-11-22  eseidel  <eseidel@apple.com>

        SVG build fix only, no review.

        I used debug-only method DOMString::ascii(), broke Deployment.

        * kcanvas/KCanvasResources.cpp:
        (getResourceById):
 
2005-11-21  eseidel  <eseidel@apple.com>

        No review required, svg target only.

        No additional test cases needed, this fixes 5 or so existing tests

        Fixed (hacked?) gradient stop style inheritance since style is not
        currently resolved for nodes which do not create renderers,
        breaking style resolution across resource-creating nodes
        such as gradients, patterns, use, filters, etc.
        Also fixed SVG CSS values to be case-insensitive.

        * WebCore.xcodeproj/project.pbxproj: case insensitivity
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        (SVGClipPathElementImpl::canvasResource): alternative style call
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        (SVGGradientElementImpl::rebuildStops): manual style resolution

2005-11-21  eseidel  <eseidel@apple.com>

        No review required, svg target only.

        No additional test cases needed, this fixes 30 or so existing tests
        
        Standardized all isFoo() methods to use const, which actually
        fixes svg_dynmaic_cast
        Fixed crasher in SVGGradientElementImpl (missing 0 init)
        Broke up SVGPatternElementImpl::notifyAttributeChange 

        * kcanvas/KCanvasFilters.cpp:
        (KCanvasFilter::addFilterEffect): now asserts !0
        * kcanvas/KCanvasFilters.h:
        (KCanvasFilter::isFilter): added
        (KCanvasFEImage::image): now RenderObject *
        (KCanvasFEImage::setImage): now RenderObject *
        * kcanvas/KCanvasResources.cpp:
        (KCanvasMarker::draw): now uses paint()
        (getResourceById): added debug loggging
        * kcanvas/KCanvasResources.h:
        (KCanvasResource::isPaintServer): const
        (KCanvasResource::isFilter): const
        (KCanvasResource::isClipper): const
        (KCanvasResource::isMarker): const
        (KCanvasClipper::isClipper): added
        (KCanvasMarker::isMarker): added
        * kcanvas/device/KRenderingPaintServer.h:
        (KRenderingPaintServer::isPaintServer): added
        * ksvg2/svg/SVGElementImpl.cpp:
        (SVGElementImpl::parseMappedAttribute): removed extra doc check
        * ksvg2/svg/SVGElementImpl.h:
        (KSVG::SVGElementImpl::isSVGElement): const
        (KSVG::SVGElementImpl::isFilterEffect): const
        (KSVG::SVGElementImpl::isGradientStop): const
        (KSVG::SVGElementImpl::isValid): const
        (KSVG::SVGElementImpl::isClosed): const
        * ksvg2/svg/SVGFEImageElementImpl.cpp:
        (SVGFEImageElementImpl::SVGFEImageElementImpl):
        (SVGFEImageElementImpl::parseMappedAttribute): load image
        (SVGFEImageElementImpl::notifyFinished): moved logic
        (SVGFEImageElementImpl::filterEffect): lazy create
        * ksvg2/svg/SVGFEImageElementImpl.h:
        * ksvg2/svg/SVGFilterElementImpl.cpp:
        (SVGFilterElementImpl::canvasResource): added
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h:
        (KSVG::SVGFilterPrimitiveStandardAttributesImpl::isFilterEffect):
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        (SVGGradientElementImpl::SVGGradientElementImpl): init to 0
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::fillAttributesFromReferencePattern):
        (SVGPatternElementImpl::drawPatternContentIntoTile):
        (SVGPatternElementImpl::notifyClientsToRepaint):
        (SVGPatternElementImpl::notifyAttributeChange): split into pieces
        * ksvg2/svg/SVGPatternElementImpl.h:
        * ksvg2/svg/SVGStopElementImpl.h:
        (KSVG::SVGStopElementImpl::isGradientStop): const
        * ksvg2/svg/SVGTestsImpl.cpp:
        (SVGTestsImpl::isValid): const
        * ksvg2/svg/SVGTestsImpl.h:

2005-11-21  eseidel  <eseidel@apple.com>

        No review required, SVG target only.

        Fix SVG from having duplicate entries (with khtml) in its
        cssproperties.in and cssvalues.in files.  I've added an explicit
        check in the build phase for duplicates to prevent this in the
        future.  Minor code adjustments were necessary to use these
        the khtml value & property ids.

        No additional test cases needed, this change fixes:
        W3C-SVG-1.1/painting-stroke-02-t
        W3C-SVG-1.1/painting-stroke-03-t

        * WebCore.xcodeproj/project.pbxproj: duplicate id check
        * ksvg2/css/KSVGCSSParser.cpp:
        (DOM::CSSParser::parseSVGValue):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (KDOM::CSSStyleSelector::applySVGProperty):
        * ksvg2/css/cssproperties.in: commented out duplicates
        * ksvg2/css/cssvalues.in: commented out duplicates
        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
        (SVGStyledTransformableElementImpl::parseMappedAttribute):

2005-11-20  Eric Seidel  <eseidel@apple.com>

        Only affects SVG; no review required (or possible due to size).

        The KSVG/KCanvas section of the big DOM merger.
        http://bugs.webkit.org/show_bug.cgi?id=3249
        At least the following were addressed in this patch:
        
        - Namespace mapping (KDOM -> DOM, khtml)
        - Forwarding Headers (temp. all kdom .h map to all webcore .h)
        - Various KDOM stub classes added to WebCore+SVG folder
        - Various DOMStringImpl -> DOMString changes
        - DOMString::string() -> DOMString::qstring() in ksvg2
        - DOMString::handle() -> DOMString::impl() in ksvg2
        - DocumentImpl, DocumentType  ::impl() -> ::implentation() in khtml
        - Moved NodeImpl::Id to QualifiedString/AtomicString in ksvg2
        - SVGNames.*, SVGElementFactory.* (and generating perl script)
        - EventImpl::id() -> type() with AtomicString
        - Removal of SVGEventImpl
        - Adding svg document and event creation in xml_docimpl.h
        - All in SVGDocumentImpl, also now using SharedPtr
        - Mapped KSVGPart, KDOMPart, KSVGView, KDOMView to KHTML*
        - Removed all throw calls, replacing with exceptioncode parameters
        - SVGElement now derives from StyledElementImpl
        - Corrected SVGNames cases (viewBoxAttr vs. viewboxAttr)
        - Moved TimeScheduler from Doc -> SVGSVGElement (temp. & wrong)
        - Moved off of DocPtr onto DocumentImpl * directly in ksvg2
        - Made SVGRenderStyle a member of khtml::RenderStyle
        - Worked KSVGCSSParser into CSSParser
        - Worked SVGCSSStyleSelector into CSSStyleSelector
        - Changed parseAttribute -> parseMappedAttribute
        - Moved KCanvasContainer onto RenderContainer
        - Renamed KCanvasItem, RenderPath, now subclass of RenderObject
        - Added RenderObject: bbox(), isRenderPath(), isKCanvasContainer()
        - Moved KCanvasContainer and RenderPath from draw() -> paint()
        - Removed RenderSVGBox && render_kcanvaswrapper hacks
        - Gutted KCanvasItem (now RenderPath) and KCanvasContainer
        - Merged KCanvasTreeDebug into KWQRenderTreeDebug
        - Made SVGNames.* SVGElementFactory.* generation a build phase
        - Removed KRenderingStyle
        - Gutted KCanvasRenderingStyle
        - Moved objectTransform onto RenderObject as "localTransform"
        - Removed KCanvasRegistry
        - Changed the way Graidents build their stop lists
        - Removed all dynamic_cast, turned off RTTI and Exceptions
        - Picked up recent marker fix & relative transform fixes from KDE

        * ForwardingHeaders/kcanvas/KCanvas.h: Added.
        * ForwardingHeaders/kcanvas/RenderPath.h: Added.
        * ForwardingHeaders/kdom/core/AttrImpl.h: Added.
        * ForwardingHeaders/kdom/core/CDFInterface.h: Added.
        * ForwardingHeaders/kdom/core/DOMConfigurationImpl.h: Added.
        * ForwardingHeaders/kdom/core/DOMExceptionImpl.h: Added.
        * ForwardingHeaders/kdom/core/DOMImplementationImpl.h: Added.
        * ForwardingHeaders/kdom/core/DOMList.h: Added.
        * ForwardingHeaders/kdom/core/DOMStringImpl.h: Added.
        * ForwardingHeaders/kdom/core/DocumentImpl.h: Added.
        * ForwardingHeaders/kdom/core/DocumentTypeImpl.h: Added.
        * ForwardingHeaders/kdom/core/ElementImpl.h: Added.
        * ForwardingHeaders/kdom/core/NamedAttrMapImpl.h: Added.
        * ForwardingHeaders/kdom/core/NodeImpl.h: Added.
        * ForwardingHeaders/kdom/core/NodeListImpl.h: Added.
        * ForwardingHeaders/kdom/core/ProcessingInstructionImpl.h: Added.
        * ForwardingHeaders/kdom/core/XMLElementImpl.h: Added.
        * ForwardingHeaders/kdom/core/domattrs.h: Added.
        * WebCore+SVG/DrawCanvasItem.mm:
        (-[DrawCanvasItem dragAnchorPointForControlPointIndex:]):
        (-[DrawCanvasItem controlPoints]):
        (-[DrawCanvasItem fitToNewBBox:]):
        (-[DrawCanvasItem valueForKey:]):
        (-[DrawCanvasItem attributedXMLString]):
        * WebCore+SVG/DrawDocument.mm:
        (-[DrawView initWithSVGData:]):
        (-[DrawView svgText]):
        (-[DrawDocument documentListensForMouseMovedEvents]):
        (-[DrawDocument documentListensForMouseDownEvents]):
        (-[DrawDocument documentListensForMouseUpEvents]):
        (-[DrawDocument KDOM::newMouseEventWithEventId:KDOM::qMouseEvent:]):
        (cursorForStyle):
        (-[DrawDocument cursorAfterPropagatingMouseMovedEvent:fromView:]):
        (-[DrawDocument removeItemFromDOM:]):
        (-[DrawDocument createItemForTool:atPoint:]):
        * WebCore+SVG/KDOMHeaders.h:
        * WebCore+SVG/KDOMSettings.cpp:
        * WebCore+SVG/SVGElementFactoryWrapper.cpp: Added.
        * WebCore+SVG/SVGNames.cpp: Removed.
        * WebCore+SVG/SVGNames.h: Removed.
        * WebCore+SVG/SVGNamesWrapper.cpp: Added.
        * WebCore+SVG/dom_kdomdocumentwrapper.cpp: Removed.
        * WebCore+SVG/dom_kdomdocumentwrapper.h: Removed.
        * WebCore+SVG/dom_kdomnodetreewrapper.cpp: Removed.
        * WebCore+SVG/dom_kdomnodetreewrapper.h: Removed.
        * WebCore+SVG/render_kcanvaswrapper.cpp: Removed.
        * WebCore+SVG/render_kcanvaswrapper.h: Removed.
        * WebCore+SVG/xml_kdomtokenizer.cpp: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvas.cpp: Removed.
        * kcanvas/KCanvas.h: Removed.
        * kcanvas/KCanvasContainer.cpp:
        (KCanvasContainer::Private::Private):
        (KCanvasContainer::KCanvasContainer):
        (KCanvasContainer::~KCanvasContainer):
        (KCanvasContainer::localTransform):
        (KCanvasContainer::setLocalTransform):
        (KCanvasContainer::fillContains):
        (KCanvasContainer::strokeContains):
        (KCanvasContainer::bbox):
        (KCanvasContainer::setSlice):
        (KCanvasContainer::slice):
        (KCanvasContainer::getAspectRatio):
        * kcanvas/KCanvasContainer.h:
        (KCanvasContainer::isKCanvasContainer):
        (KCanvasContainer::renderName):
        * kcanvas/KCanvasCreator.cpp:
        (KCanvasCreator::createCanvasPathData):
        * kcanvas/KCanvasCreator.h:
        * kcanvas/KCanvasFilters.cpp:
        (getFilterById):
        * kcanvas/KCanvasFilters.h:
        (KCanvasFEImage::image):
        (KCanvasFEImage::setImage):
        * kcanvas/KCanvasItem.cpp:
        (RenderPath::Private::Private):
        (RenderPath::Private::~Private):
        (RenderPath::RenderPath):
        (RenderPath::~RenderPath):
        (RenderPath::setStyle):
        (RenderPath::localTransform):
        (RenderPath::setLocalTransform):
        (RenderPath::fillContains):
        (RenderPath::strokeContains):
        (RenderPath::bbox):
        (RenderPath::hitsPath):
        (RenderPath::bboxPath):
        (RenderPath::setupForDraw):
        (RenderPath::changePath):
        (RenderPath::path):
        (RenderPath::canvasStyle):
        (RenderPath::commonArgs):
        * kcanvas/KCanvasItem.h:
        (RenderPath::isRenderPath):
        (RenderPath::renderName):
        * kcanvas/KCanvasResources.cpp:
        (KCanvasResource::addClient):
        (KCanvasResource::invalidate):
        (KCanvasMarker::KCanvasMarker):
        (KCanvasMarker::setMarker):
        (KCanvasMarker::setUseStrokeWidth):
        (KCanvasMarker::useStrokeWidth):
        (KCanvasMarker::setScaleX):
        (KCanvasMarker::scaleX):
        (KCanvasMarker::setScaleY):
        (KCanvasMarker::scaleY):
        (KCanvasMarker::draw):
        (getResourceById):
        (getMarkerById):
        (getClipperById):
        (getPaintServerById):
        * kcanvas/KCanvasResources.h:
        (KCanvasResource::isPaintServer):
        (KCanvasResource::isFilter):
        (KCanvasResource::isClipper):
        (KCanvasResource::isMarker):
        * kcanvas/KCanvasTreeDebug.cpp:
        (operator<<):
        (writeStyle):
        (getTagName):
        (write):
        * kcanvas/KCanvasTreeDebug.h:
        * kcanvas/KCanvasTypes.h:
        * kcanvas/KCanvasView.cpp: Removed.
        * kcanvas/KCanvasView.h: Removed.
        * kcanvas/KCanvasView.moc: Removed.
        * kcanvas/device/KRenderingDevice.cpp:
        (KCanvasCommonArgs::KCanvasCommonArgs):
        (KCanvasCommonArgs::canvasStyle):
        (KCanvasCommonArgs::setStyle):
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingDeviceFactory.cpp: Removed.
        * kcanvas/device/KRenderingDeviceFactory.h: Removed.
        * kcanvas/device/KRenderingPaintServer.h:
        (KRenderingPaintServer::activeClient):
        (KRenderingPaintServer::setActiveClient):
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (KRenderingPaintServerGradient::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        (KRenderingPaintServerPattern::externalRepresentation):
        * kcanvas/device/KRenderingStrokePainter.h:
        * kcanvas/device/KRenderingStyle.cpp: Removed.
        * kcanvas/device/KRenderingStyle.h: Removed.
        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFilterQuartz::applyFilter):
        * kcanvas/device/quartz/KCanvasItemQuartz.h:
        (KCanvasItemQuartz::requiresLayer):
        (KCanvasItemQuartz::layout):
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (KCanvasItemQuartz::KCanvasItemQuartz):
        (KCanvasItemQuartz::drawMarkersIfNeeded):
        (KCanvasItemQuartz::paint):
        (KCanvasItemQuartz::nodeAtPoint):
        (KCanvasItemQuartz::bboxPath):
        (KCanvasItemQuartz::hitsPath):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
        (KCanvasContainerQuartz::KCanvasContainerQuartz):
        (KCanvasContainerQuartz::canHaveChildren):
        (KCanvasContainerQuartz::requiresLayer):
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (KCanvasContainerQuartz::calcMinMaxWidth):
        (KCanvasContainerQuartz::layout):
        (KCanvasContainerQuartz::paint):
        (KCanvasContainerQuartz::setViewport):
        (KCanvasContainerQuartz::viewport):
        (KCanvasContainerQuartz::setViewBox):
        (KCanvasContainerQuartz::viewBox):
        (KCanvasContainerQuartz::setAlign):
        (KCanvasContainerQuartz::align):
        (KCanvasClipperQuartz::applyClip):
        * kcanvas/device/quartz/KCanvasViewQuartz.h: Removed.
        * kcanvas/device/quartz/KCanvasViewQuartz.mm: Removed.
        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (KRenderingDeviceContextQuartz::concatCTM):
        (KRenderingDeviceContextQuartz::ctm):
        (KRenderingDeviceQuartz::stringForPath):
        (KRenderingDeviceQuartz::createContainer):
        (KRenderingDeviceQuartz::createItem):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (drawShadingWithStyle):
        (KRenderingPaintServerLinearGradientQuartz::draw):
        (KRenderingPaintServerRadialGradientQuartz::draw):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (KRenderingPaintServerSolidQuartz::draw):
        (KRenderingPaintServerPatternQuartz::draw):
        * kcanvas/device/quartz/QuartzSupport.h:
        * kcanvas/device/quartz/QuartzSupport.mm:
        (CFStringFromCGAffineTransform):
        (CGAffineTransformMakeMapBetweenRects):
        (CGPathTransformCallback):
        (CGPathApplyTransform):
        (applyStrokeStyleToContext):
        (CGPathToCFStringApplierFunction):
        (CFStringFromCGPath):
        * kdom/bindings/DocParser.pm: Removed.
        * kdom/bindings/IDLCodeGenerator.pm: Removed.
        * kdom/bindings/IDLCodeGeneratorCpp.pm: Removed.
        * kdom/bindings/IDLCodeGeneratorEcmaInterface.pm: Removed.
        * kdom/bindings/IDLCodeGeneratorJs.pm: Removed.
        * kdom/bindings/IDLParser.pm: Removed.
        * kdom/bindings/IDLStructure.pm: Removed.
        * kdom/bindings/idl/core/Attr.idl: Removed.
        * kdom/bindings/idl/core/CDATASection.idl: Removed.
        * kdom/bindings/idl/core/CharacterData.idl: Removed.
        * kdom/bindings/idl/core/Comment.idl: Removed.
        * kdom/bindings/idl/core/DOMConfiguration.idl: Removed.
        * kdom/bindings/idl/core/DOMError.idl: Removed.
        * kdom/bindings/idl/core/DOMErrorHandler.idl: Removed.
        * kdom/bindings/idl/core/DOMException.idl: Removed.
        * kdom/bindings/idl/core/DOMImplementation.idl: Removed.
        * kdom/bindings/idl/core/DOMLocator.idl: Removed.
        * kdom/bindings/idl/core/DOMObject.idl: Removed.
        * kdom/bindings/idl/core/DOMStringList.idl: Removed.
        * kdom/bindings/idl/core/DOMUserData.idl: Removed.
        * kdom/bindings/idl/core/Document.idl: Removed.
        * kdom/bindings/idl/core/DocumentFragment.idl: Removed.
        * kdom/bindings/idl/core/DocumentType.idl: Removed.
        * kdom/bindings/idl/core/Element.idl: Removed.
        * kdom/bindings/idl/core/Entity.idl: Removed.
        * kdom/bindings/idl/core/EntityReference.idl: Removed.
        * kdom/bindings/idl/core/NamedNodeMap.idl: Removed.
        * kdom/bindings/idl/core/Node.idl: Removed.
        * kdom/bindings/idl/core/NodeList.idl: Removed.
        * kdom/bindings/idl/core/Notation.idl: Removed.
        * kdom/bindings/idl/core/ProcessingInstruction.idl: Removed.
        * kdom/bindings/idl/core/Text.idl: Removed.
        * kdom/bindings/idl/core/TypeInfo.idl: Removed.
        * kdom/bindings/idl/core/kdomdefs.idl: Removed.
        * kdom/bindings/idl/css/CSS2Properties.idl: Removed.
        * kdom/bindings/idl/css/CSSCharsetRule.idl: Removed.
        * kdom/bindings/idl/css/CSSFontFaceRule.idl: Removed.
        * kdom/bindings/idl/css/CSSImportRule.idl: Removed.
        * kdom/bindings/idl/css/CSSMediaRule.idl: Removed.
        * kdom/bindings/idl/css/CSSPageRule.idl: Removed.
        * kdom/bindings/idl/css/CSSPrimitiveValue.idl: Removed.
        * kdom/bindings/idl/css/CSSRule.idl: Removed.
        * kdom/bindings/idl/css/CSSRuleList.idl: Removed.
        * kdom/bindings/idl/css/CSSStyleDeclaration.idl: Removed.
        * kdom/bindings/idl/css/CSSStyleRule.idl: Removed.
        * kdom/bindings/idl/css/CSSStyleSheet.idl: Removed.
        * kdom/bindings/idl/css/CSSUnknownRule.idl: Removed.
        * kdom/bindings/idl/css/CSSValue.idl: Removed.
        * kdom/bindings/idl/css/CSSValueList.idl: Removed.
        * kdom/bindings/idl/css/Counter.idl: Removed.
        * kdom/bindings/idl/css/DocumentCSS.idl: Removed.
        * kdom/bindings/idl/css/ElementCSSInlineStyle.idl: Removed.
        * kdom/bindings/idl/css/RGBColor.idl: Removed.
        * kdom/bindings/idl/css/Rect.idl: Removed.
        * kdom/bindings/idl/css/kdomdefs.idl: Removed.
        * kdom/bindings/idl/events/DocumentEvent.idl: Removed.
        * kdom/bindings/idl/events/Event.idl: Removed.
        * kdom/bindings/idl/events/EventException.idl: Removed.
        * kdom/bindings/idl/events/EventListener.idl: Removed.
        * kdom/bindings/idl/events/EventTarget.idl: Removed.
        * kdom/bindings/idl/events/MouseEvent.idl: Removed.
        * kdom/bindings/idl/events/MutationEvent.idl: Removed.
        * kdom/bindings/idl/events/UIEvent.idl: Removed.
        * kdom/bindings/idl/events/kdomdefs.idl: Removed.
        * kdom/bindings/idl/ls/DOMImplementationLS.idl: Removed.
        * kdom/bindings/idl/ls/LSException.idl: Removed.
        * kdom/bindings/idl/ls/LSInput.idl: Removed.
        * kdom/bindings/idl/ls/LSOutput.idl: Removed.
        * kdom/bindings/idl/ls/LSParser.idl: Removed.
        * kdom/bindings/idl/ls/LSParserFilter.idl: Removed.
        * kdom/bindings/idl/ls/LSResourceResolver.idl: Removed.
        * kdom/bindings/idl/ls/LSSerializer.idl: Removed.
        * kdom/bindings/idl/ls/LSSerializerFilter.idl: Removed.
        * kdom/bindings/idl/ls/kdomdefs.idl: Removed.
        * kdom/bindings/idl/range/DocumentRange.idl: Removed.
        * kdom/bindings/idl/range/Range.idl: Removed.
        * kdom/bindings/idl/range/RangeException.idl: Removed.
        * kdom/bindings/idl/range/kdomdefs.idl: Removed.
        * kdom/bindings/idl/stylesheets/DocumentStyle.idl: Removed.
        * kdom/bindings/idl/stylesheets/LinkStyle.idl: Removed.
        * kdom/bindings/idl/stylesheets/MediaList.idl: Removed.
        * kdom/bindings/idl/stylesheets/StyleSheet.idl: Removed.
        * kdom/bindings/idl/stylesheets/StyleSheetList.idl: Removed.
        * kdom/bindings/idl/stylesheets/kdomdefs.idl: Removed.
        * kdom/bindings/idl/traversal/DocumentTraversal.idl: Removed.
        * kdom/bindings/idl/traversal/NodeFilter.idl: Removed.
        * kdom/bindings/idl/traversal/NodeIterator.idl: Removed.
        * kdom/bindings/idl/traversal/TreeWalker.idl: Removed.
        * kdom/bindings/idl/traversal/kdomdefs.idl: Removed.
        * kdom/bindings/idl/views/AbstractView.idl: Removed.
        * kdom/bindings/idl/views/DocumentView.idl: Removed.
        * kdom/bindings/idl/views/kdomdefs.idl: Removed.
        * kdom/bindings/idl/xpath/XPathEvaluator.idl: Removed.
        * kdom/bindings/idl/xpath/XPathException.idl: Removed.
        * kdom/bindings/idl/xpath/XPathExpression.idl: Removed.
        * kdom/bindings/idl/xpath/XPathNSResolver.idl: Removed.
        * kdom/bindings/idl/xpath/XPathNamespace.idl: Removed.
        * kdom/bindings/idl/xpath/XPathResult.idl: Removed.
        * kdom/bindings/idl/xpath/kdomdefs.idl: Removed.
        * kdom/bindings/idl/xpointer/XPointerEvaluator.idl: Removed.
        * kdom/bindings/idl/xpointer/XPointerException.idl: Removed.
        * kdom/bindings/idl/xpointer/XPointerExpression.idl: Removed.
        * kdom/bindings/idl/xpointer/XPointerResult.idl: Removed.
        * kdom/bindings/idl/xpointer/kdomdefs.idl: Removed.
        * kdom/bindings/kdombinder.sh: Removed.
        * kdom/bindings/kdomidl.pl: Removed.
        * kdom/ls/DOMImplementationLSImpl.cpp: Removed.
        * kdom/ls/DOMImplementationLSImpl.h: Removed.
        * kdom/ls/LSExceptionImpl.cpp: Removed.
        * kdom/ls/LSExceptionImpl.h: Removed.
        * kdom/ls/LSInputImpl.cpp: Removed.
        * kdom/ls/LSInputImpl.h: Removed.
        * kdom/ls/LSOutputImpl.cpp: Removed.
        * kdom/ls/LSOutputImpl.h: Removed.
        * kdom/ls/LSParserFilterImpl.cpp: Removed.
        * kdom/ls/LSParserFilterImpl.h: Removed.
        * kdom/ls/LSParserImpl.cpp: Removed.
        * kdom/ls/LSParserImpl.h: Removed.
        * kdom/ls/LSResourceResolverImpl.cpp: Removed.
        * kdom/ls/LSResourceResolverImpl.h: Removed.
        * kdom/ls/LSSerializerFilterImpl.cpp: Removed.
        * kdom/ls/LSSerializerFilterImpl.h: Removed.
        * kdom/ls/LSSerializerImpl.cpp: Removed.
        * kdom/ls/LSSerializerImpl.h: Removed.
        * kdom/ls/kdomls.h: Removed.
        * kdom/scripts/cssmakeprops: Removed.
        * kdom/scripts/cssmakevalues: Removed.
        * ksvg2/KSVGFactory.cpp: Removed.
        * ksvg2/KSVGFactory.h: Removed.
        * ksvg2/css/KSVGCSSParser.cpp:
        (DOM::CSSParser::parseSVGValue):
        (DOM::CSSParser::parseSVGStrokeDasharray):
        (DOM::CSSParser::parseSVGPaint):
        (DOM::CSSParser::parseSVGColor):
        * ksvg2/css/SVGCSSStyleDeclarationImpl.cpp: Removed.
        * ksvg2/css/SVGCSSStyleDeclarationImpl.h: Removed.
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (KDOM::CSSStyleSelector::applySVGProperty):
        * ksvg2/css/SVGCSSStyleSheetImpl.cpp: Removed.
        * ksvg2/css/SVGCSSStyleSheetImpl.h: Removed.
        * ksvg2/css/SVGRenderStyle.cpp:
        (SVGRenderStyle::SVGRenderStyle):
        (SVGRenderStyle::equals):
        (SVGRenderStyle::inheritFrom):
        * ksvg2/css/SVGRenderStyle.h:
        (KSVG::SVGRenderStyle::SVGRenderStyle):
        * ksvg2/css/SVGRenderStyleDefs.cpp:
        (StyleMiscData::StyleMiscData):
        (StyleMiscData::operator==):
        * ksvg2/css/SVGRenderStyleDefs.h:
        * ksvg2/ecma/Ecma.cpp:
        (Ecma::inheritedGetDOMNode):
        * ksvg2/ecma/GlobalObject.cpp:
        * ksvg2/events/SVGZoomEventImpl.cpp:
        (SVGZoomEventImpl::SVGZoomEventImpl):
        * ksvg2/events/SVGZoomEventImpl.h:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (KCanvasRenderingStyle::KCanvasRenderingStyle):
        (KCanvasRenderingStyle::updateFill):
        (KCanvasRenderingStyle::updateStroke):
        (KCanvasRenderingStyle::updateStyle):
        (KCanvasRenderingStyle::cssPrimitiveToLength):
        * ksvg2/misc/KCanvasRenderingStyle.h:
        (KSVG::KCanvasRenderingStyle::renderStyle):
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (KSVG::SVGTimer::notifyAll):
        (KSVG::TimeScheduler::TimeScheduler):
        * ksvg2/misc/KSVGTimeScheduler.h:
        (KSVG::TimeScheduler::document):
        * ksvg2/scripts/cssmakeprops: Added.
        * ksvg2/scripts/cssmakevalues: Added.
        * ksvg2/scripts/make_names.pl: Added.
        * ksvg2/svg/CDFInterface.cpp: Removed.
        * ksvg2/svg/CDFInterface.h: Removed.
        * ksvg2/svg/SVGAElementImpl.cpp:
        (SVGAElementImpl::SVGAElementImpl):
        (SVGAElementImpl::parseMappedAttribute):
        (SVGAElementImpl::createRenderer):
        (SVGAElementImpl::defaultEventHandler):
        * ksvg2/svg/SVGAElementImpl.h:
        (KSVG::SVGAElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGAngleImpl.cpp:
        (SVGAngleImpl::setValueAsString):
        (SVGAngleImpl::valueAsString):
        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
        (SVGAnimateColorElementImpl::SVGAnimateColorElementImpl):
        (SVGAnimateColorElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateColorElementImpl.h:
        * ksvg2/svg/SVGAnimateElementImpl.cpp:
        (SVGAnimateElementImpl::SVGAnimateElementImpl):
        (SVGAnimateElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateElementImpl.h:
        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
        (SVGAnimateTransformElementImpl::SVGAnimateTransformElementImpl):
        (SVGAnimateTransformElementImpl::~SVGAnimateTransformElementImpl):
        (SVGAnimateTransformElementImpl::parseMappedAttribute):
        (SVGAnimateTransformElementImpl::handleTimerEvent):
        (SVGAnimateTransformElementImpl::initialMatrix):
        (SVGAnimateTransformElementImpl::transformMatrix):
        * ksvg2/svg/SVGAnimateTransformElementImpl.h:
        * ksvg2/svg/SVGAnimatedLengthListImpl.cpp:
        * ksvg2/svg/SVGAnimatedLengthListImpl.h:
        * ksvg2/svg/SVGAnimatedNumberListImpl.cpp:
        * ksvg2/svg/SVGAnimatedNumberListImpl.h:
        * ksvg2/svg/SVGAnimatedStringImpl.cpp:
        (SVGAnimatedStringImpl::create):
        * ksvg2/svg/SVGAnimatedStringImpl.h:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        (KSVG::SVGAnimatedTemplate::setBaseVal):
        (KSVG::SVGAnimatedTemplate::setAnimVal):
        * ksvg2/svg/SVGAnimatedTransformListImpl.cpp:
        * ksvg2/svg/SVGAnimatedTransformListImpl.h:
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::SVGAnimationElementImpl):
        (SVGAnimationElementImpl::targetElement):
        (SVGAnimationElementImpl::parseMappedAttribute):
        (SVGAnimationElementImpl::closeRenderer):
        (SVGAnimationElementImpl::targetAttribute):
        (SVGAnimationElementImpl::setTargetAttribute):
        * ksvg2/svg/SVGAnimationElementImpl.h:
        (KSVG::SVGAnimationElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGCircleElementImpl.cpp:
        (SVGCircleElementImpl::SVGCircleElementImpl):
        (SVGCircleElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGCircleElementImpl.h:
        (KSVG::SVGCircleElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        (SVGClipPathElementImpl::SVGClipPathElementImpl):
        (SVGClipPathElementImpl::parseMappedAttribute):
        (SVGClipPathElementImpl::canvasResource):
        * ksvg2/svg/SVGClipPathElementImpl.h:
        * ksvg2/svg/SVGColorImpl.cpp:
        (SVGColorImpl::rgbColor):
        (SVGColorImpl::setRGBColor):
        (SVGColorImpl::cssText):
        * ksvg2/svg/SVGColorImpl.h:
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
        (SVGComponentTransferFunctionElementImpl::SVGComponentTransferFunctionElementImpl):
        (SVGComponentTransferFunctionElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.h:
        * ksvg2/svg/SVGCursorElementImpl.cpp:
        (SVGCursorElementImpl::SVGCursorElementImpl):
        (SVGCursorElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGCursorElementImpl.h:
        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
        (SVGDOMImplementationImpl::~SVGDOMImplementationImpl):
        (SVGDOMImplementationImpl::hasFeature):
        (SVGDOMImplementationImpl::createDocumentType):
        (SVGDOMImplementationImpl::createDocument):
        (SVGDOMImplementationImpl::createCSSStyleSheet):
        * ksvg2/svg/SVGDOMImplementationImpl.h:
        * ksvg2/svg/SVGDefsElementImpl.cpp:
        (SVGDefsElementImpl::SVGDefsElementImpl):
        * ksvg2/svg/SVGDefsElementImpl.h:
        * ksvg2/svg/SVGDescElementImpl.cpp:
        (SVGDescElementImpl::SVGDescElementImpl):
        (SVGDescElementImpl::description):
        * ksvg2/svg/SVGDescElementImpl.h:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::SVGDocumentImpl):
        (SVGDocumentImpl::~SVGDocumentImpl):
        (SVGDocumentImpl::title):
        (SVGDocumentImpl::createElement):
        (SVGDocumentImpl::rootElement):
        (SVGDocumentImpl::notifyFinished):
        (SVGDocumentImpl::dispatchRecursiveEvent):
        (SVGDocumentImpl::dispatchZoomEvent):
        (SVGDocumentImpl::dispatchScrollEvent):
        (SVGDocumentImpl::dispatchKeyEvent):
        (SVGDocumentImpl::createStyleSelector):
        (SVGDocumentImpl::addScripts):
        (SVGDocumentImpl::executeScripts):
        (SVGDocumentImpl::dispatchUIEvent):
        (SVGDocumentImpl::dispatchMouseEvent):
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGElementFactory.cpp: Removed.
        * ksvg2/svg/SVGElementFactory.h: Removed.
        * ksvg2/svg/SVGElementImpl.cpp:
        (SVGElementImpl::SVGElementImpl):
        (SVGElementImpl::isSupported):
        (SVGElementImpl::ownerSVGElement):
        (SVGElementImpl::viewportElement):
        (SVGElementImpl::tryGetAttribute):
        (SVGElementImpl::tryGetAttributeNS):
        (SVGElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGElementImpl.h:
        (KSVG::SVGElementImpl::isSVGElement):
        (KSVG::SVGElementImpl::adjustViewportClipping):
        (KSVG::SVGElementImpl::isStyledTransformable):
        (KSVG::SVGElementImpl::isStyledLocatable):
        (KSVG::SVGElementImpl::isFilterEffect):
        (KSVG::SVGElementImpl::isGradientStop):
        (KSVG::SVGElementImpl::isValid):
        (KSVG::SVGElementImpl::closeRenderer):
        (KSVG::SVGElementImpl::rendererIsNeeded):
        (KSVG::SVGElementImpl::isClosed):
        * ksvg2/svg/SVGEllipseElementImpl.cpp:
        (KSVG::SVGEllipseElementImpl::SVGEllipseElementImpl):
        (KSVG::SVGEllipseElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGEllipseElementImpl.h:
        (KSVG::SVGEllipseElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp:
        (SVGExternalResourcesRequiredImpl::parseMappedAttribute):
        * ksvg2/svg/SVGExternalResourcesRequiredImpl.h:
        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
        (SVGFEBlendElementImpl::SVGFEBlendElementImpl):
        (SVGFEBlendElementImpl::parseMappedAttribute):
        (SVGFEBlendElementImpl::createRenderer):
        * ksvg2/svg/SVGFEBlendElementImpl.h:
        (KSVG::SVGFEBlendElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        (SVGFEColorMatrixElementImpl::SVGFEColorMatrixElementImpl):
        (SVGFEColorMatrixElementImpl::parseMappedAttribute):
        (SVGFEColorMatrixElementImpl::createRenderer):
        * ksvg2/svg/SVGFEColorMatrixElementImpl.h:
        (KSVG::SVGFEColorMatrixElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
        (SVGFEComponentTransferElementImpl::SVGFEComponentTransferElementImpl):
        (SVGFEComponentTransferElementImpl::parseMappedAttribute):
        (SVGFEComponentTransferElementImpl::createRenderer):
        (SVGFEComponentTransferElementImpl::closeRenderer):
        * ksvg2/svg/SVGFEComponentTransferElementImpl.h:
        (KSVG::SVGFEComponentTransferElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        (SVGFECompositeElementImpl::SVGFECompositeElementImpl):
        (SVGFECompositeElementImpl::parseMappedAttribute):
        (SVGFECompositeElementImpl::createRenderer):
        * ksvg2/svg/SVGFECompositeElementImpl.h:
        (KSVG::SVGFECompositeElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        (SVGFEFloodElementImpl::SVGFEFloodElementImpl):
        (SVGFEFloodElementImpl::parseMappedAttribute):
        (SVGFEFloodElementImpl::createRenderer):
        * ksvg2/svg/SVGFEFloodElementImpl.h:
        (KSVG::SVGFEFloodElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFEFuncAElementImpl.cpp:
        (SVGFEFuncAElementImpl::SVGFEFuncAElementImpl):
        * ksvg2/svg/SVGFEFuncAElementImpl.h:
        * ksvg2/svg/SVGFEFuncBElementImpl.cpp:
        (SVGFEFuncBElementImpl::SVGFEFuncBElementImpl):
        * ksvg2/svg/SVGFEFuncBElementImpl.h:
        * ksvg2/svg/SVGFEFuncGElementImpl.cpp:
        (SVGFEFuncGElementImpl::SVGFEFuncGElementImpl):
        * ksvg2/svg/SVGFEFuncGElementImpl.h:
        * ksvg2/svg/SVGFEFuncRElementImpl.cpp:
        (SVGFEFuncRElementImpl::SVGFEFuncRElementImpl):
        * ksvg2/svg/SVGFEFuncRElementImpl.h:
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        (SVGFEGaussianBlurElementImpl::SVGFEGaussianBlurElementImpl):
        (SVGFEGaussianBlurElementImpl::parseMappedAttribute):
        (SVGFEGaussianBlurElementImpl::createRenderer):
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.h:
        (KSVG::SVGFEGaussianBlurElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFEImageElementImpl.cpp:
        (SVGFEImageElementImpl::SVGFEImageElementImpl):
        (SVGFEImageElementImpl::parseMappedAttribute):
        (SVGFEImageElementImpl::finalizeStyle):
        (SVGFEImageElementImpl::createRenderer):
        * ksvg2/svg/SVGFEImageElementImpl.h:
        (KSVG::SVGFEImageElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFEMergeElementImpl.cpp:
        (SVGFEMergeElementImpl::SVGFEMergeElementImpl):
        (SVGFEMergeElementImpl::createRenderer):
        (SVGFEMergeElementImpl::closeRenderer):
        * ksvg2/svg/SVGFEMergeElementImpl.h:
        (KSVG::SVGFEMergeElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFEMergeNodeElementImpl.cpp:
        (SVGFEMergeNodeElementImpl::SVGFEMergeNodeElementImpl):
        (SVGFEMergeNodeElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGFEMergeNodeElementImpl.h:
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        (SVGFEOffsetElementImpl::SVGFEOffsetElementImpl):
        (SVGFEOffsetElementImpl::parseMappedAttribute):
        (SVGFEOffsetElementImpl::createRenderer):
        * ksvg2/svg/SVGFEOffsetElementImpl.h:
        (KSVG::SVGFEOffsetElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFETileElementImpl.cpp:
        (SVGFETileElementImpl::SVGFETileElementImpl):
        (SVGFETileElementImpl::parseMappedAttribute):
        (SVGFETileElementImpl::createRenderer):
        * ksvg2/svg/SVGFETileElementImpl.h:
        (KSVG::SVGFETileElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        (SVGFETurbulenceElementImpl::SVGFETurbulenceElementImpl):
        (SVGFETurbulenceElementImpl::parseMappedAttribute):
        (SVGFETurbulenceElementImpl::createRenderer):
        * ksvg2/svg/SVGFETurbulenceElementImpl.h:
        (KSVG::SVGFETurbulenceElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGFilterElementImpl.cpp:
        (SVGFilterElementImpl::SVGFilterElementImpl):
        (SVGFilterElementImpl::x):
        (SVGFilterElementImpl::y):
        (SVGFilterElementImpl::width):
        (SVGFilterElementImpl::height):
        (SVGFilterElementImpl::parseMappedAttribute):
        (SVGFilterElementImpl::canvasResource):
        * ksvg2/svg/SVGFilterElementImpl.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
        (SVGFilterPrimitiveStandardAttributesImpl::SVGFilterPrimitiveStandardAttributesImpl):
        (SVGFilterPrimitiveStandardAttributesImpl::width):
        (SVGFilterPrimitiveStandardAttributesImpl::height):
        (SVGFilterPrimitiveStandardAttributesImpl::parseMappedAttribute):
        (SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.h:
        (KSVG::SVGFilterPrimitiveStandardAttributesImpl::isFilterEffect):
        * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
        (SVGFitToViewBoxImpl::SVGFitToViewBoxImpl):
        (SVGFitToViewBoxImpl::~SVGFitToViewBoxImpl):
        (SVGFitToViewBoxImpl::viewBox):
        (SVGFitToViewBoxImpl::preserveAspectRatio):
        (SVGFitToViewBoxImpl::parseViewBox):
        (SVGFitToViewBoxImpl::parseMappedAttribute):
        * ksvg2/svg/SVGFitToViewBoxImpl.h:
        * ksvg2/svg/SVGGElementImpl.cpp:
        (SVGGElementImpl::SVGGElementImpl):
        (SVGGElementImpl::parseMappedAttribute):
        (SVGGElementImpl::setChanged):
        (SVGGElementImpl::createRenderer):
        (SVGDummyElementImpl::SVGDummyElementImpl):
        (SVGDummyElementImpl::localName):
        * ksvg2/svg/SVGGElementImpl.h:
        (KSVG::SVGGElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        (SVGGradientElementImpl::SVGGradientElementImpl):
        (SVGGradientElementImpl::parseMappedAttribute):
        (SVGGradientElementImpl::notifyAttributeChange):
        (SVGGradientElementImpl::canvasResource):
        (SVGGradientElementImpl::resourceNotification):
        (SVGGradientElementImpl::rebuildStops):
        * ksvg2/svg/SVGGradientElementImpl.h:
        * ksvg2/svg/SVGHelper.cpp:
        (SVGHelper::PercentageOfViewport):
        * ksvg2/svg/SVGImageElementImpl.cpp:
        (SVGImageElementImpl::SVGImageElementImpl):
        (SVGImageElementImpl::parseMappedAttribute):
        (SVGImageElementImpl::createRenderer):
        (SVGImageElementImpl::notifyFinished):
        (SVGImageElementImpl::finalizeStyle):
        * ksvg2/svg/SVGImageElementImpl.h:
        (KSVG::SVGImageElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGLangSpaceImpl.cpp:
        (SVGLangSpaceImpl::SVGLangSpaceImpl):
        (SVGLangSpaceImpl::~SVGLangSpaceImpl):
        (SVGLangSpaceImpl::xmllang):
        (SVGLangSpaceImpl::setXmllang):
        (SVGLangSpaceImpl::xmlspace):
        (SVGLangSpaceImpl::setXmlspace):
        (SVGLangSpaceImpl::parseMappedAttribute):
        * ksvg2/svg/SVGLangSpaceImpl.h:
        * ksvg2/svg/SVGLengthImpl.cpp:
        (SVGLengthImpl::value):
        (SVGLengthImpl::setValueAsString):
        (SVGLengthImpl::updateValue):
        * ksvg2/svg/SVGLengthImpl.h:
        * ksvg2/svg/SVGLengthListImpl.cpp:
        (SVGLengthListImpl::parse):
        * ksvg2/svg/SVGLineElementImpl.cpp:
        (SVGLineElementImpl::SVGLineElementImpl):
        (SVGLineElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGLineElementImpl.h:
        (KSVG::SVGLineElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
        (SVGLinearGradientElementImpl::SVGLinearGradientElementImpl):
        (SVGLinearGradientElementImpl::parseMappedAttribute):
        (SVGLinearGradientElementImpl::buildGradient):
        * ksvg2/svg/SVGLinearGradientElementImpl.h:
        (KSVG::SVGLinearGradientElementImpl::gradientType):
        * ksvg2/svg/SVGLocatableImpl.cpp:
        (SVGLocatableImpl::nearestViewportElement):
        (SVGLocatableImpl::farthestViewportElement):
        (SVGLocatableImpl::getBBox):
        (SVGLocatableImpl::getCTM):
        (SVGLocatableImpl::getScreenCTM):
        * ksvg2/svg/SVGLocatableImpl.h:
        * ksvg2/svg/SVGMarkerElementImpl.cpp:
        (SVGMarkerElementImpl::SVGMarkerElementImpl):
        (SVGMarkerElementImpl::parseMappedAttribute):
        (SVGMarkerElementImpl::canvasResource):
        (SVGMarkerElementImpl::createRenderer):
        * ksvg2/svg/SVGMarkerElementImpl.h:
        (KSVG::SVGMarkerElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGNames.cpp: Removed.
        * ksvg2/svg/SVGNames.h: Removed.
        * ksvg2/svg/SVGPaintImpl.cpp:
        (SVGPaintImpl::setUri):
        (SVGPaintImpl::cssText):
        * ksvg2/svg/SVGPaintImpl.h:
        * ksvg2/svg/SVGPathElementImpl.cpp:
        (KSVG::SVGPathElementImpl::SVGPathElementImpl):
        (KSVG::SVGPathElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGPathElementImpl.h:
        (KSVG::SVGPathElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::SVGPatternElementImpl):
        (SVGPatternElementImpl::~SVGPatternElementImpl):
        (SVGPatternElementImpl::parseMappedAttribute):
        (SVGPatternElementImpl::notifyAttributeChange):
        (SVGPatternElementImpl::createRenderer):
        (SVGPatternElementImpl::canvasResource):
        * ksvg2/svg/SVGPatternElementImpl.h:
        (KSVG::SVGPatternElementImpl::allowAttachChildren):
        (KSVG::SVGPatternElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGPolyElementImpl.cpp:
        (SVGPolyElementImpl::SVGPolyElementImpl):
        (SVGPolyElementImpl::parseMappedAttribute):
        (SVGPolyElementImpl::notifyAttributeChange):
        * ksvg2/svg/SVGPolyElementImpl.h:
        (KSVG::SVGPolyElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGPolygonElementImpl.cpp:
        (SVGPolygonElementImpl::SVGPolygonElementImpl):
        * ksvg2/svg/SVGPolygonElementImpl.h:
        * ksvg2/svg/SVGPolylineElementImpl.cpp:
        (SVGPolylineElementImpl::SVGPolylineElementImpl):
        * ksvg2/svg/SVGPolylineElementImpl.h:
        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
        (SVGPreserveAspectRatioImpl::parsePreserveAspectRatio):
        * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
        (SVGRadialGradientElementImpl::SVGRadialGradientElementImpl):
        (SVGRadialGradientElementImpl::parseMappedAttribute):
        (SVGRadialGradientElementImpl::buildGradient):
        * ksvg2/svg/SVGRadialGradientElementImpl.h:
        (KSVG::SVGRadialGradientElementImpl::gradientType):
        * ksvg2/svg/SVGRectElementImpl.cpp:
        (SVGRectElementImpl::SVGRectElementImpl):
        (SVGRectElementImpl::parseMappedAttribute):
        (SVGRectElementImpl::toPathData):
        * ksvg2/svg/SVGRectElementImpl.h:
        (KSVG::SVGRectElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::SVGSVGElementImpl):
        (SVGSVGElementImpl::~SVGSVGElementImpl):
        (SVGSVGElementImpl::width):
        (SVGSVGElementImpl::height):
        (SVGSVGElementImpl::contentScriptType):
        (SVGSVGElementImpl::setContentScriptType):
        (SVGSVGElementImpl::contentStyleType):
        (SVGSVGElementImpl::setContentStyleType):
        (SVGSVGElementImpl::currentScale):
        (SVGSVGElementImpl::setCurrentScale):
        (SVGSVGElementImpl::currentTranslate):
        (SVGSVGElementImpl::parseMappedAttribute):
        (SVGSVGElementImpl::pauseAnimations):
        (SVGSVGElementImpl::unpauseAnimations):
        (SVGSVGElementImpl::animationsPaused):
        (SVGSVGElementImpl::getCurrentTime):
        (SVGSVGElementImpl::checkIntersection):
        (SVGSVGElementImpl::checkEnclosure):
        (SVGSVGElementImpl::getCTM):
        (SVGSVGElementImpl::getScreenCTM):
        (SVGSVGElementImpl::createRenderer):
        (SVGSVGElementImpl::setZoomAndPan):
        * ksvg2/svg/SVGSVGElementImpl.h:
        (KSVG::SVGSVGElementImpl::rendererIsNeeded):
        (KSVG::SVGSVGElementImpl::timeScheduler):
        * ksvg2/svg/SVGScriptElementImpl.cpp:
        (SVGScriptElementImpl::SVGScriptElementImpl):
        (SVGScriptElementImpl::parseMappedAttribute):
        (SVGScriptElementImpl::executeScript):
        * ksvg2/svg/SVGScriptElementImpl.h:
        * ksvg2/svg/SVGSetElementImpl.cpp:
        (SVGSetElementImpl::SVGSetElementImpl):
        (SVGSetElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGSetElementImpl.h:
        * ksvg2/svg/SVGStopElementImpl.cpp:
        (SVGStopElementImpl::SVGStopElementImpl):
        (SVGStopElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGStopElementImpl.h:
        (KSVG::SVGStopElementImpl::isGradientStop):
        * ksvg2/svg/SVGStylableImpl.h:
        * ksvg2/svg/SVGStyleElementImpl.cpp:
        (SVGStyleElementImpl::SVGStyleElementImpl):
        (SVGStyleElementImpl::~SVGStyleElementImpl):
        (SVGStyleElementImpl::xmlspace):
        (SVGStyleElementImpl::setXmlspace):
        (SVGStyleElementImpl::type):
        (SVGStyleElementImpl::setType):
        (SVGStyleElementImpl::media):
        (SVGStyleElementImpl::setMedia):
        (SVGStyleElementImpl::title):
        (SVGStyleElementImpl::setTitle):
        (SVGStyleElementImpl::sheet):
        (SVGStyleElementImpl::childrenChanged):
        * ksvg2/svg/SVGStyleElementImpl.h:
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::SVGStyledElementImpl):
        (SVGStyledElementImpl::~SVGStyledElementImpl):
        (SVGStyledElementImpl::createRenderer):
        (SVGStyledElementImpl::parseMappedAttribute):
        (SVGStyledElementImpl::finalizeStyle):
        (SVGStyledElementImpl::attach):
        (SVGStyledElementImpl::canvas):
        (SVGStyledElementImpl::updateCanvasItem):
        (SVGStyledElementImpl::pushAttributeContext):
        * ksvg2/svg/SVGStyledElementImpl.h:
        (KSVG::SVGStyledElementImpl::rendererIsNeeded):
        (KSVG::SVGStyledElementImpl::canvasResource):
        * ksvg2/svg/SVGStyledLocatableElementImpl.cpp: Added.
        (SVGStyledLocatableElementImpl::SVGStyledLocatableElementImpl):
        (SVGStyledLocatableElementImpl::~SVGStyledLocatableElementImpl):
        (SVGStyledLocatableElementImpl::nearestViewportElement):
        (SVGStyledLocatableElementImpl::farthestViewportElement):
        (SVGStyledLocatableElementImpl::getBBox):
        (SVGStyledLocatableElementImpl::getCTM):
        (SVGStyledLocatableElementImpl::getScreenCTM):
        (SVGStyledLocatableElementImpl::getTransformToElement):
        * ksvg2/svg/SVGStyledLocatableElementImpl.h: Added.
        (KSVG::SVGStyledLocatableElementImpl::isStyledLocatable):
        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp: Added.
        (SVGStyledTransformableElementImpl::SVGStyledTransformableElementImpl):
        (SVGStyledTransformableElementImpl::~SVGStyledTransformableElementImpl):
        (SVGStyledTransformableElementImpl::transform):
        (SVGStyledTransformableElementImpl::localMatrix):
        (SVGStyledTransformableElementImpl::getCTM):
        (SVGStyledTransformableElementImpl::getScreenCTM):
        (SVGStyledTransformableElementImpl::updateLocalTransform):
        (SVGStyledTransformableElementImpl::parseMappedAttribute):
        (SVGStyledTransformableElementImpl::nearestViewportElement):
        (SVGStyledTransformableElementImpl::farthestViewportElement):
        (SVGStyledTransformableElementImpl::getBBox):
        (SVGStyledTransformableElementImpl::getTransformToElement):
        (SVGStyledTransformableElementImpl::attach):
        * ksvg2/svg/SVGStyledTransformableElementImpl.h: Added.
        (KSVG::SVGStyledTransformableElementImpl::isStyledTransformable):
        * ksvg2/svg/SVGSwitchElementImpl.cpp:
        (SVGSwitchElementImpl::SVGSwitchElementImpl):
        (SVGSwitchElementImpl::allowAttachChildren):
        (SVGSwitchElementImpl::createRenderer):
        * ksvg2/svg/SVGSwitchElementImpl.h:
        (KSVG::SVGSwitchElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGSymbolElementImpl.cpp:
        (SVGSymbolElementImpl::SVGSymbolElementImpl):
        (SVGSymbolElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGSymbolElementImpl.h:
        * ksvg2/svg/SVGTSpanElementImpl.cpp:
        (SVGTSpanElementImpl::SVGTSpanElementImpl):
        * ksvg2/svg/SVGTSpanElementImpl.h:
        * ksvg2/svg/SVGTestsImpl.cpp:
        (SVGTestsImpl::isValid):
        (SVGTestsImpl::parseMappedAttribute):
        * ksvg2/svg/SVGTestsImpl.h:
        * ksvg2/svg/SVGTextContentElementImpl.cpp:
        (SVGTextContentElementImpl::SVGTextContentElementImpl):
        (SVGTextContentElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGTextContentElementImpl.h:
        * ksvg2/svg/SVGTextElementImpl.cpp:
        (SVGTextElementImpl::SVGTextElementImpl):
        (SVGTextElementImpl::parseMappedAttribute):
        (SVGTextElementImpl::nearestViewportElement):
        (SVGTextElementImpl::farthestViewportElement):
        (SVGTextElementImpl::getBBox):
        (SVGTextElementImpl::getScreenCTM):
        (SVGTextElementImpl::getCTM):
        * ksvg2/svg/SVGTextElementImpl.h:
        (KSVG::SVGTextElementImpl::getTransformToElement):
        (KSVG::SVGTextElementImpl::transform):
        (KSVG::SVGTextElementImpl::localMatrix):
        (KSVG::SVGTextElementImpl::updateLocalTransform):
        * ksvg2/svg/SVGTextPositioningElementImpl.cpp:
        (SVGTextPositioningElementImpl::SVGTextPositioningElementImpl):
        (SVGTextPositioningElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGTextPositioningElementImpl.h:
        * ksvg2/svg/SVGTitleElementImpl.cpp:
        (SVGTitleElementImpl::SVGTitleElementImpl):
        (SVGTitleElementImpl::title):
        * ksvg2/svg/SVGTitleElementImpl.h:
        * ksvg2/svg/SVGTransformImpl.cpp:
        (SVGTransformImpl::setMatrix):
        * ksvg2/svg/SVGTransformableImpl.cpp:
        (SVGTransformableImpl::SVGTransformableImpl):
        (SVGTransformableImpl::~SVGTransformableImpl):
        (SVGTransformableImpl::parseTransformAttribute):
        * ksvg2/svg/SVGTransformableImpl.h:
        * ksvg2/svg/SVGURIReferenceImpl.cpp:
        (SVGURIReferenceImpl::href):
        (SVGURIReferenceImpl::parseMappedAttribute):
        * ksvg2/svg/SVGURIReferenceImpl.h:
        * ksvg2/svg/SVGUseElementImpl.cpp:
        (SVGUseElementImpl::SVGUseElementImpl):
        (SVGUseElementImpl::parseMappedAttribute):
        (SVGUseElementImpl::closeRenderer):
        (SVGUseElementImpl::createRenderer):
        * ksvg2/svg/SVGUseElementImpl.h:
        (KSVG::SVGUseElementImpl::rendererIsNeeded):
        * ksvg2/svg/SVGViewElementImpl.cpp:
        (SVGViewElementImpl::SVGViewElementImpl):
        (SVGViewElementImpl::parseMappedAttribute):
        * ksvg2/svg/SVGViewElementImpl.h:
        * ksvg2/svg/SVGZoomAndPanImpl.cpp:
        (SVGZoomAndPanImpl::parseMappedAttribute):
        * ksvg2/svg/SVGZoomAndPanImpl.h:

2005-11-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        The first part of the big KDOM-DOM merger.
        This section covers the additions necessary to the khtml/kwq side
        in order to support ksvg2 on top of WebCore's DOM.  All changes
        are enclosed within SVG_SUPPORT blocks for easy disabling.
        http://bugs.webkit.org/show_bug.cgi?id=3249

        * ForwardingHeaders/ksvg2/KSVGPart.h: to KDOMHeaders.h
        * ForwardingHeaders/ksvg2/KSVGView.h: to KDOMHeaders.h
        * WebCore-svg.exp: removed Draw* symbols
        * WebCorePrefix.h: map KDOM to DOM
        * khtml/css/css_valueimpl.h:
        (DOM::CSSValueImpl::cssValueType): defaults to CSS_CUSTOM
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue): calls parseSVGValue as necessary
        (DOM::CSSParser::lex):
        * khtml/css/cssparser.h:
        * khtml/css/cssstyleselector.cpp: svg specific support
        (khtml::CSSStyleSelector::loadDefaultStyle): loads svg UA sheet
        (khtml::CSSStyleSelector::applyProperty): calls applySVGProperty
        * khtml/css/cssstyleselector.h:
        * khtml/css/parser.y: calls KSVG::get(Property|Value)ID
        * khtml/ecma/domparser.cpp:
        (KJS::DOMParserProtoFunc::callAsFunction): use isXMLMIMEType
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMDocument::getValueProperty): impl -> implementation
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::getValueProperty): use isXMLMIMEType
        * khtml/html/html_documentimpl.cpp: remove referrer
        * khtml/html/html_documentimpl.h: remove referrer
        * khtml/khtml_part.cpp:
        (KHTMLPart::init):
        (KHTMLPart::begin):
        * khtml/khtml_part.h:
        * khtml/rendering/render_canvas.cpp: m_renderingDevice && m_registry support.
        (RenderCanvas::RenderCanvas): 
        (RenderCanvas::~RenderCanvas):
        (RenderCanvas::renderingDevice): new method for svg
        (RenderCanvas::registry): new method for svg
        * khtml/rendering/render_canvas.h:
        * khtml/rendering/render_container.h: private -> protected (child manipulation)
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::isKCanvasContainer): new for svg
        (khtml::RenderObject::isRenderPath): new for svg
        (khtml::RenderObject::bbox): new for svg
        * khtml/rendering/render_style.cpp: svg support
        (m_affectedByAttributeSelectors):
        (RenderStyle::RenderStyle):
        (RenderStyle::inheritFrom):
        (RenderStyle::operator==):
        (RenderStyle::contentDataEquivalent):
        * khtml/rendering/render_style.h: add m_svgStyle
        (khtml::RenderStyle::svgStyle):
        * khtml/xml/EventNames.h: add zoom event
        * khtml/xml/dom_docimpl.cpp: add referrer
        (DOMImplementationImpl::hasFeature): made const
        (DOMImplementationImpl::createDocument):
        (DOMImplementationImpl::isXMLMIMEType): new function
        (DocumentImpl::implementation): renamed function
        (DocumentImpl::createElementNS): svg support
        (DocumentImpl::recalcStyleSelector): svg <style> support
        (DocumentImpl::createEvent): SVGEvent support
        (DocumentImpl::referrer): moved from HTMLDocument
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentTypeImpl::implementation): renamed function
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::hasAttribute): convenience function
        (ElementImpl::rendererIsNeeded): disable renderers for unknown elements in svg
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::createRendererIfNeeded): null check on returned rederer
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::isSVGElement): added for svg
        * khtml/xml/dom_stringimpl.cpp:
        (DOM::DOMStringImpl::DOMStringImpl): init from QString
        * khtml/xml/dom_stringimpl.h:
        * khtml/xml/dom_textimpl.cpp:
        (TextImpl::rendererIsNeeded): don't create RenderText in SVG trees
        * khtml/xsl/xslt_processorimpl.cpp: 
        (DOM::XSLTProcessorImpl::createDocumentFromSource): impl -> implementation
        * kwq/DOM.mm:
        (-[DOMDocument implementation]): impl -> implementation
        * kwq/KWQRenderTreeDebug.cpp:
        (write): dispatch to kcanvas write functions
        (externalRepresentation): dump registry
        * kwq/KWQRenderTreeDebug.h: export write function for kcanvas to use

2005-11-20  eseidel  <eseidel@apple.com>

        Reviewed by mjs.

        Remove #if !APPLE_CHANGES and #if 0 blocks.  No functional changes.
        http://bugs.webkit.org/show_bug.cgi?id=5711

        * khtml/css/css_computedstyle.cpp:
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSMutableStyleDeclarationImpl::setProperty):
        (DOM::CSSPrimitiveValueImpl::computeLength):
        (DOM::CSSPrimitiveValueImpl::computeLengthFloat):
        (DOM::CSSPrimitiveValueImpl::cssText):
        (DOM::FontFamilyValueImpl::FontFamilyValueImpl):
        * khtml/css/css_valueimpl.h:
        * khtml/css/cssparser.cpp:
        (qFatal):
        (CSSParser::parseValue):
        (CSSParser::parseDashboardRegions):
        * khtml/css/cssstyleselector.cpp:
        (khtml::):
        (khtml::colorForCSSValue):
        (khtml::CSSStyleSelector::applyDeclarations):
        (khtml::CSSStyleSelector::applyProperty):
        (khtml::CSSStyleSelector::checkForTextSizeAdjust):
        * khtml/css/cssstyleselector.h:
        * khtml/dom/dom_node.h:
        * khtml/ecma/kjs_binding.cpp:
        * khtml/ecma/kjs_binding.h:
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMStyleSheetList::getOwnPropertySlot):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        (KJS::NodeConstructor::getValueProperty):
        (KJS::DOMExceptionConstructor::getValueProperty):
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::getOwnPropertySlot):
        (KJS::KJS::HTMLElementFunction::callAsFunction):
        (KJS::KJS::HTMLElement::put):
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Navigator::getValueProperty):
        (KJS::PluginBase::refresh):
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::evaluate):
        (KJSProxyImpl::initScript):
        * khtml/ecma/kjs_window.cpp:
        (KJS::allowPopUp):
        (KJS::Window::getValueProperty):
        (KJS::Window::put):
        (KJS::Window::resumeTimeouts):
        (KJS::Window::scheduleClose):
        (KJS::Window::isSafeScript):
        (KJS::WindowFunc::callAsFunction):
        (KJS::WindowQObject::hasTimeouts):
        (KJS::Location::put):
        (KJS::LocationFunc::callAsFunction):
        (KJS::BarInfo::getValueProperty):
        * khtml/ecma/kjs_window.h:
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequestQObject::slotData):
        (KJS::XMLHttpRequest::send):
        (KJS::XMLHttpRequest::processSyncLoadResults):
        (KJS::XMLHttpRequest::slotData):
        * khtml/ecma/xmlhttprequest.h:
        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::debugPosition):
        * khtml/editing/append_node_command.cpp:
        * khtml/editing/apply_style_command.cpp:
        * khtml/editing/break_blockquote_command.cpp:
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/delete_from_text_node_command.cpp:
        * khtml/editing/delete_selection_command.cpp:
        * khtml/editing/edit_command.cpp:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/insert_into_text_node_command.cpp:
        * khtml/editing/insert_line_break_command.cpp:
        * khtml/editing/insert_node_before_command.cpp:
        * khtml/editing/insert_paragraph_separator_command.cpp:
        * khtml/editing/insert_text_command.cpp:
        * khtml/editing/join_text_nodes_command.cpp:
        * khtml/editing/jsediting.cpp:
        * khtml/editing/markup.cpp:
        * khtml/editing/merge_identical_elements_command.cpp:
        * khtml/editing/move_selection_command.cpp:
        * khtml/editing/rebalance_whitespace_command.cpp:
        * khtml/editing/remove_css_property_command.cpp:
        * khtml/editing/remove_node_attribute_command.cpp:
        * khtml/editing/remove_node_command.cpp:
        * khtml/editing/remove_node_preserving_children_command.cpp:
        * khtml/editing/replace_selection_command.cpp:
        * khtml/editing/set_node_attribute_command.cpp:
        * khtml/editing/split_element_command.cpp:
        * khtml/editing/split_text_node_command.cpp:
        * khtml/editing/split_text_node_containing_element.cpp:
        * khtml/editing/typing_command.cpp:
        * khtml/editing/visible_position.cpp:
        * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
        * khtml/html/html_documentimpl.cpp:
        (DOM::HTMLDocumentImpl::referrer):
        (DOM::HTMLDocumentImpl::cookie):
        (DOM::HTMLDocumentImpl::setCookie):
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::attach):
        (DOM::HTMLFormElementImpl::formData):
        (DOM::HTMLFormElementImpl::submit):
        (DOM::HTMLFormElementImpl::parseMappedAttribute):
        (DOM::HTMLGenericFormElementImpl::isMouseFocusable):
        (DOM::HTMLGenericFormElementImpl::defaultEventHandler):
        (DOM::HTMLInputElementImpl::setInputType):
        (DOM::HTMLInputElementImpl::type):
        (DOM::HTMLInputElementImpl::canHaveSelection):
        (DOM::HTMLInputElementImpl::selectionStart):
        (DOM::HTMLInputElementImpl::selectionEnd):
        (DOM::HTMLInputElementImpl::setSelectionStart):
        (DOM::HTMLInputElementImpl::setSelectionEnd):
        (DOM::HTMLInputElementImpl::select):
        (DOM::HTMLInputElementImpl::setSelectionRange):
        (DOM::HTMLInputElementImpl::click):
        (DOM::HTMLInputElementImpl::accessKeyAction):
        (DOM::HTMLInputElementImpl::rendererIsNeeded):
        (DOM::HTMLInputElementImpl::createRenderer):
        (DOM::HTMLInputElementImpl::attach):
        (DOM::HTMLInputElementImpl::altText):
        (DOM::HTMLInputElementImpl::appendFormData):
        (DOM::HTMLInputElementImpl::valueWithDefault):
        (DOM::HTMLInputElementImpl::storesValueSeparateFromAttribute):
        (DOM::HTMLInputElementImpl::defaultEventHandler):
        (DOM::HTMLSelectElementImpl::state):
        (DOM::HTMLSelectElementImpl::restoreState):
        (DOM::HTMLKeygenElementImpl::appendFormData):
        * khtml/html/html_formimpl.h:
        (DOM::HTMLInputElementImpl::):
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageLoader::updateFromElement):
        (HTMLImageElementImpl::parseMappedAttribute):
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::isMouseFocusable):
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLAppletElementImpl::getMember):
        (DOM::HTMLAppletElementImpl::callMember):
        (DOM::HTMLAppletElementImpl::allParamsAvailable):
        (DOM::HTMLEmbedElementImpl::getEmbedInstance):
        (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
        (DOM::HTMLObjectElementImpl::getObjectInstance):
        (DOM::HTMLObjectElementImpl::rendererIsNeeded):
        * khtml/html/html_objectimpl.h:
        (DOM::HTMLObjectElementImpl::isDocNamedItem):
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::HTMLTableElementImpl):
        (DOM::HTMLTableElementImpl::parseMappedAttribute):
        * khtml/html/htmlparser.cpp:
        (HTMLParser::handleIsindex):
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::scriptExecution):
        * khtml/html/htmltokenizer.h:
        * khtml/khtml_part.cpp:
        (KHTMLPart::KHTMLPart):
        (KHTMLPart::init):
        (KHTMLPart::~KHTMLPart):
        (KHTMLPart::restoreURL):
        (KHTMLPart::didOpenURL):
        (KHTMLPart::stopLoading):
        (KHTMLPart::createJavaContext):
        (KHTMLPart::setAutoloadImages):
        (KHTMLPart::clear):
        (KHTMLPart::receivedFirstData):
        (KHTMLPart::slotFinished):
        (KHTMLPart::childBegin):
        (KHTMLPart::begin):
        (KHTMLPart::write):
        (KHTMLPart::gotoAnchor):
        (KHTMLPart::slotLoaderRequestStarted):
        (KHTMLPart::slotLoaderRequestDone):
        (KHTMLPart::checkCompleted):
        (KHTMLPart::completeURL):
        (KHTMLPart::scheduleHistoryNavigation):
        (KHTMLPart::urlCursor):
        (KHTMLPart::text):
        (KHTMLPart::selectedText):
        (KHTMLPart::hasSelection):
        (KHTMLPart::setSelection):
        (KHTMLPart::urlSelected):
        (KHTMLPart::requestFrameName):
        (KHTMLPart::requestObject):
        (KHTMLPart::processObjectRequest):
        (KHTMLPart::submitForm):
        (KHTMLPart::slotChildStarted):
        (KHTMLPart::slotChildCompleted):
        (KHTMLPart::childFrame):
        (KHTMLPart::findFrame):
        (KHTMLPart::frameExists):
        (KHTMLPart::parentPart):
        (KHTMLPart::emitSelectionChanged):
        (KHTMLPart::setZoomFactor):
        (KHTMLPart::reparseConfiguration):
        (KHTMLPart::khtmlMousePressEvent):
        (KHTMLPart::khtmlMouseMoveEvent):
        (KHTMLPart::startAutoScroll):
        (KHTMLPart::stopAutoScroll):
        (KHTMLPart::shouldChangeSelection):
        (KHTMLPart::appliedEditing):
        (KHTMLPart::unappliedEditing):
        (KHTMLPart::reappliedEditing):
        (KHTMLPart::copyToPasteboard):
        (KHTMLPart::cutToPasteboard):
        (KHTMLPart::pasteFromPasteboard):
        (KHTMLPart::pasteAndMatchStyle):
        (KHTMLPart::transpose):
        (KHTMLPart::redo):
        (KHTMLPart::undo):
        * khtml/khtml_part.h:
        (KHTMLPart::didFirstLayout):
        * khtml/khtmlpart_p.h:
        (KHTMLPartPrivate::KHTMLPartPrivate):
        (KHTMLPartPrivate::~KHTMLPartPrivate):
        * khtml/khtmlview.cpp:
        (KHTMLViewPrivate::KHTMLViewPrivate):
        (KHTMLViewPrivate::~KHTMLViewPrivate):
        (KHTMLViewPrivate::reset):
        (KHTMLView::KHTMLView):
        (KHTMLView::~KHTMLView):
        (KHTMLView::resetScrollBars):
        (KHTMLView::init):
        (KHTMLView::clear):
        (KHTMLView::resizeEvent):
        (KHTMLView::initScrollBars):
        (KHTMLView::layout):
        (KHTMLView::updateDashboardRegions):
        (KHTMLView::viewportMousePressEvent):
        (KHTMLView::viewportMouseDoubleClickEvent):
        (KHTMLView::viewportMouseMoveEvent):
        (KHTMLView::viewportMouseReleaseEvent):
        (KHTMLView::keyPressEvent):
        (KHTMLView::contentsContextMenuEvent):
        (KHTMLView::dispatchDragEvent):
        (KHTMLView::focusNextPrevNode):
        (KHTMLView::mediaType):
        (KHTMLView::setScrollBarsMode):
        (KHTMLView::restoreScrollBar):
        (KHTMLView::viewportWheelEvent):
        * khtml/khtmlview.h:
        * khtml/misc/decoder.cpp:
        (Decoder::setEncoding):
        (Decoder::decode):
        (Decoder::flush):
        * khtml/misc/decoder.h:
        * khtml/misc/helper.cpp:
        (khtml::findWordBoundary):
        (khtml::nextWordFromIndex):
        (khtml::findSentenceBoundary):
        (khtml::nextSentenceFromIndex):
        * khtml/misc/helper.h:
        * khtml/misc/loader.cpp:
        (CachedObject::~CachedObject):
        (CachedImageCallback::clear):
        (CachedImage::CachedImage):
        (CachedImage::tiled_pixmap):
        (CachedImage::pixmap):
        (CachedImage::setShowAnimations):
        (CachedImage::clear):
        (CachedImage::data):
        (CachedImage::error):
        (DocLoader::DocLoader):
        (DocLoader::requestImage):
        (DocLoader::requestStyleSheet):
        (DocLoader::requestScript):
        (DocLoader::requestXSLStyleSheet):
        (DocLoader::requestXBLDocument):
        (Loader::Loader):
        (Loader::~Loader):
        (Loader::servePendingRequests):
        (Loader::slotFinished):
        (Loader::slotData):
        (Loader::numRequests):
        (Loader::cancelRequests):
        (Loader::removeBackgroundDecodingRequest):
        (Cache::init):
        (Cache::requestImage):
        (Cache::requestStyleSheet):
        (Cache::requestScript):
        (Cache::requestXSLStyleSheet):
        (Cache::requestXBLDocument):
        * khtml/misc/loader.h:
        (khtml::CachedObject::CachedObject):
        * khtml/misc/stringit.h:
        (khtml::TokenizerSubstring::TokenizerSubstring):
        * khtml/rendering/render_applet.cpp:
        (RenderApplet::RenderApplet):
        (RenderApplet::layout):
        (RenderEmptyApplet::RenderEmptyApplet):
        (RenderEmptyApplet::layout):
        * khtml/rendering/render_applet.h:
        * khtml/rendering/render_canvas.cpp:
        (RenderCanvas::setBestTruncatedAt):
        * khtml/rendering/render_canvas.h:
        (khtml::RenderCanvas::printImages):
        * khtml/rendering/render_container.cpp:
        (RenderContainer::addChild):
        (RenderContainer::removeChildNode):
        (RenderContainer::appendChildNode):
        (RenderContainer::insertChildNode):
        * khtml/rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::layoutVerticalBox):
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::paintLines):
        (RenderFlow::paintFocusRing):
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_form.cpp:
        (RenderFormElement::baselinePosition):
        (RenderFormElement::setStyle):
        (RenderFormElement::updateFromElement):
        (RenderFormElement::layout):
        (RenderLineEdit::RenderLineEdit):
        (RenderLineEdit::slotReturnPressed):
        (RenderLineEdit::addSearchResult):
        (RenderLineEdit::calcMinMaxWidth):
        (RenderLineEdit::setStyle):
        (RenderLineEdit::updateFromElement):
        (RenderFileButton::RenderFileButton):
        (RenderFileButton::calcMinMaxWidth):
        (RenderFileButton::slotClicked):
        (RenderFileButton::updateFromElement):
        (RenderFileButton::select):
        (ComboBoxWidget::event):
        (ComboBoxWidget::eventFilter):
        (RenderSelect::updateFromElement):
        (RenderSelect::layout):
        (RenderTextArea::RenderTextArea):
        (RenderTextArea::calcMinMaxWidth):
        (RenderTextArea::setStyle):
        (RenderTextArea::updateFromElement):
        (RenderTextArea::text):
        (RenderTextArea::selectionStart):
        (RenderTextArea::selectionEnd):
        (RenderTextArea::setSelectionStart):
        (RenderTextArea::setSelectionEnd):
        (RenderTextArea::setSelectionRange):
        * khtml/rendering/render_form.h:
        (khtml::RenderFormElement::intrinsicMargin):
        (khtml::RenderLineEdit::canHaveIntrinsicMargins):
        (khtml::RenderSelect::canHaveIntrinsicMargins):
        (khtml::RenderTextArea::canHaveIntrinsicMargins):
        * khtml/rendering/render_frames.cpp:
        (RenderFrameSet::userResize):
        (RenderFrame::slotViewCleared):
        (RenderPartObject::layout):
        (RenderPartObject::slotViewCleared):
        * khtml/rendering/render_image.cpp:
        (RenderImage::setPixmap):
        (RenderImage::resetAnimation):
        (RenderImage::paint):
        (RenderImage::layout):
        * khtml/rendering/render_image.h:
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::scrollToOffset):
        (khtml::RenderLayer::updateScrollInfoAfterLayout):
        (khtml::RenderLayer::paintScrollbars):
        (khtml::setClip):
        (khtml::RenderLayer::paintLayer):
        (khtml::RenderLayer::hitTest):
        * khtml/rendering/render_layer.h:
        * khtml/rendering/render_line.cpp:
        (khtml::InlineFlowBox::paintDecorations):
        * khtml/rendering/render_list.cpp:
        (RenderListMarker::paint):
        * khtml/rendering/render_list.h:
        (khtml::RenderListItem::markerStringValue):
        * khtml/rendering/render_object.cpp:
        (RenderObject::addFocusRingRects):
        (RenderObject::paintOutline):
        (RenderObject::setStyle):
        (RenderObject::removeFromObjectLists):
        (RenderObject::remove):
        (RenderObject::backslashAsCurrencySymbol):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::resizeWidget):
        (RenderWidget::sendConsumedMouseUp):
        (RenderWidget::setStyle):
        * khtml/rendering/render_replaced.h:
        * khtml/rendering/render_style.cpp:
        (StyleVisualData::StyleVisualData):
        (StyleCSS3NonInheritedData::operator==):
        (textSizeAdjust):
        (StyleCSS3InheritedData):
        (StyleCSS3InheritedData::operator==):
        (RenderStyle::diff):
        * khtml/rendering/render_style.h:
        (khtml::StyleVisualData::operator==):
        (khtml::RenderStyle::textSizeAdjust):
        (khtml::RenderStyle::setDashboardRegion):
        (khtml::RenderStyle::setTextSizeAdjust):
        * khtml/rendering/render_text.h:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::~DocumentImpl):
        (DocumentImpl::updateTitle):
        (DocumentImpl::recalcStyle):
        (DocumentImpl::updateRendering):
        (DocumentImpl::attach):
        (DocumentImpl::detach):
        (DocumentImpl::getAccObjectCache):
        (DocumentImpl::updateSelection):
        (DocumentImpl::implicitClose):
        (DocumentImpl::processHttpEquiv):
        (DocumentImpl::updateStyleSelector):
        (DocumentImpl::setFocusNode):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::recalcStyle):
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dispatchKeyEvent):
        (DOM::NodeImpl::createRendererIfNeeded):
        * khtml/xml/dom_position.cpp:
        * khtml/xml/dom_textimpl.h:
        * khtml/xml/dom_xmlimpl.h:
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::Tokenizer::Tokenizer):
        (khtml::Tokenizer::finishedParsing):
        (khtml::XMLTokenizer::error):
        * khtml/xml/xml_tokenizer.h:

2005-11-20  Eric Seidel  <eseidel@apple.com>

        No review, rollout only.

       	Rolling out the getMatchedCSSRules change, as it caused
        many layout tests to crash on TOT:
        http://bugs.webkit.org/show_bug.cgi?id=5777

        * khtml/css/cssparser.cpp:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::matchRules):
        (khtml::CSSStyleSelector::matchRulesForList):
        (khtml::CSSStyleSelector::initForStyleResolve):
        * khtml/css/cssstyleselector.h:
        * khtml/css/parser.y:
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        * khtml/ecma/kjs_views.h:
        (KJS::DOMAbstractView::):
        * khtml/xml/dom2_viewsimpl.cpp:
        (DOM::AbstractViewImpl::getComputedStyle):
        * khtml/xml/dom2_viewsimpl.h:
        * kwq/DOM-CSS.mm:
        * kwq/DOMCSS.h:

2005-11-18  David Harrison  <harrison@apple.com>

        Reviewed by Tim Hatcher.

        http://bugs.webkit.org/show_bug.cgi?id=5774
        Failed assertion `!eventDispatchForbidden()' in dom_nodeimpl.cpp:892
        
        Tests added: None, because it keeps some existing ones from crashing.
        
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::ContainerNodeImpl::insertBefore):
        (DOM::ContainerNodeImpl::replaceChild):
        (DOM::ContainerNodeImpl::removeChild):
        (DOM::ContainerNodeImpl::appendChild):
        (DOM::ContainerNodeImpl::addChild):
        Call enableEventDispatch() sooner, when basic dom mods are done.

2005-11-18  Vicki Murley  <vicki@apple.com>

        Changes by Darin, reviewed by Beth and Vicki.

        - fix <rdar://problem/3939265> support "before unload" event and onbeforeunload handler (supported by both IE and Mozilla)

        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        (KJS::Window::put):
        * khtml/ecma/kjs_window.h:
        (KJS::Window::):
        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::parseMappedAttribute):
        (HTMLFrameElementImpl::parseMappedAttribute):
        (HTMLFrameSetElementImpl::parseMappedAttribute):
        * khtml/html/htmlnames.h:
        * khtml/xml/EventNames.h:
        * khtml/xml/dom2_eventsimpl.cpp:
        (DOM::EventImpl::storesResultAsString):
        (DOM::EventImpl::storeResult):
        (DOM::BeforeUnloadEventImpl::BeforeUnloadEventImpl):
        (DOM::BeforeUnloadEventImpl::storesResultAsString):
        (DOM::BeforeUnloadEventImpl::storeResult):
        * khtml/xml/dom2_eventsimpl.h:
        (DOM::BeforeUnloadEventImpl::result):
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::shouldClose):
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge shouldClose]):

2005-11-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

	This is an additional fix for <rdar://problem/3871165> text box 
	in nested table disappears when you click on it (3452) (Safari 
	PSOFT: US EDU PS8: Lead List searches). The test case I used 
	previously did not cover the case where one cell has both a
	rowspan and a colspan and other cells later have rowspan and
	colspan from two different cells overlapping.

        One manual test case added.

        * khtml/rendering/render_table.cpp: Remove check for inColSpan
        (RenderTableSection::addCell):

2005-11-18  David Harrison  <harrison@apple.com>

        <http://bugs.webkit.org/show_bug.cgi?id=5629>
        REGRESSION: appendChild() does not remove nodes from source nodelist when inserting into destination

        Enable event dispatch when calling removeChild() in loops.   That it was
        disabled previously was wrong because the DOM is not fragile at that point.
        Makes the event dispatch forbiddance a debug-only check
                
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::createEvent):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dispatchEvent):
        (DOM::NodeImpl::dispatchGenericEvent):
        (DOM::NodeImpl::dispatchHTMLEvent):
        (DOM::NodeImpl::dispatchWindowEvent):
        (DOM::NodeImpl::dispatchMouseEvent):
        (DOM::NodeImpl::dispatchSimulatedMouseEvent):
        (DOM::NodeImpl::dispatchUIEvent):
        (DOM::NodeImpl::dispatchSubtreeModifiedEvent):
        (DOM::NodeImpl::dispatchKeyEvent):
        (DOM::NodeImpl::dispatchWheelEvent):
        (DOM::ContainerNodeImpl::insertBefore):
        (DOM::ContainerNodeImpl::replaceChild):
        (DOM::ContainerNodeImpl::removeChild):
        (DOM::ContainerNodeImpl::removeChildren):
        (DOM::ContainerNodeImpl::appendChild):
        (DOM::ContainerNodeImpl::addChild):
        (DOM::ContainerNodeImpl::dispatchChildInsertedEvents):

2005-11-17  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt and Eric.

        This patch does not fix any bugs or change any behavior. It is
	just a clean-up of the style in render_table.cpp and render_table.h
	A lot of spacing fixes, tabbing fixes, changing some while-loops 
	that are really for-loops into for-loops.

	No layout test needed as it does not change any behavior.

        * khtml/rendering/render_table.cpp:
        (RenderTable::RenderTable):
        (RenderTable::setStyle):
        (RenderTable::addChild):
        (RenderTable::calcWidth):
        (RenderTable::layout):
        (RenderTable::setCellWidths):
        (RenderTable::paint):
        (RenderTable::calcMinMaxWidth):
        (RenderTable::splitColumn):
        (RenderTable::appendColumn):
        (RenderTable::colElement):
        (RenderTable::recalcSections):
        (RenderTable::removeChildNode):
        (RenderTable::cellAbove):
        (RenderTable::cellBelow):
        (RenderTable::cellRight):
        (RenderTableSection::addChild):
        (RenderTableSection::ensureRows):
        (RenderTableSection::addCell):
        (RenderTableSection::setCellWidths):
        (RenderTableSection::calcRowHeight):
        (RenderTableSection::layoutRows):
        (RenderTableSection::paint):
        (RenderTableSection::recalcCells):
        (RenderTableSection::clearGrid):
        (RenderTableSection::removeChildNode):
        (RenderTableRow::destroy):
        (RenderTableRow::addChild):
        (RenderTableRow::removeChildNode):
        (RenderTableRow::layout):
        (RenderTableCell::setWidth):
        (RenderTableCell::baselinePosition):
        (RenderTableCell::setStyle):
        (RenderTableCell::collapsedLeftBorder):
        (RenderTableCell::collapsedRightBorder):
        (RenderTableCell::collapsedTopBorder):
        (RenderTableCell::collapsedBottomBorder):
        (RenderTableCell::borderLeft):
        (RenderTableCell::borderRight):
        (RenderTableCell::borderTop):
        (RenderTableCell::borderBottom):
        (outlineBox):
        (RenderTableCell::paint):
        (RenderTableCell::paintCollapsedBorder):
        (RenderTableCell::getAbsoluteRepaintRect):
        (RenderTableCell::paintBoxDecorations):
        (RenderTableCol::updateFromElement):
        (RenderTableCol::addChild):
        (RenderTableCol::dump):
        * khtml/rendering/render_table.h:
        (khtml::RenderTable::setCellPadding):
        (khtml::RenderTable::overflowHeight):
        (khtml::RenderTable::overflowWidth):
        (khtml::RenderTable::spanOfEffCol):
        (khtml::RenderTable::colToEffCol):
        (khtml::RenderTable::effColToCol):
        (khtml::RenderTable::bordersPaddingAndSpacing):
        (khtml::RenderTableRow::lineHeight):
        (khtml::RenderTableCell::setCellIndex):
        (khtml::RenderTableCol::lineHeight):

2005-11-17  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        - fix for <rdar://problem/4347856> Safari crash after browsing Fandango.

        When removeFormElement is getting called in a destructor, there may not be a document.
        So we don't need to worry about cleaning up the radio buttons in this case, not only to
        avoid the crash, but also because the document's destructor will clean that up.

        * khtml/html/html_formimpl.cpp: 
        (DOM::HTMLFormElementImpl::removeFormElement): Added nil check for document.

2005-11-17  David Hyatt  <hyatt@apple.com>

	Add support for getting a style property off of a DOMAttr.  This is an API that allows
	access to the style declaration for HTML presentational attributes like width and height.  This API exists only
	in Objective-C, since JS would have to make the declaration readonly before it could be safely
	returned.
	
        Reviewed by darin

        * khtml/xml/dom_elementimpl.h:
        (DOM::AttributeImpl::style):
        (DOM::AttrImpl::style):
        (DOM::MappedAttributeImpl::style):
        * kwq/DOM.mm:
        (-[DOMAttr style]):
        * kwq/DOMPrivate.h:

2005-11-17  David Hyatt  <hyatt@apple.com>

	Add support for getMatchedCSSRules, an API that can be used to
	inspect the set of rules that match on an element.  From Obj-C
	you see all rules (user agent, author, user).  From JS you just
	see author rules.
	
        Reviewed by darin

        * khtml/css/cssparser.cpp:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::matchRules):
        (khtml::CSSStyleSelector::matchRulesForList):
        (khtml::CSSStyleSelector::initForStyleResolve):
        (khtml::CSSStyleSelector::styleRulesForElement):
        (khtml::CSSStyleSelector::pseudoStyleRulesForElement):
        * khtml/css/cssstyleselector.h:
        * khtml/css/parser.y:
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
        * khtml/ecma/kjs_views.h:
        (KJS::DOMAbstractView::):
        * khtml/xml/dom2_viewsimpl.cpp:
        (DOM::AbstractViewImpl::getComputedStyle):
        (DOM::AbstractViewImpl::getMatchedCSSRules):
        * khtml/xml/dom2_viewsimpl.h:
        * kwq/DOM-CSS.mm:
        (-[DOMDocument getMatchedCSSRules::]):
        * kwq/DOMCSS.h:

2005-11-17  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin

       	Fix for <rdar://problem/3871165> text box in nested table 
	disappears when you click on it (3452) (Safari PSOFT: US 
	EDU PS8: Lead List searches)

	Table cells that are in an overlap of a rowspan and a colspan
	were not always being repainted correctly. This is because our
	previous implementation had no way for a cell to keep track of
	both its rowspan and its colspan. This patch maintains the old
	way of dealing with rowspan and introduces CellStruct for dealing
	with colspan. CellStruct is a structure that contains a 
	RenderTableCell and a boolean value that is true if the cell is in
	a colspan. 

        * khtml/rendering/render_table.cpp:
        (RenderTable::splitColumn): The section grid now returns a CellStruct.
        (RenderTable::appendColumn): Same as above, and cellAt() also returns
				a CellStruct and needs to be set appropriately.
        (RenderTable::cellAbove): cellAt() now returns a CellStruct. 
        (RenderTable::cellBelow): Same.
        (RenderTable::cellLeft): Same.
        (RenderTable::cellRight): Same.
        (RenderTableSection::ensureRows): Create empty CellStruct to fill the
				grid. 
        (RenderTableSection::addCell): cellAt() now returns a CellStruct. This 
				is also where the change in behavior is to fix 
				the bug. 
        (RenderTableSection::setCellWidths): cellAt() now returns a CellStruct.
        (RenderTableSection::calcRowHeight): Same.
        (RenderTableSection::layoutRows): Same.
        (RenderTableSection::paint): Same.
        (RenderTableSection::dump): Same.
        * khtml/rendering/render_table.h:
        (khtml::RenderTableSection::cellAt): Same.
        * khtml/rendering/table_layout.cpp:
        (AutoTableLayout::recalcColumn): Same.
        (AutoTableLayout::calcEffectiveWidth): Removed reference to 
				(RenderTableCell *)-1 because that is now 
				removed, and a cell will never be in a colspan
				in this function anyway. 
        (AutoTableLayout::insertSpanCell): Same.

2005-11-16  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <rdar://problem/4108909> Editing delegate gets extra webViewDidChangeSelection: notifications
        
        Editing operations used to set an empty selection on the part before 
        doing work.  Doing this 1) isn't necessary* 2) creates an extra didChangeSelection 
        notification (4108909) 3) produces a strange shouldChangeSelection call after the 
        editing operation is complete, i.e. "shouldChangeSelection from null to ...?"
        
        There are still strange shouldChangeSelection calls after this change. For example, 
        after a delete, the selection before the delete no longer exists, so it probably 
        doesn't make sense to ask the delegate if WebKit shouldChangeSelection.  This is filed 
        as 4343068.
        
        * This was added on 2004-09-28 in order to mark misspellings in the selection to
        be operated on (marking misspellings is a side effect of setting a selection).  
        Misspellings in the old selection are still marked, but not until after the operation 
        is complete.  Since some editing operations remove the selection from the document 
        (i.e. delete or undo-typing), respondToChangedSelection no longer assumes that the old 
        selection is in the document.
        
        Updated layout tests to reflect this change.
        
        * khtml/editing/edit_command.cpp:
        (khtml::EditCommand::EditCommand): Don't set the part's selection to empty before editing.
        (khtml::EditCommand::apply): Ditto.
        (khtml::EditCommand::unapply): Ditto.
        (khtml::EditCommand::reapply): Ditto.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::respondToChangedSelection): Don't assume that the old selection is still in the document.
        
2005-11-16  Adele Peterson  <adele@apple.com>

        Reviewed by Dave Harrson.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5759
        <rdar://problem/4346132> REGRESSION (10.4.3-10.4.4): horizontal link scrolling broken at aplacecalledcommon.co.uk (5759)

        * khtml/rendering/render_layer.cpp: (khtml::RenderLayer::getRectToExpose): If the rect is larger than the visible rect, and we're trying to align to the closest edge, align to the left edge.
        * khtml/xml/dom_nodeimpl.cpp: (DOM::ContainerNodeImpl::getRect): If width or height is negative, we were setting both to zero.
        Now we only set the negative value to zero without affecting the other value.

2005-11-14  Anders Carlsson  <andersca@mac.com>

        Reviewed by Eric.

        - fix <http://bugs.webkit.org/show_bug.cgi?id=5737>
        Implement DOM3 namespace functions.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.h:
        (KJS::DOMNode::):
        Add JavaScript wrappers for new Node namespace functions.

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::isDefaultNamespace):
        (DOM::NodeImpl::lookupPrefix):
        (DOM::NodeImpl::lookupNamespaceURI):
        (DOM::NodeImpl::lookupNamespacePrefix):
        (DOM::NodeImpl::getAncestorElement):
        Implement Node namespace functions.

        * khtml/xml/dom_nodeimpl.h:
        Add definitions for Node namespace functions.

        * kwq/DOM.mm:
        (-[DOMNode isDefaultNamespace:]):
        (-[DOMNode lookupPrefix:]):
        (-[DOMNode lookupNamespaceURI:]):
        Add objective C wrappers for new Node namespace functions.

2005-11-15  Vicki Murley  <vicki@apple.com>

        Reviewed by Tim O.
 
	Improve this loop.  We'd get an infinite loop in the old code if we came across a part with no renderer, such as a frame whose src is an image.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]):

2005-11-15  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - fix for <rdar://problem/4341948> REGRESSION(TOT/GLENDALE): Safari won't tab between input/textarea elements if a select element is present

        * kwq/KWQComboBox.mm: (-[KWQPopUpButton canBecomeKeyView]): removed check for tabsToAllControls() since we now always allow tabbing to select elements
        * kwq/KWQListBox.mm: (-[KWQTableView canBecomeKeyView]): ditto.

2005-11-15  Alexey Proskuryakov  <ap@nypop.com>
        
        <http://bugs.webkit.org/show_bug.cgi?id=5717>
        REGRESSION: [WebCoreBridge _visiblePositionForPoint:(0,x)] crashes
        
        Reviewed by justin

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge _visiblePositionForPoint:]): Early return if node found by hitTest is null.

2005-11-14  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej and Darin.

        - fix for <rdar://problem/4233938> calling focus on contentEditable block elements should scroll them into view
        - fix for <rdar://problem/3624946> No 'blur' method defined on editable non-form DOM objects

        Added
        * fast/dom/focus-contenteditable.html
        * fast/dom/blur-contenteditable.html

        * khtml/ecma/kjs_dom.cpp: Added ElementFocus and ElementBlur to DOMElementProtoTable
        (KJS::DOMElementProtoFunc::callAsFunction): Added cases for ElementFocus and ElementBlur
        * khtml/ecma/kjs_dom.h: (KJS::DOMElement::): Added ElementFocus and ElementBlur to enum
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::parseMappedAttribute): Added case for onblur.
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::focus): If the element isFocusable, calls setFocusNode to give element focus.
        (ElementImpl::blur): If the element is focused, calls setFocusNode to take away focus.
        * khtml/xml/dom_elementimpl.h: Added focus and blur functions
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::setFocusNode): If we're trying to take focus away from a node, then we should clear the selection before we fire events.
        If we don't, then efforts to focus the cursor during the event can reset focus on the old node.
        (DocumentImpl::clearSelectionIfNeeded): Added function since we need to clear the selection at multiple points.
        * khtml/xml/dom_docimpl.h: Added clearSelectionIfNeeded.
        * kwq/DOMExtensions.h: Added Obj-C bindings for focus and blur.
        * kwq/DOM.mm:
        (-[DOMElement focus]):
        (-[DOMElement blur]):

2005-11-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <rdar://problem/4180820> Erroneous spacing between lines introduced on paste
        
        Updated layout test results in editing/style
        Added layout test in editing/pasteboard

        * khtml/css/css_valueimpl.cpp:
        Fixed a comment.
        * khtml/editing/composite_edit_command.cpp:
        (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        Don't use clones of paragraphs already in the document to hold paragraph
        contents, since they are likely to introduce unwanted styles, just use
        a generic paragraph element.  It's less likely, but still possible that a generic
        paragraph element will have unwanted style, so we may want to eventually
        use class=Apple-style-block.

2005-11-11  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        <rdar://problem/4337532> Paragraph concatenation fails

        Updated editing/deleting tests to correctly check this behavior.

        * khtml/editing/delete_selection_command.cpp:
        (khtml::DeleteSelectionCommand::initializePositionData):
        Remove erroneous check for isStartOfParagraph(visibleEnd) when deciding whether to clear m_mergeBlocksAfterDelete.

2005-11-14  Anders Carlsson  <andersca@mac.com>

        * ChangeLog: Add bug numbers for recent fixes.

2005-11-13  Maciej Stachowiak  <mjs@apple.com>

        - fix Deployment build

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]):

2005-11-13  Vicki Murley  <vicki@apple.com>

        Reviewed by Adele.
 
	- fix <rdar://problem/4341389> crash in elementAtPoint code quitting Safari, and make this code slightly more readable

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]): add a nil check

2005-11-13  Vicki Murley  <vicki@apple.com>

        Reviewed by Maciej.

	- fix <rdar://problem/4316201> REGRESSION: cursor and text in status bar is not updated when mousing over links in a frame (5509)

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::passSubframeEventToSubframe): add a case to handle NSMouseMoved, to fix the problem with the hand cursor
        (KWQKHTMLPart::mouseMoved): return if we're already sending an event to the subview
	* kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementAtPoint:]): if we're over a frame, return the element within the frame, to fix the problem with
	status bar text

2005-11-13  Anders Carlsson  <andersca@mac.com>

        Reviewed by Eric.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::importNode):
        Use tagName() instead of localName() so the prefix will be preserved.

2005-11-13  Anders Carlsson  <andersca@mac.com>

        Reviewed by Eric.

        - fix for <http://bugs.webkit.org/show_bug.cgi?id=5728>
        createDocument should create a document element

        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createDocument):
        Make sure to create a document element.

2005-11-13  Anders Carlsson  <andersca@mac.com>

        Reviewed by Eric.

        - fix for <http://bugs.webkit.org/show_bug.cgi?id=5725>
        setAttributeNS with null namespace sets namespace to string containing 'null'

        * khtml/ecma/kjs_binding.cpp:
        (KJS::valueToStringWithNullCheck):
        * khtml/ecma/kjs_binding.h:
        Add function which converts a JavaScript value to a DOMString,
        converting the null value to a null DOMString.
		
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMElementProtoFunc::callAsFunction):
        Use valueToStringWithNullCheck in setAttributeNS and the textContent
        setter.

        * khtml/html/html_headimpl.cpp:
        (HTMLScriptElementImpl::insertedIntoDocument):
        Don't try to evaluate scripts for viewless documents.

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::isEqualNode):
        Get the attribute map from the correct element.

2005-11-11  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Unfortunately both the Render and DOM trees will actually preform
        the load on <embed> <object> and <iframe> tags depending on the
        circumstances.  The <iframe> code path was missing a recursion
        check in the render tree.  I fixed that.  And improved the
        recursion checking for all tags.
        <rdar://problem/4187169> High CPU usage/hang occurs with Safari after loading cbsnews.com (also at cbs.com)

        * khtml/rendering/render_frames.cpp:
        (isURLAllowed): added, to prevent recursive loops
        (mapClassIdToServiceType): added, to simplify code
        (RenderPartObject::updateWidget): updated, to use above functions.

2005-11-11  Tim Omernick  <timo@apple.com>

        Reviewed by Geoff.
	
	<rdar://problem/4202650> crash in QWidget::afterMouseDown selecting "Departure box"; http://www.funjet.com/ (works in Firefox)
	
	This crash was caused by a script which replaced the QWidget for a RenderSelect while the user was clicking on that widget.
	RenderSelect has the interesting property that it dynamically recreates its QWidget based on how many items there are and
	whether the select is "multiple".  Any script which caused a change to those attributes in mouseDown could have triggered
	this crash.
	
	The problem was simply that of a stale pointer; KWQTableView and KWQListBoxScrollView both kept a pointer to the associated
	QListBox, but only KWQTableView had any logic to clear the pointer when the QListBox was deallocated.  Instead of adding
	similar functionality to KWQTableViewListBox (thus duplicating code), I removed KWQTableViewListBox's "_box" pointer and
	changed its -widget method to get the widget via the KWQTableView.

        * kwq/KWQListBox.mm:
        (QListBox::QListBox):
        (-[KWQListBoxScrollView widget]):
	Instead of keeping a pointer to the QListBox, get the QListBox from the KWQTableView, which is always this
	view's documentView.
	(-[KWQListBoxScrollView initWithListBox:]):
	Removed this method, since we can get at the QListBox by simply asking the KWQTableView for it.
	
2005-11-11  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt.

	Fix for <rdar://problem/3952698> Function buttons do not display 
	properly with Telia Webmail (3488). 

	Replaced elements with a percentage width used to be given a minimum
	width of 0. This caused buttons etc with width:100% to overlap when
	they shouldn't. Textareas and text boxes are still given a minimum
	width of 0 because they need slightly different behavior to match 
	WinIE. I filed <rdar://problem/4339518> to track this remaining problem.

        * khtml/rendering/render_form.cpp:
        (RenderLineEdit::calcMinMaxWidth): Still give text fields a m_minWidth of 0.
        (RenderTextArea::calcMinMaxWidth): And textareas.
        * khtml/rendering/render_replaced.cpp:
        (RenderReplaced::calcMinMaxWidth): Remove the check for width().isPercent()
					when making m_minWidth 0.

2005-11-10  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/4327363> GAP: tabs not treated as whitespace in option element

        Added
        * fast/forms/option-strip-whitespace.html

        * khtml/rendering/render_form.cpp: (RenderSelect::updateFromElement): call simplifyWhiteSpace() on the itemText or label to collapse whitespace.

2005-11-10  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        -fixed <rdar://problem/4228997> selecting a new radio button does not automatically clear the previous selected (outside <form> element)

        Moved the radio button checking code to the document, since we shouldn't need a form to keep track of grouped radio buttons.

        Added 
        * fast/forms/radio_checked.html

        * khtml/xml/dom_docimpl.h: Added m_selectedRadioButtons (now a two level hash table to account for forms and group names),
        radioButtonChecked, checkedRadioButtonForGroup, and removeRadioButtonGroup
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl): initialize m_selectedRadioButtons
        (DocumentImpl::~DocumentImpl): delete m_selectedRadioButtons, and any of the inner hashtables if necessary
        (DocumentImpl::radioButtonChecked): moved from HTMLFormElementImpl.
        (DocumentImpl::checkedRadioButtonForGroup): ditto.
        (DocumentImpl::removeRadioButtonGroup): ditto.
        * khtml/html/html_formimpl.cpp: 
        (DOM::HTMLFormElementImpl::HTMLFormElementImpl): removed initialization of m_selectedRadioButtons.
        (DOM::HTMLFormElementImpl::~HTMLFormElementImpl): removed deletion of m_selectedRadioButtons.
        (DOM::HTMLFormElementImpl::removeFormElement): now calls document's radio button functions
        (DOM::HTMLInputElementImpl::isKeyboardFocusable): ditto.
        (DOM::HTMLInputElementImpl::setInputType): ditto.
        (DOM::HTMLInputElementImpl::parseMappedAttribute): ditto.
        (DOM::HTMLInputElementImpl::setChecked): ditto.
        (DOM::HTMLInputElementImpl::preDispatchEventHandler): ditto.
        * khtml/html/html_formimpl.h: removed m_selectedRadioButtons, radioButtonChecked, checkedRadioButtonForGroup, and removeRadioButtonGroup

2005-11-10  David Harrison  <harrison@apple.com>

        Reviewed by Tim Omernick.

        <rdar://problem/3766883> AX: Should be able to tell whether an AXLink has been visited to or not

        No test cases because this does not affect layout.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject accessibilityAttributeNames]):
        (-[KWQAccObject accessibilityAttributeValue:]):
        Added "AXVisited" attribute.

2005-11-10  Eric Seidel  <eseidel@apple.com>

        Reviewed by ggaren.

        * khtml/ecma/kjs_html.cpp:
        (KJS::Image::getValueProperty): resolve relative urls in Image::src
        http://bugs.webkit.org/show_bug.cgi?id=3473
        <rdar://problem/3787988> Preloaded Image objects .src field is not a fully resolved path (3473)

2005-11-09  David Hyatt  <hyatt@apple.com>

	Fix hit testing of relative positioned inline flows inside
	clipped overflow blocks so that they aren't mistakenly included
	in hit testing.

	The Radar bug for this is 4321425.
	
	Reviewed by Beth.

        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::containsPoint):
        
2005-11-09  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        <rdar://problem/4313925> Denver Regression: Mail: "TAB+paste+insert before" actually inserts after the pasted text

        - added tab span editing functions in composite_edit_command.cpp
        - called them from insertText, insertLineBreak, and replaceSelection commands
        - also exposed some handy tab span funcs from htmlediting.cpp

        Tests added in editing/insertion and editing/pasteboard.
        
        * khtml/editing/composite_edit_command.cpp:
        (khtml::CompositeEditCommand::positionOutsideTabSpan):
        (khtml::CompositeEditCommand::insertNodeAtTabSpanPosition):
        * khtml/editing/composite_edit_command.h:
        * khtml/editing/htmlediting.cpp:
        (khtml::positionBeforeNode):
        (khtml::positionAfterNode):
        (khtml::tabSpanNode):
        (khtml::positionBeforeTabSpan):
        * khtml/editing/htmlediting.h:
        * khtml/editing/insert_line_break_command.cpp:
        (khtml::InsertLineBreakCommand::doApply):
        * khtml/editing/insert_text_command.cpp:
        (khtml::InsertTextCommand::prepareForTextInsertion):
        * khtml/editing/replace_selection_command.cpp:
        (khtml::ReplaceSelectionCommand::doApply):

2005-11-08  Tim Omernick  <timo@apple.com>
	
	<http://bugs.webkit.org/show_bug.cgi?id=5665> (REGRESSION: Crash in deleteTimer)
	
	Rolled back Darin's timer changes from 2005-11-07, as they caused a couple of regressions.
	
2005-11-08  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        - fixed <rdar://problem/4333862> REGRESSION: Crash in new JavaScript timer implementation (5661)
        http://bugs.webkit.org/show_bug.cgi?id=5661

        * kwq/KWQObject.mm: (sendDeferredTimerEvents): Added nil check for timers.

2005-11-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric, Geoff and Darin.

	- fixed <rdar://problem/4118258> XML DOM trees freed prematurely unless reference held to document node (causes crash)

	I changed the design for how DOM nodes maintain their reference to
	the document. Instead of using DocumentPtr, an indirect reference
	which would go null in a clean way when the document is destroyed,
	they now have a different strategy.

	Nodes that belong to the document now hold a special kind of
	reference on the document - a "self only reference". When a
	document has no regular references but still has self-only
	references, it won't be destroyed, but it will drop all its
	children. This allows detached nodees to still have a valid
	document reference, but they won't keep the rest of the DOM alive
	or cause circular references.

        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::toRange):
        * khtml/editing/visible_position.cpp:
        (khtml::makeRange):
        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::range):
        (khtml::SimplifiedBackwardsTextIterator::range):
        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::HTMLBodyElementImpl):
        (HTMLFrameElementImpl::HTMLFrameElementImpl):
        (HTMLFrameSetElementImpl::HTMLFrameSetElementImpl):
        (HTMLHeadElementImpl::HTMLHeadElementImpl):
        (HTMLHtmlElementImpl::HTMLHtmlElementImpl):
        (HTMLIFrameElementImpl::HTMLIFrameElementImpl):
        * khtml/html/html_baseimpl.h:
        * khtml/html/html_blockimpl.cpp:
        (HTMLBlockquoteElementImpl::HTMLBlockquoteElementImpl):
        (HTMLDivElementImpl::HTMLDivElementImpl):
        (HTMLHRElementImpl::HTMLHRElementImpl):
        (HTMLHeadingElementImpl::HTMLHeadingElementImpl):
        (HTMLParagraphElementImpl::HTMLParagraphElementImpl):
        (HTMLPreElementImpl::HTMLPreElementImpl):
        (HTMLMarqueeElementImpl::HTMLMarqueeElementImpl):
        * khtml/html/html_blockimpl.h:
        * khtml/html/html_canvasimpl.cpp:
        (HTMLCanvasElementImpl::HTMLCanvasElementImpl):
        * khtml/html/html_canvasimpl.h:
        * khtml/html/html_documentimpl.cpp:
        (DOM::HTMLDocumentImpl::createTokenizer):
        (DOM::HTMLDocumentImpl::determineParseMode):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::HTMLElementImpl):
        (HTMLElementImpl::createContextualFragment):
        (HTMLElementImpl::setInnerText):
        (HTMLElementImpl::setOuterText):
        * khtml/html/html_elementimpl.h:
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::HTMLFormElementImpl):
        (DOM::HTMLGenericFormElementImpl::HTMLGenericFormElementImpl):
        (DOM::HTMLButtonElementImpl::HTMLButtonElementImpl):
        (DOM::HTMLFieldSetElementImpl::HTMLFieldSetElementImpl):
        (DOM::HTMLInputElementImpl::HTMLInputElementImpl):
        (DOM::HTMLLabelElementImpl::HTMLLabelElementImpl):
        (DOM::HTMLLegendElementImpl::HTMLLegendElementImpl):
        (DOM::HTMLSelectElementImpl::HTMLSelectElementImpl):
        (DOM::HTMLKeygenElementImpl::HTMLKeygenElementImpl):
        (DOM::HTMLOptGroupElementImpl::HTMLOptGroupElementImpl):
        (DOM::HTMLOptionElementImpl::HTMLOptionElementImpl):
        (DOM::HTMLOptionElementImpl::setText):
        (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl):
        (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_headimpl.cpp:
        (HTMLBaseElementImpl::HTMLBaseElementImpl):
        (HTMLLinkElementImpl::HTMLLinkElementImpl):
        (HTMLMetaElementImpl::HTMLMetaElementImpl):
        (HTMLScriptElementImpl::HTMLScriptElementImpl):
        (HTMLStyleElementImpl::HTMLStyleElementImpl):
        (HTMLTitleElementImpl::HTMLTitleElementImpl):
        * khtml/html/html_headimpl.h:
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::HTMLImageElementImpl):
        (HTMLMapElementImpl::HTMLMapElementImpl):
        (HTMLAreaElementImpl::HTMLAreaElementImpl):
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::HTMLAnchorElementImpl):
        (DOM::HTMLBRElementImpl::HTMLBRElementImpl):
        (DOM::HTMLFontElementImpl::HTMLFontElementImpl):
        (DOM::HTMLModElementImpl::HTMLModElementImpl):
        (DOM::HTMLQuoteElementImpl::HTMLQuoteElementImpl):
        * khtml/html/html_inlineimpl.h:
        * khtml/html/html_listimpl.h:
        (DOM::HTMLUListElementImpl::HTMLUListElementImpl):
        (DOM::HTMLDirectoryElementImpl::HTMLDirectoryElementImpl):
        (DOM::HTMLMenuElementImpl::HTMLMenuElementImpl):
        (DOM::HTMLOListElementImpl::HTMLOListElementImpl):
        (DOM::HTMLLIElementImpl::HTMLLIElementImpl):
        (DOM::HTMLDListElementImpl::HTMLDListElementImpl):
        * khtml/html/html_miscimpl.cpp:
        (DOM::HTMLBaseFontElementImpl::HTMLBaseFontElementImpl):
        * khtml/html/html_miscimpl.h:
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLAppletElementImpl::HTMLAppletElementImpl):
        (DOM::HTMLEmbedElementImpl::HTMLEmbedElementImpl):
        (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
        (DOM::HTMLParamElementImpl::HTMLParamElementImpl):
        * khtml/html/html_objectimpl.h:
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::HTMLTableElementImpl):
        (DOM::HTMLTableElementImpl::createTHead):
        (DOM::HTMLTableElementImpl::createTFoot):
        (DOM::HTMLTableElementImpl::createCaption):
        (DOM::HTMLTableElementImpl::insertRow):
        (DOM::HTMLTableSectionElementImpl::HTMLTableSectionElementImpl):
        (DOM::HTMLTableSectionElementImpl::insertRow):
        (DOM::HTMLTableRowElementImpl::insertCell):
        (DOM::HTMLTableCellElementImpl::HTMLTableCellElementImpl):
        (DOM::HTMLTableColElementImpl::HTMLTableColElementImpl):
        * khtml/html/html_tableimpl.h:
        (DOM::HTMLTablePartElementImpl::HTMLTablePartElementImpl):
        (DOM::HTMLTableRowElementImpl::HTMLTableRowElementImpl):
        (DOM::HTMLTableCaptionElementImpl::HTMLTableCaptionElementImpl):
        * khtml/html/htmlfactory.cpp:
        (DOM::htmlConstructor):
        (DOM::headConstructor):
        (DOM::bodyConstructor):
        (DOM::baseConstructor):
        (DOM::linkConstructor):
        (DOM::metaConstructor):
        (DOM::styleConstructor):
        (DOM::titleConstructor):
        (DOM::frameConstructor):
        (DOM::framesetConstructor):
        (DOM::iframeConstructor):
        (DOM::formConstructor):
        (DOM::buttonConstructor):
        (DOM::inputConstructor):
        (DOM::isindexConstructor):
        (DOM::fieldsetConstructor):
        (DOM::labelConstructor):
        (DOM::legendConstructor):
        (DOM::optgroupConstructor):
        (DOM::optionConstructor):
        (DOM::selectConstructor):
        (DOM::textareaConstructor):
        (DOM::dlConstructor):
        (DOM::ulConstructor):
        (DOM::olConstructor):
        (DOM::dirConstructor):
        (DOM::menuConstructor):
        (DOM::liConstructor):
        (DOM::blockquoteConstructor):
        (DOM::divConstructor):
        (DOM::headingConstructor):
        (DOM::hrConstructor):
        (DOM::paragraphConstructor):
        (DOM::preConstructor):
        (DOM::basefontConstructor):
        (DOM::fontConstructor):
        (DOM::modConstructor):
        (DOM::anchorConstructor):
        (DOM::imageConstructor):
        (DOM::mapConstructor):
        (DOM::areaConstructor):
        (DOM::canvasConstructor):
        (DOM::appletConstructor):
        (DOM::embedConstructor):
        (DOM::objectConstructor):
        (DOM::paramConstructor):
        (DOM::scriptConstructor):
        (DOM::tableConstructor):
        (DOM::tableCaptionConstructor):
        (DOM::tableColConstructor):
        (DOM::tableRowConstructor):
        (DOM::tableCellConstructor):
        (DOM::tableSectionConstructor):
        (DOM::brConstructor):
        (DOM::quoteConstructor):
        (DOM::marqueeConstructor):
        (DOM::HTMLElementFactory::createHTMLElement):
        * khtml/html/htmlparser.cpp:
        (HTMLParser::HTMLParser):
        (HTMLParser::~HTMLParser):
        * khtml/html/htmlparser.h:
        (HTMLParser::doc):
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::HTMLTokenizer):
        (khtml::HTMLTokenizer::parseTag):
        (khtml::parseHTMLDocumentFragment):
        * khtml/html/htmltokenizer.h:
        * khtml/misc/loader.h:
        * khtml/misc/shared.h:
        (khtml::TreeShared::~TreeShared):
        (khtml::TreeShared::destroy):
        (khtml::TreeShared::deref):
        * khtml/xbl/xbl_tokenizer.cpp:
        (XBL::XBLTokenHandler::XBLTokenHandler):
        * khtml/xbl/xbl_tokenizer.h:
        (XBL::):
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::RangeImpl::RangeImpl):
        (DOM::RangeImpl::setStart):
        (DOM::RangeImpl::setEnd):
        (DOM::RangeImpl::processContents):
        (DOM::RangeImpl::cloneRange):
        (DOM::RangeImpl::setStartAfter):
        (DOM::RangeImpl::setEndBefore):
        (DOM::RangeImpl::setEndAfter):
        (DOM::RangeImpl::setStartBefore):
        (DOM::rangeOfContents):
        * khtml/xml/dom2_rangeimpl.h:
        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createDocumentType):
        (DOMImplementationImpl::createDocument):
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::destroy):
        (DocumentImpl::~DocumentImpl):
        (DocumentImpl::createDocumentFragment):
        (DocumentImpl::createTextNode):
        (DocumentImpl::createComment):
        (DocumentImpl::createCDATASection):
        (DocumentImpl::createProcessingInstruction):
        (DocumentImpl::createEntityReference):
        (DocumentImpl::createEditingTextNode):
        (DocumentImpl::createElementNS):
        (DocumentImpl::setTitle):
        (DocumentImpl::removeTitle):
        (DocumentImpl::createRange):
        (DocumentImpl::createTokenizer):
        (DocumentImpl::implicitClose):
        (DocumentImpl::setHoverNode):
        (DocumentImpl::setActiveNode):
        (DocumentImpl::setFocusNode):
        (DocumentImpl::createAttributeNS):
        (DocumentFragmentImpl::DocumentFragmentImpl):
        (DocumentFragmentImpl::cloneNode):
        (DocumentTypeImpl::DocumentTypeImpl):
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentImpl::selfOnlyRef):
        (DOM::DocumentImpl::selfOnlyDeref):
        (DOM::DocumentImpl::focusNode):
        (DOM::DocumentImpl::hoverNode):
        (DOM::DocumentImpl::activeNode):
        * khtml/xml/dom_elementimpl.cpp:
        (AttributeImpl::allocateImpl):
        (AttrImpl::AttrImpl):
        (AttrImpl::cloneNode):
        (ElementImpl::ElementImpl):
        (StyledElementImpl::StyledElementImpl):
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::NodeImpl):
        (DOM::NodeImpl::setDocument):
        (DOM::NodeImpl::~NodeImpl):
        (DOM::NodeImpl::dispatchEvent):
        (DOM::NodeImpl::dispatchWindowEvent):
        (DOM::NodeImpl::dispatchMouseEvent):
        (DOM::NodeImpl::checkAddChild):
        (DOM::ContainerNodeImpl::ContainerNodeImpl):
        (DOM::ContainerNodeImpl::removeAllChildren):
        (DOM::ContainerNodeImpl::~ContainerNodeImpl):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::inDocument):
        (DOM::NodeImpl::getDocument):
        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::CharacterDataImpl):
        (CommentImpl::CommentImpl):
        (TextImpl::TextImpl):
        (TextImpl::createNew):
        (CDATASectionImpl::CDATASectionImpl):
        (CDATASectionImpl::createNew):
        (EditingTextImpl::EditingTextImpl):
        * khtml/xml/dom_textimpl.h:
        * khtml/xml/dom_xmlimpl.cpp:
        (DOM::EntityImpl::EntityImpl):
        (DOM::EntityReferenceImpl::EntityReferenceImpl):
        (DOM::EntityReferenceImpl::cloneNode):
        (DOM::NotationImpl::NotationImpl):
        (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
        (DOM::ProcessingInstructionImpl::cloneNode):
        * khtml/xml/dom_xmlimpl.h:
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::XMLTokenizer):
        (khtml::XMLTokenizer::startElementNs):
        (khtml::XMLTokenizer::enterText):
        (khtml::XMLTokenizer::processingInstruction):
        (khtml::XMLTokenizer::cdataBlock):
        (khtml::XMLTokenizer::comment):
        (khtml::XMLTokenizer::internalSubset):
        (khtml::XMLTokenizer::finish):
        (khtml::XMLTokenizer::insertErrorMessageBlock):
        (khtml::XMLTokenizer::executeScripts):
        (khtml::newXMLTokenizer):
        * khtml/xml/xml_tokenizer.h:
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::createFragmentFromSource):

2005-11-07  David Harrison  <harrison@apple.com>

        Reviewed by Justin and Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=3739
        Unreproducible - Assertion failure in isEqualIgnoringAffinity on double-click

        Test case added:
        * editing/inserting/doubleclick-crash.html
        
        * khtml/rendering/render_text.cpp:
        (RenderText::atLineWrap):
        New utility function.
        (RenderText::caretRect):
        Use atLineWrap.  Remove dead code.
        (RenderText::inlineBox):
        Use atLineWrap.
        * khtml/rendering/render_text.h:
        Add atLineWrap.

2005-11-07  David Hyatt  <hyatt@apple.com>

	Fix for sluggish loading of large pages due to excessive
	repaints.  Large pages still need a lot of work while
	loading, but this helps.
	
        Reviewed by darin

        * khtml/rendering/render_object.cpp:
        (RenderObject::mustRepaintBackgroundOrBorder):
        (RenderObject::repaintAfterLayoutIfNeeded):
        * khtml/rendering/render_object.h:

2005-11-07  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Darin Adler.
        Committed by Adele Peterson.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5398
        source visible when <script> used inside <option>

        Added:
        * fast/forms/option-select.html

        * khtml/html/html_formimpl.h: (DOM::HTMLOptionElementImpl::checkDTD): Allow <script> tags to be children of option elements
        * khtml/html/html_formimpl.cpp: (DOM::HTMLOptionElementImpl::text): Skip the script content when creating text string

2005-11-07  Geoffrey Garen  <ggaren@apple.com>
	        
        - Added manual test cases for <rdar://problem/4161660> window.close
        followed by window.print in onload handler crashes Safari in
        KJS::ScopeChain::bottom (redmccombstoyota.com)
        
        * manual-tests/resources/window-close-during-parsing-popup1.html: Added.
        * manual-tests/resources/window-close-during-parsing-popup2.html: Added.
        * manual-tests/window-close-during-parsing.html: Added.

2005-11-07  Darin Adler  <darin@apple.com>

        Reviewed by Tim Omernick.

        - speed up timers by using CFTimerRunLoopRef instead of NSTimer

        * kwq/KWQObject.h: Removed pauseTimer, resumeTimers, and _addTimer, added timerIntervals and
        restartTimer. Made KWQObjectSenderScope functions be inline.
        * kwq/KWQObject.mm:
        (timerFired): Added. Function called when the CFRunLoopTimerRef fires. Puts the timer into the
        deferred timer array if timers are deferred, otherwise makes a QTimerEvent and calls timerEvent
        on the target.
        (QObject::startTimer): Moved most of the code inside restartTimer. This now just picks a new
        timer ID and calls restartTimer.
        (QObject::restartTimer): Added. Creates a KWQObjectTimer and puts it in a timers dictionary.
        That includes creating a CFRunLoopTimer and scheduling it on the current run loop.
        (QObject::timerIntervals): Added. Looks up a timer and returns the intervals for next time to
        fire and the "fire again" interval.
        (deleteTimer): Added. Invalidates and then removes a timer.
        (QObject::killTimer): Changed to use deleteTimer to do most of its work.
        (deleteOneTimer): Added. Calls deleteTimer.
        (QObject::killTimers): Changed to use deleteOneTimer to do most of its work.
        (sendDeferredTimerEvent): Added. Creates a QTimerEvent and calls timerEvent on the target.
        (sendDeferredTimerEvents): Added. Calls sendDeferredTimerEvent in a loop on all the deferred timers.
        (QObject::setDefersTimers): Updated to call sendDeferredTimerEvents as needed.

        * kwq/KWQTimer.h:
        (QTimer::QTimer): Made constructor inline and removed the optional parameter.
        (QTimer::isActive): Made inline.
        (QTimer::fireDate): Added. Inline function.
        Got rid of the NSTimer and added a CFRunLoopTimer.
        * kwq/KWQTimer.mm:
        (timerFired): Added. Calls fire on the QTimer object.
        (QTimer::start): Changed to create a CFRunLoopTimer.
        (QTimer::stop): Changed to use CFRunLoopTimer functions.
        (QTimer::fire): Ditto.
        (deleteKWQSlot): Added. Used as delete function for the CFRunLoopTimerContext below.
        (singleShotTimerFired): Added. Used as the fire function for the CFRunLoopTimerContext below.
        (QTimer::singleShot): Changed to create, schedule, and release a CFRunLoopTimer.

        * khtml/ecma/kjs_window.h: Added PausedTimeouts class. Moved WindowQObject class up in the
        file so it can be used inline in the implementation of the Window class, and changed to
        use the PausedTimeouts class intead of a QMap to store the paused timeouts.
        * khtml/ecma/kjs_window.cpp:
        (KJS::ScheduledAction::execute): Put a check for nil part at the start; this replaces
        a check in the caller and a check partway down this function (after the part was
        already dereferenced). Fixed message handling so the message is not converted to ascii
        and back. Added an isObject() check so we won't crash if the passed function is a value
        that's not an object. Changed check for function vs. script to check for a function
        of nil instead of using a separate boolean.
        (KJS::WindowQObject::pauseTimeouts): Updated to create the new PausedTimeouts object,
        using the new QObject::timerIntervals function rather than the old QObject::pauseTimer
        function. This means that the paused timers are entirely stored in the PausedTimeouts
        object instead of being half in a QMap and the other half inside the QObject itself.
        (KJS::WindowQObject::resumeTimeouts): Ditto, using the new QObject::restartTimer function.
        (KJS::PausedTimeouts::~PausedTimeouts): Added. Deletes the stored timeouts, including
        the scheduled actions, unless the timeouts have already been resumed (in which case the
        m_array field will be 0).

        * kwq/KWQKHTMLPart.h: Renamed pause/resumeActions to pause/resumeTimeouts and made them
        use the PausedTimeouts class and no longer take a key parameter.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::redirectionTimerStartedOrStopped): Use the new fireDate() function rathe than
        the old getNSTimer() function to get the fire date.
        (KWQKHTMLPart::pauseTimeouts): Remove the call to hasTimeouts and the key parameter.
        (KWQKHTMLPart::resumeTimeouts): Remove the key parameter.
        (KWQKHTMLPart::openURLFromPageCache): Change the timeout handling to use PausedTimeouts instead
        of a QMap for the paused timeouts.

        * kwq/KWQPageState.h: Changed to use PausedTimeouts instead of a QMap for timeouts.
        Added a pausedTimeouts parameter to the initializer and removed the setPausedActions: method.
        * kwq/KWQPageState.mm:
        (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:pausedTimeouts:]):
        Added code where it sets the pausedTimouts.
        (-[KWQPageState pausedTimeouts]): Added.
        (-[KWQPageState clear]): Added code to delete the pausedTimeouts and to deref mousePressNode.
        (-[KWQPageState invalidate]): Fixed bug where document would not be deref'd if the view was 0.
        (-[KWQPageState dealloc]): Removed code to deref mousePressNode since that's now handled in the clear method.
        (-[KWQPageState finalize]): Set document to 0 after deref for consistency.

        * kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]): Changed to pass in the
        paused timeouts using the new pauseTimeouts function.

2005-11-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <rdar://problem/4125131> REGRESSION (Mail): after certain steps, 
        extra blank line appears when typing past end of reply-quoted text
        <rdar://problem/4024996> Applying block styles can cause assertion 
        failure in inline style removal
        
        Prevent VisiblePositions at [br, 1] at the end of root editable elements.
        
        Layout tests added:
        * inserting/insert-at-end-01.html
        * inserting/insert-at-end-02.html
        
        Layout tests changed (fixed):
        * editing/deleting/delete-br-011.html
        * editing/deleting/delete-at-paragraph-boundaries-011.html
        * editing/inserting/insert-3786362-fix.html

        * khtml/editing/apply_style_command.cpp:
        (khtml::ApplyStyleCommand::applyInlineStyle):
        Do the layout before calculating start/end positions, not after, 
        since upstream/downstream need to know who is rendered/unrendered. 
        Don't do equivalentRangeCompliantPosition() on the start position 
        in addition to downstream(), since it a) is confusing, b) frequently 
        causes start/end to be equal, making removeInlineStyle a no-op and 
        c) causes an assertion to fire.  
        Only reset start/end using endingSelection() if splitTextElement was 
        needed, since reseting start/end negates the work done above to swap 
        start/end if they are backwards.  
        When the start position points off the end of a node, that node should 
        be skipped in all cases, not just the start.node() != end.node() case.
        
        * khtml/editing/composite_edit_command.cpp:
        (khtml::CompositeEditCommand::appendBlockPlaceholder):
        (khtml::CompositeEditCommand::insertBlockPlaceholder):
        Placeholders should be allowed in nodes that aren't blockFlow, for example, 
        deleting the b in <div><span>b</span></div> should insert a placeholder.  
        The assertion here should really be something like isBlockFlow || 
        isInlineFlow, but I can't assert those until deletion improves (4244964).
        
        * khtml/editing/delete_selection_command.cpp:
        (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
        Don't try to select the placeholder when applying style to it.  It 
        isn't necessary, and it's now impossible to do at the end of the 
        document in any case.
        
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::initDownstream):
        Don't create VisiblePositions at [br, 1] at the end of editable blocks, it 
        produces strange/inconsistent editing behavior at the end of the document.
        
        * khtml/khtml_part.cpp: Fixed a comment.

2005-11-06  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin.

        - fix for <http://bugs.webkit.org/show_bug.cgi?id=5643>
        setDragImage fails when passed Image object.

        * kwq/KWQClipboard.mm:
        (KWQClipboard::dragNSImage):
        Get the NSImage from the image renderer.
        
        * kwq/WebCoreImageRenderer.h:
        Add image method. This already exists in WebImageRenderer in
        WebKit.

2005-11-04  David Hyatt  <hyatt@apple.com>

	Fix for bug 5626, ghosted float steals mouse events.  Make sure
	that the floatRect() method deals with overflow.
	
        Reviewed by john

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::paint):
        (khtml::RenderBlock::floatRect):
        (khtml::RenderBlock::nodeAtPoint):

2005-11-04  David Harrison  <harrison@apple.com>

        Reviewed by John Sullivan.

        Test case added:
        * manual-tests/whitespace-pre-affinity.html

        http://bugs.webkit.org/show_bug.cgi?id=3739

        This patch addresses the root cause of the problem by making
        RenderText::inlineBox() cope with the fact that in white-space:pre text the
        newline characters are not part of any InlineTextBox... they lie "between"
        them.	Now DOWNSTREAM affinity selects the next text box only if the offset
        that is past the current box is actually _in_ the next box.
        
        * khtml/rendering/render_text.cpp:
        (RenderText::inlineBox):

2005-11-04  Darin Adler  <darin@apple.com>

        - removed unused duplicate copy of hash table code

        * khtml/misc/hashfunctions.h: Removed.
        * khtml/misc/hashmap.h: Removed.
        * khtml/misc/hashset.h: Removed.
        * khtml/misc/hashtable.cpp: Removed.
        * khtml/misc/hashtable.h: Removed.
        * khtml/misc/hashtraits.h: Removed.
        * khtml/misc/pointerhash.h: Removed.

2005-11-03  Evan Gross  <evan@rainmakerinc.com>

        Bugzilla 5604: plainText (visible_text.cpp) performance improvement
        
        Reviewed by justin and darin
        
        Optimized plainText for a ~100% speedup in most cases.
        
        No test cases added, change only effects performance.

        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::rangeLength): Removed an extraneous comment.
        (khtml::plainText): The length of the string to be created was 
        pre-calculated to avoid the expense of many QString::append() calls.
        Removed this since TextIterator::advance() is much more expensive 
        than append.

2005-11-03  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin and Vicki.

        * WebCore.xcodeproj/project.pbxproj:
          Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
          $(NEXT_ROOT) in a few spots to make build-root work.

2005-11-03  David Hyatt  <hyatt@apple.com>

	Cleanup of bidi.cpp.  This is bug 5532.  I merged it nearly as is, although I
	did one additional rename of my own (BidiIterator's "par" -> "block") and
	I did not merge the * changes, since that particular style guideline is 
	"in dispute." :)
	
        Reviewed by darin

        * khtml/rendering/bidi.cpp:
        (khtml::BidiIterator::BidiIterator):
        (khtml::BidiIterator::pos):
        (khtml::BidiState::BidiState):
        (khtml::getBPMWidth):
        (khtml::BidiContext::BidiContext):
        (khtml::BidiContext::~BidiContext):
        (khtml::BidiContext::deref):
        (khtml::operator==):
        (khtml::operator!=):
        (khtml::bidiNext):
        (khtml::bidiFirst):
        (khtml::BidiIterator::increment):
        (khtml::BidiIterator::atEnd):
        (khtml::BidiIterator::current):
        (khtml::chopMidpointsAt):
        (khtml::checkMidpoints):
        (khtml::appendRunsForObject):
        (khtml::appendRun):
        (khtml::embed):
        (khtml::RenderBlock::constructLine):
        (khtml::RenderBlock::tabWidth):
        (khtml::RenderBlock::computeHorizontalPositionsForLine):
        (khtml::RenderBlock::bidiReorderLine):
        (khtml::buildCompactRuns):
        (khtml::RenderBlock::layoutInlineChildren):
        (khtml::RenderBlock::determineStartPosition):
        (khtml::RenderBlock::skipWhitespace):
        (khtml::RenderBlock::findNextLineBreak):

2005-11-03  David Hyatt  <hyatt@apple.com>

	Make pre-wrap collapse away spaces at the start of a line.  There are
	still several bugs, namely with overflow and with selection.  This is bugzilla
	bug 5593.
	
        Reviewed by adele

	fast/text/whitespace/pre-wrap.html

        * khtml/rendering/bidi.cpp:
        (khtml::skipNonBreakingSpace):
        (khtml::shouldCollapseWhiteSpace):
        (khtml::RenderBlock::skipWhitespace):
        * khtml/rendering/render_block.h:

2005-11-03  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        * khtml/rendering/render_layer.cpp:
        (khtml::): Made global ScrollAlignment members const
        (khtml::RenderLayer::scrollRectToVisible): Changed ScrollAlignment parameters to const ScrollAlignment&
        (khtml::RenderLayer::getRectToExpose): ditto.
        * khtml/rendering/render_layer.h:
        (khtml::RenderLayer::): removed typedefs
        (khtml::RenderLayer::getVisibleBehavior): Made this static.
        (khtml::RenderLayer::getPartialBehavior): ditto.
        (khtml::RenderLayer::getHiddenBehavior): ditto.

2005-11-03  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Clean up of layer scrolling code.  Now we can clearly define what to do if a rectangle is fully visible, partially visible, or hidden.
        This also fixes a bug with the previous implementation where nested layers/frames would get passed a rect that was too large.

        Added fast/overflow/scrollRevealButton.html

        * khtml/rendering/render_layer.h: (khtml::RenderLayer::): 
        Added ScrollBehavior enum, ScrollAlignment struct, and ScrollAlignment static members
        to describe specific scrolling behaviors depending on how visible the rectangle is.
        In the future, we can add other statics to easily describe desired behaviors.
        * khtml/rendering/render_layer.cpp:
        (khtml::): initialize ScrollAlignment static members: 
        alignCenterIfNeeded, alignToEdgeIfNeeded, alignCenterAlways, alignTopAlways, alignBottomAlways
        (khtml::RenderLayer::scrollRectToVisible):
        alignCenterIfNeeded is the default behavior for both directions.
        Pass the original rect (adjusted if scrolling has occurred) when recursively calling this function.
        (khtml::RenderLayer::getRectToExpose): Adjusted for new ScrollAlignment parameters.
        * khtml/khtml_part.cpp:
        (KHTMLPart::gotoAnchor): Use the node's rect to determine where to scroll.  
        We used to just use the origin, but this helps us match other browsers better.
        (KHTMLPart::setActiveNode): Removed scrolling code, since this is now also done in setFocusNode
        * khtml/xml/dom_elementimpl.cpp: (ElementImpl::scrollIntoView): Use new ScrollAlignment values to describe scrolling behavior.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::nextKeyViewInFrame): Removed scrolling code, since this is now also done in setFocusNode
        (KWQKHTMLPart::centerSelectionInVisibleArea): Use new ScrollAlignment values to describe scrolling behavior.
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge ensureSelectionVisible]): ditto.
        * kwq/KWQScrollView.h: Removed ensureRectVisible, since we no longer use this.
        * kwq/KWQScrollView.mm: ditto.
        * khtml/khtmlview.cpp:
        (KHTMLView::doAutoScroll): Removed unnecessary nil checks for enclosingLayer
        (KHTMLView::focusNextPrevNode): ditto.

2005-11-02  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        Tests added in editing/inserting.
        
        <rdar://problem/4017861> in reply, extra line is inserted after pressing return on blank quoted line
        Also, did some minor cleanup.

        * khtml/editing/break_blockquote_command.cpp:
        (khtml::BreakBlockquoteCommand::BreakBlockquoteCommand):
        (khtml::BreakBlockquoteCommand::doApply):
        Make sure not to clone parent of skipped BR unless there are siblings to move over.
        * khtml/editing/break_blockquote_command.h:
        * khtml/editing/jsediting.cpp:

2005-11-02  Vicki Murley  <vicki@apple.com>

        Reviewed by Darin.
 
	- fix <rdar://problem/4303587> REGRESSION (TOT): Scrollwheel doesn't work on frameset pages (5450)

        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::wheelEvent): set _currentEvent to the wheel event
        (KWQKHTMLPart::passWheelEventToChildWidget): New.  Pass the event to the child widget, if we
	haven't already handled the event
        * khtml/khtmlview.cpp:
        (KHTMLView::viewportWheelEvent): add passWheelEventToChildWidget check, and accept the event if
	we're passing to the child widget

2005-11-02  David Hyatt  <hyatt@apple.com>

	Fix for 5587, implement pre-wrap and pre-line white-space values.
	
        Reviewed by mjs

	Tests Added in fast/text/whitespace
	
        * khtml/css/css_computedstyle.cpp:
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty):
        * khtml/css/cssvalues.in:
        * khtml/css/html4.css:
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::preGetter):
        (KJS::HTMLElement::preSetter):
        * khtml/ecma/kjs_html.h:
        (KJS::HTMLElement::):
        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::handleTextNode):
        * khtml/editing/visible_units.cpp:
        (khtml::startOfParagraph):
        (khtml::endOfParagraph):
        * khtml/html/html_blockimpl.cpp:
        (HTMLPreElementImpl::mapToEntry):
        (HTMLPreElementImpl::parseMappedAttribute):
        (HTMLPreElementImpl::wrap):
        (HTMLPreElementImpl::setWrap):
        * khtml/html/html_blockimpl.h:
        * khtml/rendering/bidi.cpp:
        (khtml::checkMidpoints):
        (khtml::RenderBlock::computeHorizontalPositionsForLine):
        (khtml::RenderBlock::layoutInlineChildren):
        (khtml::RenderBlock::skipNonBreakingSpace):
        (khtml::RenderBlock::skipWhitespace):
        (khtml::RenderBlock::findNextLineBreak):
        * khtml/rendering/render_block.cpp:
        (khtml:::RenderFlow):
        (khtml::RenderBlock::setStyle):
        (khtml::RenderBlock::calcMinMaxWidth):
        (khtml::stripTrailingSpace):
        (khtml::RenderBlock::calcInlineMinMaxWidth):
        (khtml::RenderBlock::dump):
        * khtml/rendering/render_block.h:
        * khtml/rendering/render_layer.h:
        (khtml::):
        * khtml/rendering/render_line.cpp:
        (khtml::shouldDrawDecoration):
        * khtml/rendering/render_object.cpp:
        (RenderObject::tabWidth):
        * khtml/rendering/render_style.h:
        (khtml::):
        (khtml::RenderStyle::autoWrap):
        (khtml::RenderStyle::preserveNewline):
        (khtml::RenderStyle::collapseWhiteSpace):
        (khtml::RenderStyle::isCollapsibleWhiteSpace):
        (khtml::RenderStyle::breakOnlyAfterWhiteSpace):
        * khtml/rendering/render_table.cpp:
        (RenderTableCell::calcMinMaxWidth):
        * khtml/rendering/render_text.cpp:
        (RenderText::caretRect):
        (RenderText::trimmedMinMaxWidth):
        (RenderText::calcMinMaxWidth):
        (RenderText::width):
        * khtml/xml/dom_elementimpl.h:
        (DOM::):
        * khtml/xml/dom_textimpl.cpp:
        (TextImpl::rendererIsNeeded):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::attributedString):

2005-11-01  David Hyatt  <hyatt@apple.com>

	Fix for bug 5580, slashdot regression with percentage height
	blocks.
	
        Reviewed by darin

	Added fast/block/basic/021.html
	
        * khtml/rendering/render_box.cpp:
        (RenderBox::calcPercentageHeight):

2005-11-01  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        Tweaked my previous fix for caret movement while scrolling.

        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::SelectionController): Forgot to copy m_caretPositionOnLayout.
        (khtml::SelectionController::operator=): Ditto.
        (khtml::SelectionController::layout): Initialize m_caretPositionOnLayout to a dummy value when the selection isNone.
        * khtml/editing/SelectionController.h: Tweaked my comment.

2005-11-01  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        Fixes <rdar://problem/4074536> Seed: Mail crash adjusting quote level - KHTMLPart::computeAndSetTypingStyle
        
        No test cases added, requires Mail

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge typingStyle]):
        Crashes were happening after a style was merged with itself.  Mail was doing a setTypingStyle
        with a pointer to our internal typing style.  Fix is to only hand out copies of our typingStyle.

2005-11-01  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        Fixed <rdar://problem/3690705> caret does not move when scrolling overflow: auto editable area

        * manual-tests/caretScrolling.html: Added.

        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::SelectionController): Removed the unused expectedVisibleRect
        (khtml::SelectionController::operator=): Ditto.
        (khtml::SelectionController::layout): Save the caret's absolute position on layout.
        (khtml::SelectionController::caretRect): Adjust the returned caret rect for offset due to scrolling since the last layout.
        (khtml::SelectionController::paintCaret):
        * khtml/editing/SelectionController.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::nextKeyViewInFrame): Small tweak to a previous change.
        * kwq/KWQRect.h:
        (QRect::moveTopLeft): Added.

2005-11-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Dave Hyatt.
        Commited by Tim Hatcher.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=5256
        Relayout during load causes duplicate plugin part.

        This was a problem with <OBJECT>s that contain an <EMBED>, if 
        layout happened in the middle of the OBJECT but before the EMBED.

        No test case added, requires manual testing. 

        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
        (DOM::HTMLObjectElementImpl::closeRenderer):
        (DOM::HTMLObjectElementImpl::setComplete):
        * khtml/html/html_objectimpl.h:
        (DOM::HTMLObjectElementImpl::isComplete):
        * khtml/html/htmlfactory.cpp:
        (DOM::objectConstructor):
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget):

2005-11-01  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Dave Hyatt.
        Commited by Tim Hatcher.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=5541

        HTMLNames constants are not yet initialized at Safari startup,
        when bookmarks are imported, which caused a crash in Decoder::decode().

        * kwq/WebCoreEncodings.mm:
        (+[WebCoreEncodings decodeData:]):

2005-11-01  John Sullivan  <sullivan@apple.com>

        Change by Alexey Proskuryakov, reviewed by Darin Adler.

        * kwq/KWQKURL.mm:
        (encodeRelativeString):
        switched to use fastStrdup(), we can't use strdup because we
        need to use fastFree(), not regular free()

2005-11-01  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin.

        - fix for <http://bugs.webkit.org/show_bug.cgi?id=5572>
        Implement textContent property.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValueProperty):
        * khtml/ecma/kjs_dom.h:
        (KJS::DOMNode::):
        Add setter and setter for textContent.
        
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::textContent):
        (DOM::NodeImpl::setTextContent):
        * khtml/xml/dom_nodeimpl.h:
        Implement textContent and setTextContent.
        
        * kwq/DOM.mm:
        (-[DOMNode textContent]):
        (-[DOMNode setTextContent:]):
        Add Objective C wrappers.

2005-10-31  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Now ignores XSLT PIs in documents resulting from transforms.
        http://bugs.webkit.org/show_bug.cgi?id=5529

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::recalcStyleSelector):
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::processingInstruction):

2005-10-31  David Harrison  <harrison@apple.com>

        Remove conditionalized away code added as part of tab character support.
        
        * khtml/editing/insert_text_command.cpp:
        (khtml::InsertTextCommand::prepareForTextInsertion):
        (khtml::InsertTextCommand::insertTab):
        * khtml/editing/markup.cpp:
        (khtml::createParagraphContentsFromString):

2005-10-29  David Hyatt  <hyatt@apple.com>
        Fix the performance regression caused by doing too much copying of background/border values.  This patch attempts to rectify things by doing the following:

	(1) Don't initialize the border/background cached values on every single style resolution.
	(2) Only cache the border/background values just after user agent styles have been resolved if the user agent set an appearance.
	(3) Only check for appearance disabling if you had a UA appearance originally (and then continue to have an appearance after author/user styles have been resolved too)
	(4) Make sure to patch the pseudoStyleForElement method too.  With the removal of the initialization code for the values running over and over again, I needed to make sure to patch this function to match styleForElement.
        
	Reviewed by sullivan

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::initForStyleResolve):
        (khtml::CSSStyleSelector::styleForElement):
        (khtml::CSSStyleSelector::pseudoStyleForElement):
        (khtml::CSSStyleSelector::adjustRenderStyle):
        * khtml/css/cssstyleselector.h:

2005-10-28  Beth Dakin  <bdakin@apple.com>

        Reviewed by John

        Fix for <rdar://problem/4098083> REGRESSION (125-312): crash 
	in [KWQTableView resignFirstResponder] selecting from JS menu 
	(car4you.at, etc.)

	Since it is possible that a render widget's eventFilterObject
	has been destroyed even though the render widget is still ref-ed,
	we need to nil-check the eventFilterObject before we use it to get
	the eventFilter.

        * kwq/KWQComboBox.mm:
        (-[KWQPopUpButton becomeFirstResponder]): Added nil check.
        (-[KWQPopUpButton resignFirstResponder]): Added nil check.
        * kwq/KWQListBox.mm:
        (-[KWQTableView becomeFirstResponder]): Added nil check.
        (-[KWQTableView resignFirstResponder]): Added nil check.
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView becomeFirstResponder]): Added nil check.
        (-[KWQTextAreaTextView resignFirstResponder]): Added nil check.
        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController setHasFocus:]): Added nil check.
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge elementForView:]): Added nil check.

2005-10-28  Adele Peterson  <adele@apple.com>

        Reviewed by Beth.

        - fixed <rdar://problem/4319232> finding text in overflow area doesn't always scroll to the right place

        * khtml/rendering/render_text.cpp:
        (RenderText::selectionRect): Subtracts scroll offset of containing block layer.

2005-10-28  David Hyatt  <hyatt@apple.com>

	Make sure positioned content works with width:intrinsic.  Fixes positioned buttons.  The bug
	is bugzilla #5520.
	
        Reviewed by mjs

        fast/forms/positioned-button.html

        * khtml/rendering/render_box.cpp:
        (RenderBox::calcAbsoluteHorizontalValues):

2005-10-28  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        -fixed <rdar://problem/4081091> focus() does not work properly on anchors
        <rdar://problem/4317689> new form elements don't get revealed when focus() is called on them

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::setFocusNode): call scrollRectToVisible.

2005-10-27  David Hyatt  <hyatt@apple.com>

	Fix for bug 5519, buttons need to honor background/border: none and turn off styles.
	This patch changes the default style rules so that buttons have both a border and
	a background color.

	If the author changes the border/background so that it no longer matches these chosen
	defaults, we assume that the button has now been styled and we turn off the Aqua
	appearance.

	We also play more games with border and padding and juggle the values around so that
	things look right with Aqua turned on and off.
	
        Reviewed by mjs

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::matchRules):
        (khtml::CSSStyleSelector::initForStyleResolve):
        (khtml::CSSStyleSelector::styleForElement):
        (khtml::CSSStyleSelector::adjustRenderStyle):
        (khtml::CSSStyleSelector::applyDeclarations):
        * khtml/css/cssstyleselector.h:
        * khtml/css/html4.css:
        * khtml/rendering/render_style.h:
        (khtml::BorderValue::BorderValue):
        (khtml::BorderData::operator!=):
        (khtml::RenderStyle::border):
        * khtml/rendering/render_theme.cpp:
        (khtml::RenderTheme::paint):
        (khtml::RenderTheme::isControlStyled):
        * khtml/rendering/render_theme.h:
        * khtml/rendering/render_theme_mac.h:
        * khtml/rendering/render_theme_mac.mm:
        (khtml::RenderThemeMac::adjustButtonStyle):
        (khtml::RenderThemeMac::setButtonCellState):
        (khtml::RenderThemeMac::paintButton):

2005-10-26  Vicki Murley  <vicki@apple.com>

        Reviewed by Hyatt.
 
	Fix problems with link jumping.  In the cases below, we were calculating the wrong position to scroll to.

        <rdar://problem/4247537> link jumping should scroll to tallest object on line, not first object on line
        <rdar://problem/3489554> when calculating position for link jumping, skip siblings that are unrendered whitespace
        <rdar://problem/4244382> Safari - erratic behavior of empty anchor tags followed by whitespace
        <rdar://problem/4256060> Link scrolling to last object on the page doesn't work if the link being scrolled to contains an empty inline
        <rdar://problem/4276623> erratic link jumping when tables are involved

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::ContainerNodeImpl::getUpperLeftCorner):

2005-10-27  Eric Seidel  <eseidel@apple.com>

        Build fix, forgot to commit project file.
        Also need to make XSLT #ifdef's work for portability.
        http://bugs.webkit.org/show_bug.cgi?id=3275

        * WebCore.xcodeproj/project.pbxproj:
        * khtml/ecma/XSLTProcessor.cpp:
        * khtml/ecma/XSLTProcessor.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):

2005-10-27  Eric Seidel  <eseidel@apple.com>

        No review needed, svg build fix only.

        * kdom/xpointer/XPointerExpressionImpl.cpp: "Shared.h" to "kdom/Shared.h"

2005-10-27  David Harrison  <harrison@apple.com>

        Reviewed by Justin Garcia and Dave Hyatt.

        <rdar://problem/4134884> crash trying to forward msg - khtml::RenderBlock::addChildToFlow

        Problem was that onunload events were being fired while in the middle of trying to detach, which resulted in updateDocumentsRendering re-attaching the previously detached nodes.  Similar problem with load events while attaching.
        
        Solved by eliminating load and unload for object nodes, pre-sending unload before detach, and sending dom mutation and load events after attaching.
        
        Also, added asserts to catch this problem more easily in the future.
        
        Added test:
        * fast/events/event-targets.html
        Make sure that load and unload events do not fire on certain objects.
        
        * khtml/ecma/kjs_html.cpp:
        (KJS::Image::notifyFinished):
        Use constant string for "load" event name.
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::changeState):
        Use constant strings for "load" and "readystatechange" event names.
        * khtml/html/html_baseimpl.cpp:
        (HTMLFrameElementImpl::close):
        (HTMLFrameElementImpl::willRemove):
        (HTMLFrameElementImpl::detach):
        Add willRemove() function.
        * khtml/html/html_baseimpl.h:
        Add willRemove() function.
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::attach):
        (DOM::HTMLObjectElementImpl::detach):
        Stop needlessly sending load and unload events for OBJECT elements.
        * khtml/xml/dom2_traversalimpl.cpp:
        (DOM::NodeIteratorImpl::notifyBeforeNodeRemoval):
        Rename local variable from willRemove to removedNode for clarity.
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::forbidEventDispatch):
        (DocumentImpl::allowEventDispatch):
        (DocumentImpl::eventDispatchForbidden):
        (DocumentImpl::createEvent):
        Add mechanism to prevent event dispatch.
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dispatchEvent):
        (DOM::NodeImpl::dispatchGenericEvent):
        (DOM::NodeImpl::dispatchHTMLEvent):
        (DOM::NodeImpl::dispatchWindowEvent):
        (DOM::NodeImpl::dispatchMouseEvent):
        (DOM::NodeImpl::dispatchSimulatedMouseEvent):
        (DOM::NodeImpl::dispatchUIEvent):
        (DOM::NodeImpl::dispatchSubtreeModifiedEvent):
        (DOM::NodeImpl::dispatchKeyEvent):
        (DOM::NodeImpl::dispatchWheelEvent):
        (DOM::NodeImpl::willRemove):
        (DOM::ContainerNodeImpl::insertBefore):
        (DOM::ContainerNodeImpl::replaceChild):
        (DOM::ContainerNodeImpl::willRemove):
        (DOM::ContainerNodeImpl::willRemoveChild):
        (DOM::ContainerNodeImpl::removeChild):
        (DOM::ContainerNodeImpl::removeChildren):
        (DOM::ContainerNodeImpl::appendChild):
        (DOM::ContainerNodeImpl::addChild):
        (DOM::ContainerNodeImpl::dispatchChildInsertedEvents):
        (DOM::ContainerNodeImpl::dispatchChildRemovalEvents):
        Prevent event dispatch during DOM node removals and additions.
        * khtml/xml/dom_nodeimpl.h:

2005-10-27  David Harrison  <harrison@apple.com>

        Reviewed by Tim Omerick.

        <rdar://problem/4251172> AX: Safari crashes on www.mozilla.org with Voice Over - khtml::RenderImage::imageMap

        Test cases added: None.  Manual testing is way to awkward, and automated testing
        is not possible.  See following bug...
        <rdar://problem/4256882> Need automated testing support for accessibility APIs

        * ChangeLog:
        * khtml/rendering/render_image.cpp:
        (RenderImage::RenderImage):
        (RenderImage::imageMap):
        (RenderImage::updateAltText):

2005-10-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Add XSLTProcessor support to WebCore's JavaScript bindings.
        <rdar://problem/3642402> add XSLTProcessor to WebCore's JavaScript support
        http://bugs.webkit.org/show_bug.cgi?id=3275

        * WebCore.xcodeproj/project.pbxproj:
        * khtml/ecma/XSLTProcessor.cpp: Added.
        (KJS::):
        (KJS::XSLTProcessor::XSLTProcessor):
        (KJS::XSLTProcessor::~XSLTProcessor):
        (KJS::XSLTProcessorProtoFunc::callAsFunction):
        * khtml/ecma/XSLTProcessor.h: Added.
        (KJS::XSLTProcessor::classInfo):
        (KJS::XSLTProcessor::):
        (KJS::XSLTProcessor::impl):
        (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
        (KJS::XSLTProcessorConstructorImp::implementsConstruct):
        (KJS::XSLTProcessorConstructorImp::construct):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        * khtml/ecma/kjs_window.h:
        (KJS::Window::):
        * khtml/khtml_part.cpp:
        (KHTMLPart::replaceDocImpl):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::~DocumentImpl):
        (DocumentImpl::applyXSLTransform):
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentImpl::transformSourceDocument):
        (DOM::DocumentImpl::setTransformSourceDocument):
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::xmlDocPtrForString):
        (khtml::XMLTokenizer::setTransformSource):
        * khtml/xml/xml_tokenizer.h:
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::parseErrorFunc):
        (DOM::stylesheetLoadFunc):
        (DOM::setXSLTLoadCallBack):
        (DOM::writeToQString):
        (DOM::saveResultToString):
        (DOM::transformTextStringToXHTMLDocumentString):
        (DOM::xsltParamArrayFromQDict):
        (DOM::freeXsltParamArray):
        (DOM::XSLTProcessorImpl::createDocumentFromSource):
        (DOM::createFragmentFromSource):
        (DOM::xsltStylesheetPointer):
        (DOM::xmlDocPtrFromNode):
        (DOM::resultMIMEType):
        (DOM::XSLTProcessorImpl::transformToString):
        (DOM::XSLTProcessorImpl::transformToDocument):
        (DOM::XSLTProcessorImpl::transformToFragment):
        (DOM::XSLTProcessorImpl::setParameter):
        (DOM::XSLTProcessorImpl::getParameter):
        (DOM::XSLTProcessorImpl::removeParameter):
        * khtml/xsl/xslt_processorimpl.h:
        (DOM::XSLTProcessorImpl::XSLTProcessorImpl):
        (DOM::XSLTProcessorImpl::setXSLStylesheet):
        (DOM::XSLTProcessorImpl::importStylesheet):
        (DOM::XSLTProcessorImpl::clearParameters):
        (DOM::XSLTProcessorImpl::reset):
        (DOM::XSLTProcessorImpl::xslStylesheet):

2005-10-27  Adele Peterson  <adele@apple.com>

        Reviewed by Vicki.

        Fixed bug that prevents overflow areas from scrolling to reveal anchor.
        Part of <rdar://problem/3612121>.

        * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor):  

2005-10-27  Adele Peterson  <adele@apple.com>

        Reviewed by Vicki.

        - fixed <rdar://problem/4318167> REGRESSION: content doesn't scroll far enough to the left after clicking links at aplacecalledcommon.co.uk

        * khtml/rendering/render_layer.cpp: 
        (khtml::RenderLayer::scrollRectToVisible): fixed a typo where verticalAlignment was being passed instead of horizontalAlignment.
        * khtml/khtml_part.cpp: 
        (KHTMLPart::gotoAnchor): specified alignLeft as horizontal alignment.

2005-10-27  David Hyatt  <hyatt@apple.com>

	Fix form controls so that they can take advantage of
	the style sharing optimization.  Special-case the "type"
	attribute to accomplish this.

	Also add checks for missing pseudo-classes that the sharing
	code now needs to check once form controls start sharing
	style.  These include enabled, checked and indeterminate.

	Finally, :target should have been checked all along and was
	broken by the original style sharing landing.  Add it to the list
	of things checked as well.

	It's impossible to write a :target test.  Other areas more than
	covered by existing test cases.
	
        Reviewed by mjs

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::canShareStyleWithElement):
        (khtml::CSSStyleSelector::checkOneSelector):

2005-10-27  David Hyatt  <hyatt@apple.com>

	Fix for bug 5517, percentage height relative block inside a percentage height absolute
	block did not stretch properly to fill the absolute block.

	Also fixing box-sizing bugs in percentage height calculations.  Recurrence in
	calcPercentageHeight needed a content box adjustment.
	
        Reviewed by mjs

        fast/block/positioning/062.html
	fast/box-sizing/percentage-test.html
	fast/box-sizing/panels-one.html
	fast/box-sizing/panels-two.html

        * khtml/rendering/render_box.cpp:
        (RenderBox::calcPercentageHeight):

2005-10-27  Eric Seidel  <eseidel@apple.com>

        No review, SVG build fix only.
        Fixing fallout from <rdar://problem/4098450>.

        * WebCore+SVG/xml_kdomtokenizer.cpp:
        (KDOMTokenizer::write): now returns bool
        (KDOMTokenizer::finish): error check

2005-10-26  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs & darin.

        Various fixes to createMarkup and toString code to properly
        support serialization of XML.
        http://bugs.webkit.org/show_bug.cgi?id=5404

        * khtml/editing/markup.cpp:
        (khtml::startMarkup):
        (khtml::doesHTMLForbidEndTag):
        (khtml::shouldSelfClose):
        (khtml::endMarkup):
        (khtml::markup):
        (khtml::createFragmentFromMarkup):
        (khtml::createMarkup):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::createContextualFragment):
        (HTMLElementImpl::toString):
        * khtml/html/htmltokenizer.cpp:
        (khtml::parseHTMLDocumentFragment):
        * khtml/html/htmltokenizer.h:
        * khtml/xml/dom_xmlimpl.cpp:
        (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
        (DOM::ProcessingInstructionImpl::~ProcessingInstructionImpl):
        (DOM::ProcessingInstructionImpl::toString):
        * khtml/xml/dom_xmlimpl.h:
        (DOM::ProcessingInstructionImpl::sheet):
        (DOM::ProcessingInstructionImpl::setStyleSheet):

2005-10-26  David Hyatt  <hyatt@apple.com>

	Don't allow position:relative to apply to table sections.  Fixes the crash described in
	Radar bug 4107882. (http://cityoflakeforest.com/cs/pw/cs_pw2a3.htm)
	
        Reviewed by bdakin

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::adjustRenderStyle):
        
2005-10-26  Adele Peterson  <adele@apple.com>

        Reviewed by John.

        Fixes a few problems with <rdar://problem/3612121> that I noticed with code inspection.

        * khtml/rendering/render_layer.h: removed inline scrollToPoint
        * khtml/rendering/render_layer.cpp: (khtml::RenderLayer::getRectToExpose):
        * khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor): Used to call scrollToPoint, now calls scrollRectToVisible
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::jumpToSelection): Now uses the enclosing layer of the selection start, instead of the outermost layer.
        (KWQKHTMLPart::centerSelectionInVisibleArea): ditto.

2005-10-26  Anders Carlsson  <andersca@mac.com>

        Reviewed by Maciej.

        - fix for <http://bugs.webkit.org/show_bug.cgi?id=5513>
        Implement isEqualNode.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.h:
        Add JS wrapper.
        
        (KJS::DOMNode::):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::isEqualNode):
        * khtml/xml/dom_nodeimpl.h:
        Implement isEqualNode.
        
        * kwq/DOM.mm:
        (-[DOMNode isEqualNode:]):
        Add Objective C wrapper.

2005-10-26  David Hyatt  <hyatt@apple.com>

	Add support for the indeterminate boolean for placing checkboxes
	into a mixed state.  This is a feature of WinIE.

	Along with this feature, add support for the CSS3 :indeterminate
	selector, although one wonders how this could be part of the selectors spec
	when no DOM standard covers the ability to make a mixed checkbox
	in the first place.

	This implementation may seem like it's overlooking some things, but it's not.
	Specifically "indeterminate" has no effect on form submission, it does not
	get cleared by a form reset, and the pre/post reversal code for undoing clicks
	only resets the state that changed in WinIE.  This is all bizarre behavior,
	but this is a WinIE extension, so we're going to match.
	
        Reviewed by mjs

	fast/forms/indeterminate.html

        * khtml/css/css_base.cpp:
        (CSSSelector::extractPseudoType):
        * khtml/css/css_base.h:
        (DOM::CSSSelector::):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::checkOneSelector):
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::inputGetter):
        (KJS::HTMLElement::inputSetter):
        * khtml/ecma/kjs_html.h:
        (KJS::HTMLElement::):
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLInputElementImpl::init):
        (DOM::HTMLInputElementImpl::setIndeterminate):
        (DOM::HTMLInputElementImpl::preDispatchEventHandler):
        (DOM::HTMLInputElementImpl::postDispatchEventHandler):
        * khtml/html/html_formimpl.h:
        (DOM::HTMLInputElementImpl::isIndeterminate):
        (DOM::HTMLInputElementImpl::indeterminate):
        * khtml/rendering/render_theme.cpp:
        (khtml::RenderTheme::isIndeterminate):
        * khtml/rendering/render_theme.h:
        * khtml/rendering/render_theme_mac.mm:
        (khtml::RenderThemeMac::updateCheckedState):
        (khtml::RenderThemeMac::setCheckboxCellState):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::isIndeterminate):

2005-10-26  Maciej Stachowiak  <mjs@apple.com>

        Re-landed fix for the following bug:

	<rdar://problem/4302874> crash repeatedly reloading www.supermanhomepage.com (fixed in Denver, broken on TOT)
	
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):

2005-10-25  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5315
          need to set document type based on contents of <!DOCTYPE>
          (fixes one layout test)

        * khtml/html/html_documentimpl.cpp: (DOM::HTMLDocumentImpl::determineParseMode):
        Use the new setDocType function instead of modifying m_doctype directly.

        * khtml/xml/dom_docimpl.h: Changed to use SharedPtr more.
        (DOM::DocumentImpl::realDocType): Add get() since we're using SharedPtr.
        (DOM::DocumentImpl::setDocType): Added.
        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createDocument): Use setDocType instead of using
        realDocType()->copyFrom to set up the document type in the new document.
        (DocumentImpl::DocumentImpl): Don't create an empty document type during constructor.
        (DocumentImpl::~DocumentImpl): Remove explicit deref since we're using SharedPtr.
        (DocumentImpl::doctype): Add get() since we're using SharedPtr.
        (DocumentTypeImpl::DocumentTypeImpl): Streamlined implementation since we're using SharedPtr.

        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::internalSubset): Added. Calls setDocType.
        (khtml::internalSubsetHandler): Added. Calls xmlSAX2InternalSubset after calling our function.
        (khtml::XMLTokenizer::finish): Changed to pass our internalSubsetHandler function pointer.

2005-10-25  David Hyatt  <hyatt@apple.com>

	This patch makes a number of refinements to buttons to make
	the custom <input>s on hotwire.com look correct.

	Also back out my fix for bug 5283, since it causes some bad
	regressions and basically needs to be rethought. (This part
	not reviewed, since it's just a backout.)
	
        Reviewed by darin
	
        * khtml/css/html4.css:
	Added rules to reset many more properties on form controls,
	including text-align, letter-spacing, word-spacing, line-height
	text-transform and others.  Remove the !important from the
	line-height reset, since WinIE honors line-height on buttons.
	Mozilla does not, but we will match WinIE.
	
        * khtml/rendering/render_button.cpp:
        (khtml::RenderButton::setStyle):
        Make sure to preserve the box-flex of our generated interior
	block, so that it doesn't end up packing left inside its
	container when styles change.
	
	(khtml::RenderButton::paintObject):
        Change the clipping heuristic to only clip to the border box.
	This does mean text can run right up to the edge of an Aqua
	button, but without this change we just don't match other
	browsers.
	
	* khtml/rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::layoutHorizontalBox):
        (khtml::RenderFlexibleBox::layoutVerticalBox):
	Change the behavior of box-align:center.  If it would result
	in spillage out the top or left when centering, then don't move
	it.

2005-10-25  Maciej Stachowiak  <mjs@apple.com>

        Re-landing the isSameNode fix from Anders, I verified there is no effect on performance:

	<rdar://problem/4302880> Re-land isSameNode change
	
        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_dom.h:
        * khtml/xml/dom_nodeimpl.h:
        * kwq/DOM.mm:

2005-10-25  Maciej Stachowiak  <mjs@apple.com>

        Re-land the following fix, I tested to verify there is no performance regression:

	Makes <object> tags not use image mode for svg content:
        http://bugs.webkit.org/show_bug.cgi?id=5175

        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::isImageType):

2005-10-25  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - fixed <rdar://problem/3612121> setting focus, by tabbing, searching, or with JavaScript does not scroll overflow:auto/scroll/overlay to reveal focused element (3480)

        * khtml/rendering/render_layer.cpp: 
        (khtml::RenderLayer::scrollRectToVisible): Added case for when the renderer has an overflow clip, so we can scroll overflow and views recursively.

2005-10-25  Adele Peterson  <adele@apple.com>

        Reviewed by Vicki.

        Fixed <rdar://problem/4098450> RoboHelp-generated html help system crashes in latest Safari -KWQValueListImpl::copyOnWrite

        The tokenizer's timer was causing the tokenizer to be deleted twice.  
        In timerEvent, we'll now check to see if the write has destroyed the tokenizer before trying to do it again.

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::write): Returns a boolean to indicate whether end() gets called
        (khtml::HTMLTokenizer::timerEvent): Moved code from allDataProcessed, and now, checks to see if write() called end() to notify WebKit that processing is done.
        * khtml/html/htmltokenizer.h: write() returns a bool.
        * khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::write): returns a bool (always false in the XMLTokenizer case).
        * khtml/xml/xml_tokenizer.h: ditto.

2005-10-25  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej

	Fix for <rdar://problem/4148730> SureSec si#182 safari heap overflow.
	When a table has a really huge rowSpan, Safari used to crash because
	the malloc of the grid for the table failed. This fix just checks for
	the success of the malloc.

        * khtml/rendering/render_table.cpp:
        (RenderTableSection::ensureRows): Return false if the grid resize is not 
	successful.
        (RenderTableSection::addCell): Return early if ensureRows() returned false.
        * khtml/rendering/render_table.h: Make ensureRows() return a bool instead
	of void.

2005-10-25  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        - first step of fix for <rdar://problem/3612121> setting focus, by tabbing, searching, or with JavaScript does not scroll overflow:auto/scroll/overlay to reveal focused element (3480)
        This change moves the scrolling code for revealing elements to the RenderLayer, instead of being specific to the view.

        * khtml/rendering/render_layer.h: Added scrollRectToVisible. Added getRectToExpose.
        Added ScrollAlignment enum so callers can be more specific about exactly where they want to scroll.
        (khtml::RenderLayer::scrollToPoint): Added inline function to scroll to a point.
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::scrollRectToVisible):  Replaces recursive view scrolling functions.
        (khtml::RenderLayer::getRectToExpose):  Calculates the rectangle to expose based on the alignment parameters.

        * khtml/khtml_part.cpp:
        (KHTMLPart::gotoAnchor): Changed use of setContentsPosRecursive to scrollToPoint.
        (KHTMLPart::setActiveNode): Changed use of ensureVisible to scrollRectToVisible.
        * khtml/khtmlview.cpp:
        (KHTMLView::doAutoScroll): Changed use of ensureVisible to scrollRectToVisible.
        (KHTMLView::focusNextPrevNode): ditto.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::jumpToSelection): Changed use of _KWQ_scrollRectToVisible to scrollRectToVisible.
        (KWQKHTMLPart::nextKeyViewInFrame): Changed use of ensureRectVisibleCentered to scrollRectToVisible.
        (KWQKHTMLPart::centerSelectionInVisibleArea): ditto.
        * khtml/xml/dom_elementimpl.cpp: (ElementImpl::scrollIntoView): Changed use of setContentsPos and ensureVisible to scrollRectToVisible.
        * kwq/WebCoreBridge.mm: (-[WebCoreBridge ensureSelectionVisible]): Changed use of ensureRectVisibleCentered to scrollRectToVisible.

        * kwq/KWQComboBox.mm: (-[KWQPopUpButton becomeFirstResponder]): Changing use of _KWQ_scrollFrameToVisible to scrollRectToVisible.
        * kwq/KWQFileButton.mm: (KWQFileButton::focusChanged): ditto.
        * kwq/KWQListBox.mm: (-[KWQTableView becomeFirstResponder]): ditto.
        * kwq/KWQSlider.mm: (-[KWQSlider becomeFirstResponder]): ditto.
        * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]): ditto.
        * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]): ditto.

        * kwq/KWQScrollView.h: Removed ensureVisible, and ensureRectVisibleCentered.  Added ensureRectVisible which just calls across to AppKit to scroll the NSView.
        * kwq/KWQScrollView.mm: (QScrollView::ensureRectVisible): ditto.

        * WebCore.xcodeproj/project.pbxproj: Removed KWQNSViewExtras since it is no longer needed.
        * kwq/KWQNSViewExtras.h: Removed.
        * kwq/KWQNSViewExtras.m: Removed.

2005-10-25  David Hyatt  <hyatt@apple.com>

	Land box-sizing support and change button to work correctly
	with it.

	Also stop honoring of font properties on <input> if
	Aqua is enabled.  If you allow bold, but don't honor size, then
	you end up with poorly rendered buttons on cnn.com (box-sizing
	made this apparent, since the buttons got smaller).

	Fix the clipping code for button content to actually work. :)
	Function needed to be designated virtual in order to get
	called.
	
        Reviewed by darin

	fast/box-sizing/box-sizing.html is the new test case.
	
        * ChangeLog:
        * WebCore.xcodeproj/project.pbxproj:
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::calcMinMaxWidth):
        * khtml/rendering/render_block.h:
        * khtml/rendering/render_box.cpp:
        (RenderBox::calcBorderBoxWidth):
        (RenderBox::calcBorderBoxHeight):
        (RenderBox::calcContentBoxWidth):
        (RenderBox::calcContentBoxHeight):
        (RenderBox::calcWidth):
        (RenderBox::calcWidthUsing):
        (RenderBox::calcHeight):
        (RenderBox::calcHeightUsing):
        (RenderBox::calcPercentageHeight):
        (RenderBox::calcReplacedWidth):
        (RenderBox::calcReplacedWidthUsing):
        (RenderBox::calcReplacedHeightUsing):
        (RenderBox::availableHeightUsing):
        (RenderBox::calcAbsoluteHorizontalValues):
        (RenderBox::calcAbsoluteVerticalValues):
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_button.cpp:
        (khtml::RenderButton::paintObject):
        * khtml/rendering/render_button.h:
        * khtml/rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::calcMinMaxWidth):
        * khtml/rendering/render_theme_mac.mm:
        (khtml::RenderThemeMac::setFontFromControlSize):
        (khtml::RenderThemeMac::adjustButtonStyle):

2005-10-25  Vicki Murley  <vicki@apple.com>

        Reviewed by Hyatt.
 
	- fix <rdar://problem/4288276> DOM tests expect hierarchy exception adding wrong types of nodes to parents (4568)

	Check that the node being added is an allowable child.  If inserting a document fragment node, check each child of
	the node.  Fixes 4 of the W3C DOM HTML tests and 11 of the XHTML tests.

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::checkAddChild):

2005-10-25  Darin Adler  <darin@apple.com>

        Reviewed by Dave Hyatt.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4945
          event init calls should not do anything if the event has already been dispatched
        - made a small performance improvement to event creation by simplifying the date code
          (seen on profiles)
        - changed DOMTimestamp to be a 64-bit integer on Mac OS X (requested by the DOM standard)

        * khtml/dom/dom_node.h: Made DOMTimestamp be unsigned long long on Mac OS X.

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dispatchGenericEvent): Assert that the event has a target.
        (DOM::NodeImpl::dispatchWindowEvent): Set the event target to the document.

        * khtml/xml/dom2_eventsimpl.h: Changed many data members to use SharedPtr instead of
        explicit ref/deref. Changed m_createTime to be a DOMTimeStamp instead of a QDateTime.
        (DOM::EventImpl::setTarget): Now inlined.
        (DOM::EventImpl::timeStamp): Now inlined.
        (DOM::EventImpl::preventDefault): Now inlined.
        (DOM::EventImpl::dispatched): Added. Returns true if the event was already dispatched,
        meaning it already has a target.

        * khtml/xml/dom2_eventsimpl.cpp:
        (DOM::currentTimeStamp): Added. Faster inline version on Mac OS X, since this shows
        up in profiles.
        (DOM::EventImpl::EventImpl): Changed to use contructor syntax and set m_createTime to
        currentTimeStamp().
        (DOM::EventImpl::~EventImpl): Removed explicit derefs; no longer needed.
        (DOM::EventImpl::initEvent): Do nothing if dispatched() is true. Simplify since
        SharedPtr handles ref/deref.
        (DOM::UIEventImpl::UIEventImpl): Changed to use contructor syntax and take advantage
        of the fact that some data members are now SharedPtr.
        (DOM::UIEventImpl::initUIEvent): Do nothing if dispatched() is true. Simplify since
        SharedPtr handles ref/deref.
        (DOM::MouseEventImpl::MouseEventImpl): Changed to use contructor syntax and take advantage
        of the fact that some data members are now SharedPtr.
        (DOM::MouseEventImpl::~MouseEventImpl): Removed explicit derefs; no longer needed.
        (DOM::MouseEventImpl::initMouseEvent): Do nothing if dispatched() is true. Simplify since
        SharedPtr handles ref/deref.
        (DOM::MouseEventImpl::isDragEvent): Use a local variable.
        (DOM::KeyboardEventImpl::KeyboardEventImpl): Changed to use contructor syntax and take
        advantage of the fact that some data members are now SharedPtr.
        (DOM::KeyboardEventImpl::~KeyboardEventImpl): Removed explicit derefs; no longer needed.
        (DOM::KeyboardEventImpl::initKeyboardEvent): Do nothing if dispatched() is true. Simplify
        since SharedPtr handles ref/deref.
        (DOM::MutationEventImpl::MutationEventImpl): Changed to use contructor syntax and take
        advantage of the fact that some data members are now SharedPtr.
        (DOM::MutationEventImpl::initMutationEvent): Do nothing if dispatched() is true. Simplify
        since SharedPtr handles ref/deref.
        (DOM::ClipboardEventImpl::ClipboardEventImpl): Simplify since SharedPtr handles initialization
        and ref/deref.
        (DOM::RegisteredEventListener::RegisteredEventListener): Ditto.

2005-10-24  Geoffrey Garen  <ggaren@apple.com>

        Patch by Niels Leenheer.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=3587
        http://bugs.webkit.org/show_bug.cgi?id=3587

        Reviewed by hyatt.

        Layout tests added:

        * dom/xhtml/level2/html/HTMLBaseElement02-expected.txt:
        * dom/xhtml/level2/html/frame-expected.txt:
        * fast/frames/calculate-fixed-expected.txt: Added.
        * fast/frames/calculate-fixed.html: Added.
        * fast/frames/calculate-order-expected.txt: Added.
        * fast/frames/calculate-order.html: Added.
        * fast/frames/calculate-percentage-expected.txt: Added.
        * fast/frames/calculate-percentage.html: Added.
        * fast/frames/calculate-relative-expected.txt: Added.
        * fast/frames/calculate-relative.html: Added.
        * fast/frames/calculate-round-expected.txt: Added.
        * fast/frames/calculate-round.html: Added.

        * khtml/rendering/render_frames.cpp:
        (RenderFrameSet::layout):

2005-10-24  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5054
          Crash with dataTransfer.setDragImage

        * khtml/ecma/kjs_events.cpp: (KJS::ClipboardProtoFunc::callAsFunction):
        Added type check in case the parameter passed is not an object.

2005-10-24  Darin Adler  <darin@apple.com>

        Reviewed by Beth.

        - got ready to make m_parent private by removing references to it
          also removed tabs (and used spaces instead) to files I touched
        - fixed code that initialized m_parent twice

        * khtml/css/css_base.cpp:
        (StyleBaseImpl::checkLoaded): Use parent().
        (StyleBaseImpl::stylesheet): Ditto.
        * khtml/css/css_base.h:
        (DOM::StyleBaseImpl::StyleBaseImpl): Initialize base TreeShared with the appropriate
        parent instead of first setting m_parent to 0 and then to the correct value. Also
        removed setParent, since the base class setParent works fine.
        * khtml/css/css_ruleimpl.cpp:
        (DOM::CSSRuleImpl::parentStyleSheet): Use parent().
        (DOM::CSSRuleImpl::parentRule): Ditto.
        * khtml/css/css_stylesheetimpl.cpp:
        (StyleSheetImpl::parentStyleSheet): Ditto.
        (MediaListImpl::parentStyleSheet): Ditto.
        (MediaListImpl::parentRule): Ditto.
        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSStyleDeclarationImpl::parentRule): Ditto.
        * khtml/rendering/render_replaced.cpp: Reformatting only, and removed some
        APPLE_CHANGES-only instead.
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::isContentEditable): Use parent().
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::parentNode): Ditto.
        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (DOM::XSLImportRuleImpl::parentStyleSheet): Ditto.

2005-10-24  David Hyatt  <hyatt@apple.com>

	Fix for 5485, make sure generated content's "rightmost selector"
	check does not apply once you move to another selector in the 
	compound selector chain.
	
        Reviewed by mjs

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::checkSelector):

2005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin, committed by beth.

	Fix for http://bugs.webkit.org/show_bug.cgi?id=5384
	Soft hyphen displayed as hyphen when it is the first character 
	in a line/run.

        * khtml/rendering/bidi.cpp:
        (khtml::checkMidpoints):
        (khtml::RenderBlock::skipWhitespace):
        (khtml::RenderBlock::findNextLineBreak):
        * khtml/rendering/render_text.cpp:
        (RenderText::calcMinMaxWidth):

2005-10-23  David Hyatt  <hyatt@apple.com>

	Make sure the button's generated text using the value with
	the default label so that Submit/Reset buttons aren't blank.
	
        Reviewed by mjs

	Added fast/forms/blankbuttons.html
	
        * khtml/rendering/render_button.cpp:
        (khtml::RenderButton::updateFromElement):

2005-10-24  Maciej Stachowiak  <mjs@apple.com>

        Re-landing Dave Hyatt's changes from when the tree was closed.

        * khtml/rendering/render_container.cpp:
        (RenderContainer::destroy):
        (RenderContainer::destroyLeftoverAnonymousChildren):
        * khtml/rendering/render_container.h:
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::destroy):
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::isTransparent):
        (khtml::RenderLayer::paintLayer):
        (khtml::isOverflowOnly):
        (khtml::compare):
        (khtml::sortByZOrder):
        * khtml/rendering/render_layer.h:

2005-10-24  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Darin Adler.
        Commited by Tim Hatcher.

        - fixes http://bugs.webkit.org/show_bug.cgi?id=5484
        REGRESSION: reproducible crash in CachedCSSStyleSheet::setCharset

        * khtml/misc/loader.cpp:
        (CachedCSSStyleSheet::setCharset):
        (CachedScript::setCharset):

2005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.  Committed by David Harrison.

        http://bugs.webkit.org/show_bug.cgi?id=5449
        "OBJECT should be accessible by id/name as document property only if its only children are PARAMs"

        Test added:
        * fast/js/object-by-name-or-id-expected.txt: Added.
        * fast/js/object-by-name-or-id.html: Added.

        Files changed:
        * khtml/html/html_miscimpl.cpp:
        (DOM::HTMLNameCollectionImpl::traverseNextItem):
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::HTMLObjectElementImpl):
        (DOM::HTMLObjectElementImpl::parseMappedAttribute):
        (DOM::HTMLObjectElementImpl::insertedIntoDocument):
        (DOM::HTMLObjectElementImpl::removedFromDocument):
        (DOM::HTMLObjectElementImpl::childrenChanged):
        (DOM::HTMLObjectElementImpl::updateDocNamedItem):
        * khtml/html/html_objectimpl.h:
        (DOM::HTMLObjectElementImpl::isDocNamedItem):
        * manual-tests/drag_select_highlighting.html: Added.

2005-10-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.  Committed by David Harrison.

        http://bugs.webkit.org/show_bug.cgi?id=5415
        "Left border of selection highlight leaves behind a trail"

        (Code changes are in WebKit)
        
        * manual-tests/drag_select_highlighting.html: Added.

2005-10-24  Vicki Murley  <vicki@apple.com>

	Changes by Mitz Pettel, reviewed by Maciej.

	- fix http://bugs.webkit.org/show_bug.cgi?id=5306 (KHTMLPart::requestObject 
	doesn't destroy old plugin content)

	* khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::recalcStyle):

2005-10-24  Vicki Murley  <vicki@apple.com>

        Changes by Alexey Proskuryakov, reviewed by Maciej.

        - fix http://bugs.webkit.org/show_bug.cgi?id=5140 (CachedObject loading 
	ignores charset from HTTP headers)

	* khtml/misc/loader.cpp:
        (CachedCSSStyleSheet::setCharset):
        (CachedScript::setCharset):
        (CachedXSLStyleSheet::setCharset):
        (CachedXSLStyleSheet::data):
        (CachedXBLDocument::CachedXBLDocument):
        (CachedXBLDocument::setCharset):
        (CachedXBLDocument::data):
        (Loader::slotReceivedResponse):
        * khtml/misc/loader.h:

2005-10-24  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Hyatt, landed by beth.

	Fix for http://bugs.webkit.org/show_bug.cgi?id=5318
	forced line break should not be allowed after a list marker.

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::findNextLineBreak):

2005-10-24  Darin Adler  <darin@apple.com>

        Reviewed by hyatt.

        Fix Qualified Name parsing to match spec.
        xhtml dom tests cover these cases.
        http://bugs.webkit.org/show_bug.cgi?id=5317

        * khtml/xml/dom_docimpl.cpp:
        (isValidNameStart):
        (isValidNamePart):
        (qualifiedNameIsMalformed):
        (DOMImplementationImpl::createDocumentType):
        (DOMImplementationImpl::createDocument):
        (DocumentImpl::createElementNS):
        (DocumentImpl::isValidName):
        (DocumentImpl::parseQualifiedName):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::setAttributeNS):

2005-10-23  Julien Palmas <julien.palmas@gmail.com>

        Reviewed by eseidel.

        Finally fix pattern "userspaceonuse" support.
        Several test cases already cover this.
        http://bugs.webkit.org/show_bug.cgi?id=5361

        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (KRenderingPaintServerPatternQuartz::draw):
        * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.checksum:
        * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.png:
        * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.checksum:
        * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.png:
        * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.checksum:
        * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.png:

2005-10-23  Julien Palmas <julien.palmas@gmail.com>

        Reviewed by eseidel.

        Merged over Shared -> Shared<T> change from kdom.
        http://bugs.webkit.org/show_bug.cgi?id=5391

        * WebCore.xcodeproj/project.pbxproj:
        * kdom/Shared.h:
        (KDOM::Shared::Shared):
        (KDOM::Shared::~Shared):
        (KDOM::Shared::refCount):
        (KDOM::Shared::ref):
        (KDOM::Shared::deref):
        * kdom/SharedPtr.h: Added.
        (KDOM::SharedPtr::SharedPtr):
        (KDOM::SharedPtr::~SharedPtr):
        (KDOM::SharedPtr::isNull):
        (KDOM::SharedPtr::notNull):
        (KDOM::SharedPtr::reset):
        (KDOM::SharedPtr::get):
        (KDOM::SharedPtr::operator!):
        (KDOM::SharedPtr::operator bool):
        (KDOM::SharedPtr::operator==):
        (KDOM::::operator):
        * kdom/TreeShared.h:
        (KDOM::TreeShared::TreeShared):
        (KDOM::TreeShared::~TreeShared):
        (KDOM::TreeShared::refCount):
        (KDOM::TreeShared::ref):
        (KDOM::TreeShared::deref):
        (KDOM::TreeShared::parent):
        (KDOM::TreeShared::setParent):
        * kdom/core/DOMConfigurationImpl.cpp:
        (DOMConfigurationImpl::DOMConfigurationImpl):
        * kdom/core/DOMConfigurationImpl.h:
        * kdom/core/DOMErrorHandlerImpl.cpp:
        (DOMErrorHandlerImpl::DOMErrorHandlerImpl):
        * kdom/core/DOMErrorHandlerImpl.h:
        * kdom/core/DOMErrorImpl.cpp:
        (DOMErrorImpl::DOMErrorImpl):
        * kdom/core/DOMErrorImpl.h:
        (KDOM::):
        * kdom/core/DOMExceptionImpl.cpp:
        (DOMExceptionImpl::DOMExceptionImpl):
        * kdom/core/DOMExceptionImpl.h:
        * kdom/core/DOMList.h:
        (KDOM::DOMList::DOMList):
        (KDOM::DOMList::~DOMList):
        * kdom/core/DOMLocatorImpl.cpp:
        (DOMLocatorImpl::DOMLocatorImpl):
        * kdom/core/DOMLocatorImpl.h:
        * kdom/core/DOMObjectImpl.cpp:
        (DOMObjectImpl::DOMObjectImpl):
        * kdom/core/DOMObjectImpl.h:
        * kdom/core/DOMStringImpl.cpp:
        (DOMStringImpl::DOMStringImpl):
        * kdom/core/DOMStringImpl.h:
        * kdom/core/DOMUserDataImpl.cpp:
        (DOMUserDataImpl::DOMUserDataImpl):
        * kdom/core/DOMUserDataImpl.h:
        * kdom/core/NamedNodeMapImpl.cpp:
        (NamedNodeMapImpl::NamedNodeMapImpl):
        * kdom/core/NamedNodeMapImpl.h:
        * kdom/core/NodeImpl.h:
        * kdom/core/NodeListImpl.cpp:
        (NodeListImpl::NodeListImpl):
        * kdom/core/NodeListImpl.h:
        * kdom/core/TypeInfoImpl.cpp:
        (TypeInfoImpl::TypeInfoImpl):
        * kdom/core/TypeInfoImpl.h:
        * kdom/css/CSSRuleListImpl.cpp:
        (CSSRuleListImpl::CSSRuleListImpl):
        * kdom/css/CSSRuleListImpl.h:
        * kdom/css/CounterImpl.cpp:
        (CounterImpl::CounterImpl):
        * kdom/css/CounterImpl.h:
        * kdom/css/RGBColorImpl.cpp:
        (RGBColorImpl::RGBColorImpl):
        * kdom/css/RGBColorImpl.h:
        * kdom/css/RectImpl.cpp:
        (RectImpl::RectImpl):
        * kdom/css/RectImpl.h:
        * kdom/css/RenderStyle.cpp:
        (RenderStyle::RenderStyle):
        * kdom/css/RenderStyle.h:
        (KDOM::RenderStyle::RenderStyle):
        * kdom/css/RenderStyleDefs.cpp:
        (StyleSurroundData::StyleSurroundData):
        (StyleBoxData::StyleBoxData):
        (StyleVisualData::StyleVisualData):
        (StyleBackgroundData::StyleBackgroundData):
        (StyleMarqueeData::StyleMarqueeData):
        (StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
        (StyleCSS3InheritedData::StyleCSS3InheritedData):
        (StyleInheritedData::StyleInheritedData):
        * kdom/css/RenderStyleDefs.h:
        (KDOM::BorderData::BorderData):
        * kdom/css/StyleSheetListImpl.cpp:
        (StyleSheetListImpl::StyleSheetListImpl):
        * kdom/css/StyleSheetListImpl.h:
        * kdom/events/EventExceptionImpl.cpp:
        (EventExceptionImpl::EventExceptionImpl):
        * kdom/events/EventExceptionImpl.h:
        * kdom/events/EventImpl.cpp:
        (EventImpl::EventImpl):
        * kdom/events/EventImpl.h:
        * kdom/events/EventListenerImpl.cpp:
        (EventListenerImpl::EventListenerImpl):
        * kdom/events/EventListenerImpl.h:
        * kdom/ls/LSExceptionImpl.cpp:
        (LSExceptionImpl::LSExceptionImpl):
        * kdom/ls/LSExceptionImpl.h:
        * kdom/ls/LSInputImpl.cpp:
        (LSInputImpl::LSInputImpl):
        * kdom/ls/LSInputImpl.h:
        * kdom/ls/LSOutputImpl.cpp:
        (LSOutputImpl::LSOutputImpl):
        * kdom/ls/LSOutputImpl.h:
        * kdom/ls/LSParserFilterImpl.cpp:
        (LSParserFilterImpl::LSParserFilterImpl):
        * kdom/ls/LSParserFilterImpl.h:
        * kdom/ls/LSResourceResolverImpl.cpp:
        (LSResourceResolverImpl::LSResourceResolverImpl):
        * kdom/ls/LSResourceResolverImpl.h:
        * kdom/ls/LSSerializerImpl.cpp:
        (LSSerializerImpl::LSSerializerImpl):
        * kdom/ls/LSSerializerImpl.h:
        * kdom/range/RangeExceptionImpl.cpp:
        (RangeExceptionImpl::RangeExceptionImpl):
        * kdom/range/RangeExceptionImpl.h:
        * kdom/range/RangeImpl.cpp:
        (RangeImpl::RangeImpl):
        * kdom/range/RangeImpl.h:
        * kdom/traversal/NodeFilterImpl.cpp:
        (NodeFilterImpl::NodeFilterImpl):
        * kdom/traversal/NodeFilterImpl.h:
        (KDOM::NodeFilterCondition::NodeFilterCondition):
        (KDOM::NodeFilterCondition::~NodeFilterCondition):
        (KDOM::NodeFilterCondition::acceptNode):
        * kdom/traversal/TraversalImpl.cpp:
        (TraversalImpl::TraversalImpl):
        * kdom/traversal/TraversalImpl.h:
        * kdom/views/AbstractViewImpl.cpp:
        (AbstractViewImpl::AbstractViewImpl):
        * kdom/views/AbstractViewImpl.h:
        * kdom/xpath/XPathExceptionImpl.h:
        * kdom/xpath/XPathExpressionImpl.h:
        * kdom/xpath/XPathNSResolverImpl.h:
        * kdom/xpath/XPathResultImpl.h:
        * kdom/xpointer/NBCImpl.cpp:
        (NBCImpl::NBCImpl):
        * kdom/xpointer/NBCImpl.h:
        * kdom/xpointer/PointerPartImpl.cpp:
        (PointerPartImpl::PointerPartImpl):
        * kdom/xpointer/PointerPartImpl.h:
        * kdom/xpointer/XPointerExceptionImpl.cpp:
        (XPointerExceptionImpl::XPointerExceptionImpl):
        * kdom/xpointer/XPointerExceptionImpl.h:
        * kdom/xpointer/XPointerExpressionImpl.cpp:
        (XPointerExpressionImpl::XPointerExpressionImpl):
        * kdom/xpointer/XPointerExpressionImpl.h:
        * kdom/xpointer/XPointerResultImpl.cpp:
        (XPointerResultImpl::XPointerResultImpl):
        * kdom/xpointer/XPointerResultImpl.h:
        * ksvg2/css/SVGRenderStyleDefs.cpp:
        (StyleFillData::StyleFillData):
        (StyleStrokeData::StyleStrokeData):
        (StyleStopData::StyleStopData):
        (StyleClipData::StyleClipData):
        (StyleMarkerData::StyleMarkerData):
        (StyleMiscData::StyleMiscData):
        * ksvg2/css/SVGRenderStyleDefs.h:
        * ksvg2/svg/SVGAngleImpl.cpp:
        (SVGAngleImpl::SVGAngleImpl):
        * ksvg2/svg/SVGAngleImpl.h:
        * ksvg2/svg/SVGAnimatedBooleanImpl.cpp:
        (SVGAnimatedBooleanImpl::SVGAnimatedBooleanImpl):
        * ksvg2/svg/SVGAnimatedBooleanImpl.h:
        * ksvg2/svg/SVGAnimatedEnumerationImpl.cpp:
        (SVGAnimatedEnumerationImpl::SVGAnimatedEnumerationImpl):
        * ksvg2/svg/SVGAnimatedEnumerationImpl.h:
        * ksvg2/svg/SVGAnimatedIntegerImpl.cpp:
        (SVGAnimatedIntegerImpl::SVGAnimatedIntegerImpl):
        * ksvg2/svg/SVGAnimatedIntegerImpl.h:
        * ksvg2/svg/SVGAnimatedNumberImpl.cpp:
        (SVGAnimatedNumberImpl::SVGAnimatedNumberImpl):
        * ksvg2/svg/SVGAnimatedNumberImpl.h:
        * ksvg2/svg/SVGAnimatedTemplate.h:
        (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
        * ksvg2/svg/SVGExceptionImpl.cpp:
        (SVGExceptionImpl::SVGExceptionImpl):
        * ksvg2/svg/SVGExceptionImpl.h:
        * ksvg2/svg/SVGLengthImpl.cpp:
        (SVGLengthImpl::SVGLengthImpl):
        * ksvg2/svg/SVGLengthImpl.h:
        * ksvg2/svg/SVGMatrixImpl.cpp:
        (SVGMatrixImpl::SVGMatrixImpl):
        * ksvg2/svg/SVGMatrixImpl.h:
        * ksvg2/svg/SVGNumberImpl.cpp:
        (SVGNumberImpl::SVGNumberImpl):
        * ksvg2/svg/SVGNumberImpl.h:
        * ksvg2/svg/SVGPathSegImpl.cpp:
        (SVGPathSegImpl::SVGPathSegImpl):
        * ksvg2/svg/SVGPathSegImpl.h:
        * ksvg2/svg/SVGPointImpl.cpp:
        (SVGPointImpl::SVGPointImpl):
        * ksvg2/svg/SVGPointImpl.h:
        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
        (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
        * ksvg2/svg/SVGPreserveAspectRatioImpl.h:
        * ksvg2/svg/SVGRectImpl.cpp:
        (SVGRectImpl::SVGRectImpl):
        * ksvg2/svg/SVGRectImpl.h:
        * ksvg2/svg/SVGTransformImpl.cpp:
        (SVGTransformImpl::SVGTransformImpl):
        * ksvg2/svg/SVGTransformImpl.h:

2005-10-23  Eric Seidel  <eseidel@apple.com>

        No review, build fix only.

        * WebCore.xcodeproj/project.pbxproj: added RenderButton.cpp

2005-10-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej.

        Removed early return from stopLoading because it prevented
        onunload events from firing.

        Also, for better abstraction, made the tokenizer -- instead of the 
        data source -- responsible for calling [WebFrame _checkLoadComplete]
        when the tokenizer stops.

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::stopParsing):
        * khtml/khtml_part.cpp:
        (KHTMLPart::stopLoading):

2005-10-23 Julien Palmas <julien.palmas@gmail.com>

        Reviewed by mjs.

        * WebCore+SVG/xml_kdomtokenizer.cpp:
        (KDOMTokenizer::KDOMTokenizer): build fix.
        http://bugs.webkit.org/show_bug.cgi?id=5462

2005-10-23  Nicholas Shanks  <contact@nickshanks.com>

        Reviewed by Dave Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=3442
        Adds support for :first-of-type CSS3 pseudo-selectors
        And builds foundations for :last-of-type and :only-of-type

        * khtml/css/css_base.cpp:
        (CSSSelector::extractPseudoType):
        * khtml/css/css_base.h:
        (DOM::CSSSelector::CSSSelector):
        (DOM::CSSSelector::~CSSSelector):
        (DOM::CSSSelector::):
        (DOM::CSSSelector::pseudoType):
        (DOM::StyleBaseImpl::StyleBaseImpl):
        (DOM::StyleBaseImpl::~StyleBaseImpl):
        (DOM::StyleBaseImpl::isStyleSheet):
        (DOM::StyleBaseImpl::isCSSStyleSheet):
        (DOM::StyleBaseImpl::isStyleSheetList):
        (DOM::StyleBaseImpl::isMediaList):
        (DOM::StyleBaseImpl::isRuleList):
        (DOM::StyleBaseImpl::isRule):
        (DOM::StyleBaseImpl::isStyleRule):
        (DOM::StyleBaseImpl::isCharetRule):
        (DOM::StyleBaseImpl::isImportRule):
        (DOM::StyleBaseImpl::isMediaRule):
        (DOM::StyleBaseImpl::isFontFaceRule):
        (DOM::StyleBaseImpl::isPageRule):
        (DOM::StyleBaseImpl::isUnknownRule):
        (DOM::StyleBaseImpl::isStyleDeclaration):
        (DOM::StyleBaseImpl::isValue):
        (DOM::StyleBaseImpl::isPrimitiveValue):
        (DOM::StyleBaseImpl::isValueList):
        (DOM::StyleBaseImpl::isValueCustom):
        (DOM::StyleBaseImpl::setParent):
        (DOM::StyleBaseImpl::parseString):
        (DOM::StyleBaseImpl::setStrictParsing):
        (DOM::StyleBaseImpl::useStrictParsing):
        (DOM::StyleListImpl::StyleListImpl):
        (DOM::StyleListImpl::length):
        (DOM::StyleListImpl::item):
        (DOM::StyleListImpl::append):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::checkSelector):
        (khtml::CSSStyleSelector::checkOneSelector):

2005-10-21  David Hyatt  <hyatt@apple.com>

        Reviewed by darin

        * khtml/css/cssstyleselector.cpp:
	Add support for the GrayText CSS2 system color to represent
	the disabled text color for controls.
	
        * khtml/css/html4.css:
	Make sure that the default cursor is set for all types of buttons
	and not just the HTML4 button.

	Set the foreground color for buttons using the CSS2 system color.
	Set the disabled text color using the CSS2 system color.

	Move the default padding for buttons into the CSS file.  It will
	get overridden by Aqua buttons but be honored by all other types
	of buttons.  This allows the author to override it as well when
	customizing.
	
        * khtml/rendering/render_block.h:
        Make paintChildren virtual so that RenderButton can push a clip
	and pop a clip when painting children.
	
	* khtml/rendering/render_box.cpp:
        (RenderBox::paintBoxDecorations):
        Let the theme now decide whether the border/background should
	still be painted after the theme has painted.  This allows buttons
	to paint custom borders but still use a pretty OS X background for
	the button face.
	
	* khtml/rendering/render_button.cpp:
        (khtml::RenderButton::paintChildren):
        Overridden to push/pop a clip so that the contents of a button
	don't ever spill out.
	
	* khtml/rendering/render_button.h:
        Added paintChildren method.
	
	* khtml/rendering/render_style.h:
        (khtml::BorderData::hasBorder):
        Fixed a regression in hasBorder.  The border-image logic was
	inverted, resulting in hasBorder being true for every element!
	
	* khtml/rendering/render_theme.cpp:
        (khtml::RenderTheme::paint):
        Patched to return a boolean indicating whether or not the
	border/background should be painted.
	
	* khtml/rendering/render_theme.h:
        * khtml/rendering/render_theme_mac.h:
        * khtml/rendering/render_theme_mac.mm:
        (khtml::RenderThemeMac::adjustRepaintRect):
        Forgot to include radio and button in this method so that repaint
	rects would be correct.
	
	(khtml::RenderThemeMac::paintCheckbox):
        (khtml::RenderThemeMac::paintRadio):
        Adjusted to return the boolean to indicate that painting of
	border/background should not occur.
	
	(khtml::RenderThemeMac::adjustButtonStyle):
        Added support for border/background/colors.  Also locked
	white-space to nowrap for Aqua buttons to avoid line wrapping.
	
	(khtml::RenderThemeMac::setButtonCellState):
	(khtml::RenderThemeMac::paintButton):
	More support for custom border/background/color.
	
2005-10-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by darin.

        WebCore side of fix for <rdar://problem/4184719> window.print() followed by window.close() 
        causes world leak

        No test case added because I have another reviewed patch that will include a test
        for this bug as well as many others.

        Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
        to false, so the didFInishLoad delegates never fired.
        
        The reason isLoading didn't become false was that the tokenizer was still running.
        The fix here is to add a call to Tokenizer::stopParsing inside HTMLPart::stopLoading. 
        
        Since the WebKit side of the fix eliminates an early return that used to protect
        HTMLPart::stopLoading from multiple calls, I added an early return inside
        HTMLPart::stopLoading.

        I also merged stopped and stopLoading, and merged the way XMLTokenizer and HTMLTokenizer
        track whether they're in a stopped state, because anything less would be uncivilized.
        
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::HTMLTokenizer):
        (khtml::HTMLTokenizer::write):
        (khtml::HTMLTokenizer::stopParsing):
        (khtml::HTMLTokenizer::processToken):
        * khtml/html/htmltokenizer.h:
        * khtml/khtml_part.cpp:
        (KHTMLPart::stopLoading):
        (KHTMLPart::endIfNotLoading):
        (KHTMLPart::stop):
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::Tokenizer::Tokenizer):
        (khtml::Tokenizer::finishedParsing):
        (khtml::XMLTokenizer::XMLTokenizer):
        (khtml::XMLTokenizer::endElementNs):
        (khtml::XMLTokenizer::characters):
        (khtml::XMLTokenizer::error):
        (khtml::XMLTokenizer::processingInstruction):
        (khtml::XMLTokenizer::cdataBlock):
        (khtml::XMLTokenizer::comment):
        (khtml::XMLTokenizer::stopParsing):
        * khtml/xml/xml_tokenizer.h:
        (khtml::Tokenizer::stopParsing):
        * kwq/KWQSignalStubs.mm:
        (Loader::requestStarted):

2005-10-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt

	Fix for <rdar://problem/3947202> certain sequence of DOM 
	method calls involving CSS outline and display crashes Safari 
	(in repaint code).

        * khtml/rendering/render_flow.cpp:
        (RenderFlow::destroy): Need to set m_continuation to 0 after it
	is destroyed to prevent possible crashes.

2005-10-21  Vicki Murley  <vicki@apple.com>

        Reviewed by John.
 
	- fixed <rdar://problem/4304213> sometimes have to click twice to jump to top, on href=""

        * manual-tests/linkjump-1.html: Added.
        * khtml/khtml_part.cpp:
        (KHTMLPart::gotoAnchor): remove check for m_url.hasRef() - encodedHtmlRef and gotoAnchor handle empty 
	strings for scrolling to the top of the document

2005-10-21  John Sullivan  <sullivan@apple.com>

        No test cases added.
        
        * khtml/rendering/render_theme_mac.mm:
        (khtml::RenderThemeMac::setButtonPaddingFromControlSize):
        fix deployment build by adding default: statement to button-size switch statement

2005-10-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt

	Fix for <rdar://problem/3847926> crash due to infinite 
	layout regression in RenderLayer::updateScrollInfoAfterLayout 
	(was at ourmedia.org)

	Cannot use hasOverhangingFloats() in this case because
	borderBottom() has already been added into m_height.
	This was causing m_height to be off by a pixel in some
	cases and then causing infinite recursion in the scroll
	bar code.

        * khtml/rendering/render_block.cpp: Replaced call to
					hasOverhangingFloats()
        (khtml::RenderBlock::layoutBlock):

2005-10-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt...sort of.

        No test cases added.

	Fix for a build failure after Hyatt's button check-in. KWQSlider.mm was
	still importing the now deprecated KWQButton.h

	Changed it to import KWQLineEdit.h instead.

        * kwq/KWQSlider.mm:

2005-10-21  David Hyatt  <hyatt@apple.com>

	Land the new "NSView-less" buttons.  With this landing both
	<input type=button> and <button> will now look like OS X-style
	widgets.  Customization of background and border is not yet
	enabled, but this is still a big improvement over the old
	AppKit widgets.
	
        Reviewed by mjs

        * ForwardingHeaders/qpushbutton.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::adjustRenderStyle):
        * khtml/css/cssstyleselector.h:
        (khtml::CSSStyleSelector::paintMetrics):
        * khtml/css/cssvalues.in:
        * khtml/css/html4.css:
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLButtonElementImpl::createRenderer):
        (DOM::HTMLInputElementImpl::click):
        (DOM::HTMLInputElementImpl::createRenderer):
        * khtml/html/html_formimpl.h:
        (DOM::HTMLInputElementImpl::isTextButton):
        * khtml/rendering/render_button.cpp: Added.
        (khtml::m_inner):
        (khtml::RenderButton::~RenderButton):
        (khtml::RenderButton::addChild):
        (khtml::RenderButton::removeChild):
        (khtml::RenderButton::setStyle):
        (khtml::RenderButton::updateFromElement):
        * khtml/rendering/render_button.h: Added.
        (khtml::RenderButton::removeLeftoverAnonymousBoxes):
        (khtml::RenderButton::renderName):
        * khtml/rendering/render_form.cpp:
        * khtml/rendering/render_form.h:
        (khtml::RenderFileButton::calcReplacedHeight):
        (khtml::RenderFileButton::isEditable):
        * khtml/rendering/render_style.h:
        (khtml::):
        * khtml/rendering/render_theme.cpp:
        (khtml::RenderTheme::adjustStyle):
        (khtml::RenderTheme::paint):
        (khtml::RenderTheme::adjustCheckboxStyle):
        (khtml::RenderTheme::adjustRadioStyle):
        (khtml::RenderTheme::adjustButtonStyle):
        * khtml/rendering/render_theme.h:
        (khtml::RenderTheme::setButtonSize):
        * khtml/rendering/render_theme_mac.h:
        * khtml/rendering/render_theme_mac.mm:
        (khtml::RenderThemeMac::setSizeFromFont):
        (khtml::RenderThemeMac::setFontFromControlSize):
        (khtml::RenderThemeMac::addIntrinsicMargins):
        (khtml::RenderThemeMac::setButtonPaddingFromControlSize):
        (khtml::RenderThemeMac::adjustButtonStyle):
        (khtml::RenderThemeMac::buttonSizes):
        (khtml::RenderThemeMac::buttonMargins):
        (khtml::RenderThemeMac::setButtonSize):
        (khtml::RenderThemeMac::setButtonCellState):
        (khtml::RenderThemeMac::paintButton):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject actionElement]):
        (-[KWQAccObject role]):
        (-[KWQAccObject title]):
        * kwq/KWQButton.h: Removed.
        * kwq/KWQButton.mm: Removed.
        * kwq/KWQComboBox.mm:
        * kwq/KWQLineEdit.h:
        * kwq/KWQLineEdit.mm:
        * kwq/KWQPushButton.h: Removed.
        * kwq/KWQPushButton.mm: Removed.

2005-10-19  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - optimizations for a total of about 1% speed-up on PLT

        * khtml/html/htmltokenizer.cpp:
        (khtml::fixUpChar): Changed to be more inlinable.
        (khtml::HTMLTokenizer::processListing): Simplified the skipLF handling.
        (khtml::HTMLTokenizer::parseSpecial): Changed to call the new fixUpChar.
        (khtml::HTMLTokenizer::parseText): Simplified the skipLF handling and
        changed to call the new fixUpChar.
        (khtml::HTMLTokenizer::parseEntity): Changed to call the new fixUpChar.
        (khtml::HTMLTokenizer::parseTag): Changed to call the new fixUpChar.
        (khtml::HTMLTokenizer::write): Changed to call the new fixUpChar.

        * khtml/rendering/font.h: Removed the floatCharacterWidths function,
        since it's never needed. Made some more functions inline.
        * khtml/rendering/font.cpp: Removed lots of stuff that was only for the
        !APPLE_CHANGES case.

        * kwq/KWQFontMetrics.h: Removed the single-character width overloads, charWidth,
        and floatCharacterWidths.
        * kwq/KWQFontMetrics.mm:
        (QFontMetrics::width): Use lroundf instead of the ROUND_TO_INT macro.
        (QFontMetrics::floatWidth): Removed the bogus unneeded call to the ROUND_TO_INT macro.

        * khtml/rendering/render_text.cpp:
        (RenderText::cacheWidths): Use floatWidth instead of floatCharacterWidths.

        * kwq/KWQComboBox.mm: (QComboBox::sizeHint): Update since the floatWidthForRun
        method no longer takes a widths parameter.
        * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Ditto.
        * kwq/KWQListBox.mm:
        (QListBox::sizeForNumberOfLines): Ditto.
        (-[KWQTableView drawRow:clipRect:]): Ditto.
        * kwq/KWQPainter.mm: (QPainter::drawText): Ditto. Also use lroundf instead of the
        ROUND_TO_INT macro.

        * kwq/WebCoreTextRenderer.h: Removed the ROUND_TO_INT macro. Changed to use bool
        instead of bit fields. Removed the widths parameter from the floatWidthForRun method.

2005-10-19  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave.

        - instead of walking the render tree to update widget positions, instead
	keep a set of widgets per canvas, maintained by the constructor and destroy method
	for RenderWidget. About a .5% speedup.

        * khtml/khtmlview.cpp:
        (KHTMLView::layout):
        * khtml/rendering/render_canvas.cpp:
        (RenderCanvas::updateWidgetPositions):
        (RenderCanvas::addWidget):
        (RenderCanvas::removeWidget):
        * khtml/rendering/render_canvas.h:
        * khtml/rendering/render_frames.cpp:
        (RenderPart::updateWidgetPosition):
        (RenderPart::needWidgetPositionUpdating):
        * khtml/rendering/render_frames.h:
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::scrollToOffset):
        * khtml/rendering/render_object.cpp:
        (RenderObject::updateWidgetPosition):
        (RenderObject::needWidgetPositionUpdating):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::RenderWidget):
        (RenderWidget::destroy):
        (RenderWidget::updateWidgetPosition):
        (RenderWidget::needWidgetPositionUpdating):
        * khtml/rendering/render_replaced.h:

2005-10-18  Darin Adler  <darin@apple.com>

        Reviewed and landed by Maciej.

        - some simple changes that amount to a < 1% speedup.

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty):
        * khtml/rendering/bidi.cpp:
        (khtml::BidiIterator::direction):
        * kwq/KWQKURL.mm:
        (hasSlashDotOrDotDot):
        * kwq/KWQString.mm:
        (QString::~QString):
        * kwq/WebCoreTextRendererFactory.h:

2005-10-18  Maciej Stachowiak  <mjs@apple.com>

        - back out the last change, it caused a regression with painting of offscreen plugins

        * khtml/khtmlview.cpp:
        (KHTMLView::layout):
        * khtml/rendering/render_form.cpp:
        (RenderFormElement::layout):
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::layout):
        (RenderPart::updateWidgetPositions):
        * khtml/rendering/render_frames.h:
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::scrollToOffset):
        * khtml/rendering/render_object.cpp:
        (RenderObject::updateWidgetPositions):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::layout):
        (RenderWidget::updateWidgetPositions):
        * khtml/rendering/render_replaced.h:

2005-10-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dave Hyatt.
        Committed by John Sullivan.

        - .5% or so speedup by removing updateWidgetPositions

	Instead, widget sizes are calculated in layout and widget positions are set at
	paint time, with the same kind of special handling for incremental repaint that
	RenderImage does.

        * khtml/khtmlview.cpp:
        (KHTMLView::layout):
        * khtml/rendering/render_form.cpp:
        (RenderFormElement::layout):
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::layout):
        * khtml/rendering/render_frames.h:
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::scrollToOffset):
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::layout):
        * khtml/rendering/render_replaced.h:

2005-10-17  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.

        Speed up the tokenizer by keeping more state on the stack instead of in the object,
	to avoid load-store traffic. About a .5% speedup.

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::HTMLTokenizer):
        (khtml::HTMLTokenizer::reset):
        (khtml::HTMLTokenizer::begin):
        (khtml::HTMLTokenizer::setForceSynchronous):
        (khtml::HTMLTokenizer::processListing):
        (khtml::HTMLTokenizer::parseSpecial):
        (khtml::HTMLTokenizer::scriptHandler):
        (khtml::HTMLTokenizer::scriptExecution):
        (khtml::HTMLTokenizer::parseComment):
        (khtml::HTMLTokenizer::parseServer):
        (khtml::HTMLTokenizer::parseProcessingInstruction):
        (khtml::HTMLTokenizer::parseText):
        (khtml::HTMLTokenizer::parseEntity):
        (khtml::HTMLTokenizer::parseTag):
        (khtml::HTMLTokenizer::continueProcessing):
        (khtml::HTMLTokenizer::write):
        (khtml::HTMLTokenizer::allDataProcessed):
        (khtml::HTMLTokenizer::end):
        (khtml::HTMLTokenizer::finish):
        (khtml::HTMLTokenizer::notifyFinished):
        (khtml::HTMLTokenizer::isWaitingForScripts):
        * khtml/html/htmltokenizer.h:
        (khtml::HTMLTokenizer::):
        (khtml::HTMLTokenizer::State::State):
        (khtml::HTMLTokenizer::State::tagState):
        (khtml::HTMLTokenizer::State::setTagState):
        (khtml::HTMLTokenizer::State::entityState):
        (khtml::HTMLTokenizer::State::setEntityState):
        (khtml::HTMLTokenizer::State::inScript):
        (khtml::HTMLTokenizer::State::setInScript):
        (khtml::HTMLTokenizer::State::inStyle):
        (khtml::HTMLTokenizer::State::setInStyle):
        (khtml::HTMLTokenizer::State::inSelect):
        (khtml::HTMLTokenizer::State::setInSelect):
        (khtml::HTMLTokenizer::State::inXmp):
        (khtml::HTMLTokenizer::State::setInXmp):
        (khtml::HTMLTokenizer::State::inTitle):
        (khtml::HTMLTokenizer::State::setInTitle):
        (khtml::HTMLTokenizer::State::inPlainText):
        (khtml::HTMLTokenizer::State::setInPlainText):
        (khtml::HTMLTokenizer::State::inProcessingInstruction):
        (khtml::HTMLTokenizer::State::setInProcessingInstruction):
        (khtml::HTMLTokenizer::State::inComment):
        (khtml::HTMLTokenizer::State::setInComment):
        (khtml::HTMLTokenizer::State::inTextArea):
        (khtml::HTMLTokenizer::State::setInTextArea):
        (khtml::HTMLTokenizer::State::escaped):
        (khtml::HTMLTokenizer::State::setEscaped):
        (khtml::HTMLTokenizer::State::inServer):
        (khtml::HTMLTokenizer::State::setInServer):
        (khtml::HTMLTokenizer::State::skipLF):
        (khtml::HTMLTokenizer::State::setSkipLF):
        (khtml::HTMLTokenizer::State::startTag):
        (khtml::HTMLTokenizer::State::setStartTag):
        (khtml::HTMLTokenizer::State::discardLF):
        (khtml::HTMLTokenizer::State::setDiscardLF):
        (khtml::HTMLTokenizer::State::allowYield):
        (khtml::HTMLTokenizer::State::setAllowYield):
        (khtml::HTMLTokenizer::State::loadingExtScript):
        (khtml::HTMLTokenizer::State::setLoadingExtScript):
        (khtml::HTMLTokenizer::State::forceSynchronous):
        (khtml::HTMLTokenizer::State::setForceSynchronous):
        (khtml::HTMLTokenizer::State::inAnySpecial):
        (khtml::HTMLTokenizer::State::hasTagState):
        (khtml::HTMLTokenizer::State::hasEntityState):
        (khtml::HTMLTokenizer::State::):
        (khtml::HTMLTokenizer::State::setBit):
        (khtml::HTMLTokenizer::State::testBit):
        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::checkLinesForTextOverflow):
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::updateFirstLetter):
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::caretRect):
        * khtml/rendering/render_line.cpp:
        (khtml::EllipsisBox::paint):
        * khtml/rendering/render_object.cpp:
        (RenderObject::firstLineStyle):
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::style):

2005-10-17  Maciej Stachowiak  <mjs@apple.com>

        - temporarily back out hyatt's recent changes since the tree was closed

        * khtml/rendering/render_container.cpp:
        (RenderContainer::destroy):
        (RenderContainer::destroyChildren):
        * khtml/rendering/render_container.h:
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::destroy):
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::isTransparent):
        (khtml::RenderLayer::paintLayer):
        (khtml::sortByZOrder):
        * khtml/rendering/render_layer.h:

2005-10-17  David Hyatt  <hyatt@apple.com>

	Fix for bugzilla bug 5283.  Make overflow layers lose to other kinds of
	layers if z-index is equivalent.  Technically overflow isn't even supposed
	to establish a stacking context, so the use of RenderLayer for overflow,
	although elegant and simple, isn't correct.  This patch is essentially a hack
	to make the common problem go away, but the deeper mistake remains.
	
        Reviewed by eseidel

        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::isTransparent):
        (khtml::RenderLayer::paintLayer):
        (khtml::isOverflowOnly):
        (khtml::compare):
        (khtml::sortByZOrder):
        * khtml/rendering/render_layer.h:

2005-10-16  David Hyatt  <hyatt@apple.com>

	Clean up the deletion of anonymous boxes in the render tree.
	Renamed methods to make it more clear and also added comments.
	
        Reviewed by bdakin

        * khtml/rendering/render_container.cpp:
        (RenderContainer::destroy):
        (RenderContainer::destroyLeftoverAnonymousChildren):
        * khtml/rendering/render_container.h:
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::destroy):

2005-10-15  Maciej Stachowiak  <mjs@apple.com>

	Backed out the following changes, since they are in a range that
	provably caused a performance regression:

	<rdar://problem/4302874> Denver Regression: crash repeatedly reloading www.supermanhomepage.com
	<rdar://problem/4302879> Re-land SVG object element fix
	<rdar://problem/4302880> Re-land isSameNode change
	<rdar://problem/4065748> Repro crash at http://www.vanaqua.org using menu system (KHTMLParser::setCurrent(DOM::NodeImpl*))
	
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.h:
        (KJS::DOMNode::):
        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::isImageType):
        * khtml/html/htmlparser.cpp:
        (HTMLStackElem::HTMLStackElem):
        (HTMLParser::popNestedHeaderTag):
        (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
        (HTMLParser::popOneBlock):
        * khtml/xml/dom_nodeimpl.h:
        * kwq/DOM.mm:

2005-10-14  Geoffrey Garen  <ggaren@apple.com>

        Style change suggested by Darin.

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::scriptHandler): Added "Bugzilla" prefix to bug #.

2005-10-14  Julien Palmas <julien.palmas@mac.com>

        Reviewed by eseidel.

        Fixed crash when animating unsupported elements.
        http://bugs.webkit.org/show_bug.cgi?id=5336

        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::targetElement):

2005-10-13  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by hyatt

        <rdar://problem/3643259> contentEditable=true elements do not acquire the caret or focus halo when overflow:scroll

        Test cases added:
        * fast/clip/outline-overflowClip
        Test cases changed (since I added the outline rect to the render tree dump)
        * fast/clip/001
        * fast/clip/009
        * fast/clip/010
        * fast/clip/011
        * fast/clip/012
        * fast/clip/013
        * fast/clip/014
        * fast/clip/016

        * khtml/rendering/render_layer.cpp: 
        Clip the outline by a new rect, which is equal to the foreground rect w/o clipping
        by the overflow rect.
        
        (khtml::RenderLayer::paintLayer):
        (khtml::RenderLayer::hitTestLayer):
        (khtml::RenderLayer::calculateRects):
        * khtml/rendering/render_layer.h:
        * kwq/KWQRenderTreeDebug.cpp:
        (write):
        (writeLayers):

2005-10-13  Antti Koivisto  <koivisto@iki.fi>

        Reviewed by Darin.

        no need to calculate linewidth multiple times in findnextlinebreak()
        http://bugs.webkit.org/show_bug.cgi?id=5319

        No test case needed, this is a simple optimization.

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::findNextLineBreak):

2005-10-13  Geoffrey Garen  <ggaren@apple.com>

        - Fixed <rdar://problem/4259434> Safari crashes in HTMLTokenizer::~HTMLTokenizer() 
          at http://www.timewarner.com/corp/careers/jobtools_us/index.html

        I changed the test for whether to put a script in the "to be executed" queue to
        match the test for whether to ref a script, so that scripts can't end up in the
        queue without being refed.

        I also renamed cachedScript to pendingScripts.

        Reviewed by Darin.

        No test case because the crash isn't deterministically reproducible.
        However, I did add assertions that should catch the underlying bug
        in the future.

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::reset):
        (khtml::HTMLTokenizer::scriptHandler):
        (khtml::HTMLTokenizer::write):
        (khtml::HTMLTokenizer::notifyFinished):
        * khtml/html/htmltokenizer.h:

2005-10-13  Rob Buis  <rwlbuis@xs4all.nl>

        Reviewed by eseidel.  Committed by eseidel.

        Test cases updated:
        * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.checksum:
        * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.png:
        * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.checksum:
        * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.png:
        * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:

        Fixed <svg> to base %lengths off of the nearest viewbox.
        http://bugs.webkit.org/show_bug.cgi?id=5326

        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
        (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::x):
        (SVGSVGElementImpl::y):
        (SVGSVGElementImpl::width):
        (SVGSVGElementImpl::height):

2005-10-12  Vicki Murley  <vicki@apple.com>

        Reviewed by Hyatt.

	- fix <rdar://problem/4288266> createElement does not validate names when called in an HTML document (4566)

        * khtml/html/html_documentimpl.cpp:
        (DOM::HTMLDocumentImpl::createElement): 

2005-10-12  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt

	Fix for <rdar://problem/4112378> CSS :hover:after crash - khtml::inlineWidth
	RenderFlows needed to destroy all of their children within RenderFlow. This
	used to happen only in RenderFlow's parent class, RenderContainer. But for
	some children to be completely destroyed, the parent flow still needs to be
	around. Specifically in the case when there is generated content and a line
	break, which maintained a stray reference to the destroyed RenderObject through 
	the lineBreakObj() of a RootInlineBox. 

        * khtml/rendering/render_container.cpp: 
        (RenderContainer::destroy): Took the destruction of children out of destroy(),
				moved to new function, and only call function when m_first
				is still around.
        (RenderContainer::destroyChildren): New function for destruction of children.
        * khtml/rendering/render_container.h:
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::destroy): Call RenderContainer::destroyChildren() at the beginning.

2005-10-11  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        Crash: Drag element with CSS ::Before absolute positioning applied to it
        http://bugs.webkit.org/show_bug.cgi?id=4088

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::khtmlMouseMoveEvent):

2005-10-11  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin.

        workaround for <rdar://problem/4294625> to fix our build
        
        * kwq/KWQPointArray.h:
        * kwq/KWQSize.h:

2005-10-10  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by eric
        
        <rdar://problem/4283218> M-JPEG / Server Push and JavaScript
        
        Ignore multipart loads in numRequests, call checkCompleted() after each section is complete.

        * khtml/misc/loader.cpp:
        
2005-10-11  Adele Peterson  <adele@apple.com>

        Rolling out fix for http://bugs.webkit.org/show_bug.cgi?id=5195
        since it caused:

        REGRESSION text areas draw focus ring around each glyph, no caret in text fields
        http://bugs.webkit.org/show_bug.cgi?id=5335

        And updated expected results.
        * fast/clip/014-expected.checksum: Updated.
        * fast/clip/014-expected.png: Updated.

        * kwq/KWQTextArea.h:
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView displayRectIgnoringOpacity:]):
        (-[KWQTextAreaTextView textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
        * kwq/KWQTextField.h:
        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController setInDrawingMachinery:]):
        (-[KWQTextFieldController textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
        (-[KWQTextField displayRectIgnoringOpacity:]):
        (-[KWQSecureTextField displayRectIgnoringOpacity:]):
        (-[KWQSearchField displayRectIgnoringOpacity:]):
        * kwq/KWQWidget.h:
        * kwq/KWQWidget.mm:
        (QWidget::QWidget):
        (QWidget::~QWidget):
        (QWidget::paint):
        (QWidget::setDeferFirstResponderChanges):

2005-10-11  Rob Buis  <rwlbuis@xs4all.nl>

        Reviewed by eseidel.  Committed by eseidel.

        Fix SVGSymbolElementImpl to not warn when inheriting viewbox.
        http://bugs.webkit.org/show_bug.cgi?id=5278

        * ksvg2/svg/SVGUseElementImpl.cpp:
        (SVGUseElementImpl::close):

2005-10-11  Julien Palmas <julien.palmas@mac.com>

        Reviewed by eseidel.

        Fixes WebCore+SVG build under gcc 3.3
        http://bugs.webkit.org/show_bug.cgi?id=5301

        * WebCore+SVG/DrawCanvasItem.mm:
        * WebCore+SVG/DrawView.mm:
        (-[DrawDocument drawRect:initWithDrawView:]):
        * kwq/KWQSlot.mm:

2005-10-10  Geoffrey Garen  <ggaren@apple.com>

        - Fixed <rdar://problem/4245682> Regression: CrashTracer: 923 crashes 
          in Safari at com.apple.WebCore: KJS::Window::clear + 132

        Reviewed by mjs.

        No test case because this crash isn't reliably reproducible.

        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::Window): Initialize m_returnValueSlot to 0, so that we
        know not to write to it until it's explicitly set to a valid address.

2005-10-10  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - finished fixing http://bugs.webkit.org/show_bug.cgi?id=5195
          Would like API to flush rendering of pending DOM changes

        The first half of the fix alone broke DumpRenderTree. Better now.

        * kwq/KWQWidget.h: Made paint non-virtual (it had no reason to be virtual in KWQ) and
        added an isPainting function.
        * kwq/KWQWidget.mm:
        (QWidget::QWidget): Added painting boolean (actually a count).
        (QWidget::~QWidget): Check that painting is 0 when the widget is destroyed.
        (QWidget::paint): Use SPI to draw in a way that works no matter what context we are in.
        (QWidget::isPainting): Return true if inside the paint function.

        * kwq/KWQTextArea.h: Remove inDrawingMachinery field since we can use isPainting now.
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
        Use isPainting() instead of inDrawingMachinery. inDrawingMachinery required that we
        use displayRectIgnoringOpacity: to paint, which we no longer do.
        * kwq/KWQTextField.h: More of the same.
        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController textView:shouldDrawInsertionPointInRect:color:turnedOn:]):
        Ditto.

2005-10-10  Darin Adler  <darin@apple.com>

        Reviewed by eseidel.

        Mem leak fixes in xslt code.
        http://bugs.webkit.org/show_bug.cgi?id=5320

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::applyXSLTransform):
        (DocumentImpl::setTransformSourceDocument):
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::parseXMLDocumentFragment):
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::XSLTProcessorImpl::XSLTProcessorImpl):
        (DOM::XSLTProcessorImpl::~XSLTProcessorImpl):
        (DOM::stylesheetLoadFunc):
        (DOM::XSLTProcessorImpl::transformDocument):
        (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
        * khtml/xsl/xslt_processorimpl.h:
        (DOM::XSLTProcessorImpl::stylesheet):
        (DOM::XSLTProcessorImpl::sourceDocument):

2005-10-09  David Hyatt  <hyatt@apple.com>

	Land fix for bugzilla bug 4974, make sure to only move below floats in line layout if white-space is normal.
	One case was using !isPre and including nowrap incorrectly as a result.  Patch from koivisto.
	
        Reviewed by hyatt

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::findNextLineBreak):

2005-10-08  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        - support for WebKit fix for http://bugs.webkit.org/show_bug.cgi?id=5187
          UTF-8 in long text files breaks at some point

        No layout test added: only affects plain text view and requires loading the
        file in multiple chunks.

        * WebCore.exp: Added WebCoreTextDecoder.
        * kwq/WebCoreTextDecoder.h: Added.
        * kwq/WebCoreTextDecoder.mm: Added.
        * WebCore.xcodeproj/project.pbxproj: Added files, made header private (SPI).

2005-10-08  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4821
          Text in submitted forms should be entity-encoded if the current encoding doesn't support it

        Added one layout test.

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::formData): Pass true to the fromUnicode function to request entity encoding.
        (DOM::FormDataList::appendString): Ditto.

        * kwq/KWQTextCodec.h: Add boolean parameter to request entity-style encoding for characters that can't
        be expressed in the desired encoding.
        * kwq/KWQTextCodec.mm: (QTextCodec::fromUnicode): Added code to entity-encode characters that can't be
        expressed in the desired encoding.

2005-10-08  Rosyna  <rosyna@unsanity.com>

        Reviewed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=3852
          typeahead doesn't work in multiple row select boxes.

        * kwq/KWQListBox.mm:
        (KWQTableViewTypeSelectCallback): Added.
        (-[KWQTableView finalize]): Deallocate the UCTypeSelect object.
        (-[KWQTableView dealloc]): Ditto.
        (-[KWQTableView keyUp:]): If character typed is a graphic character, pass it along to
        the UCTypeSelect object and use it to type select, otherwise flush the object.

        * manual-tests/select-element-type-select.html: Added.

2005-10-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=3245
          Support the 'bdo' element

        Fixes the results of some existing layout tests.

        * khtml/xml/dom_elementimpl.h: Add eBDO to the list of entry types so there's a way to
        keep <bdo> dir attribute mappings separate from those of other elements.

        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::mapToEntry): Add special case to use eBDO for the dir attribute on
        elements with the <bdo> tag.
        (HTMLElementImpl::parseMappedAttribute): Use bidi-override for the unicode-bidi CSS property
        when setting it based on the dir attribute on a <bdo> tag. Along with the change above this
        obviates the need for an HTMLElementImpl subclass for <bdo>, but we could refactor it that
        way later if we decide there's an advantage to doing it that way.

        * khtml/css/html4.css: Remove the rules about <bdo>. They are insufficient, and now
        they are also unnecessary with the changes above.

2005-10-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4898
          Failures in dbaron's bidi ordering tests

        Added 3 dbaron bidi ordering tests to layout tests.

        * khtml/rendering/bidi.cpp:
        (khtml::deleteBidiRuns): Set emptyRun back to true.
        (khtml::Bidinext): Remove emptyRun checks here.
        (khtml::appendRunsForObject): Add a check here to avoid adding an empty run.
        (khtml::embed): Add handling for various cases that was missing before.
        (khtml::RenderBlock::bidiReorderLine): Many different fixes.

2005-10-08  Rob Buis  <rwlbuis@xs4all.nl>

        Reviewed by eseidel.  Committed by eseidel.

        Almost forgot the layout test for the last commit. ;)
        http://bugs.webkit.org/show_bug.cgi?id=5240

        * svg-tests/custom/use-forward-refs-expected.checksum: Added.
        * svg-tests/custom/use-forward-refs-expected.png: Added.
        * svg-tests/custom/use-forward-refs-expected.txt: Added.
        * svg-tests/custom/use-forward-refs.svg: Added.

2005-10-08  Rob Buis  <rwlbuis@xs4all.nl>

        Reviewed by eseidel.  Committed by eseidel.

        Fix to handle forward referencing <use> elements.
        http://bugs.webkit.org/show_bug.cgi?id=5240

        * ksvg2/svg/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::executeScripts): delayed close.
        (SVGDocumentImpl::addForwardReference): new function.
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGUseElementImpl.cpp:
        (SVGUseElementImpl::close): delay close, if missing reference.

2005-10-07  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        "<rdar://problem/4064017> Safari crashes at -[WebCoreBridge firstRectForDOMRange:] + 92"

        * khtml/editing/delete_selection_command.cpp:
        (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
        Do not insert placeholder if selection ends at a BR.
        
        (khtml::DeleteSelectionCommand::handleGeneralDelete):
        No need to preserve starting BR because insertPlaceholderForAncestorBlockContent already did.
        
        * khtml/xml/dom_position.cpp:
        (DOM::Position::upstream):
        (DOM::Position::downstream):
        Fixed to return original position instead of invisible position when no suitable position found upstream.

2005-10-07  Vicki Murley  <vicki@apple.com>

        Reviewed by Hyatt.
 
	- pass the current form to the isindex constructor, so that isindex doesn't malfunction in the 
	case of a misnested form

        * khtml/html/htmlparser.cpp:
        (HTMLParser::handleIsindex):

2005-10-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison

        <rdar://problem/4073133> Tabbing between editable elements leads to loss of keyboard focus
        <rdar://problem/3690719> "Select All" when in an editable area selects the whole containing document
        <rdar://problem/3690703> selection is allowed to span editable area and rest of document

        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::adjustExtentForEditableContent): Added.
        Ensures that a selection based in an editable element cannot extend outside that element's root editable element.
        Also ensures that a selection that's based outside of editable content cannot extend into an editable element.
        (khtml::SelectionController::validate):
        * khtml/editing/SelectionController.h:
        * khtml/editing/visible_position.h:
        * khtml/khtml_part.cpp:
        (KHTMLPart::setSelection):
        (KHTMLPart::setFocusNodeIfNeeded):
        (KHTMLPart::selectAll):
        If the current selection is inside an editable element, only select the contents of the root editable element.
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::ContainerNodeImpl::setFocus): Clicking on an editable element used to change the selection twice.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::nextKeyViewInFrame): Does a select all when tabbing into an editable element, to match <textarea>s.

2005-10-06  Vicki Murley  <vicki@apple.com>

        Reviewed by Beth Dakin.
 
	- fix <rdar://problem/4288307> <form> element is created for <isindex> outside <form>; that's not correct (4828)

        * khtml/html/htmlparser.cpp:
        (HTMLParser::handleIsindex): if there's no current form, don't create one

2005-10-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Vicki.

	Fix for <rdar://problem/4145535> Crash in khtml::RenderBlock::addOverhangingFloats 
	with simple HTML test file.

        * khtml/rendering/render_block.cpp: Added nil check
        (khtml::RenderBlock::addOverhangingFloats):

2005-10-06  John Sullivan  <sullivan@apple.com>

        Reviewed by Beth Dakin.

        No test cases added because this does not affect layout.

        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView setLineHeight:]):
        Don't call [textView didChangeText] here, because the text itself did not change.

EW2005-10-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by nobody.

        Rolling out the assertions I put in place earlier today
	because they break the layout tests. 

        * khtml/rendering/render_container.cpp:
        (RenderContainer::destroy):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dispatchEvent):
        (DOM::NodeImpl::dispatchGenericEvent):
        (DOM::NodeImpl::dispatchHTMLEvent):
        (DOM::NodeImpl::dispatchWindowEvent):
        (DOM::NodeImpl::dispatchMouseEvent):
        (DOM::NodeImpl::dispatchSimulatedMouseEvent):
        (DOM::NodeImpl::dispatchUIEvent):
        (DOM::NodeImpl::dispatchKeyEvent):
        (DOM::NodeImpl::dispatchWheelEvent):
        (DOM::NodeImpl::detach):
        (DOM::ContainerNodeImpl::insertBefore):
        (DOM::ContainerNodeImpl::replaceChild):
        (DOM::ContainerNodeImpl::removeChild):
        (DOM::ContainerNodeImpl::removeChildren):
        (DOM::ContainerNodeImpl::appendChild):
        (DOM::ContainerNodeImpl::addChild):
        (DOM::ContainerNodeImpl::dispatchChildInsertedEvents):

2005-10-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Harrison

        No test cases added because this does not affect layout.

	Added assertions to catch WebCore whenever it tries to dispatch an event
	while it is modifying the DOM tree. This does not fix any bugs but was 
	inspired by 4134884 and 4132581. 

        * khtml/rendering/render_container.cpp: Assert that m_first is anonymous
        (RenderContainer::destroy):
        * khtml/xml/dom_nodeimpl.cpp: Added static int eventDispatchForbidden, and
					forbidEventDispatch() and allowEventDispatch()
					to wrap code that modifies the tree.
        (DOM::forbidEventDispatch):
        (DOM::allowEventDispatch): 
        (DOM::NodeImpl::dispatchEvent): Added assertion.
        (DOM::NodeImpl::dispatchGenericEvent): Added assertion.
        (DOM::NodeImpl::dispatchHTMLEvent): Added assertion.
        (DOM::NodeImpl::dispatchWindowEvent): Added assertion.
        (DOM::NodeImpl::dispatchMouseEvent): Added assertion.
        (DOM::NodeImpl::dispatchSimulatedMouseEvent): Added assertion.
        (DOM::NodeImpl::dispatchUIEvent): Added assertion.
        (DOM::NodeImpl::dispatchKeyEvent): Added assertion.
        (DOM::NodeImpl::dispatchWheelEvent): Added assertion.
        (DOM::NodeImpl::detach): Added assertion.
        (DOM::ContainerNodeImpl::insertBefore): Wrapped tree-modifying code.
        (DOM::ContainerNodeImpl::replaceChild): Wrapped tree-modifying code.
        (DOM::ContainerNodeImpl::removeChild): Wrapped tree-modifying code.
        (DOM::ContainerNodeImpl::removeChildren): Wrapped tree-modifying code.
        (DOM::ContainerNodeImpl::appendChild): Wrapped tree-modifying code.
        (DOM::ContainerNodeImpl::addChild): Wrapped tree-modifying code.
        (DOM::ContainerNodeImpl::dispatchChildInsertedEvents): Added. assertion. 

2005-10-06  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt

        No test case added because you need to interact with a page to see this crash. 

	Fix for <rdar://problem/3918278> CSS: :hover:before or :hover crashes in 
	RenderObject::repaintObjectsBeforeLayout()

        * khtml/rendering/render_container.cpp:
        (RenderContainer::updatePseudoChild): Deleted call to removeChild() because destroy() takes
						care of that, and we don't want to remove the
						node before we destroy it anyway, or positioned
						objects won't be appropriately deleted. 

2005-10-06  David Harrison  <harrison@apple.com>

        Reviewed by hyatt.

        No test cases added or changed because this patch does not address a bug.
        
        Fix two detach/destroy renames I missed yesterday.
        
        * khtml/rendering/bidi.cpp:
        (khtml::BidiRun::destroy):
        (khtml::BidiRun::operator delete):
        Renamed inBidiRunDetach to inBidiRunDestroy.
        
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::operator delete):
        (khtml::RenderLayer::destroy):
        Renamed inRenderLayerDetach to inRenderLayerDestroy.

2005-10-06  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
        - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
          also <http://bugs.webkit.org/show_bug.cgi?id=3231>

        * kwq/WebCoreTextRendererFactory.h: Added WebCoreFont structure, and made this header work for
        non-Objective-C compiles. Changed all the methods to take and return WebCoreFont instead of
        NSFont *.
        * kwq/WebCoreTextRendererFactory.mm:
        (WebCoreInitializeFont): Added.
        (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]): Updated to use ERROR so we notice
        cases where the subclass does not override these methods.
        (-[WebCoreTextRendererFactory isFontFixedPitch:]): Ditto.
        (-[WebCoreTextRendererFactory rendererWithFont:]): Ditto.

        * WebCore.exp: Added WebCoreInititalizeFont.

        * kwq/KWQFont.h: Added WebCoreFont support.
        * kwq/KWQFont.mm:
        (QFont::QFont): Change to use WebCoreFont.
        (QFont::~QFont): Ditto.
        (QFont::operator=): Ditto.
        (QFont::setFamily): Ditto.
        (QFont::setFirstFamily): Ditto.
        (QFont::setPixelSize): Ditto.
        (QFont::setWeight): Ditto.
        (QFont::setItalic): Ditto.
        (QFont::determinePitch): Ditto.
        (QFont::getWebCoreFont): Added.

        * kwq/KWQComboBox.mm: (QComboBox::sizeHint): Pass in WebCoreFont when creating text renderer.
        * kwq/KWQFontMetrics.mm: (QFontMetricsPrivate::getRenderer): Ditto.
        * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Ditto.
        * kwq/KWQListBox.mm:
        (itemTextRenderer): Ditto.
        (groupLabelTextRenderer): Ditto.
        (QListBox::sizeForNumberOfLines): Changed non-system-font case to use QFont rather than NSFont
        to add boldness, so that group label fonts are bolded even if it's synthesiized bold.
        (-[KWQTableView drawRow:clipRect:]): Ditto.
        * kwq/KWQPainter.mm: (QPainter::_updateRenderer): Pass in WebCoreFont when creating text renderer.

2005-10-05  Vicki Murley  <vicki@apple.com>

        Reviewed by Maciej.
 
	- fix <rdar://problem/4288829> repro crash on isIndex tag with no attributes

        * khtml/html/htmlparser.cpp:
        (HTMLParser::handleIsindex): only deref attributes if they exist

2005-10-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	<rdar://problem/4150976> Safari crashes in HTMLImageLoader::dispatchLoadEvent() on particular page (archive attached)

	I couldn't figure out how to make an automated test for this; even once I got DumpRenderTree
	to mouse in and out it did not crash.
	
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageLoader::dispatchLoadEvent): Check if CachedImage is null before using it.

2005-10-05  David Harrison  <harrison@apple.com>

        Reviewed by Darin.

        No test cases added or changed because this patch does not address a bug.

        For clarity, renamed the "detach()" function to "destroy()" in the following classes:
        RenderObject (and subclasses),  BidiRun, ClipRects, InlineBox (and subclasses).
        
        * khtml/rendering/bidi.cpp:
        (khtml::BidiRun::destroy):
        (khtml::BidiRun::operator delete):
        (khtml::deleteBidiRuns):
        * khtml/rendering/bidi.h:
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::removeChild):
        (khtml::RenderBlock::updateFirstLetter):
        * khtml/rendering/render_box.cpp:
        (RenderBox::destroy):
        (RenderBox::dirtyLineBoxes):
        (RenderBox::position):
        (RenderBox::deleteLineBoxWrapper):
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_container.cpp:
        (RenderContainer::destroy):
        (RenderContainer::updatePseudoChild):
        (RenderContainer::removeLeftoverAnonymousBoxes):
        * khtml/rendering/render_container.h:
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::deleteLineBoxes):
        (RenderFlow::destroy):
        * khtml/rendering/render_flow.h:
        * khtml/rendering/render_form.cpp:
        (RenderTextArea::destroy):
        * khtml/rendering/render_form.h:
        * khtml/rendering/render_layer.cpp:
        (khtml::ClipRects::operator delete):
        (khtml::ClipRects::destroy):
        (khtml::RenderLayer::operator delete):
        (khtml::RenderLayer::destroy):
        (khtml::RenderLayer::removeOnlyThisLayer):
        * khtml/rendering/render_layer.h:
        (khtml::ClipRects::deref):
        * khtml/rendering/render_line.cpp:
        (khtml::InlineBox::destroy):
        (khtml::InlineBox::operator delete):
        (khtml::InlineBox::deleteLine):
        (khtml::InlineFlowBox::deleteLine):
        (khtml::RootInlineBox::destroy):
        (khtml::RootInlineBox::detachEllipsisBox):
        * khtml/rendering/render_line.h:
        * khtml/rendering/render_list.cpp:
        (RenderListItem::setStyle):
        (RenderListItem::destroy):
        * khtml/rendering/render_list.h:
        * khtml/rendering/render_object.cpp:
        (RenderObject::operator delete):
        (RenderObject::destroy):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::destroy):
        * khtml/rendering/render_replaced.h:
        * khtml/rendering/render_style.cpp:
        (RenderStyle::operator delete):
        * khtml/rendering/render_table.cpp:
        (RenderTableSection::destroy):
        (RenderTableRow::destroy):
        (RenderTableRow::removeChildNode):
        (RenderTableCell::destroy):
        * khtml/rendering/render_table.h:
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::destroy):
        (InlineTextBox::operator delete):
        (InlineTextBox::deleteLine):
        (RenderText::destroy):
        (RenderText::deleteTextBoxes):
        (RenderText::position):
        * khtml/rendering/render_text.h:
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::detach):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::detach):

2005-10-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	- fixed <rdar://problem/3798746> hang in JavaScript getting at URL from frame; isc.fraunhofer.de (works in IE and Firefox)
        
	* khtml/xml/dom_docimpl.h:
        (DOM::DocumentImpl::URL): if the URL is empty, return "about:blank", the JS DOM
	at least counts on this, so we may as well do it for other languages too.
        (DOM::DocumentImpl::baseURL): base it on URL(), not m_url

2005-10-05  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Improves dependency checking so that SVG JavaScript wrapper files
        regenerate when the perl scripts change.

        * WebCore.xcodeproj/project.pbxproj:

2005-10-05  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Makes <object> tags not use image mode for svg content:
        http://bugs.webkit.org/show_bug.cgi?id=5175

        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::isImageType):

2005-10-05  Anders Carlsson  <andersca@mac.com>

        Reviewed by Maciej.

        - fix for <http://bugs.webkit.org/show_bug.cgi?id=5271>
        Implement isSameNode.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.h:
	Add JS binding for isSameNode.
	
        (KJS::DOMNode::):
        * khtml/xml/dom_nodeimpl.h:
	Implement isSameNode.
	
        (DOM::NodeImpl::isSameNode):
        * kwq/DOM.mm:
        (-[DOMNode isSameNode:]):
	Add ObjC binding for isSameNode.
	
2005-10-05  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	- fixed a random crasher that happens because the HTMLParser accidentally was refing
	the document.

	<rdar://problem/4065748> Repro crash at http://www.vanaqua.org using menu system (KHTMLParser::setCurrent(DOM::NodeImpl*))
	
	I couldn't figure out how to make a reproducible test case for this. The failure is
	random memory trashing.

        * khtml/html/htmlparser.cpp:
        (HTMLStackElem::HTMLStackElem):
        (HTMLStackElem::~HTMLStackElem):
        (HTMLParser::popNestedHeaderTag):
        (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
        (HTMLParser::popOneBlock):

2005-10-04  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	<rdar://problem/4285236> Denver Regression: crash repeatedly reloading www.supermanhomepage.com
	
	I couldn't figure out how to make a reproducible test case for this. The failure is
	random memory trashing.

        * khtml/ecma/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent): Move an unpaired deref to where it is paired.

2005-10-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Support direct named attribute lookkup, like FireFox,IE.
        This was causing a JavaScript exception for gap.com
        <rdar://problem/4285884> Gap.com throws exception "Undefined value" because of Safari doesn't support indexing into a named node map by name

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeList::getOwnPropertySlot): if cleanup
        (KJS::DOMNamedNodeMap::nameGetter):
        (KJS::DOMNamedNodeMap::getOwnPropertySlot):
        * khtml/ecma/kjs_dom.h: added nameGetter

2005-10-04  Eric Seidel  <eseidel@apple.com>

        No review, build fix only.

        Fix to include "config.h" in every file.
        Necessary to support fastMalloc.
        http://bugs.webkit.org/show_bug.cgi?id=5254

        * WebCore+SVG/DrawCanvasItem.mm:
        * WebCore+SVG/DrawDocument.mm:
        * WebCore+SVG/DrawView.mm:
        * WebCore+SVG/dom_kdomdocumentwrapper.cpp:
        * WebCore+SVG/dom_kdomnodetreewrapper.cpp:
        * WebCore+SVG/render_kcanvaswrapper.cpp:
        * WebCore+SVG/xml_kdomtokenizer.cpp:
        * kcanvas/KCanvas.cpp:
        * kcanvas/KCanvasContainer.cpp:
        * kcanvas/KCanvasCreator.cpp:
        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasImage.cpp:
        * kcanvas/KCanvasItem.cpp:
        * kcanvas/KCanvasMatrix.cpp:
        * kcanvas/KCanvasPath.cpp:
        * kcanvas/KCanvasRegistry.cpp:
        * kcanvas/KCanvasResources.cpp:
        * kcanvas/KCanvasTreeDebug.cpp:
        * kcanvas/KCanvasView.cpp:
        * kcanvas/device/KRenderingDevice.cpp:
        * kcanvas/device/KRenderingDeviceFactory.cpp:
        * kcanvas/device/KRenderingFillPainter.cpp:
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        * kcanvas/device/KRenderingPaintServerImage.cpp:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        * kcanvas/device/KRenderingStrokePainter.cpp:
        * kcanvas/device/KRenderingStyle.cpp:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        * kcanvas/device/quartz/KCanvasViewQuartz.mm:
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        * kcanvas/device/quartz/QuartzSupport.mm:
        * kdom/DOMString.cpp:
        * kdom/Helper.cpp:
        * kdom/KDOMPart.cpp:
        * kdom/KDOMSettings.cpp:
        * kdom/KDOMView.cpp:
        * kdom/Shared.cpp:
        * kdom/backends/libxml/LibXMLParser.cpp:
        * kdom/bindings/IDLCodeGeneratorEcmaInterface.pm:
        * kdom/bindings/IDLCodeGeneratorJs.pm:
        * kdom/cache/ImageSource.cpp:
        * kdom/cache/KDOMCache.cpp:
        * kdom/cache/KDOMCachedDocument.cpp:
        * kdom/cache/KDOMCachedImage.cpp:
        * kdom/cache/KDOMCachedObject.cpp:
        * kdom/cache/KDOMCachedScript.cpp:
        * kdom/cache/KDOMCachedStyleSheet.cpp:
        * kdom/cache/KDOMLoader.cpp:
        * kdom/core/AttrImpl.cpp:
        * kdom/core/CDATASectionImpl.cpp:
        * kdom/core/CDFInterface.cpp:
        * kdom/core/CharacterDataImpl.cpp:
        * kdom/core/CommentImpl.cpp:
        * kdom/core/DOMConfigurationImpl.cpp:
        * kdom/core/DOMErrorHandlerImpl.cpp:
        * kdom/core/DOMErrorImpl.cpp:
        * kdom/core/DOMExceptionImpl.cpp:
        * kdom/core/DOMImplementationImpl.cpp:
        * kdom/core/DOMLocatorImpl.cpp:
        * kdom/core/DOMObjectImpl.cpp:
        * kdom/core/DOMStringImpl.cpp:
        * kdom/core/DOMStringListImpl.cpp:
        * kdom/core/DOMUserDataImpl.cpp:
        * kdom/core/DocumentFragmentImpl.cpp:
        * kdom/core/DocumentImpl.cpp:
        * kdom/core/DocumentTypeImpl.cpp:
        * kdom/core/ElementImpl.cpp:
        * kdom/core/EntityImpl.cpp:
        * kdom/core/EntityReferenceImpl.cpp:
        * kdom/core/NamedAttrMapImpl.cpp:
        * kdom/core/NamedNodeMapImpl.cpp:
        * kdom/core/NodeImpl.cpp:
        * kdom/core/NodeListImpl.cpp:
        * kdom/core/NotationImpl.cpp:
        * kdom/core/ProcessingInstructionImpl.cpp:
        * kdom/core/TagNodeListImpl.cpp:
        * kdom/core/TextImpl.cpp:
        * kdom/core/TypeInfoImpl.cpp:
        * kdom/core/XMLElementImpl.cpp:
        * kdom/css/CSSCharsetRuleImpl.cpp:
        * kdom/css/CSSFontFaceRuleImpl.cpp:
        * kdom/css/CSSImageValueImpl.cpp:
        * kdom/css/CSSImportRuleImpl.cpp:
        * kdom/css/CSSMediaRuleImpl.cpp:
        * kdom/css/CSSPageRuleImpl.cpp:
        * kdom/css/CSSPrimitiveValueImpl.cpp:
        * kdom/css/CSSRuleImpl.cpp:
        * kdom/css/CSSRuleListImpl.cpp:
        * kdom/css/CSSStyleDeclarationImpl.cpp:
        * kdom/css/CSSStyleRuleImpl.cpp:
        * kdom/css/CSSStyleSelector.cpp:
        * kdom/css/CSSStyleSheetImpl.cpp:
        * kdom/css/CSSUnknownRuleImpl.cpp:
        * kdom/css/CSSValueImpl.cpp:
        * kdom/css/CSSValueListImpl.cpp:
        * kdom/css/CounterImpl.cpp:
        * kdom/css/DocumentCSSImpl.cpp:
        * kdom/css/DocumentStyleImpl.cpp:
        * kdom/css/KDOMCSSParser.cpp:
        * kdom/css/LinkStyleImpl.cpp:
        * kdom/css/MediaListImpl.cpp:
        * kdom/css/RGBColorImpl.cpp:
        * kdom/css/RectImpl.cpp:
        * kdom/css/RenderStyle.cpp:
        * kdom/css/RenderStyleDefs.cpp:
        * kdom/css/StyleBaseImpl.cpp:
        * kdom/css/StyleSheetImpl.cpp:
        * kdom/css/StyleSheetListImpl.cpp:
        * kdom/css/kdomparsercss.y:
        * kdom/ecma/Ecma.cpp:
        * kdom/ecma/GlobalObject.cpp:
        * kdom/ecma/Helper.cpp:
        * kdom/ecma/ScriptInterpreter.cpp:
        * kdom/events/DocumentEventImpl.cpp:
        * kdom/events/EventExceptionImpl.cpp:
        * kdom/events/EventImpl.cpp:
        * kdom/events/EventListenerImpl.cpp:
        * kdom/events/EventTargetImpl.cpp:
        * kdom/events/KeyboardEventImpl.cpp:
        * kdom/events/MouseEventImpl.cpp:
        * kdom/events/MutationEventImpl.cpp:
        * kdom/events/RegisteredEventListener.cpp:
        * kdom/events/UIEventImpl.cpp:
        * kdom/ls/DOMImplementationLSImpl.cpp:
        * kdom/ls/LSExceptionImpl.cpp:
        * kdom/ls/LSInputImpl.cpp:
        * kdom/ls/LSOutputImpl.cpp:
        * kdom/ls/LSParserFilterImpl.cpp:
        * kdom/ls/LSParserImpl.cpp:
        * kdom/ls/LSResourceResolverImpl.cpp:
        * kdom/ls/LSSerializerFilterImpl.cpp:
        * kdom/ls/LSSerializerImpl.cpp:
        * kdom/parser/KDOMDocumentBuilder.cpp:
        * kdom/parser/KDOMParser.cpp:
        * kdom/range/DocumentRangeImpl.cpp:
        * kdom/range/RangeExceptionImpl.cpp:
        * kdom/range/RangeImpl.cpp:
        * kdom/traversal/DocumentTraversalImpl.cpp:
        * kdom/traversal/NodeFilterImpl.cpp:
        * kdom/traversal/NodeIteratorImpl.cpp:
        * kdom/traversal/TraversalImpl.cpp:
        * kdom/traversal/TreeWalkerImpl.cpp:
        * kdom/views/AbstractViewImpl.cpp:
        * kdom/views/DocumentViewImpl.cpp:
        * kdom/xpath/XPathEvaluatorImpl.cpp:
        * kdom/xpath/XPathExceptionImpl.cpp:
        * kdom/xpath/XPathExpressionImpl.cpp:
        * kdom/xpath/XPathNSResolverImpl.cpp:
        * kdom/xpath/XPathNamespaceImpl.cpp:
        * kdom/xpath/XPathResultImpl.cpp:
        * kdom/xpath/impl/expression.cpp:
        * kdom/xpath/impl/functions.cpp:
        * kdom/xpath/impl/parsedstatement.cpp:
        * kdom/xpath/impl/path.cpp:
        * kdom/xpath/impl/predicate.cpp:
        * kdom/xpath/impl/step.cpp:
        * kdom/xpath/impl/tokenizer.cpp:
        * kdom/xpath/impl/util.cpp:
        * kdom/xpath/impl/variablereference.cpp:
        * kdom/xpath/impl/xpath.y:
        * kdom/xpointer/ElementSchemeImpl.cpp:
        * kdom/xpointer/NBCImpl.cpp:
        * kdom/xpointer/PointerPartImpl.cpp:
        * kdom/xpointer/ShortHandImpl.cpp:
        * kdom/xpointer/XMLNSSchemeImpl.cpp:
        * kdom/xpointer/XPath1SchemeImpl.cpp:
        * kdom/xpointer/XPointerEvaluatorImpl.cpp:
        * kdom/xpointer/XPointerExceptionImpl.cpp:
        * kdom/xpointer/XPointerExpressionImpl.cpp:
        * kdom/xpointer/XPointerHelper.cpp:
        * kdom/xpointer/XPointerResultImpl.cpp:
        * kdom/xpointer/XPointerSchemeImpl.cpp:
        * ksvg2/KSVGFactory.cpp:
        * ksvg2/KSVGSettings.cpp:
        * ksvg2/KWQKSVGPart.mm:
        * ksvg2/KWQKSVGView.mm:
        * ksvg2/css/KSVGCSSParser.cpp:
        * ksvg2/css/SVGCSSStyleDeclarationImpl.cpp:
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        * ksvg2/css/SVGCSSStyleSheetImpl.cpp:
        * ksvg2/css/SVGRenderStyle.cpp:
        * ksvg2/css/SVGRenderStyleDefs.cpp:
        * ksvg2/ecma/Ecma.cpp:
        * ksvg2/ecma/GlobalObject.cpp:
        * ksvg2/events/SVGEventImpl.cpp:
        * ksvg2/events/SVGZoomEventImpl.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        * ksvg2/misc/KSVGDocumentBuilder.cpp:
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        * ksvg2/svg/CDFInterface.cpp:
        * ksvg2/svg/SVGAElementImpl.cpp:
        * ksvg2/svg/SVGAngleImpl.cpp:
        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
        * ksvg2/svg/SVGAnimateElementImpl.cpp:
        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
        * ksvg2/svg/SVGAnimatedAngleImpl.cpp:
        * ksvg2/svg/SVGAnimatedBooleanImpl.cpp:
        * ksvg2/svg/SVGAnimatedEnumerationImpl.cpp:
        * ksvg2/svg/SVGAnimatedIntegerImpl.cpp:
        * ksvg2/svg/SVGAnimatedLengthImpl.cpp:
        * ksvg2/svg/SVGAnimatedLengthListImpl.cpp:
        * ksvg2/svg/SVGAnimatedNumberImpl.cpp:
        * ksvg2/svg/SVGAnimatedNumberListImpl.cpp:
        * ksvg2/svg/SVGAnimatedPathDataImpl.cpp:
        * ksvg2/svg/SVGAnimatedPointsImpl.cpp:
        * ksvg2/svg/SVGAnimatedPreserveAspectRatioImpl.cpp:
        * ksvg2/svg/SVGAnimatedRectImpl.cpp:
        * ksvg2/svg/SVGAnimatedStringImpl.cpp:
        * ksvg2/svg/SVGAnimatedTransformListImpl.cpp:
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        * ksvg2/svg/SVGCircleElementImpl.cpp:
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        * ksvg2/svg/SVGColorImpl.cpp:
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
        * ksvg2/svg/SVGCursorElementImpl.cpp:
        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
        * ksvg2/svg/SVGDefsElementImpl.cpp:
        * ksvg2/svg/SVGDescElementImpl.cpp:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        * ksvg2/svg/SVGElementImpl.cpp:
        * ksvg2/svg/SVGElementInstanceImpl.cpp:
        * ksvg2/svg/SVGElementInstanceListImpl.cpp:
        * ksvg2/svg/SVGEllipseElementImpl.cpp:
        * ksvg2/svg/SVGExceptionImpl.cpp:
        * ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp:
        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        * ksvg2/svg/SVGFEFuncAElementImpl.cpp:
        * ksvg2/svg/SVGFEFuncBElementImpl.cpp:
        * ksvg2/svg/SVGFEFuncGElementImpl.cpp:
        * ksvg2/svg/SVGFEFuncRElementImpl.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        * ksvg2/svg/SVGFEImageElementImpl.cpp:
        * ksvg2/svg/SVGFEMergeElementImpl.cpp:
        * ksvg2/svg/SVGFEMergeNodeElementImpl.cpp:
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        * ksvg2/svg/SVGFETileElementImpl.cpp:
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        * ksvg2/svg/SVGFilterElementImpl.cpp:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
        * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
        * ksvg2/svg/SVGGElementImpl.cpp:
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        * ksvg2/svg/SVGHelper.cpp:
        * ksvg2/svg/SVGImageElementImpl.cpp:
        * ksvg2/svg/SVGLangSpaceImpl.cpp:
        * ksvg2/svg/SVGLengthImpl.cpp:
        * ksvg2/svg/SVGLengthListImpl.cpp:
        * ksvg2/svg/SVGLineElementImpl.cpp:
        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
        * ksvg2/svg/SVGLocatableImpl.cpp:
        * ksvg2/svg/SVGMarkerElementImpl.cpp:
        * ksvg2/svg/SVGMatrixImpl.cpp:
        * ksvg2/svg/SVGNumberImpl.cpp:
        * ksvg2/svg/SVGNumberListImpl.cpp:
        * ksvg2/svg/SVGPaintImpl.cpp:
        * ksvg2/svg/SVGPathElementImpl.cpp:
        * ksvg2/svg/SVGPathSegArcImpl.cpp:
        * ksvg2/svg/SVGPathSegClosePathImpl.cpp:
        * ksvg2/svg/SVGPathSegCurvetoCubicImpl.cpp:
        * ksvg2/svg/SVGPathSegCurvetoCubicSmoothImpl.cpp:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticImpl.cpp:
        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothImpl.cpp:
        * ksvg2/svg/SVGPathSegImpl.cpp:
        * ksvg2/svg/SVGPathSegLinetoHorizontalImpl.cpp:
        * ksvg2/svg/SVGPathSegLinetoImpl.cpp:
        * ksvg2/svg/SVGPathSegLinetoVerticalImpl.cpp:
        * ksvg2/svg/SVGPathSegListImpl.cpp:
        * ksvg2/svg/SVGPathSegMovetoImpl.cpp:
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        * ksvg2/svg/SVGPointImpl.cpp:
        * ksvg2/svg/SVGPointListImpl.cpp:
        * ksvg2/svg/SVGPolyElementImpl.cpp:
        * ksvg2/svg/SVGPolygonElementImpl.cpp:
        * ksvg2/svg/SVGPolylineElementImpl.cpp:
        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
        * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
        * ksvg2/svg/SVGRectElementImpl.cpp:
        * ksvg2/svg/SVGRectImpl.cpp:
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        * ksvg2/svg/SVGScriptElementImpl.cpp:
        * ksvg2/svg/SVGSetElementImpl.cpp:
        * ksvg2/svg/SVGStopElementImpl.cpp:
        * ksvg2/svg/SVGStringListImpl.cpp:
        * ksvg2/svg/SVGStylableImpl.cpp:
        * ksvg2/svg/SVGStyleElementImpl.cpp:
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        * ksvg2/svg/SVGSwitchElementImpl.cpp:
        * ksvg2/svg/SVGSymbolElementImpl.cpp:
        * ksvg2/svg/SVGTSpanElementImpl.cpp:
        * ksvg2/svg/SVGTestsImpl.cpp:
        * ksvg2/svg/SVGTextContentElementImpl.cpp:
        * ksvg2/svg/SVGTextElementImpl.cpp:
        * ksvg2/svg/SVGTextPositioningElementImpl.cpp:
        * ksvg2/svg/SVGTitleElementImpl.cpp:
        * ksvg2/svg/SVGTransformImpl.cpp:
        * ksvg2/svg/SVGTransformListImpl.cpp:
        * ksvg2/svg/SVGTransformableImpl.cpp:
        * ksvg2/svg/SVGURIReferenceImpl.cpp:
        * ksvg2/svg/SVGUseElementImpl.cpp:
        * ksvg2/svg/SVGViewElementImpl.cpp:
        * ksvg2/svg/SVGZoomAndPanImpl.cpp:
        * ksvg2/svg/svgpathparser.cpp:

2005-10-03  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fixed AbstractView toString(), by giving it a prototype.
        <rdar://problem/4233558> toString on event.view Object fails with "No Default Value" in console

        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractView::DOMAbstractView): sets prototype
        (KJS::DOMAbstractView::getOwnPropertySlot): now getStaticValue
        (KJS::DOMAbstractViewProtoFunc::callAsFunction): renamed
        * khtml/ecma/kjs_views.h:

2005-10-03  David Hyatt  <hyatt@apple.com>

	Fix regression caused by variable->auto change.  Accidentally removed a line of code from calcWidthUsing.
	
        Reviewed by mjs

        * khtml/rendering/render_box.cpp:
        (RenderBox::calcWidthUsing):

2005-10-03  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <rdar://problem/4060947> Safari crashes trying to save PDF file as web archive (NULL KHTMLPart)

        * kwq/WebCoreBridge.mm:
        (+[WebCoreBridge bridgeForDOMDocument:]):
        Added a check for a null part.

2005-10-03  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by geoff, darin

        * khtml/khtml_part.cpp:
        (KHTMLPart::handleFallbackContent):
        Don't handle fallback content for <embed> tags.

2005-10-03  Maciej Stachowiak  <mjs@apple.com>

        - add missing config.h

        * khtml/config.h: Added.

2005-10-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	http://bugs.webkit.org/show_bug.cgi?id=5180
	event.stopPropagation() prevents the default action - it shouldn't

	Amusingly this bug existed in 3 different places.

        * khtml/ecma/kjs_events.cpp:
        (KJS::DOMEventProtoFunc::callAsFunction): Don't let stopPropagation fall through
	to preventDefault.
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLInputElementImpl::postDispatchEventHandler): Only consider preventDefault
	for purposes of reverting checkbox/radiobutton state change, not stopPropagation.
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dispatchGenericEvent): Don't let stopPropagation prevent calling
	default event handlers; only preventDefault does that.

2005-09-28  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

	<rdar://problem/4283967> REGRESSION: 3% regression on PLT from new FastMalloc
	http://bugs.webkit.org/show_bug.cgi?id=5243
        
	- use fastMalloc for everything - it now gets applied to all new/delete allocations
        via a private inline operator new that is now included into every file via config.h

        * WebCore.xcodeproj/project.pbxproj:
        * WebCorePrefix.h:
        * khtml/css/css_base.cpp:
        * khtml/css/css_base.h:
        * khtml/css/css_computedstyle.cpp:
        * khtml/css/css_ruleimpl.cpp:
        * khtml/css/css_stylesheetimpl.cpp:
        * khtml/css/css_valueimpl.cpp:
        * khtml/css/css_valueimpl.h:
        * khtml/css/csshelper.cpp:
        * khtml/css/cssparser.cpp:
        (ValueList::ValueList):
        (ValueList::~ValueList):
        (ValueList::addValue):
        (CSSParser::CSSParser):
        (CSSParser::~CSSParser):
        (CSSParser::setupParser):
        (CSSParser::addProperty):
        * khtml/css/cssstyleselector.cpp:
        * khtml/css/cssstyleselector.h:
        * khtml/dom/dom2_events.cpp:
        * khtml/dom/dom2_traversal.cpp:
        * khtml/dom/dom_misc.cpp:
        * khtml/dom/dom_string.cpp:
        * khtml/ecma/domparser.cpp:
        * khtml/ecma/kjs_binding.cpp:
        * khtml/ecma/kjs_css.cpp:
        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_events.cpp:
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::Context2DFunction::callAsFunction):
        (KJS::Gradient::~Gradient):
        (KJS::Gradient::addColorStop):
        (KJS::Gradient::colorStops):
        * khtml/ecma/kjs_navigator.cpp:
        * khtml/ecma/kjs_proxy.cpp:
        * khtml/ecma/kjs_range.cpp:
        * khtml/ecma/kjs_traversal.cpp:
        * khtml/ecma/kjs_views.cpp:
        * khtml/ecma/kjs_window.cpp:
        * khtml/ecma/xmlhttprequest.cpp:
        * khtml/ecma/xmlserializer.cpp:
        * khtml/editing/SelectionController.cpp:
        * khtml/editing/append_node_command.cpp:
        * khtml/editing/apply_style_command.cpp:
        * khtml/editing/break_blockquote_command.cpp:
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/delete_from_text_node_command.cpp:
        * khtml/editing/delete_selection_command.cpp:
        * khtml/editing/edit_command.cpp:
        * khtml/editing/html_interchange.cpp:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/insert_into_text_node_command.cpp:
        * khtml/editing/insert_line_break_command.cpp:
        * khtml/editing/insert_node_before_command.cpp:
        * khtml/editing/insert_paragraph_separator_command.cpp:
        * khtml/editing/insert_text_command.cpp:
        * khtml/editing/join_text_nodes_command.cpp:
        * khtml/editing/jsediting.cpp:
        * khtml/editing/markup.cpp:
        * khtml/editing/merge_identical_elements_command.cpp:
        * khtml/editing/move_selection_command.cpp:
        * khtml/editing/rebalance_whitespace_command.cpp:
        * khtml/editing/remove_css_property_command.cpp:
        * khtml/editing/remove_node_attribute_command.cpp:
        * khtml/editing/remove_node_command.cpp:
        * khtml/editing/remove_node_preserving_children_command.cpp:
        * khtml/editing/replace_selection_command.cpp:
        * khtml/editing/set_node_attribute_command.cpp:
        * khtml/editing/split_element_command.cpp:
        * khtml/editing/split_text_node_command.cpp:
        * khtml/editing/split_text_node_containing_element.cpp:
        * khtml/editing/typing_command.cpp:
        * khtml/editing/visible_position.cpp:
        * khtml/editing/visible_range.cpp:
        * khtml/editing/visible_text.cpp:
        (khtml::CircularSearchBuffer::~CircularSearchBuffer):
        (khtml::CircularSearchBuffer::CircularSearchBuffer):
        * khtml/editing/visible_units.cpp:
        * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
        * khtml/html/html_baseimpl.cpp:
        * khtml/html/html_blockimpl.cpp:
        * khtml/html/html_canvasimpl.cpp:
        * khtml/html/html_documentimpl.cpp:
        * khtml/html/html_elementimpl.cpp:
        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_headimpl.cpp:
        * khtml/html/html_imageimpl.cpp:
        * khtml/html/html_inlineimpl.cpp:
        * khtml/html/html_listimpl.cpp:
        * khtml/html/html_miscimpl.cpp:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_tableimpl.cpp:
        * khtml/html/htmlfactory.cpp:
        * khtml/html/htmlnames.cpp:
        * khtml/html/htmlparser.cpp:
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::enlargeBuffer):
        (khtml::HTMLTokenizer::enlargeScriptBuffer):
        * khtml/khtml_events.cpp:
        * khtml/khtml_part.cpp:
        * khtml/khtmlview.cpp:
        * khtml/misc/arena.cpp:
        * khtml/misc/arena.h:
        * khtml/misc/decoder.cpp:
        * khtml/misc/formdata.cpp:
        * khtml/misc/helper.cpp:
        * khtml/misc/loader.cpp:
        * khtml/misc/stringit.cpp:
        * khtml/rendering/bidi.cpp:
        * khtml/rendering/break_lines.cpp:
        * khtml/rendering/font.cpp:
        * khtml/rendering/render_arena.cpp:
        * khtml/rendering/render_block.cpp:
        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_br.cpp:
        * khtml/rendering/render_canvas.cpp:
        * khtml/rendering/render_canvasimage.cpp:
        (RenderCanvasImage::~RenderCanvasImage):
        (RenderCanvasImage::createDrawingContext):
        * khtml/rendering/render_container.cpp:
        * khtml/rendering/render_flexbox.cpp:
        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_form.cpp:
        * khtml/rendering/render_frames.cpp:
        * khtml/rendering/render_image.cpp:
        * khtml/rendering/render_inline.cpp:
        * khtml/rendering/render_layer.cpp:
        * khtml/rendering/render_line.cpp:
        * khtml/rendering/render_list.cpp:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_replaced.cpp:
        * khtml/rendering/render_style.cpp:
        * khtml/rendering/render_style.h:
        * khtml/rendering/render_table.cpp:
        * khtml/rendering/render_text.cpp:
        * khtml/rendering/render_theme.cpp:
        * khtml/rendering/render_theme_mac.mm:
        * khtml/rendering/table_layout.cpp:
        * khtml/xbl/xbl_binding.cpp:
        * khtml/xbl/xbl_binding_manager.cpp:
        * khtml/xbl/xbl_docimpl.cpp:
        * khtml/xbl/xbl_protobinding.cpp:
        * khtml/xbl/xbl_protohandler.cpp:
        * khtml/xbl/xbl_protoimplementation.cpp:
        * khtml/xbl/xbl_tokenizer.cpp:
        * khtml/xml/EventNames.cpp:
        * khtml/xml/dom2_eventsimpl.cpp:
        * khtml/xml/dom2_eventsimpl.h:
        * khtml/xml/dom2_rangeimpl.cpp:
        * khtml/xml/dom2_rangeimpl.h:
        * khtml/xml/dom2_traversalimpl.cpp:
        * khtml/xml/dom2_traversalimpl.h:
        * khtml/xml/dom2_viewsimpl.cpp:
        * khtml/xml/dom2_viewsimpl.h:
        * khtml/xml/dom_atomicstring.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_position.cpp:
        * khtml/xml/dom_qname.cpp:
        * khtml/xml/dom_stringimpl.cpp:
        * khtml/xml/dom_stringimpl.h:
        * khtml/xml/dom_textimpl.cpp:
        * khtml/xml/dom_xmlimpl.cpp:
        * khtml/xml/xml_tokenizer.cpp:
        * khtml/xsl/xsl_stylesheetimpl.cpp:
        * khtml/xsl/xslt_processorimpl.cpp:
        * kwq/DOM-CSS.mm:
        * kwq/DOM.mm:
        * kwq/DOMEvents.mm:
        * kwq/DOMHTML.mm:
        * kwq/DOMInternal.mm:
        (DOMString::DOMString):
        * kwq/DOMUtility.mm:
        * kwq/DOMViews.mm:
        * kwq/KWQAccObject.mm:
        * kwq/KWQAccObjectCache.mm:
        * kwq/KWQApplication.mm:
        * kwq/KWQArrayImpl.h:
        * kwq/KWQArrayImpl.mm:
        * kwq/KWQBuffer.mm:
        * kwq/KWQButton.mm:
        * kwq/KWQCString.mm:
        * kwq/KWQCharsets.mm:
        * kwq/KWQClipboard.mm:
        * kwq/KWQCollection.mm:
        * kwq/KWQColor.mm:
        * kwq/KWQComboBox.mm:
        * kwq/KWQCursor.mm:
        * kwq/KWQDateTime.mm:
        * kwq/KWQDictImpl.mm:
        * kwq/KWQEditCommand.mm:
        * kwq/KWQEvent.mm:
        * kwq/KWQExceptions.mm:
        * kwq/KWQFile.mm:
        * kwq/KWQFileButton.mm:
        * kwq/KWQFont.mm:
        * kwq/KWQFontFamily.h:
        * kwq/KWQFontFamily.mm:
        * kwq/KWQFontMetrics.mm:
        * kwq/KWQFormData.mm:
        * kwq/KWQFrame.mm:
        * kwq/KWQGlobal.mm:
        * kwq/KWQGuardedPtr.mm:
        * kwq/KWQKCharsets.mm:
        * kwq/KWQKConfigBase.mm:
        * kwq/KWQKCookieJar.mm:
        * kwq/KWQKCursor.mm:
        * kwq/KWQKGlobal.mm:
        * kwq/KWQKGlobalSettings.mm:
        * kwq/KWQKHTMLFactory.mm:
        * kwq/KWQKHTMLPart.cpp:
        * kwq/KWQKHTMLPart.mm:
        * kwq/KWQKHTMLPartBrowserExtension.mm:
        * kwq/KWQKHTMLView.mm:
        * kwq/KWQKHistoryProvider.mm:
        * kwq/KWQKJavaAppletWidget.mm:
        * kwq/KWQKJob.mm:
        * kwq/KWQKJobClasses.mm:
        * kwq/KWQKLocale.mm:
        * kwq/KWQKPartsBrowserInterface.mm:
        * kwq/KWQKPartsEvent.mm:
        * kwq/KWQKPartsPart.mm:
        * kwq/KWQKSSLKeyGen.mm:
        * kwq/KWQKStandardDirs.mm:
        * kwq/KWQKStringHandler.mm:
        * kwq/KWQKURL.mm:
        (KURL::KURL):
        (KURL::decode_string):
        (KURL::parse):
        (KURL::encode_string):
        (encodeRelativeString):
        * kwq/KWQKWin.mm:
        * kwq/KWQKWinModule.mm:
        * kwq/KWQLabel.mm:
        * kwq/KWQLineEdit.mm:
        * kwq/KWQListBox.mm:
        * kwq/KWQListImpl.mm:
        * kwq/KWQLoader.mm:
        (KWQIsResponseURLEqualToURL):
        * kwq/KWQMapImpl.h:
        * kwq/KWQMapImpl.mm:
        * kwq/KWQMovie.mm:
        * kwq/KWQObject.mm:
        * kwq/KWQPageState.mm:
        * kwq/KWQPaintDeviceMetrics.mm:
        * kwq/KWQPainter.mm:
        * kwq/KWQPalette.mm:
        * kwq/KWQPen.mm:
        * kwq/KWQPixmap.mm:
        * kwq/KWQPoint.mm:
        * kwq/KWQPointArray.mm:
        * kwq/KWQPtrDictImpl.mm:
        * kwq/KWQPushButton.mm:
        * kwq/KWQRect.mm:
        * kwq/KWQRegExp.mm:
        * kwq/KWQRegion.mm:
        * kwq/KWQRenderTreeDebug.cpp:
        * kwq/KWQResourceLoader.mm:
        * kwq/KWQScrollBar.mm:
        * kwq/KWQScrollView.mm:
        * kwq/KWQSignal.mm:
        * kwq/KWQSignalStubs.mm:
        * kwq/KWQSize.mm:
        * kwq/KWQSlider.mm:
        * kwq/KWQSlot.mm:
        * kwq/KWQString.h:
        * kwq/KWQString.mm:
        (ALLOC_CHAR):
        (REALLOC_CHAR):
        (DELETE_CHAR):
        (ALLOC_QCHAR):
        (REALLOC_QCHAR):
        (DELETE_QCHAR):
        (_printQStringAllocationStatistics):
        (allocateHandle):
        (KWQStringData::operator new):
        (KWQStringData::operator delete):
        (freeHandle):
        * kwq/KWQStringList.mm:
        * kwq/KWQStyle.mm:
        * kwq/KWQTextArea.mm:
        * kwq/KWQTextCodec.mm:
        * kwq/KWQTextEdit.mm:
        * kwq/KWQTextField.mm:
        * kwq/KWQTextStream.mm:
        * kwq/KWQTextUtilities.mm:
        * kwq/KWQTimer.mm:
        * kwq/KWQValueListImpl.h:
        * kwq/KWQValueListImpl.mm:
        * kwq/KWQVariant.mm:
        * kwq/KWQVectorImpl.mm:
        (KWQVectorImpl::KWQVectorImpl):
        (KWQVectorImpl::~KWQVectorImpl):
        (KWQVectorImpl::clear):
        (KWQVectorImpl::resize):
        (KWQVectorImpl::assign):
        * kwq/KWQWMatrix.mm:
        * kwq/KWQWidget.mm:
        * kwq/KWQWindowWidget.mm:
        * kwq/WebCoreBridge.mm:
        * kwq/WebCoreCache.mm:
        * kwq/WebCoreEncodings.mm:
        * kwq/WebCoreJavaScript.mm:
        * kwq/WebCoreScriptDebugger.mm:
        * kwq/WebCoreSettings.mm:
        * kwq/WebCoreTextRendererFactory.mm:
        * kwq/can-convert.mm:

2005-10-03  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin.

	Fix for <rdar://problem/4235722> line-height style settings not reflected in 
	textarea. 

        * khtml/rendering/render_form.cpp:
        (RenderTextArea::setStyle): Make setStyle call new setLineHeight function and
				computer correct line height using RenderObject::lineHeight
        * kwq/KWQTextArea.h:
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView setFont:]): setFont updates lineHeight if necessary.
        (-[KWQTextAreaTextView setLineHeight:]): sets the line height
        (-[NSTextView _KWQ_updateTypingAttributes:forLineHeight:fontHeight:]): Applies the 
				new line height to the paragraph style attributes. 
        * kwq/KWQTextEdit.h:
        * kwq/KWQTextEdit.mm:
        (QTextEdit::setLineHeight): calls setLineHeight in KWQTextAreaTextView

2005-10-03  Rob Buis  <rwlbuis@xs4all.nl>

        Reviewed by eseidel.  Committed by eseidel.

        Fixes hang, caused by path parser spinning forever.
        http://bugs.webkit.org/show_bug.cgi?id=5239

        * ksvg2/svg/svgpathparser.cpp:
        (SVGPathParser::parseSVG):
        * svg-tests/custom/path-bad-data-expected.checksum: Added.
        * svg-tests/custom/path-bad-data-expected.png: Added.
        * svg-tests/custom/path-bad-data-expected.txt: Added.
        * svg-tests/custom/path-bad-data.svg: Added.

2005-10-02  Eric Seidel  <eseidel@apple.com>

       Reviewed by darin.

       Closes large memory leak in KSVG.
       http://bugs.webkit.org/show_bug.cgi?id=5209

       * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::attach): delete orphans unless PatternImpl

2005-10-02  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fixes SVG animation support in Safari/WebKit.
        http://bugs.webkit.org/show_bug.cgi?id=5132

        * WebCore+SVG/dom_kdomnodetreewrapper.cpp:
        (KDOMNodeTreeWrapperImpl::attach): setup kcanvasviewquartz
        (KDOMNodeTreeWrapperImpl::detach): tear down kcanvasviewquartz
        * WebCore+SVG/dom_kdomnodetreewrapper.h:
        * kcanvas/device/quartz/KCanvasViewQuartz.h:
        * kcanvas/device/quartz/KCanvasViewQuartz.mm: fix spaces
        (KCanvasViewQuartz::KCanvasViewQuartz):
        (KCanvasViewQuartz::~KCanvasViewQuartz):
        (KCanvasViewQuartz::view):
        (KCanvasViewQuartz::setView):
        (KCanvasViewQuartz::renderObject): alternative to view
        (KCanvasViewQuartz::setRenderObject):
        (KCanvasViewQuartz::invalidateCanvasRect):
        (KCanvasViewQuartz::viewToCanvasMatrix):
        (KCanvasViewQuartz::canvasSizeChanged):
        (KCanvasViewQuartz::viewHeight):
        (KCanvasViewQuartz::viewWidth):

2005-10-02  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed by eseidel.

        Fix XSLT to preserve document.URL.
        http://bugs.webkit.org/show_bug.cgi?id=5219

        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):

2005-10-02  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Fix crash when encountering XML processing directives w/ KDOM:
        http://bugs.webkit.org/show_bug.cgi?id=5238

        * ksvg2/svg/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::recalcStyleSelector): null check.

2005-10-02  Eric Seidel  <eseidel@apple.com>

        Removing unused SVG source files.

        * WebCore.xcodeproj/project.pbxproj:
        * ksvg2/ecma/Constructors.cpp: Removed.
        * ksvg2/ecma/Constructors.h: Removed.

2005-10-02  Anders Carlsson  <andersca@mac.com>

        Reviewed by Eric.

	- Fixes <http://bugs.webkit.org/show_bug.cgi?id=5231>
	
        * khtml/xml/dom_elementimpl.cpp:
        (AttrImpl::localName):
        (AttrImpl::namespaceURI):
        * khtml/xml/dom_elementimpl.h:
	Implement localName and namespaceURI for attributes.
	
2005-09-30  Eric Seidel  <eseidel@apple.com>

        Reviewed by xenon.
        
        Moved layout-tests to ../LayoutTests

2005-09-30  Geoffrey Garen  <ggaren@apple.com>

        Patch reviewed by john.
        
        * layout-tests/fast/js/date-parse-test.html: Added a test case for 
        <rdar://problem/4275206> Denver Regression: Seed: Past Editions of 
        Opinions display "NAN/Undefined" for www.washingtonpost.com

2005-09-29  Timothy Hatcher  <timothy@apple.com>

        Fixes build failures on a future release train.

        Reviewed by Maciej.

        Test cases added: (None needed.)

        * kwq/KWQPointArray.h: check if NSPoint is the same as CGPoint
        * kwq/KWQPoint.mm: ditto
        * kwq/KWQRect.h: check if NSRect is the same as CGRect
        * kwq/KWQRect.mm: ditto
        * kwq/KWQSize.h: check if NSSize is the same as CGSize
        * kwq/KWQSize.mm: ditto

2005-09-29  David Hyatt  <hyatt@apple.com>

	Add support for parsing of the CSS3 box-sizing property.  This
	property will have to be fully implemented for form controls that
	respect border and padding (buttons, textfields, list boxes, etc.).
	
        Reviewed by john

        Test cases added: (NONE, property just being parsed, not supported)

        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        * khtml/css/cssproperties.in:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty):
        * khtml/css/cssvalues.in:
        * khtml/rendering/render_style.cpp:
        (StyleBoxData::StyleBoxData):
        (StyleBoxData::operator==):
        (RenderStyle::diff):
        * khtml/rendering/render_style.h:
        (khtml::):
        (khtml::RenderStyle::boxSizing):
        (khtml::RenderStyle::setBoxSizing):
        (khtml::RenderStyle::initialBoxSizing):

2005-09-28  David Hyatt  <hyatt@apple.com>

	Make all form controls treat width: auto as width:intrinsic and
	add support for intrinsic widths when computing sizes of 
	block-level flows.

	Rename the term Variable to Auto, since this more accurately
	matches the term in the CSS spec.

        Reviewed by darin

        Test cases added: (None needed, <button> and <legend> test this)

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::adjustRenderStyle):
        * khtml/misc/khtmllayout.h:
        (khtml::):
        (khtml::Length::width):
        (khtml::Length::minWidth):
        (khtml::Length::isAuto):
        (khtml::Length::isIntrinsicOrAuto):
        * khtml/rendering/bidi.cpp:
        (khtml::getBPMWidth):
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::MarginInfo::MarginInfo):
        (khtml::RenderBlock::isSelfCollapsingBlock):
        (khtml::RenderBlock::layoutBlock):
        (khtml::RenderBlock::determineHorizontalPosition):
        (khtml::getBPMWidth):
        (khtml::RenderBlock::calcInlineMinMaxWidth):
        (khtml::shouldCheckLines):
        * khtml/rendering/render_box.cpp:
        (RenderBox::getClipRect):
        (RenderBox::relativePositionOffset):
        (RenderBox::calcWidth):
        (RenderBox::calcWidthUsing):
        (RenderBox::sizesToIntrinsicWidth):
        (RenderBox::calcHorizontalMargins):
        (RenderBox::calcHeight):
        (RenderBox::calcHeightUsing):
        (RenderBox::calcPercentageHeight):
        (RenderBox::availableHeightUsing):
        (RenderBox::calcAbsoluteHorizontal):
        (RenderBox::calcAbsoluteHorizontalValues):
        (RenderBox::calcAbsoluteVertical):
        (RenderBox::calcAbsoluteVerticalValues):
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_flexbox.cpp:
        (khtml::RenderFlexibleBox::calcHorizontalMinMaxWidth):
        (khtml::RenderFlexibleBox::layoutVerticalBox):
        * khtml/rendering/render_form.cpp:
        (RenderFormElement::addIntrinsicMarginsIfAllowed):
        (RenderSlider::calcMinMaxWidth):
        * khtml/rendering/render_layer.cpp:
        (khtml::Marquee::updateMarqueeStyle):
        * khtml/rendering/render_line.cpp:
        (khtml::InlineFlowBox::marginLeft):
        (khtml::InlineFlowBox::marginRight):
        * khtml/rendering/render_object.cpp:
        (RenderObject::hasStaticX):
        (RenderObject::hasStaticY):
        (RenderObject::paddingTop):
        (RenderObject::paddingBottom):
        (RenderObject::paddingLeft):
        (RenderObject::paddingRight):
        (RenderObject::usesLineWidth):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_replaced.cpp:
        (RenderReplaced::calcMinMaxWidth):
        * khtml/rendering/render_style.cpp:
        (StyleSurroundData::StyleSurroundData):
        * khtml/rendering/render_style.h:
        (khtml::RenderStyle::resetPadding):
        (khtml::RenderStyle::initialPadding):
        * khtml/rendering/render_table.cpp:
        (RenderTable::setStyle):
        (RenderTable::calcWidth):
        (RenderTableSection::addCell):
        (RenderTableSection::layoutRows):
        * khtml/rendering/render_theme_mac.mm:
        (khtml::RenderThemeMac::setSizeFromFont):
        (khtml::RenderThemeMac::setCheckboxSize):
        (khtml::RenderThemeMac::setRadioSize):
        * khtml/rendering/table_layout.cpp:
        (FixedTableLayout::calcWidthArray):
        (FixedTableLayout::layout):
        (AutoTableLayout::recalcColumn):
        (AutoTableLayout::fullRecalc):
        (shouldScaleColumns):
        (AutoTableLayout::calcEffectiveWidth):
        (AutoTableLayout::layout):

2005-09-29  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        <rdar://problem/4278698> Adding a space inside whitespace:pre text collapses space
        <rdar://problem/4076267> Mail behaves oddly when pasting in text with leading/trailing whitespace
        <rdar://problem/4063751> Redo Typing can add extra space characters
        <rdar://problem/4120558> Mail/WebKit: Repeated capitalizeWord command deletes spaces and does not capitalize

        Reblance whitespace was finding the extent of surrounding whitespace incorrectly.  
        createFragmentFromMarkup was not dealing with the special cases for spaces at the start/end 
        of a line.  InsertTextCommand was removing collapsable whitespace without regard for the 
        whitespace mode.  createFragmentFromMarkup and RebalanceWhitespace command now use one method 
        to produce rebalanced sequences.  Removed special case whitespace handling from 
        InsertTextCommand, that's RebalanceWhiteSpaceCommand's job.

        Test cases added:
        * layout-tests/editing/inserting/4278698.html: Added.
        * layout-tests/editing/pasteboard/4076267-2.html: Added.
        * layout-tests/editing/pasteboard/4076267-3.html: Added.
        * layout-tests/editing/pasteboard/4076267.html: Added.
        * layout-tests/editing/undo/4063751.html: Added.

        * khtml/editing/composite_edit_command.cpp:
        (khtml::CompositeEditCommand::rebalanceWhitespaceAt):
        Added.  The old convenience method, rebalanceWhitespace, can probably
        be removed, because there is never a non-caret selection after an editing command.
        * khtml/editing/composite_edit_command.h:
        * khtml/editing/htmlediting.cpp:
        (khtml::rebalanceWhitespaceInTextNode):
        * khtml/editing/htmlediting.h:
        * khtml/editing/insert_text_command.cpp:
        (khtml::InsertTextCommand::input):
        * khtml/editing/insert_text_command.h:
        * khtml/editing/markup.cpp:
        (khtml::createParagraphContentsFromString):
        (khtml::createFragmentFromText):
        * khtml/editing/rebalance_whitespace_command.cpp:
        (khtml::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand):
        (khtml::isWhitespace): Changed from isNBSP to include all forms of whitespace, to aid readability.
        (khtml::RebalanceWhitespaceCommand::doApply):
        (khtml::RebalanceWhitespaceCommand::doUnapply): Removed the unused m_downstreamOffset
        * layout-tests/editing/editingStyle.css: Added.

2005-09-27  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	- move HashMap/HashSet code down to JavaScriptCore; adapt usage to the new header location
	http://bugs.webkit.org/show_bug.cgi?id=5161

        * ForwardingHeaders/kxmlcore/HashMap.h: Added.
        * ForwardingHeaders/kxmlcore/HashSet.h: Added.
        * ForwardingHeaders/misc/hashmap.h: Removed.
        * ForwardingHeaders/misc/hashset.h: Removed.
        * ForwardingHeaders/misc/pointerhash.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSRuleSet::getIDRules):
        (khtml::CSSRuleSet::getClassRules):
        (khtml::CSSRuleSet::getTagRules):
        (khtml::CSSRuleSet::getUniversalRules):
        (khtml::CSSRuleSet::addToRuleSet):
        * khtml/css/cssstyleselector.h:
        * khtml/ecma/kjs_binding.cpp:
        * khtml/editing/jsediting.cpp:
        * khtml/html/html_documentimpl.cpp:
        (DOM::addItemToMap):
        * khtml/html/html_documentimpl.h:
        * khtml/html/html_elementimpl.cpp:
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::radioButtonChecked):
        * khtml/html/html_formimpl.h:
        * khtml/html/htmlfactory.cpp:
        (DOM::HTMLElementFactory::createHTMLElement):
        * khtml/html/htmlparser.cpp:
        (HTMLParser::getNode):
        * khtml/xml/dom_atomicstring.cpp:
        * khtml/xml/dom_qname.cpp:
        * khtml/xml/dom_stringimpl.h:
        (KXMLCore::):
        (KXMLCore::CaseInsensitiveHash::hash):
        (KXMLCore::CaseInsensitiveHash::equal):
        * khtml/xml/xml_tokenizer.cpp:
        * kwq/DOM.mm:
        (ObjCEventListener::ObjCEventListener):

2005-09-26  Darin Adler  <darin@apple.com>

        * layout-tests/fast/js/array-every.html: Fixed test case; one of the tests was using
        the wrong function, so it wasn't testing what it claimed it was.
        * layout-tests/fast/js/array-every-expected.txt: Updated test result; one section now
        has a different result.

        * layout-tests/fast/js/const.html: Added a test case that checks that variables after
        the first in a const declaration are also const; this was broken until my recent change
        to the JavaScript grammar.
        * layout-tests/fast/js/const-expected.txt: Updated test results.

2005-09-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Removed 19 uses of dynamic_cast.
        Part of this came by making EventTarget abstract, and moving
        the necessary implementations up into NodeImpl.
        http://bugs.webkit.org/show_bug.cgi?id=3914

        * kdom/Helper.h: comment cleanup
        * kdom/bindings/IDLCodeGeneratorJs.pm: tabs -> spaces
        * kdom/core/NodeImpl.cpp: Moved EventTarget methods
        (NodeImpl::addEventListener):
        (NodeImpl::removeEventListener):
        (NodeImpl::dispatchEvent):
        * kdom/core/NodeImpl.h:
        (KDOM::NodeImpl::isSVGElement):
        * kdom/events/EventTargetImpl.cpp: Moved methods to NodeImpl
        * kdom/events/EventTargetImpl.h:
        * kdom/ls/DOMImplementationLSImpl.cpp: disabled LSParserImpl
        (DOMImplementationLSImpl::createLSParser):
        * ksvg2/ecma/Ecma.cpp:
        (Ecma::setupDocument):
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (SVGTimer::notifyAll):
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::targetElement):
        (SVGAnimationElementImpl::targetAttribute):
        (SVGAnimationElementImpl::setTargetAttribute):
        * ksvg2/svg/SVGElementImpl.h:
        (KSVG::SVGElementImpl::isSVGElement):
        (KSVG::SVGElementImpl::isStyled):
        (KSVG::SVGElementImpl::isSVG):
        (KSVG::svg_dynamic_cast):
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
        (SVGFilterPrimitiveStandardAttributesImpl::x):
        (SVGFilterPrimitiveStandardAttributesImpl::y):
        (SVGFilterPrimitiveStandardAttributesImpl::width):
        (SVGFilterPrimitiveStandardAttributesImpl::height):
        (SVGFilterPrimitiveStandardAttributesImpl::result):
        * ksvg2/svg/SVGHelper.cpp:
        (SVGHelper::PercentageOfViewport):
        * ksvg2/svg/SVGLocatableImpl.cpp:
        (SVGLocatableImpl::getCTM):
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::notifyAttributeChange):
        * ksvg2/svg/SVGSVGElementImpl.h:
        (KSVG::SVGSVGElementImpl::isSVG):
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::attach):
        (SVGStyledElementImpl::detach):
        * ksvg2/svg/SVGStyledElementImpl.h:
        (KSVG::SVGStyledElementImpl::isStyled):
        * ksvg2/svg/SVGUseElementImpl.cpp:
        (SVGUseElementImpl::close):

2005-09-27  Adele Peterson  <adele@apple.com>

        Reviewed by Maciej.

        Changing ints to size_t where appropriate.

        * kwq/WebCoreJavaScript.h:
        * kwq/WebCoreJavaScript.mm:
        (+[WebCoreJavaScript objectCount]):
        (+[WebCoreJavaScript interpreterCount]):
        (+[WebCoreJavaScript noGCAllowedObjectCount]):
        (+[WebCoreJavaScript referencedObjectCount]):

2005-09-27  Eric Seidel  <eseidel@apple.com>

        No review necessary, SVG build fix only.

        * WebCore+SVG/DrawView.mm:
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        Updated from KWQAssertions.h to kxmlcore/Assertions.h

2005-09-27  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Test cases for JSC fix:
        http://bugs.webkit.org/show_bug.cgi?id=3537

        Test cases added:
        * layout-tests/fast/js/object-prototype-constructor-expected.txt: Added.
        * layout-tests/fast/js/object-prototype-constructor.html: Added.

2005-09-26  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by John.

	- replace dlmalloc with tcmalloc
	http://bugs.webkit.org/show_bug.cgi?id=5145

	I also moved SharedPtr and the assertion code from WebCore into a
	new kxmlcore directory.
	
        * ForwardingHeaders/kjs/shared_ptr.h: Removed.
        * ForwardingHeaders/kxmlcore/Assertions.h: Added.
        * ForwardingHeaders/kxmlcore/FastMalloc.h: Added.
        * ForwardingHeaders/kxmlcore/SharedPtr.h: Added.
        * ForwardingHeaders/misc/main_thread_malloc.h: Removed.
        * WebCore.xcodeproj/project.pbxproj:
        * khtml/css/css_base.h:
        * khtml/css/css_computedstyle.cpp:
        * khtml/css/css_ruleimpl.h:
        * khtml/css/css_valueimpl.h:
        * khtml/css/cssstyleselector.h:
        * khtml/ecma/domparser.h:
        * khtml/ecma/kjs_css.h:
        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_events.h:
        * khtml/ecma/kjs_html.cpp:
        * khtml/ecma/kjs_html.h:
        * khtml/ecma/kjs_range.h:
        * khtml/ecma/kjs_traversal.h:
        * khtml/ecma/kjs_views.cpp:
        * khtml/ecma/kjs_views.h:
        * khtml/ecma/kjs_window.cpp:
        * khtml/ecma/xmlhttprequest.h:
        * khtml/editing/SelectionController.cpp:
        * khtml/editing/append_node_command.cpp:
        * khtml/editing/apply_style_command.cpp:
        * khtml/editing/break_blockquote_command.cpp:
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/delete_from_text_node_command.cpp:
        * khtml/editing/delete_selection_command.cpp:
        * khtml/editing/edit_command.cpp:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/insert_into_text_node_command.cpp:
        * khtml/editing/insert_line_break_command.cpp:
        * khtml/editing/insert_node_before_command.cpp:
        * khtml/editing/insert_paragraph_separator_command.cpp:
        * khtml/editing/insert_text_command.cpp:
        * khtml/editing/join_text_nodes_command.cpp:
        * khtml/editing/markup.cpp:
        * khtml/editing/merge_identical_elements_command.cpp:
        * khtml/editing/move_selection_command.cpp:
        * khtml/editing/rebalance_whitespace_command.cpp:
        * khtml/editing/remove_css_property_command.cpp:
        * khtml/editing/remove_node_attribute_command.cpp:
        * khtml/editing/remove_node_command.cpp:
        * khtml/editing/remove_node_preserving_children_command.cpp:
        * khtml/editing/replace_selection_command.cpp:
        * khtml/editing/set_node_attribute_command.cpp:
        * khtml/editing/split_element_command.cpp:
        * khtml/editing/split_text_node_command.cpp:
        * khtml/editing/split_text_node_containing_element.cpp:
        * khtml/editing/typing_command.cpp:
        * khtml/editing/visible_position.cpp:
        * khtml/editing/visible_position.h:
        * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_tableimpl.h:
        * khtml/html/htmlparser.cpp:
        * khtml/khtmlpart_p.h:
        * khtml/misc/arena.cpp:
        (ArenaAllocate):
        (FreeArenaList):
        (ArenaFinish):
        * khtml/misc/hashtable.h:
        (khtml::HashTable::~HashTable):
        (khtml::::allocateTable):
        (khtml::::rehash):
        (khtml::::clear):
        (khtml::::HashTable):
        * khtml/misc/loader.cpp:
        * khtml/misc/main_thread_malloc.cpp: Removed.
        * khtml/misc/main_thread_malloc.h: Removed.
        * khtml/misc/shared.h:
        * khtml/rendering/render_style.h:
        * khtml/xml/dom2_eventsimpl.h:
        * khtml/xml/dom2_rangeimpl.h:
        * khtml/xml/dom2_traversalimpl.h:
        * khtml/xml/dom2_viewsimpl.h:
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (NamedAttrMapImpl::clearAttributes):
        (NamedAttrMapImpl::operator=):
        (NamedAttrMapImpl::addAttribute):
        (NamedAttrMapImpl::removeAttribute):
        * khtml/xml/dom_elementimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_position.cpp:
        * khtml/xml/dom_stringimpl.h:
        * kwq/DOM-CSS.mm:
        * kwq/DOM.mm:
        * kwq/DOMEvents.mm:
        * kwq/DOMHTML.mm:
        * kwq/DOMInternal.mm:
        * kwq/DOMViews.mm:
        * kwq/KWQAccObject.mm:
        * kwq/KWQAccObjectCache.mm:
        * kwq/KWQArrayImpl.h:
        * kwq/KWQArrayImpl.mm:
        (KWQArrayImpl::KWQArrayPrivate::KWQArrayPrivate):
        (KWQArrayImpl::KWQArrayPrivate::~KWQArrayPrivate):
        (KWQArrayImpl::resize):
        * kwq/KWQAssertions.h: Removed.
        * kwq/KWQAssertions.m: Removed.
        * kwq/KWQButton.mm:
        * kwq/KWQCString.mm:
        * kwq/KWQClipboard.h:
        * kwq/KWQClipboard.mm:
        * kwq/KWQColor.mm:
        * kwq/KWQComboBox.mm:
        * kwq/KWQEditCommand.mm:
        * kwq/KWQExceptions.h:
        * kwq/KWQFileButton.mm:
        * kwq/KWQFontFamily.h:
        * kwq/KWQFormData.mm:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        * kwq/KWQKPartsBrowserInterface.mm:
        * kwq/KWQKURL.mm:
        * kwq/KWQListBox.mm:
        * kwq/KWQListImpl.mm:
        * kwq/KWQLogging.h:
        * kwq/KWQLogging.m:
        * kwq/KWQMapImpl.h:
        * kwq/KWQMapImpl.mm:
        * kwq/KWQObject.mm:
        * kwq/KWQPageState.mm:
        * kwq/KWQPainter.mm:
        * kwq/KWQResourceLoader.mm:
        * kwq/KWQSignal.mm:
        * kwq/KWQSlot.mm:
        * kwq/KWQString.h:
        * kwq/KWQString.mm:
        (ALLOC_QCHAR):
        (QString::setBufferFromCFString):
        (allocatePageNode):
        * kwq/KWQTextArea.mm:
        * kwq/KWQTextCodec.mm:
        * kwq/KWQTextEdit.mm:
        * kwq/KWQTextField.mm:
        * kwq/KWQTimer.mm:
        * kwq/KWQValueListImpl.h:
        * kwq/KWQValueListImpl.mm:
        * kwq/WebCoreBridge.mm:
        * kwq/WebCoreCookieAdapter.m:
        * kwq/WebCoreGraphicsBridge.m:
        * kwq/WebCoreImageRendererFactory.m:
        * kwq/WebCoreKeyGenerator.m:
        * kwq/WebCoreTextRendererFactory.mm:
        * kwq/WebCoreViewFactory.m:

2005-09-26  Eric Seidel  <eseidel@apple.com>

        No review needed, svg build fix only.
        
        Fixes code to match WebCore+SVG -> WebCore rename.
        http://bugs.webkit.org/show_bug.cgi?id=5141

        * WebCore+SVG/DrawCanvasItemPrivate.h:
        * WebCore+SVG/DrawDocumentPrivate.h:
        * WebCore+SVG/DrawViewPrivate.h:
        * WebCore+SVG/NSSVGImageRep.m:

2005-09-26  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Landing the W3C XHTML DOM test suites.
        This also includes changes necessary to make these
        tests run (and many pass) on our system.
	http://bugs.webkit.org/show_bug.cgi?id=4907

        * khtml/xml/xml_tokenizer.cpp: removed XMLNamespace*, added entity support.
        * layout-tests/fast/dom/set-innerHTML.xhtml: improved error reporting.

        Test cases added:
        * layout-tests/dom/xhtml/level1/: Added.
        * layout-tests/dom/xhtml/level1/core/documentgetdoctypenodtd-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/documentgetdoctypenodtd.js: Added.
        * layout-tests/dom/xhtml/level1/core/documentgetdoctypenodtd.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreateentref-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreateentref.js: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreateentref.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreateentref1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreateentref1.js: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreateentref1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreatepi-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreatepi.js: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreatepi.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreatepi1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreatepi1.js: Added.
        * layout-tests/dom/xhtml/level1/core/documentinvalidcharacterexceptioncreatepi1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild3-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild3.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild3.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild4-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild4.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild4.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild5-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild5.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild5.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild6-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild6.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrappendchild6.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrchildnodes1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrchildnodes1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrchildnodes1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrchildnodes2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrchildnodes2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrchildnodes2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrclonenode1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrclonenode1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrclonenode1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatedocumentfragment-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatedocumentfragment.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatedocumentfragment.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatetextnode-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatetextnode.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatetextnode.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatetextnode2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatetextnode2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrcreatetextnode2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attreffectivevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attreffectivevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attreffectivevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrfirstchild-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrfirstchild.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrfirstchild.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrgetvalue1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrgetvalue1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrgetvalue1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrgetvalue2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrgetvalue2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrgetvalue2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrhaschildnodes-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrhaschildnodes.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrhaschildnodes.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore3-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore3.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore3.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore4-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore4.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore4.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore5-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore5.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore5.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore6-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore6.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore6.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore7-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore7.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrinsertbefore7.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrlastchild-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrlastchild.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrlastchild.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrname-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrname.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrname.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrnextsiblingnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrnextsiblingnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrnextsiblingnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrnormalize-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrnormalize.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrnormalize.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrparentnodenull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrparentnodenull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrparentnodenull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrprevioussiblingnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrprevioussiblingnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrprevioussiblingnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrremovechild1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrremovechild1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrremovechild1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrremovechild2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrremovechild2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrremovechild2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrreplacechild1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrreplacechild1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrreplacechild1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrreplacechild2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrreplacechild2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrreplacechild2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrsetvalue1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrsetvalue1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrsetvalue1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrsetvalue2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrsetvalue2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrsetvalue2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrspecifiedvalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrspecifiedvalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrspecifiedvalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrspecifiedvaluechanged-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrspecifiedvaluechanged.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_attrspecifiedvaluechanged.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataappenddata-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataappenddata.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataappenddata.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataappenddatagetdata-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataappenddatagetdata.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataappenddatagetdata.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatabegining-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatabegining.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatabegining.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedataend-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedataend.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedataend.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedataexceedslength-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedataexceedslength.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedataexceedslength.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatagetlengthanddata-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatagetlengthanddata.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatagetlengthanddata.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatamiddle-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatamiddle.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatadeletedatamiddle.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatagetdata-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatagetdata.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatagetdata.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatagetlength-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatagetlength.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdatagetlength.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedataoffsetgreater.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrdeletedataoffsetnegative.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrinsertdataoffsetgreater.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_characterdataindexsizeerrinsertdataoffsetnegative-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_documentinvalidcharacterexceptioncreateelement1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_documentinvalidcharacterexceptioncreateelement1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturenoversion-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturenoversion.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturenoversion.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturenull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturenull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturenull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturexml-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturexml.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_domimplementationfeaturexml.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementaddnewattribute-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementaddnewattribute.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementaddnewattribute.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementassociatedattribute-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementassociatedattribute.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementassociatedattribute.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementchangeattributevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementchangeattributevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementchangeattributevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementcreatenewattribute-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementcreatenewattribute.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementcreatenewattribute.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetattributenode-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetattributenode.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetattributenode.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetattributenodenull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetattributenodenull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetattributenodenull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementempty-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementempty.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementempty.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagname-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagname.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagname.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnameaccessnodelist-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnameaccessnodelist.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnameaccessnodelist.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnamenomatch-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnamenomatch.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnamenomatch.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnamespecialvalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnamespecialvalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgetelementsbytagnamespecialvalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgettagname-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgettagname.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementgettagname.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinuseattributeerr-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinuseattributeerr.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinuseattributeerr.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinvalidcharacterexception-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinvalidcharacterexception.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinvalidcharacterexception.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinvalidcharacterexception1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinvalidcharacterexception1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementinvalidcharacterexception1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnormalize-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnormalize.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnormalize.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnormalize2-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnormalize2.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnormalize2.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnotfounderr-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnotfounderr.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementnotfounderr.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattribute-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattribute.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattribute.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattributeaftercreate-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattributeaftercreate.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattributeaftercreate.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattributenode-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattributenode.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementremoveattributenode.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceattributewithself-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceattributewithself.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceattributewithself.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceexistingattribute-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceexistingattribute.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceexistingattribute.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceexistingattributegevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceexistingattributegevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementreplaceexistingattributegevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrieveallattributes-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrieveallattributes.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrieveallattributes.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrieveattrvalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrieveattrvalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrieveattrvalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrievetagname-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrievetagname.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementretrievetagname.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementsetattributenodenull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementsetattributenodenull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementsetattributenodenull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementwrongdocumenterr-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementwrongdocumenterr.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_elementwrongdocumenterr.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_entitiesremovenameditem1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_entitiesremovenameditem1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_entitiesremovenameditem1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_entitiessetnameditem1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_entitiessetnameditem1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_entitiessetnameditem1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapchildnoderange-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapchildnoderange.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapchildnoderange.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapgetnameditem-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapgetnameditem.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapgetnameditem.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapinuseattributeerr-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapinuseattributeerr.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapinuseattributeerr.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapnotfounderr-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapnotfounderr.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapnotfounderr.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapnumberofnodes-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapnumberofnodes.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapnumberofnodes.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapremovenameditem-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapremovenameditem.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapremovenameditem.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnattrnode-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnattrnode.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnattrnode.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnfirstitem-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnfirstitem.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnfirstitem.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnlastitem-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnlastitem.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnlastitem.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapreturnnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditem-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditem.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditem.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemreturnvalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemreturnvalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemreturnvalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemthatexists-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemthatexists.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemthatexists.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemwithnewvalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemwithnewvalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapsetnameditemwithnewvalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapwrongdocumenterr-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapwrongdocumenterr.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_namednodemapwrongdocumenterr.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchild-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchild.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchild.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildchildexists-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildchildexists.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildchildexists.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchilddocfragment-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchilddocfragment.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchilddocfragment.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildgetnodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildgetnodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildgetnodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildinvalidnodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildinvalidnodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildinvalidnodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildnewchilddiffdocument-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildnewchilddiffdocument.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildnewchilddiffdocument.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildnodeancestor-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildnodeancestor.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeappendchildnodeancestor.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodeattribute-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodeattribute.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodeattribute.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeattributenodevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodes-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodes.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodes.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodesappendchild-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodesappendchild.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodesappendchild.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodesempty-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodesempty.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodechildnodesempty.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecloneattributescopied-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecloneattributescopied.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecloneattributescopied.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonefalsenocopytext-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonefalsenocopytext.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonefalsenocopytext.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonegetparentnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonegetparentnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonegetparentnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonenodefalse-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonenodefalse.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonenodefalse.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonenodetrue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonenodetrue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonenodetrue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonetruecopytext-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonetruecopytext.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeclonetruecopytext.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodeattributes-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodeattributes.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodeattributes.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodecommentnodevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentfragmentnodevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodeattribute-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodeattribute.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodeattribute.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodedocumentnodevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodeattributes-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodeattributes.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodeattributes.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeelementnodevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetfirstchild-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetfirstchild.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetfirstchild.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetfirstchildnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetfirstchildnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetfirstchildnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetlastchild-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetlastchild.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetlastchild.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetlastchildnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetlastchildnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetlastchildnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetnextsibling-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetnextsibling.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetnextsibling.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetnextsiblingnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetnextsiblingnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetnextsiblingnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetownerdocument-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetownerdocument.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetownerdocument.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetownerdocumentnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetownerdocumentnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetownerdocumentnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetprevioussibling-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetprevioussibling.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetprevioussibling.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetprevioussiblingnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetprevioussiblingnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodegetprevioussiblingnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodehaschildnodes-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodehaschildnodes.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodehaschildnodes.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodehaschildnodesfalse-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodehaschildnodesfalse.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodehaschildnodesfalse.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbefore-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbefore.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbefore.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforedocfragment-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforedocfragment.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforedocfragment.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforeinvalidnodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforeinvalidnodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforeinvalidnodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenewchilddiffdocument-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenewchilddiffdocument.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenewchilddiffdocument.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenewchildexists-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenewchildexists.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenewchildexists.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenodeancestor-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenodeancestor.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenodeancestor.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforenodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforerefchildnonexistent-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforerefchildnonexistent.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforerefchildnonexistent.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforerefchildnull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforerefchildnull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeinsertbeforerefchildnull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexequalzero-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexequalzero.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexequalzero.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexgetlength-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexgetlength.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexgetlength.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexgetlengthofemptylist-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexgetlengthofemptylist.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexgetlengthofemptylist.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexnotzero-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexnotzero.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistindexnotzero.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistreturnfirstitem-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistreturnfirstitem.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistreturnfirstitem.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistreturnlastitem-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistreturnlastitem.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelistreturnlastitem.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelisttraverselist-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelisttraverselist.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodelisttraverselist.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeparentnode-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeparentnode.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeparentnode.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeparentnodenull-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeparentnodenull.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodeparentnodenull.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechild.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechild.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildgetnodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildgetnodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildgetnodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildnode-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildnode.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildnode.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildoldchildnonexistent-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildoldchildnonexistent.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_noderemovechildoldchildnonexistent.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechild-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechild.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechild.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildinvalidnodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildinvalidnodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildinvalidnodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnewchilddiffdocument-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnewchilddiffdocument.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnewchilddiffdocument.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnewchildexists-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnewchildexists.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnewchildexists.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnodeancestor-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnodeancestor.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnodeancestor.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildnodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildoldchildnonexistent-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildoldchildnonexistent.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodereplacechildoldchildnonexistent.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodeattribute-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodeattribute.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodeattribute.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodename-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodename.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodename.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodetype-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodetype.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodetype.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodevalue-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodevalue.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodetextnodevalue.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue01-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue01.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue01.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue02-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue02.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue02.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue03-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue03.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue03.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue04-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue04.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue04.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue05-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue05.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue05.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue06-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue06.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue06.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue07-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue07.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue07.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue08-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue08.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_nodevalue08.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_notationsremovenameditem1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_notationsremovenameditem1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_notationsremovenameditem1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_notationssetnameditem1-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_notationssetnameditem1.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_notationssetnameditem1.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textindexsizeerrnegativeoffset-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textindexsizeerrnegativeoffset.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textindexsizeerrnegativeoffset.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textindexsizeerroffsetoutofbounds-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textindexsizeerroffsetoutofbounds.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textindexsizeerroffsetoutofbounds.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textparseintolistofelements-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textparseintolistofelements.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textparseintolistofelements.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextfour-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextfour.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextfour.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextone-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextone.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextone.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextthree-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextthree.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittextthree.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittexttwo-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittexttwo.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textsplittexttwo.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textwithnomarkup-expected.txt: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textwithnomarkup.js: Added.
        * layout-tests/dom/xhtml/level1/core/hc_textwithnomarkup.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/resources/COPYRIGHT.xhtml: Added.
        * layout-tests/dom/xhtml/level1/core/selfxhtml.js: Added.
        * layout-tests/dom/xhtml/level1/core/staff.dtd: Added.
        * layout-tests/dom/xhtml/level1/core/xhtml-lat1.ent: Added.
        * layout-tests/dom/xhtml/level1/core/xhtml-special.ent: Added.
        * layout-tests/dom/xhtml/level1/core/xhtml-symbol.ent: Added.
        * layout-tests/dom/xhtml/level1/core/xhtml1-frameset.dtd: Added.
        * layout-tests/dom/xhtml/level1/core/xhtml1-strict.dtd: Added.
        * layout-tests/dom/xhtml/level1/core/xhtml1-transitional.dtd: Added.
        * layout-tests/dom/xhtml/level2/core/createAttributeNS06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/createAttributeNS06.js: Added.
        * layout-tests/dom/xhtml/level2/core/createAttributeNS06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/createDocument08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/createDocument08.js: Added.
        * layout-tests/dom/xhtml/level2/core/createDocument08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/createDocumentType04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/createDocumentType04.js: Added.
        * layout-tests/dom/xhtml/level2/core/createDocumentType04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/createElementNS06.js: Added.
        * layout-tests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.js: Added.
        * layout-tests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/hc_entitiessetnameditemns1-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.js: Added.
        * layout-tests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.js: Added.
        * layout-tests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.js: Added.
        * layout-tests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.js: Added.
        * layout-tests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/hc_notationsremovenameditemns1-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.js: Added.
        * layout-tests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/hc_notationssetnameditemns1-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/hc_notationssetnameditemns1.js: Added.
        * layout-tests/dom/xhtml/level2/core/hc_notationssetnameditemns1.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/resources/COPYRIGHT.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/selfxhtml.js: Added.
        * layout-tests/dom/xhtml/level2/core/setAttributeNS10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/core/setAttributeNS10.js: Added.
        * layout-tests/dom/xhtml/level2/core/setAttributeNS10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/core/staff.dtd: Added.
        * layout-tests/dom/xhtml/level2/core/staff2.dtd: Added.
        * layout-tests/dom/xhtml/level2/core/staffNS.dtd: Added.
        * layout-tests/dom/xhtml/level2/core/xhtml-lat1.ent: Added.
        * layout-tests/dom/xhtml/level2/core/xhtml-special.ent: Added.
        * layout-tests/dom/xhtml/level2/core/xhtml-symbol.ent: Added.
        * layout-tests/dom/xhtml/level2/core/xhtml1-frameset.dtd: Added.
        * layout-tests/dom/xhtml/level2/core/xhtml1-strict.dtd: Added.
        * layout-tests/dom/xhtml/level2/core/xhtml1-transitional.dtd: Added.
        * layout-tests/dom/xhtml/level2/events/DocumentEventCast01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/DocumentEventCast01.js: Added.
        * layout-tests/dom/xhtml/level2/events/DocumentEventCast01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/EventTargetCast01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/EventTargetCast01.js: Added.
        * layout-tests/dom/xhtml/level2/events/EventTargetCast01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent01.js: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent02.js: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent03.js: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent04.js: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent05.js: Added.
        * layout-tests/dom/xhtml/level2/events/createEvent05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent01.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent02.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent03.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent04.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent05.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent06.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent07.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent08.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent09.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent10.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent11.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent12.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent13.js: Added.
        * layout-tests/dom/xhtml/level2/events/dispatchEvent13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent01.js: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent02.js: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent03.js: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent04.js: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent05.js: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent06.js: Added.
        * layout-tests/dom/xhtml/level2/events/initEvent06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/resources/COPYRIGHT.xhtml: Added.
        * layout-tests/dom/xhtml/level2/events/selfxhtml.js: Added.
        * layout-tests/dom/xhtml/level2/events/staff.dtd: Added.
        * layout-tests/dom/xhtml/level2/events/xhtml-lat1.ent: Added.
        * layout-tests/dom/xhtml/level2/events/xhtml-special.ent: Added.
        * layout-tests/dom/xhtml/level2/events/xhtml-symbol.ent: Added.
        * layout-tests/dom/xhtml/level2/events/xhtml1-frameset.dtd: Added.
        * layout-tests/dom/xhtml/level2/events/xhtml1-strict.dtd: Added.
        * layout-tests/dom/xhtml/level2/events/xhtml1-transitional.dtd: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAnchorElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAppletElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLAreaElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBRElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBRElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBRElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBaseFontElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLBodyElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLButtonElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLCollection12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDirectoryElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDirectoryElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDirectoryElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDivElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDivElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDivElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDlistElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDlistElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDlistElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument21-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument21.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument21.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument22-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument22.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument22.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument23-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument23.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument23.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument24-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument24.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument24.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument25-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument25.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument25.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument26-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument26.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument26.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument27-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument27.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLDocument27.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement100-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement100.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement100.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement101-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement101.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement101.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement102-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement102.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement102.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement103-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement103.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement103.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement104-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement104.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement104.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement105-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement105.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement105.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement106-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement106.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement106.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement107-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement107.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement107.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement108-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement108.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement108.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement109-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement109.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement109.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement110-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement110.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement110.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement111-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement111.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement111.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement112-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement112.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement112.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement113-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement113.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement113.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement114-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement114.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement114.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement115-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement115.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement115.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement116-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement116.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement116.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement117-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement117.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement117.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement118-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement118.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement118.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement119-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement119.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement119.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement120-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement120.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement120.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement121-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement121.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement121.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement122-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement122.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement122.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement123-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement123.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement123.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement124-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement124.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement124.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement125-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement125.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement125.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement126-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement126.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement126.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement127-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement127.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement127.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement128-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement128.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement128.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement129-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement129.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement129.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement130-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement130.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement130.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement131-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement131.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement131.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement132-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement132.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement132.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement133-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement133.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement133.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement134-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement134.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement134.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement135-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement135.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement135.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement136-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement136.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement136.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement137-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement137.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement137.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement138-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement138.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement138.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement139-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement139.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement139.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement140-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement140.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement140.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement141-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement141.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement141.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement142-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement142.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement142.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement143-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement143.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement143.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement144-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement144.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement144.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement145-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement145.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement145.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement21-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement21.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement21.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement22-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement22.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement22.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement23-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement23.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement23.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement24-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement24.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement24.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement25-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement25.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement25.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement26-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement26.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement26.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement27-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement27.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement27.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement28-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement28.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement28.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement29-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement29.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement29.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement30-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement30.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement30.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement31-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement31.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement31.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement32-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement32.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement32.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement33-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement33.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement33.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement34-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement34.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement34.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement35-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement35.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement35.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement36-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement36.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement36.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement37-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement37.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement37.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement38-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement38.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement38.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement39-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement39.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement39.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement40-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement40.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement40.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement41-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement41.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement41.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement42-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement42.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement42.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement43-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement43.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement43.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement44-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement44.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement44.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement45-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement45.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement45.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement46-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement46.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement46.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement47-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement47.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement47.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement48-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement48.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement48.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement49-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement49.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement49.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement50-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement50.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement50.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement51-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement51.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement51.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement52-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement52.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement52.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement53-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement53.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement53.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement54-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement54.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement54.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement55-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement55.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement55.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement56-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement56.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement56.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement57-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement57.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement57.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement58-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement58.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement58.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement59-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement59.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement59.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement60-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement60.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement60.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement61-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement61.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement61.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement62-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement62.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement62.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement63-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement63.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement63.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement64-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement64.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement64.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement65-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement65.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement65.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement66-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement66.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement66.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement67-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement67.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement67.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement68-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement68.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement68.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement69-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement69.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement69.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement70-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement70.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement70.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement71-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement71.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement71.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement72-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement72.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement72.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement73-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement73.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement73.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement74-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement74.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement74.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement75-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement75.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement75.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement76-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement76.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement76.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement77-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement77.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement77.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement78-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement78.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement78.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement79-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement79.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement79.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement80-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement80.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement80.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement81-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement81.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement81.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement82-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement82.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement82.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement83-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement83.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement83.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement84-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement84.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement84.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement85-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement85.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement85.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement86-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement86.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement86.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement87-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement87.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement87.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement88-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement88.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement88.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement89-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement89.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement89.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement90-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement90.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement90.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement91-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement91.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement91.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement92-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement92.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement92.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement93-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement93.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement93.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement94-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement94.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement94.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement95-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement95.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement95.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement96-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement96.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement96.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement97-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement97.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement97.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement98-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement98.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement98.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement99-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement99.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLElement99.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFieldSetElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFieldSetElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFieldSetElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFieldSetElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFieldSetElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFieldSetElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFontElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFormElement10.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement01.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement02.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement03.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement04.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement05.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement06.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement07.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement08.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameElement09.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameSetElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameSetElement01.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameSetElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLFrameSetElement02.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHRElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHeadingElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHtmlElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHtmlElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLHtmlElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIFrameElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLImageElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement21-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement21.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement21.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement22-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement22.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLInputElement22.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLIsIndexElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLIElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLIElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLIElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLIElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLIElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLIElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLabelElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLegendElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLLinkElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMapElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMapElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMapElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMapElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMapElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMapElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMenuElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMenuElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMenuElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLMetaElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLModElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOListElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLObjectElement20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptGroupElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptGroupElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptGroupElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptGroupElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptGroupElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptGroupElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLOptionsCollection07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParagraphElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParagraphElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParagraphElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLParamElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLPreElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLPreElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLPreElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLQuoteElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLQuoteElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLQuoteElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLQuoteElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLQuoteElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLQuoteElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLScriptElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLSelectElement20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLStyleElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCaptionElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCaptionElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCaptionElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement21-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement21.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement21.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement22-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement22.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement22.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement23-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement23.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement23.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement24-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement24.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement24.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement25-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement25.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement25.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement26-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement26.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement26.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement27-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement27.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement27.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement28-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement28.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement28.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement29-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement29.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement29.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement30-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement30.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableCellElement30.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableColElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement21-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement21.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement21.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement22-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement22.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement22.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement23-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement23.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement23.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement24-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement24.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement24.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement25-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement25.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement25.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement26-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement26.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement26.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement27-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement27.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement27.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement28-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement28.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement28.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement29-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement29.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement29.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement30-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement30.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement30.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement31-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement31.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement31.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement32-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement32.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement32.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement33-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement33.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement33.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement34-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement34.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement34.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement35-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement35.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement35.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement36-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement36.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement36.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement37-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement37.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement37.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement38-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement38.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement38.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement39-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement39.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement39.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement40-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement40.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableElement40.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement21-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement21.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableRowElement21.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement16-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement16.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement16.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement17.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement18.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement19.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement20.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement21-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement21.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement21.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement22-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement22.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement22.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement23-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement23.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement23.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement24-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement24.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement24.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement25-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement25.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement25.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement26-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement26.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement26.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement27-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement27.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement27.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement28-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement28.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement28.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement29-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement29.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement29.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement30-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement30.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement30.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement31-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement31.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTableSectionElement31.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement03.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement04.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement05.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement06.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement07.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement08.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement09.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement10.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement11.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement12.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement13.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement14.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement15.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTextAreaElement15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTitleElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTitleElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLTitleElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLUListElement01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLUListElement01.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLUListElement01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLUListElement02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLUListElement02.js: Added.
        * layout-tests/dom/xhtml/level2/html/HTMLUListElement02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/anchor01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/anchor01.js: Added.
        * layout-tests/dom/xhtml/level2/html/anchor01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/anchor02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/anchor02.js: Added.
        * layout-tests/dom/xhtml/level2/html/anchor02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/anchor03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/anchor03.js: Added.
        * layout-tests/dom/xhtml/level2/html/anchor03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/anchor04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/anchor04.js: Added.
        * layout-tests/dom/xhtml/level2/html/anchor04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/anchor05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/anchor05.js: Added.
        * layout-tests/dom/xhtml/level2/html/anchor05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/anchor06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/anchor06.js: Added.
        * layout-tests/dom/xhtml/level2/html/anchor06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/applets/DOMTSApplet.dat: Added.
        * layout-tests/dom/xhtml/level2/html/applets/org/w3c/domts/DOMTSApplet.class: Added.
        * layout-tests/dom/xhtml/level2/html/area01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/area01.js: Added.
        * layout-tests/dom/xhtml/level2/html/area01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/area02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/area02.js: Added.
        * layout-tests/dom/xhtml/level2/html/area02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/area03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/area03.js: Added.
        * layout-tests/dom/xhtml/level2/html/area03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/area04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/area04.js: Added.
        * layout-tests/dom/xhtml/level2/html/area04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/basefont01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/basefont01.js: Added.
        * layout-tests/dom/xhtml/level2/html/basefont01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/body01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/body01.js: Added.
        * layout-tests/dom/xhtml/level2/html/body01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button01.js: Added.
        * layout-tests/dom/xhtml/level2/html/button01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button02.js: Added.
        * layout-tests/dom/xhtml/level2/html/button02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button03.js: Added.
        * layout-tests/dom/xhtml/level2/html/button03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button04.js: Added.
        * layout-tests/dom/xhtml/level2/html/button04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button05.js: Added.
        * layout-tests/dom/xhtml/level2/html/button05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button06.js: Added.
        * layout-tests/dom/xhtml/level2/html/button06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button07.js: Added.
        * layout-tests/dom/xhtml/level2/html/button07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button08.js: Added.
        * layout-tests/dom/xhtml/level2/html/button08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/button09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/button09.js: Added.
        * layout-tests/dom/xhtml/level2/html/button09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/dlist01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/dlist01.js: Added.
        * layout-tests/dom/xhtml/level2/html/dlist01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/doc01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/doc01.js: Added.
        * layout-tests/dom/xhtml/level2/html/doc01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/frame-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/frame.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature01.js: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature02.js: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature03.js: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature04.js: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature05.js: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature06.js: Added.
        * layout-tests/dom/xhtml/level2/html/hasFeature06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/iframe-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/iframe.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object01.js: Added.
        * layout-tests/dom/xhtml/level2/html/object01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object02.js: Added.
        * layout-tests/dom/xhtml/level2/html/object02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object03.js: Added.
        * layout-tests/dom/xhtml/level2/html/object03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object04.js: Added.
        * layout-tests/dom/xhtml/level2/html/object04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object05-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object05.js: Added.
        * layout-tests/dom/xhtml/level2/html/object05.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object06.js: Added.
        * layout-tests/dom/xhtml/level2/html/object06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object07.js: Added.
        * layout-tests/dom/xhtml/level2/html/object07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object08.js: Added.
        * layout-tests/dom/xhtml/level2/html/object08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object09.js: Added.
        * layout-tests/dom/xhtml/level2/html/object09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object10.js: Added.
        * layout-tests/dom/xhtml/level2/html/object10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object11-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object11.js: Added.
        * layout-tests/dom/xhtml/level2/html/object11.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object12.js: Added.
        * layout-tests/dom/xhtml/level2/html/object12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object13-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object13.js: Added.
        * layout-tests/dom/xhtml/level2/html/object13.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object14-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object14.js: Added.
        * layout-tests/dom/xhtml/level2/html/object14.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/object15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/object15.js: Added.
        * layout-tests/dom/xhtml/level2/html/object15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/resources/COPYRIGHT.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/right.png: Added.
        * layout-tests/dom/xhtml/level2/html/selfxhtml.js: Added.
        * layout-tests/dom/xhtml/level2/html/table01-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table01.js: Added.
        * layout-tests/dom/xhtml/level2/html/table01.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table02-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table02.js: Added.
        * layout-tests/dom/xhtml/level2/html/table02.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table03-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table03.js: Added.
        * layout-tests/dom/xhtml/level2/html/table03.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table04-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table04.js: Added.
        * layout-tests/dom/xhtml/level2/html/table04.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table06-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table06.js: Added.
        * layout-tests/dom/xhtml/level2/html/table06.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table07-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table07.js: Added.
        * layout-tests/dom/xhtml/level2/html/table07.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table08-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table08.js: Added.
        * layout-tests/dom/xhtml/level2/html/table08.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table09-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table09.js: Added.
        * layout-tests/dom/xhtml/level2/html/table09.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table10-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table10.js: Added.
        * layout-tests/dom/xhtml/level2/html/table10.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table12-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table12.js: Added.
        * layout-tests/dom/xhtml/level2/html/table12.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table15-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table15.js: Added.
        * layout-tests/dom/xhtml/level2/html/table15.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table17-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table17.js: Added.
        * layout-tests/dom/xhtml/level2/html/table17.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table18-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table18.js: Added.
        * layout-tests/dom/xhtml/level2/html/table18.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table19-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table19.js: Added.
        * layout-tests/dom/xhtml/level2/html/table19.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table20-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table20.js: Added.
        * layout-tests/dom/xhtml/level2/html/table20.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table21-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table21.js: Added.
        * layout-tests/dom/xhtml/level2/html/table21.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table22-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table22.js: Added.
        * layout-tests/dom/xhtml/level2/html/table22.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table23-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table23.js: Added.
        * layout-tests/dom/xhtml/level2/html/table23.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table24-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table24.js: Added.
        * layout-tests/dom/xhtml/level2/html/table24.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table25-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table25.js: Added.
        * layout-tests/dom/xhtml/level2/html/table25.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table26-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table26.js: Added.
        * layout-tests/dom/xhtml/level2/html/table26.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table27-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table27.js: Added.
        * layout-tests/dom/xhtml/level2/html/table27.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table28-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table28.js: Added.
        * layout-tests/dom/xhtml/level2/html/table28.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table29-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table29.js: Added.
        * layout-tests/dom/xhtml/level2/html/table29.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table30-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table30.js: Added.
        * layout-tests/dom/xhtml/level2/html/table30.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table31-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table31.js: Added.
        * layout-tests/dom/xhtml/level2/html/table31.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table32-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table32.js: Added.
        * layout-tests/dom/xhtml/level2/html/table32.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table33-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table33.js: Added.
        * layout-tests/dom/xhtml/level2/html/table33.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table34-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table34.js: Added.
        * layout-tests/dom/xhtml/level2/html/table34.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table35-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table35.js: Added.
        * layout-tests/dom/xhtml/level2/html/table35.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table36-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table36.js: Added.
        * layout-tests/dom/xhtml/level2/html/table36.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table37-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table37.js: Added.
        * layout-tests/dom/xhtml/level2/html/table37.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table38-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table38.js: Added.
        * layout-tests/dom/xhtml/level2/html/table38.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table39-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table39.js: Added.
        * layout-tests/dom/xhtml/level2/html/table39.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table40-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table40.js: Added.
        * layout-tests/dom/xhtml/level2/html/table40.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table41-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table41.js: Added.
        * layout-tests/dom/xhtml/level2/html/table41.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table42-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table42.js: Added.
        * layout-tests/dom/xhtml/level2/html/table42.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table43-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table43.js: Added.
        * layout-tests/dom/xhtml/level2/html/table43.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table44-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table44.js: Added.
        * layout-tests/dom/xhtml/level2/html/table44.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table45-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table45.js: Added.
        * layout-tests/dom/xhtml/level2/html/table45.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table46-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table46.js: Added.
        * layout-tests/dom/xhtml/level2/html/table46.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table47-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table47.js: Added.
        * layout-tests/dom/xhtml/level2/html/table47.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table48-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table48.js: Added.
        * layout-tests/dom/xhtml/level2/html/table48.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table49-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table49.js: Added.
        * layout-tests/dom/xhtml/level2/html/table49.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table50-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table50.js: Added.
        * layout-tests/dom/xhtml/level2/html/table50.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table51-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table51.js: Added.
        * layout-tests/dom/xhtml/level2/html/table51.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table52-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table52.js: Added.
        * layout-tests/dom/xhtml/level2/html/table52.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/table53-expected.txt: Added.
        * layout-tests/dom/xhtml/level2/html/table53.js: Added.
        * layout-tests/dom/xhtml/level2/html/table53.xhtml: Added.
        * layout-tests/dom/xhtml/level2/html/w3c_main.png: Added.
        * layout-tests/dom/xhtml/level2/html/xhtml-lat1.ent: Added.
        * layout-tests/dom/xhtml/level2/html/xhtml-special.ent: Added.
        * layout-tests/dom/xhtml/level2/html/xhtml-symbol.ent: Added.
        * layout-tests/dom/xhtml/level2/html/xhtml1-frameset.dtd: Added.
        * layout-tests/dom/xhtml/level2/html/xhtml1-strict.dtd: Added.
        * layout-tests/dom/xhtml/level2/html/xhtml1-transitional.dtd: Added.
        * layout-tests/dom/xhtml/level3/core/Yes: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo01.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo02.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo03.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo04.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo05.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo06.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo07.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo08.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrgetschematypeinfo08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid01.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid02.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid03.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid04.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid05.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid06.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid07.js: Added.
        * layout-tests/dom/xhtml/level3/core/attrisid07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform01.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform02.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform03.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform04.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform05.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform06.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform07.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform08.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform09.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform10.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform11.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform12.js: Added.
        * layout-tests/dom/xhtml/level3/core/canonicalform12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/cdatasections01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/cdatasections01.js: Added.
        * layout-tests/dom/xhtml/level3/core/cdatasections01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization01.js: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization02.js: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization03.js: Added.
        * layout-tests/dom/xhtml/level3/core/checkcharacternormalization03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/comments01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/comments01.js: Added.
        * layout-tests/dom/xhtml/level3/core/comments01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/datatype_normalization.svg.xsd: Added.
        * layout-tests/dom/xhtml/level3/core/datatype_normalization.xsd: Added.
        * layout-tests/dom/xhtml/level3/core/datatype_normalization2.svg.xsd: Added.
        * layout-tests/dom/xhtml/level3/core/datatype_normalization2.xsd: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization13.js: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization14.js: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization15.js: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization16.js: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization17.js: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization18.js: Added.
        * layout-tests/dom/xhtml/level3/core/datatypenormalization18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode04.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode05.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode06.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode07.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode08.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode09.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode10.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode11.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode12.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode13.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode14.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode15.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode16.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode17.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode18.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode19.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode20.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode21.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode22.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode23-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode23.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode23.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode24-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode24.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode24.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode25.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode26-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode26.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode26.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode27-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode27.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode27.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode28-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode28.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode28.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode30-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode30.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode30.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode31-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode31.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode31.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode32-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode32.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode32.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode33-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode33.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode33.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode34-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode34.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode34.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode35-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode35.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode35.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode36-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode36.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentadoptnode36.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdoctype01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdoctype01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdoctype01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetdocumenturi03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding04.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetinputencoding04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetstricterrorchecking01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetstricterrorchecking01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetstricterrorchecking01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetstricterrorchecking02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetstricterrorchecking02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetstricterrorchecking02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding04.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding05.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlencoding05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone04.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone05.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlstandalone05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentgetxmlversion03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument04.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument05.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument06.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument06.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument07.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument08.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument09.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument10.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument11.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument12.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument13.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentnormalizedocument13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode04.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode05.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode06.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode07.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode08.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode09.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode10.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode11.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode12.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode13.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode14.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode15.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode16.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode17.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode18.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode19.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode20.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode21.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode22.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode23-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode23.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode23.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode24-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode24.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode24.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode25.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode26-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode26.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode26.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode27-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode27.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode27.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode28-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode28.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode28.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode29-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode29.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentrenamenode29.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetdocumenturi03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetstricterrorchecking03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlstandalone01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlstandalone01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlstandalone01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlstandalone02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlstandalone02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlstandalone02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion01.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion02.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion03.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion05.js: Added.
        * layout-tests/dom/xhtml/level3/core/documentsetxmlversion05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcanonicalform1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcanonicalform1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcanonicalform1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcdatasections1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcdatasections1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcdatasections1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcheckcharacternormalization1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcheckcharacternormalization1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcheckcharacternormalization1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcomments1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcomments1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigcomments1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigdatatypenormalization1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigdatatypenormalization1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigdatatypenormalization1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigdatatypenormalization2-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigdatatypenormalization2.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigdatatypenormalization2.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigelementcontentwhitespace1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigelementcontentwhitespace1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigelementcontentwhitespace1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigentities1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigentities1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigentities1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigerrorhandler1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigerrorhandler1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigerrorhandler1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigerrorhandler2-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigerrorhandler2.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigerrorhandler2.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfiginfoset1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfiginfoset1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfiginfoset1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespacedeclarations1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespacedeclarations1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespacedeclarations1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespaces1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespaces1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespaces1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespaces2-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespaces2.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignamespaces2.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignormalizecharacters1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignormalizecharacters1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfignormalizecharacters1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigparameternames01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigparameternames01.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigparameternames01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigschemalocation1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigschemalocation1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigschemalocation1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigschematype1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigschematype1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigschematype1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigsplitcdatasections1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigsplitcdatasections1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigsplitcdatasections1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter01.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter02.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter03.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter04.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter06.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationcansetparameter06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationgetparameter01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationgetparameter01.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationgetparameter01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationgetparameter02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationgetparameter02.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigurationgetparameter02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigvalidate1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigvalidate1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigvalidate1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigvalidateifschema1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigvalidateifschema1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigvalidateifschema1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigwellformed1-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigwellformed1.js: Added.
        * layout-tests/dom/xhtml/level3/core/domconfigwellformed1.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature01.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature02.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature03.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature05.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature06.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationgetfeature06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry01.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry02.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry03.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry04.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry05.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry06.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry07.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry08.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry09.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry10.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry11.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry12.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry12.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry13.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry14.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry15.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry16.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry17.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry18.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry19.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry20.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry21.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry22.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry23.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry23.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry24-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry24.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry24.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry25.js: Added.
        * layout-tests/dom/xhtml/level3/core/domimplementationregistry25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistcontains01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistcontains01.js: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistcontains01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistcontains02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistcontains02.js: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistcontains02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistgetlength01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistgetlength01.js: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistgetlength01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistitem01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistitem01.js: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistitem01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistitem02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistitem02.js: Added.
        * layout-tests/dom/xhtml/level3/core/domstringlistitem02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace01.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace02.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace03.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementcontentwhitespace03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo01.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo02.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo03.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo04.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo05.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo06.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo07.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementgetschematypeinfo07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute01.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute03.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute04.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute05.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute06.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute07.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute08.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute09.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute10.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute11.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattribute11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode01.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode02.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode03.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode04.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode05.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode06.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode07.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode08.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode09.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode10.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributenode10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens01.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens02.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens03.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens04.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens05.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens06.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens07.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens08.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens09.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens10.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens11.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens12.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens13.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens14.js: Added.
        * layout-tests/dom/xhtml/level3/core/elementsetidattributens14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entities01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entities01.js: Added.
        * layout-tests/dom/xhtml/level3/core/entities01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entities02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entities02.js: Added.
        * layout-tests/dom/xhtml/level3/core/entities02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entities03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entities03.js: Added.
        * layout-tests/dom/xhtml/level3/core/entities03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entities04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entities04.js: Added.
        * layout-tests/dom/xhtml/level3/core/entities04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding01.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding02.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding03.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding04.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetinputencoding04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding01.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding02.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding03.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding04.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlencoding04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion01.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion02.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion03.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion04.js: Added.
        * layout-tests/dom/xhtml/level3/core/entitygetxmlversion04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/external_foo.ent: Added.
        * layout-tests/dom/xhtml/level3/core/external_foobr.ent: Added.
        * layout-tests/dom/xhtml/level3/core/external_widget.ent: Added.
        * layout-tests/dom/xhtml/level3/core/handleerror01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/handleerror01.js: Added.
        * layout-tests/dom/xhtml/level3/core/handleerror01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/handleerror02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/handleerror02.js: Added.
        * layout-tests/dom/xhtml/level3/core/handleerror02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature01.js: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature02.js: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature03.js: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature04.js: Added.
        * layout-tests/dom/xhtml/level3/core/hasFeature04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/hc_staff.svg.xsd: Added.
        * layout-tests/dom/xhtml/level3/core/hc_staff.xsd: Added.
        * layout-tests/dom/xhtml/level3/core/infoset01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset01.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/infoset02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset02.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/infoset03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset03.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/infoset04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset04.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/infoset05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset05.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/infoset06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset06.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/infoset07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset07.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/infoset08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset08.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/infoset09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/infoset09.js: Added.
        * layout-tests/dom/xhtml/level3/core/infoset09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/namespacedeclarations01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/namespacedeclarations01.js: Added.
        * layout-tests/dom/xhtml/level3/core/namespacedeclarations01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/namespacedeclarations02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/namespacedeclarations02.js: Added.
        * layout-tests/dom/xhtml/level3/core/namespacedeclarations02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeappendchild01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeappendchild01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeappendchild01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeappendchild02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeappendchild02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeappendchild02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition14.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition15.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition17.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition18.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition19.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition20.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition21.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition22.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition23-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition23.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition23.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition24-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition24.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition24.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition25.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition26-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition26.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition26.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition27-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition27.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition27.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition28-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition28.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition28.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition29-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition29.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition29.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition30-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition30.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition30.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition31-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition31.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition31.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition32-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition32.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition32.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition33-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition33.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition33.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition34-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition34.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition34.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition35-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition35.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition35.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition36-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition36.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition36.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition37-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition37.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition37.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition38-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition38.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition38.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition39-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition39.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition39.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition40-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition40.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodecomparedocumentposition40.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri17.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri18.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri19.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri20.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetbaseuri20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetfeature13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent17.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent18.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent19.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegettextcontent19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodegetuserdata07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore17.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore18.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore19.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore20.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore21.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore22.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore23-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore23.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore23.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore24-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore24.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore24.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore25.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeinsertbefore25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisdefaultnamespace16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode17.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode18.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode19.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode20.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode21.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode22.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode25.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode26-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode26.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode26.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode27-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode27.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode27.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode28-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode28.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode28.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode29-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode29.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode29.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode31-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode31.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode31.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode32-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode32.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeisequalnode32.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodeissamenode10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri17.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri18.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri19.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri20.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupnamespaceuri20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix17.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix18.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix19.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix20.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodelookupprefix20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild01.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild02.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild03.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild03.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild04.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild05.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild07.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild08.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild09.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild10.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild11.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild12.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild13.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild14.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild15.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild16.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild17.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild18.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild19.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild20.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild21.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild22.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild23-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild23.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild23.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild24-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild24.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild24.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild25.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild26-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild26.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild26.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild27-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild27.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild27.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild28-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild28.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild28.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild29-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild29.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild29.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild30-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild30.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild30.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild31-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild31.js: Added.
        * layout-tests/dom/xhtml/level3/core/noderemovechild31.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild06.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild07.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild08.xhtml-disabled: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild14.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild15.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild16.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild17.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild18.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild19.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild20.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild21.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild22.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild23-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild23.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild23.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild24-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild24.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild24.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild25.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild26-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild26.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild26.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild27-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild27.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild27.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild28-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild28.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild28.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild29-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild29.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild29.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild30-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild30.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild30.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild31-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild31.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild31.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild32-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild32.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild32.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild33-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild33.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild33.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild34-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild34.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild34.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild35-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild35.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild35.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild36-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild36.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild36.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild37-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild37.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild37.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild38-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild38.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild38.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild39-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild39.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild39.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild40-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild40.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodereplacechild40.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent11.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent12.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent13.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesettextcontent13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata01.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata02.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata03.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata04.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata05.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata06.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata07.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata08.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata09.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata10.js: Added.
        * layout-tests/dom/xhtml/level3/core/nodesetuserdata10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters01.js: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters02.js: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters03.js: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters04.js: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters05.js: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters06.js: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters07.js: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters08.js: Added.
        * layout-tests/dom/xhtml/level3/core/normalizecharacters08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/resources/COPYRIGHT.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/selfxhtml.js: Added.
        * layout-tests/dom/xhtml/level3/core/splitcdatasections01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/splitcdatasections01.js: Added.
        * layout-tests/dom/xhtml/level3/core/splitcdatasections01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace01.js: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace02.js: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace03.js: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace04.js: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace05.js: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace06.js: Added.
        * layout-tests/dom/xhtml/level3/core/textiselementcontentwhitespace06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext01.js: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext02.js: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext03.js: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext04.js: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext05.js: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext06.js: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext07.js: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext08.js: Added.
        * layout-tests/dom/xhtml/level3/core/textreplacewholetext08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext01.js: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext02.js: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext03.js: Added.
        * layout-tests/dom/xhtml/level3/core/textwholetext03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfo.svg.xsd: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfo.xsd: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypename03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypename03.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypename03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypename04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypename04.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypename04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace01.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace03.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace04.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfogettypenamespace04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom01.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom02.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom03.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom04.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom05-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom05.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom05.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom06-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom06.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom06.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom07-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom07.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom07.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom08-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom08.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom08.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom09-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom09.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom09.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom10-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom10.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom10.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom11-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom11.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom11.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom12-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom12.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom12.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom13-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom13.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom13.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom14-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom14.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom14.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom15-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom15.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom15.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom16-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom16.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom16.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom17-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom17.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom17.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom18-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom18.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom18.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom19-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom19.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom19.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom20-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom20.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom20.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom21-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom21.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom21.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom22-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom22.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom22.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom23-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom23.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom23.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom24-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom24.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom24.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom25-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom25.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom25.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom26-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom26.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom26.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom27-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom27.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom27.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom28-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom28.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom28.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom29-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom29.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom29.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom30-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom30.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom30.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom31-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom31.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom31.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom32-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom32.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom32.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom33-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom33.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom33.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom34-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom34.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom34.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom35-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom35.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom35.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom36-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom36.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom36.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom37-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom37.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom37.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom38-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom38.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom38.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom39-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom39.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom39.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom40-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom40.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom40.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom41-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom41.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom41.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom42-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom42.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom42.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom43-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom43.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom43.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom44-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom44.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom44.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom45-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom45.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom45.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom46-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom46.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom46.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom47-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom47.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom47.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom48-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom48.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom48.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom49-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom49.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom49.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom50-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom50.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom50.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom51-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom51.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom51.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom52-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom52.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom52.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom53-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom53.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom53.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom54-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom54.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom54.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom55-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom55.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom55.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom56-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom56.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom56.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom57-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom57.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom57.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom58-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom58.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom58.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom59-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom59.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom59.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom60-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom60.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom60.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom61-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom61.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom61.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom62-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom62.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom62.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom63-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom63.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom63.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom64-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom64.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom64.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom65-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom65.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom65.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom66-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom66.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom66.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom67-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom67.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom67.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom68-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom68.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom68.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom69-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom69.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom69.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom70-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom70.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom70.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom71-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom71.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom71.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom72-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom72.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom72.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom73-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom73.js: Added.
        * layout-tests/dom/xhtml/level3/core/typeinfoisderivedfrom73.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler01.js: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler02.js: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler03.js: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler04.js: Added.
        * layout-tests/dom/xhtml/level3/core/userdatahandler04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed01-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed01.js: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed01.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed02-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed02.js: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed02.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed03-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed03.js: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed03.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed04-expected.txt: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed04.js: Added.
        * layout-tests/dom/xhtml/level3/core/wellformed04.xhtml: Added.
        * layout-tests/dom/xhtml/level3/core/xhtml-lat1.ent: Added.
        * layout-tests/dom/xhtml/level3/core/xhtml-special.ent: Added.
        * layout-tests/dom/xhtml/level3/core/xhtml-symbol.ent: Added.
        * layout-tests/dom/xhtml/level3/core/xhtml1-frameset.dtd: Added.
        * layout-tests/dom/xhtml/level3/core/xhtml1-strict.dtd: Added.
        * layout-tests/dom/xhtml/level3/core/xhtml1-transitional.dtd: Added.

2005-09-26  Geoffrey Garen  <ggaren@apple.com>

        - Added layout test for http://bugs.webkit.org/show_bug.cgi?id=5053
        Need to restore int/long changes to simple_number.h

        Test cases added:

        * layout-tests/fast/js/integer-extremes-expected.txt: Added.
        * layout-tests/fast/js/integer-extremes.html: Added.

2005-09-24  Maciej Stachowiak  <mjs@apple.com>

        - some JavaScript syntax test cases

        * layout-tests/fast/js/delete-syntax-expected.txt: Added.
        * layout-tests/fast/js/delete-syntax.html: Added.
        * layout-tests/fast/js/postfix-syntax-expected.txt: Added.
        * layout-tests/fast/js/postfix-syntax.html: Added.
        * layout-tests/fast/js/prefix-syntax-expected.txt: Added.
        * layout-tests/fast/js/prefix-syntax.html: Added.
        * layout-tests/fast/js/typeof-syntax-expected.txt: Added.
        * layout-tests/fast/js/typeof-syntax.html: Added.

2005-09-24  Duncan Wilcox  <duncan@mclink.it>

        - patch for <http://bugs.webkit.org/show_bug.cgi?id=4963>
          "Would like to simulate human interaction with webview"

        Test cases added:
        * layout-tests/editing/selection/fake-drag.html: Added.
        * layout-tests/editing/selection/fake-doubleclick: Added.

2005-09-24  Darin Adler  <darin@apple.com>

        - added Mitz's test for flipped text rendering (using dragged links)

        * manual-tests/flipped-text-rendering.html: Added.

2005-09-24  Darin Adler  <darin@apple.com>

        - added tests and updated results for WebKit ATSU text measurement change

        * layout-tests/fast/text/cg-vs-atsui.html: Added.
        * layout-tests/fast/text/cg-vs-atsui-expected.checksum: Added.
        * layout-tests/fast/text/cg-vs-atsui-expected.png: Added.
        * layout-tests/fast/text/cg-vs-atsui-expected.txt: Added.

        * layout-tests/css1/text_properties/text-transCapitalize-expected.checksum: Updated.
        * layout-tests/css1/text_properties/text-transCapitalize-expected.png: Updated.
        * layout-tests/css1/text_properties/text-transCapitalize-expected.txt: Updated.
        * layout-tests/fast/text/international/bidi-CS-after-AN-expected.checksum: Updated.
        * layout-tests/fast/text/international/bidi-CS-after-AN-expected.png: Updated.
        * layout-tests/fast/text/international/bidi-CS-after-AN-expected.txt: Updated.
        * layout-tests/fast/text/international/bidi-explicit-embedding-expected.checksum: Updated.
        * layout-tests/fast/text/international/bidi-explicit-embedding-expected.png: Updated.
        * layout-tests/fast/text/international/bidi-explicit-embedding-expected.txt: Updated.
        * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.checksum: Updated.
        * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.png: Updated.
        * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.txt: Updated.
        * layout-tests/fast/text/international/bidi-override-expected.checksum: Updated.
        * layout-tests/fast/text/international/bidi-override-expected.png: Updated.
        * layout-tests/fast/text/international/bidi-override-expected.txt: Updated.

        - added pixel results for this test

        * layout-tests/editing/pasteboard/3976872-expected.checksum: Added.
        * layout-tests/editing/pasteboard/3976872-expected.png: Added.

2005-09-24  Darin Adler  <darin@apple.com>

        - fixed a few layout test results

        * layout-tests/fast/js/date-big-constructor.html: Added code to make this test dump as text.
        * layout-tests/fast/js/date-big-constructor-expected.txt: Updated.

        * layout-tests/fast/parser/script-tag-with-trailing-slash.html: Fixed code that said
        window.dumpAsText() instead of layoutTestController.dumpAsText() so this test would dump as text.
        * layout-tests/fast/parser/script-tag-with-trailing-slash-expected.txt: Updated.

        * layout-tests/fast/dom/replaceChild-expected.checksum: Added.
        * layout-tests/fast/dom/replaceChild-expected.png: Added.
        * layout-tests/fast/encoding/utf-16-no-bom-expected.checksum: Added.
        * layout-tests/fast/encoding/utf-16-no-bom-expected.png: Added.
        * layout-tests/fast/table/overflowHidden-expected.checksum: Added.
        * layout-tests/fast/table/overflowHidden-expected.png: Added.

2005-09-24  Darin Adler  <darin@apple.com>

        - updated pixel test results for a few tests with results that recently changed

        * layout-tests/fast/forms/006-expected.checksum:
        * layout-tests/fast/forms/006-expected.png:
        * layout-tests/fast/forms/007-expected.checksum:
        * layout-tests/fast/forms/007-expected.png:
        * layout-tests/fast/text/whitespace/013-expected.checksum:
        * layout-tests/fast/text/whitespace/013-expected.png:

2005-09-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed by Dave.
        Landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4862
          Incorrect layout of bidi overrides

        Test cases added:
        * layout-tests/fast/text/international/bidi-override.html: Added.
        * layout-tests/fast/text/international/bidi-override-expected.checksum: Added.
        * layout-tests/fast/text/international/bidi-override-expected.png: Added.
        * layout-tests/fast/text/international/bidi-override-expected.txt: Added.

        * khtml/rendering/bidi.h: Include an "override direction" flag in BidiRun.
        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::computeVerticalPositionsForLine): Pass in "override direction" parameter.
        (khtml::RenderBlock::bidiReorderLine): Set direction based on override.
        (khtml::RenderBlock::layoutInlineChildren): Pass in "override direction" parameter.

        * khtml/rendering/render_object.h: Update position function to take an "override direction" parameter.
        * khtml/rendering/render_box.h: Ditto.
        * khtml/rendering/render_box.cpp: (RenderBox::position): Ditto.

        * khtml/rendering/render_text.h: Add an m_dirOverride field to InlineTextBox.
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::paint): Pass true for override to drawText if m_dirOverride is set.
        (InlineTextBox::paintSelection): Ditto.
        (InlineTextBox::paintMarkedTextBackground): Ditto.
        (RenderText::position): Set up m_dirOverride in the InlineTextBox based on the override parameter.

        * kwq/WebCoreTextRenderer.h: Replace visuallyOrdered flag with a directionalOverride flag.
        * kwq/WebCoreTextRendererFactory.mm: (WebCoreInitializeEmptyTextStyle): Ditto.
        * kwq/KWQPainter.mm:
        (QPainter::drawText): Ditto.
        (QPainter::drawHighlightForText): Ditto.

2005-09-24  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Eric.
        Landed by Darin (after taking tabs out).

        - worked around problems compiling with various versions of gcc 4
          http://bugs.webkit.org/show_bug.cgi?id=5071
          http://bugs.webkit.org/show_bug.cgi?id=5086

        * kwq/KWQLineEdit.mm:
        (QLineEdit::setCursorPosition): Don't use NSMakeRange.
        (QLineEdit::setSelection): Ditto.
        * kwq/KWQPainter.mm:
        (QPainter::drawFloatPixmap): Rearrange things so we don't get a warning.
        * kwq/KWQTextEdit.mm:
        (QTextEdit::selectionEnd): Don't use NSMaxRange.
        (QTextEdit::setSelectionRange): Don't use NSMakeRange.

2005-09-24  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5039
          XSLT text output doesn't work

        Test cases added:
        * layout-tests/fast/xsl/xslt-text.xml: Added.
        * layout-tests/fast/xsl/xslt-text.xsl: Added.
        * layout-tests/fast/xsl/xslt-text-expected.checksum: Added.
        * layout-tests/fast/xsl/xslt-text-expected.png: Added.
        * layout-tests/fast/xsl/xslt-text-expected.txt: Added.

        * khtml/xsl/xslt_processorimpl.cpp: (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
        Use text rather than CDATA, using entities for & and < so that we can parse no matter what
        characters are in the text. Also add a head and a title element so the document is well formed.

2005-09-24  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5027
          Decoder doesn't auto-detect XML encoded as UTF-16 if BOM is not present

        Test cases added:
        * layout-tests/fast/encoding/utf-16-no-bom.xml: Added.
        * layout-tests/fast/encoding/utf-16-no-bom-expected.txt: Added.

        * khtml/misc/decoder.cpp: (Decoder::decode): Auto-detect an XML header with 16-bit characters
        (big or little endian) and decide encoding based on that.

2005-09-23  Eric Seidel  <eseidel@apple.com>

        No review, build fix only.

        * khtml/editing/SelectionController.cpp:
        (khtml::SelectionController::debugPosition):
        http://bugs.webkit.org/show_bug.cgi?id=5113

2005-09-23  Eric Seidel  <eseidel@apple.com>
        Fix from Mitz Pettel <opendarwin.org@mitzpettel.com>

        Reviewed by mjs.

        * WebCore.xcodeproj/project.pbxproj:
	Build fix:  EcmaInterface.cpp paths.
        http://bugs.webkit.org/show_bug.cgi?id=5111

2005-09-23  Duncan Wilcox  <duncan@mclink.it>

        Reviewed and landed by Darin.

        - name changes to prepare for fixing bugzilla bug 4582

        Renamed khtml::Selection to khtml::SelectionController since it's far more
        than just the selection position itself. Also renamed WebSelectionDirection
        WebSelectionGranularity and their constants to have a WebBridge prefix so they
        don't collide with possible public enums with a similar purpose.

        * ForwardingHeaders/editing/SelectionController.h: Added.
        * ForwardingHeaders/editing/selection.h: Removed.
        * WebCore.xcodeproj/project.pbxproj: Added new files, removed old files.

        * khtml/editing/SelectionController.cpp: New name for selection.cpp, contents renamed.
        * khtml/editing/SelectionController.h: New name for selection.h, contents renamed.

        * khtml/editing/selection.cpp: Removed.
        * khtml/editing/selection.h: Removed.

        * khtml/ecma/kjs_window.cpp:
        * khtml/editing/apply_style_command.cpp:
        * khtml/editing/break_blockquote_command.cpp:
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/composite_edit_command.h:
        * khtml/editing/delete_selection_command.cpp:
        * khtml/editing/delete_selection_command.h:
        * khtml/editing/edit_command.cpp:
        * khtml/editing/edit_command.h:
        * khtml/editing/htmlediting.h:
        * khtml/editing/insert_line_break_command.cpp:
        * khtml/editing/insert_paragraph_separator_command.cpp:
        * khtml/editing/insert_text_command.cpp:
        * khtml/editing/jsediting.cpp:
        * khtml/editing/move_selection_command.cpp:
        * khtml/editing/replace_selection_command.cpp:
        * khtml/editing/typing_command.cpp:
        * khtml/khtml_part.cpp:
        * khtml/khtml_part.h:
        * khtml/khtmlpart_p.h:
        * khtml/rendering/render_block.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_nodeimpl.cpp:
        * kwq/KWQAccObject.mm:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        * kwq/KWQRenderTreeDebug.cpp:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        Renaming.

2005-09-23  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4310
          "sheet" method is unimplemented in Obj-C DOM API

        * kwq/DOM-CSS.mm: (-[DOMObject sheet]): Added.

2005-09-23  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4309
          CSSStyleSheet objects don't get Obj-C DOMCSSStyleSheet wrappers

        * kwq/DOM-CSS.mm:
        (-[DOMStyleSheet _initWithStyleSheetImpl:]): Changed the name of this method to be consistent
        with other method names in the DOM wrappers. The old name had an extraneous "DOM" in it.
        (+[DOMStyleSheet _DOMStyleSheetWithImpl:]): Create a wrapper of an appropriate class
        that matches the actual style sheet. This is analogous to what +[DOMNode _nodeWithImpl:] does.
        (+[DOMCSSStyleSheet _CSSStyleSheetWithImpl:]): Call through to the base class. The only difference
        here is the static type of the parameter, which ensures a compile-time error if you pass the
        wrong type of pointer.

2005-09-23  David Hyatt  <hyatt@apple.com>

        Reviewed by Maciej.
        Tested, landed, and tweaked a tiny bit by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=5092
          Random crashes when running the layout tests
        
        Fix was to remove the "pending" concept from the tokenizer, which streamlined the
        code and also fixed one minor bug seen in one of the layout tests where we discarded
        too much after the <pre>.

        * khtml/html/htmltokenizer.h: Removed the addPending function and the pending
        field. Also removed SpaceDiscard and AllDiscard since we don't use them any more.
        We still use LFDiscard to discard the first LF after a <pre>.

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::begin): Don't initialize pending.
        (khtml::HTMLTokenizer::processListing): Tweaked formatting to match guidelines.
        Removed calls to addPending. Write "\n" right away instead of using LFPending.
        Write " " right away instead of using SpacePending by removing separate code for space.
        (khtml::HTMLTokenizer::write): Ditto.
        (khtml::HTMLTokenizer::finish): Remove the call to addPending we just added a few
        days ago. This is what was causing the crash.

        * layout-tests/fast/text/whitespace/013-expected.txt: Updated results. Old results
        incorrectly expected spaces *and* a newline to be discarded after a <pre> tag, which
        was happening by accident. I tested Firefox and it matches what we do now -- only
        discards a newline just after a <pre>, not a run of spaces and a subsequent newline.

2005-09-22  Eric Seidel  <eseidel@apple.com>
        Fix by Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>

        Reviewed by eseidel.

        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        Deployment build fix.

2005-09-22  Eric Seidel  <eseidel@apple.com>

        Reviewed by hyatt.

        Added KDOM and KCanvas wrapper objects for the WebCore DOM
        and WebCore render tree.  This allows using SVG in any
        WebKit app, including Safari.
        Also added extensions to QPainter to return a
        KRenderingDeviceContext object to be passed into KCanvas.
        http://bugs.webkit.org/show_bug.cgi?id=5003

        * WebCore+SVG/dom_kdomdocumentwrapper.cpp: Added.
        (KDOMDocumentWrapperImpl::renderingDevice):
        (KDOMDocumentWrapperImpl::KDOMDocumentWrapperImpl):
        (KDOMDocumentWrapperImpl::~KDOMDocumentWrapperImpl):
        (DOM::KDOMDocumentWrapperImpl::createTokenizer):
        (KDOMDocumentWrapperImpl::svgView):
        * WebCore+SVG/dom_kdomdocumentwrapper.h: Added.
        * WebCore+SVG/dom_kdomnodetreewrapper.cpp: Added.
        (DOM::KDOMNodeTreeWrapperImpl::KDOMNodeTreeWrapperImpl):
        (KDOMNodeTreeWrapperImpl::~KDOMNodeTreeWrapperImpl):
        (KDOMNodeTreeWrapperImpl::attach):
        (KDOMNodeTreeWrapperImpl::createRenderer):
        * WebCore+SVG/dom_kdomnodetreewrapper.h: Added.
        * WebCore+SVG/render_kcanvaswrapper.cpp: Added.
        (RenderKCanvasWrapper::RenderKCanvasWrapper):
        (RenderKCanvasWrapper::~RenderKCanvasWrapper):
        (RenderKCanvasWrapper::layout):
        (RenderKCanvasWrapper::paint):
        (RenderKCanvasWrapper::intrinsicWidth):
        (RenderKCanvasWrapper::intrinsicHeight):
        * WebCore+SVG/render_kcanvaswrapper.h: Added.
        (khtml::RenderKCanvasWrapper::renderName):
        (khtml::RenderKCanvasWrapper::setCanvas):
        * WebCore+SVG/xml_kdomtokenizer.cpp: Added.
        (KDOMTokenizer::KDOMTokenizer):
        (KDOMTokenizer::~KDOMTokenizer):
        (KDOMTokenizer::documentWrapper):
        (KDOMTokenizer::write):
        (KDOMTokenizer::setOnHold):
        (KDOMTokenizer::finish):
        (KDOMTokenizer::isWaitingForScripts):
        (khtml::newKDOMTokenizer):
        * WebCore+SVG/xml_kdomtokenizer.h: Added.
        * WebCore.xcodeproj/project.pbxproj:
        * khtml/khtml_part.cpp:
        (KHTMLPart::begin):
        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createKDOMDocument):
        * khtml/xml/dom_docimpl.h:
        * kwq/KWQPainter.h:
        * kwq/KWQPainter.mm:
        (QPainterPrivate::QPainterPrivate):
        (QPainterPrivate::~QPainterPrivate):
        (QPainter::renderingDeviceContext):

2005-09-22  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        * khtml/ecma/kjs_dom.cpp: (KJS::getDOMDocumentNode): Don't use a static (global)
        identifier for the string "document" -- instead just create one each time.
        This eliminates the kjs_fast_malloc assertion on quit and does not create a
        significant performance regression because this is done at most once per JavaScript
        window object.

2005-09-21  Vicki Murley  <vicki@apple.com>

        Changes by Romain Brestac, reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=3418
        (unicode characters not preserved after a xslt transformation)

        * khtml/misc/loader.cpp:
        (CachedXSLStyleSheet::CachedXSLStyleSheet):
        (CachedXSLStyleSheet::data):
        * khtml/misc/loader.h:
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::XSLTProcessorImpl::addToResult):
        (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):

	Test cases added:

        * layout-tests/fast/xsl/resources/unicode.xsl: Added.
        * layout-tests/fast/xsl/resources/xslt-enc-cyr.xsl: Added.
        * layout-tests/fast/xsl/resources/xslt-enc.xsl: Added.
        * layout-tests/fast/xsl/resources/xslt-enc16.xsl: Added.
        * layout-tests/fast/xsl/xslt-enc-cyr-expected.checksum: Added.
        * layout-tests/fast/xsl/xslt-enc-cyr-expected.png: Added.
        * layout-tests/fast/xsl/xslt-enc-cyr-expected.txt: Added.
        * layout-tests/fast/xsl/xslt-enc-cyr.xml: Added.
        * layout-tests/fast/xsl/xslt-enc-expected.checksum: Added.
        * layout-tests/fast/xsl/xslt-enc-expected.png: Added.
        * layout-tests/fast/xsl/xslt-enc-expected.txt: Added.
        * layout-tests/fast/xsl/xslt-enc.xml: Added.
        * layout-tests/fast/xsl/xslt-enc16-expected.checksum: Added.
        * layout-tests/fast/xsl/xslt-enc16-expected.png: Added.
        * layout-tests/fast/xsl/xslt-enc16-expected.txt: Added.
        * layout-tests/fast/xsl/xslt-enc16.xml: Added.
        * layout-tests/fast/xsl/xslt-enc16to16-expected.checksum: Added.
        * layout-tests/fast/xsl/xslt-enc16to16-expected.png: Added.
        * layout-tests/fast/xsl/xslt-enc16to16-expected.txt: Added.
        * layout-tests/fast/xsl/xslt-enc16to16.xml: Added.
        * layout-tests/fast/xsl/xslt_unicode-expected.checksum: Added.
        * layout-tests/fast/xsl/xslt_unicode-expected.png: Added.
        * layout-tests/fast/xsl/xslt_unicode-expected.txt: Added.
        * layout-tests/fast/xsl/xslt_unicode.xml: Added.

2005-09-21  Vicki Murley  <vicki@apple.com>

        Reviewed by Darin.
 
	- fix these bugs
	<rdar://problem/3579812> HTMLTableElement.insertRow(n) inserts row at the beginning of the table (4043)
	<rdar://problem/3711188> HTMLTableElement.insertRow() doesn't respect passed index

        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::insertRow): 
	if the index is the same as the number of rows in the section, we should append
        
	Update test results for /fast/dynamic/013.html. In the old version the the rows 
	and cells were children of the first table section, a tfoot.  They are now children 
	of the second table section, a tbody.  Our rendering now matches Gecko and Win IE 
	(according to yusufg on #webkit, comparing with 013-expected.png) for this case.

        * layout-tests/fast/dynamic/013-expected.checksum:
        * layout-tests/fast/dynamic/013-expected.png:
        * layout-tests/fast/dynamic/013-expected.txt:

        Test cases added: 

        * layout-tests/fast/dynamic/014-expected.checksum: Added.
        * layout-tests/fast/dynamic/014-expected.png: Added.
        * layout-tests/fast/dynamic/014-expected.txt: Added.
        * layout-tests/fast/dynamic/014.html: Added.
        * layout-tests/fast/dynamic/015-expected.checksum: Added.
        * layout-tests/fast/dynamic/015-expected.png: Added.
        * layout-tests/fast/dynamic/015-expected.txt: Added.
        * layout-tests/fast/dynamic/015.html: Added.

2005-09-20  Eric Seidel  <eseidel@apple.com>

        No review, SVG build fix only.

        Fix the SVG build buy linking EcmaInterface.cpp
        from derived sources into the source root and
        adding to the compiled sources.

        * WebCore.xcodeproj/project.pbxproj:

2005-09-20  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin

        Test cases added: (NONE)

	Fixing the fix I submitted a few minutes ago for <rdar://problem/4039660>
	The case this extra fix safeguards against will probably never occur, but
	it makes the code safer. 

        * khtml/xml/dom_nodeimpl.cpp: Send newChild to traverseNextNode()
        (DOM::NodeImpl::checkAddChild):

2005-09-20  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt

        Test cases added: /fast/dom/replaceChild.html

	This is a fix for <rdar://problem/4039660> crash replacing iframe 
	node with another node; test page posted on homepage.mac.com - nil 
	RenderArena. Basically the problem was that whenever a node was 
	passed to a new document, that node's document pointer was updated
	to the new document, but the document pointers of its children were not.

        * khtml/xml/dom_nodeimpl.cpp: Simple loop that recurses through children
					changing their document pointers too.
        (DOM::NodeImpl::checkAddChild):
        * layout-tests/fast/dom/replaceChild.html: Added. New layout test.
        * layout-tests/fast/dom/replaceChildHelper.html: Added. Helps new layout test. 

2005-09-20  David Hyatt  <hyatt@apple.com>

	Meant to land this ages ago.  Make radio buttons work dynamically
	when name and type change (make them pick up the correct new
	group).

	Also fix a bug in the tokenizer where trailing spaces/newlines at
	the end of a document were getting lost.  Messed up .innerHTML
	on DHTML sites.
	
        Reviewed by darin

        * khtml/css/html4.css:
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::radioButtonChecked):
        (DOM::HTMLGenericFormElementImpl::name):
        (DOM::HTMLInputElementImpl::name):
        (DOM::HTMLInputElementImpl::setInputType):
        (DOM::HTMLInputElementImpl::parseMappedAttribute):
        (DOM::HTMLInputElementImpl::attach):
        (DOM::HTMLInputElementImpl::preDispatchEventHandler):
        (DOM::HTMLInputElementImpl::postDispatchEventHandler):
        (DOM::HTMLIsIndexElementImpl::HTMLIsIndexElementImpl):
        * khtml/html/html_formimpl.h:
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::finish):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dispatchGenericEvent):
        * khtml/xml/dom_nodeimpl.h:
        (DOM::NodeImpl::preDispatchEventHandler):
        (DOM::NodeImpl::postDispatchEventHandler):

2005-09-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Pickup latest Ecma changes from KDE, including
        adding in the SVG ecma bindings and DOM 3 LS bindings.
        http://bugs.webkit.org/show_bug.cgi?id=4946

        * WebCore.xcodeproj/project.pbxproj:
        * kdom/bindings/IDLCodeGenerator.pm:
        * kdom/bindings/IDLCodeGeneratorCpp.pm:
        * kdom/bindings/IDLCodeGeneratorEcmaInterface.pm: Added.
        * kdom/bindings/IDLCodeGeneratorJs.pm:
        * kdom/bindings/idl/core/Attr.idl:
        * kdom/bindings/idl/core/CharacterData.idl:
        * kdom/bindings/idl/core/DOMConfiguration.idl:
        * kdom/bindings/idl/core/DOMException.idl:
        * kdom/bindings/idl/core/DOMImplementation.idl:
        * kdom/bindings/idl/core/DOMImplementationList.idl: Removed.
        * kdom/bindings/idl/core/DOMImplementationSource.idl: Removed.
        * kdom/bindings/idl/core/DOMString.idl: Removed.
        * kdom/bindings/idl/core/Document.idl:
        * kdom/bindings/idl/core/Element.idl:
        * kdom/bindings/idl/core/NameList.idl: Removed.
        * kdom/bindings/idl/core/NamedNodeMap.idl:
        * kdom/bindings/idl/core/Node.idl:
        * kdom/bindings/idl/core/ProcessingInstruction.idl:
        * kdom/bindings/idl/core/Text.idl:
        * kdom/bindings/idl/core/UserDataHandler.idl: Removed.
        * kdom/bindings/idl/css/CSSCharsetRule.idl:
        * kdom/bindings/idl/css/CSSMediaRule.idl:
        * kdom/bindings/idl/css/CSSPageRule.idl:
        * kdom/bindings/idl/css/CSSPrimitiveValue.idl:
        * kdom/bindings/idl/css/CSSRule.idl:
        * kdom/bindings/idl/css/CSSStyleDeclaration.idl:
        * kdom/bindings/idl/css/CSSStyleRule.idl:
        * kdom/bindings/idl/css/CSSStyleSheet.idl:
        * kdom/bindings/idl/css/CSSValue.idl:
        * kdom/bindings/idl/css/ViewCSS.idl: Removed.
        * kdom/bindings/idl/events/DocumentEvent.idl:
        * kdom/bindings/idl/events/EventException.idl:
        * kdom/bindings/idl/events/EventTarget.idl:
        * kdom/bindings/idl/ls/DOMImplementationLS.idl: Added.
        * kdom/bindings/idl/ls/LSException.idl: Added.
        * kdom/bindings/idl/ls/LSInput.idl: Added.
        * kdom/bindings/idl/ls/LSOutput.idl: Added.
        * kdom/bindings/idl/ls/LSParser.idl: Added.
        * kdom/bindings/idl/ls/LSParserFilter.idl: Added.
        * kdom/bindings/idl/ls/LSResourceResolver.idl: Added.
        * kdom/bindings/idl/ls/LSSerializer.idl: Added.
        * kdom/bindings/idl/ls/LSSerializerFilter.idl: Added.
        * kdom/bindings/idl/ls/kdomdefs.idl: Added.
        * kdom/bindings/idl/range/Range.idl:
        * kdom/bindings/idl/range/RangeException.idl:
        * kdom/bindings/idl/stylesheets/LinkStyle.idl:
        * kdom/bindings/idl/stylesheets/MediaList.idl:
        * kdom/bindings/idl/traversal/DocumentTraversal.idl:
        * kdom/bindings/idl/traversal/NodeIterator.idl:
        * kdom/bindings/idl/traversal/TreeWalker.idl:
        * kdom/bindings/idl/xpath/XPathEvaluator.idl:
        * kdom/bindings/idl/xpath/XPathException.idl:
        * kdom/bindings/idl/xpath/XPathExpression.idl:
        * kdom/bindings/idl/xpath/XPathNSResolver.idl:
        * kdom/bindings/idl/xpath/XPathNamespace.idl:
        * kdom/bindings/idl/xpath/XPathResult.idl:
        * kdom/bindings/idl/xpointer/XPointerException.idl:
        * kdom/bindings/kdombinder.sh:
        * kdom/bindings/kdomidl.pl:
        * kdom/core/CDFInterface.cpp:
        (CDFInterface::ecmaInterface):
        * kdom/core/CDFInterface.h:
        * kdom/ecma/DOMBridge.h:
        (KDOM::DOMRWBridge::put):
        * kdom/ecma/DOMLookup.h:
        * kdom/ecma/Ecma.cpp:
        (Ecma::Private::Private):
        (Ecma::setup):
        (Ecma::setupDocument):
        (Ecma::interface):
        (Ecma::createEventListener):
        (KDOM::getDOMNode):
        (KDOM::getDOMEvent):
        * kdom/ecma/Ecma.h:
        * kdom/ecma/EcmaInterface.h: Removed.
        * kdom/ecma/GlobalObject.cpp:
        (GlobalObject::get):
        (GlobalObjectFunc::callAsFunction):
        (ScheduledAction::execute):
        (GlobalQObject::parentDestroyed):
        (GlobalQObject::clearTimeout):
        (GlobalQObject::timerEvent):
        * kdom/ecma/GlobalObject.h:
        (KDOM::GlobalObject::):
        * kdom/ecma/ScriptInterpreter.cpp:
        * khtml/khtml_part.cpp:
        (KHTMLPart::begin):
        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createKDOMDocument):
        * khtml/xml/dom_docimpl.h:
        * ksvg2/bindings/idl/svg/GetSVGDocument.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAngle.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedLength.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGCircleElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGColor.idl: Added.
        * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGCursorElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Added.
        * ksvg2/bindings/idl/svg/SVGDefsElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGDescElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGDocument.idl: Added.
        * ksvg2/bindings/idl/svg/SVGElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGElementInstance.idl: Added.
        * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGEvent.idl: Added.
        * ksvg2/bindings/idl/svg/SVGException.idl: Added.
        * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFETileElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFilterElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Added.
        * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Added.
        * ksvg2/bindings/idl/svg/SVGGElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGGradientElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGICCColor.idl: Added.
        * ksvg2/bindings/idl/svg/SVGImageElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGLangSpace.idl: Added.
        * ksvg2/bindings/idl/svg/SVGLength.idl: Added.
        * ksvg2/bindings/idl/svg/SVGLengthList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGLineElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGLocatable.idl: Added.
        * ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGMatrix.idl: Added.
        * ksvg2/bindings/idl/svg/SVGNumber.idl: Added.
        * ksvg2/bindings/idl/svg/SVGNumberList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPaint.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPatternElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPoint.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPointList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Added.
        * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGRect.idl: Added.
        * ksvg2/bindings/idl/svg/SVGRectElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Added.
        * ksvg2/bindings/idl/svg/SVGSVGElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGScriptElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGSetElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGStopElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGStringList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGStylable.idl: Added.
        * ksvg2/bindings/idl/svg/SVGStyleElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTests.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTextElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTitleElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTransform.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTransformList.idl: Added.
        * ksvg2/bindings/idl/svg/SVGTransformable.idl: Added.
        * ksvg2/bindings/idl/svg/SVGURIReference.idl: Added.
        * ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Added.
        * ksvg2/bindings/idl/svg/SVGUseElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGViewElement.idl: Added.
        * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Added.
        * ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Added.
        * ksvg2/bindings/idl/svg/kdomdefs.idl: Added.
        * ksvg2/ecma/EcmaInterface.h: Removed.

2005-09-20  Eric Seidel  <eseidel@apple.com>
        Fix by Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>

        Reviewed by eseidel.

        * kdom/ecma/Ecma.cpp: ProtectedValue -> ProtectedPtr<ValueImp>
        build fix after mjs' recent ProtectedValue removal.
        http://bugs.webkit.org/show_bug.cgi?id=5058

2005-09-20  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Moved MIME types list from WebKit into WebCore.
        http://bugs.webkit.org/show_bug.cgi?id=5037

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (+[WebCoreBridge supportedMIMETypes]): added.

2005-09-20  Geoffrey Garen  <ggaren@apple.com>

        - Added test case for fix to http://bugs.webkit.org/show_bug.cgi?id=4892
          Date constructor has problems with months larger than 11

        Test cases added: 

        * layout-tests/fast/js/date-big-constructor-expected.txt: Added.
        * layout-tests/fast/js/date-big-constructor.html: Added.

2005-09-20  Geoffrey Garen  <ggaren@apple.com>
        - Rolled in fix for http://bugs.webkit.org/show_bug.cgi?id=4247
          addEventListener in Obj-C does not work

        No layout test because we don't have test machinery for the Obj-C bindings yet.

        Reviewed by eric.

        * kwq/DOM.mm:
        (-[DOMNode addEventListener:::]):
        (-[DOMNode removeEventListener:::]):
        (ObjCEventListener::find):
        (ObjCEventListener::create):
        (ObjCEventListener::ObjCEventListener):
        (ObjCEventListener::~ObjCEventListener):
        (ObjCEventListener::handleEvent):

2005-09-20  Geoffrey Garen  <ggaren@apple.com>

        - Rolled in fix for http://bugs.webkit.org/show_bug.cgi?id=4849
          htmltokenizer.cpp won't compile with TOKEN_DEBUG defined

        No test case because this is a build fix.

        Reviewed by darin.

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::parseComment):
        (khtml::HTMLTokenizer::parseTag):
        (khtml::HTMLTokenizer::write):
        (khtml::HTMLTokenizer::processToken):

2005-09-19  Beth Dakin  <bdakin@apple.com>

        Reviewed by Hyatt

        Test cases added: fast/table/overflowHidden.html

	-Fixed <rdar://problem/3885711> (4047) CSS: Content displays incorrectly in tables with TD style set overflow:hidden
	Table cells render correctly with overflow:hidden, :auto, and :scroll specified. Cells now have a layer when overflow is specified.

        * khtml/css/cssstyleselector.cpp: Make sure table cells do not honor position:relative
        (khtml::CSSStyleSelector::adjustRenderStyle):
        * khtml/rendering/render_block.cpp: Add borderTopExtra() and borderBottomExtra() to various calculations of table cell height so that scroll bars render properly.
        (khtml::RenderBlock::isPointInScrollbar):
        (khtml::RenderBlock::nodeAtPoint):
        * khtml/rendering/render_box.cpp: Allow table cells to have overflow, and add borderTopExtra() and borderBottomExtra() to calculation of the clip rect.
        (RenderBox::setStyle):
        (RenderBox::getOverflowClipRect):
        * khtml/rendering/render_box.h: Removed definitions of borderTopExtra() and borderBottomExtra() so that they occur at the RenderObject level now.
        * khtml/rendering/render_layer.cpp: Layers must also take borderTopExtra() and borderBottomExtra() into account.
        (khtml::RenderLayer::updateLayerPosition):
        (khtml::RenderLayer::paintLayer):
        (khtml::RenderLayer::hitTestLayer):
        * khtml/rendering/render_object.cpp: Use m_overflowClip instead of hasOverflowClip() for consistency.
        (RenderObject::requiresLayer):
        * khtml/rendering/render_object.h: Add definitions of borderTopExtra() and borderBottomExtra() to RenderObject level.
        (khtml::RenderObject::borderTopExtra):
        (khtml::RenderObject::borderBottomExtra):
        * khtml/rendering/render_table.cpp: Allow table cells to have a layer if overflow is specified.
        (RenderTableSection::paint):
        (RenderTableCell::requiresLayer):
        (RenderTableCell::paint):
        (RenderTableCell::paintBoxDecorations):
        * layout-tests/fast/table/029-expected.txt: This layout test now paints a layer because it specifies overflow:hidden
        * layout-tests/fast/table/overflowHidden-expected.txt: Added.
        * layout-tests/fast/table/overflowHidden.html: Added.

2005-09-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.

	- fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)

	Make sure to lock using the InterpreterLock class in all places that need it
	(including anything that uses the collector, the parser, the protect count hash table,
	and anything that allocates via fast_malloc).

	Added assertions to ensure that main_thread_malloc and friends are
	only called on the main thread.

	Also changed main_thread_free to schedule a free on the main
	thread if called from a background thread. This contingency is
	rare, but unavoidable in the case that JavaScript runs on
	background threads, since then objects can be garbage collected on
	any thread.
	
        Test cases added: Node, this is impossible to reproduce in Safari without the use of
	PAC files.

        * Makefile.am:
        * khtml/dom/dom_misc.h:
        * khtml/ecma/kjs_events.cpp:
        (JSAbstractEventListener::handleEvent):
        (JSLazyEventListener::parseCode):
        (KJS::getDOMEvent):
        * khtml/ecma/kjs_events.h:
        * khtml/ecma/kjs_proxy.cpp:
        (KJSProxyImpl::~KJSProxyImpl):
        (KJSProxyImpl::evaluate):
        (KJSProxyImpl::clear):
        (KJSProxyImpl::createHTMLEventHandler):
        (KJSProxyImpl::initScript):
        * khtml/ecma/kjs_traversal.cpp:
        (JSNodeFilterCondition::acceptNode):
        * khtml/ecma/kjs_traversal.h:
        * khtml/ecma/kjs_window.cpp:
        (Window::clear):
        (ScheduledAction::execute):
        * khtml/ecma/kjs_window.h:
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::send):
        (KJS::XMLHttpRequest::abort):
        (KJS::XMLHttpRequest::slotFinished):
        * khtml/misc/main_thread_malloc.cpp:
        (khtml::main_thread_malloc):
        (khtml::main_thread_calloc):
        (khtml::main_thread_free):
        (khtml::main_thread_realloc):
        (khtml::initialize_scheduled_free_list):
        (khtml::drain_scheduled_free_list):
        (khtml::schedule_free_on_main_thread):
        (khtml::public_fREe):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::bindingRootObject):
        (KWQKHTMLPart::windowScriptObject):
        (KWQKHTMLPart::saveLocationProperties):
        (KWQKHTMLPart::restoreLocationProperties):
        (KWQKHTMLPart::openURLFromPageCache):
        (KWQKHTMLPart::cleanupPluginRootObjects):
        * kwq/KWQPageState.mm:
        (-[KWQPageState clear]):
        * kwq/KWQTimer.h:
        * kwq/KWQTimer.mm:
        (-[KWQMainThreadPerformTarget initWithFunction:]):
        (-[KWQMainThreadPerformTarget callFunction:]):
        (QTimer::immediateSingleShotOnMainThread):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge saveDocumentToPageCache]):
        * kwq/WebCoreJavaScript.mm:
        (+[WebCoreJavaScript rootObjectClasses]):
        (+[WebCoreJavaScript garbageCollect]):
        * kwq/WebCoreScriptDebugger.mm:
        (-[WebCoreScriptCallFrame evaluateWebScript:]):

2005-09-14  Maciej Stachowiak  <mjs@apple.com>

=== WebCore-417 ===

2005-09-18  Eric Seidel  <eseidel@apple.com>

        No review needed, SVG build fix only.

        * WebCore+SVG/DrawDocument.mm:
        (-[DrawView primaryView]): cast to DrawView * (newer gcc fix)
        * kdom/cache/KDOMLoader.cpp:
        (Loader::slotFinished): toLong -> toInt
        * ksvg2/svg/SVGAngleImpl.cpp:
        (SVGAngleImpl::setValueAsString): toFloat -> toDouble
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
        (SVGComponentTransferFunctionElementImpl::parseAttribute): ditto
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        (SVGFEGaussianBlurElementImpl::parseAttribute): ditto
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        (SVGFEOffsetElementImpl::parseAttribute): ditto
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        (SVGFETurbulenceElementImpl::parseAttribute): ditto
        * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
        (SVGFitToViewBoxImpl::parseViewBox): ditto
        * ksvg2/svg/SVGNumberListImpl.cpp:
        (SVGNumberListImpl::parse): ditto
        * ksvg2/svg/SVGStopElementImpl.cpp:
        (SVGStopElementImpl::parseAttribute): ditto

2005-09-16  Adele Peterson  <adele@apple.com>

        Rolling out the fix for http://bugs.webkit.org/show_bug.cgi?id=4924
            QPainter should use CGContext as much as possible rather than NSGraphicsContext 
        since it caused a performance regression.

2005-09-16  Adele Peterson  <adele@apple.com>

        Change by Darin, reviewed by me and Maciej.

        Fixes http://bugs.webkit.org/show_bug.cgi?id=4547
        use int instead of long for 32-bit (to prepare for LP64 compiling)

        Changed longs (which IDL files use as 32-bit) to ints

        * ForwardingHeaders/khtml_pagecache.h:
        * khtml/css/css_base.h:
        (DOM::StyleListImpl::length):
        (DOM::StyleListImpl::item):
        * khtml/css/css_computedstyle.cpp:
        (DOM::CSSComputedStyleDeclarationImpl::length):
        (DOM::CSSComputedStyleDeclarationImpl::item):
        * khtml/css/css_computedstyle.h:
        * khtml/css/css_ruleimpl.cpp:
        (CSSMediaRuleImpl::append):
        (CSSMediaRuleImpl::insertRule):
        (CSSMediaRuleImpl::cssText):
        (CSSRuleListImpl::CSSRuleListImpl):
        (CSSRuleListImpl::deleteRule):
        (CSSRuleListImpl::insertRule):
        * khtml/css/css_ruleimpl.h:
        (DOM::CSSRuleListImpl::length):
        (DOM::CSSRuleListImpl::item):
        (DOM::CSSMediaRuleImpl::deleteRule):
        * khtml/css/css_stylesheetimpl.cpp:
        (CSSStyleSheetImpl::insertRule):
        (CSSStyleSheetImpl::addRule):
        (CSSStyleSheetImpl::deleteRule):
        (StyleSheetListImpl::length):
        (StyleSheetListImpl::item):
        * khtml/css/css_stylesheetimpl.h:
        (DOM::MediaListImpl::length):
        (DOM::MediaListImpl::item):
        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSMutableStyleDeclarationImpl::length):
        (DOM::CSSMutableStyleDeclarationImpl::item):
        * khtml/css/css_valueimpl.h:
        (DOM::CSSValueListImpl::length):
        (DOM::CSSValueListImpl::item):
        * khtml/dom/css_rule.h:
        * khtml/dom/css_stylesheet.h:
        * khtml/dom/css_value.h:
        * khtml/dom/dom2_events.cpp:
        (DOM::UIEvent::detail):
        (DOM::UIEvent::initUIEvent):
        (DOM::MouseEvent::screenX):
        (DOM::MouseEvent::screenY):
        (DOM::MouseEvent::clientX):
        (DOM::MouseEvent::clientY):
        (DOM::MouseEvent::initMouseEvent):
        (DOM::KeyboardEvent::keyLocation):
        (DOM::KeyboardEvent::initKeyboardEvent):
        * khtml/dom/dom2_events.h:
        * khtml/dom/dom2_range.h:
        * khtml/dom/dom2_traversal.cpp:
        (DOM::NodeIterator::whatToShow):
        (DOM::TreeWalker::whatToShow):
        * khtml/dom/dom2_traversal.h:
        * khtml/dom/dom_node.h:
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::getOwnPropertySlot):
        (KJS::DOMStyleSheetList::getOwnPropertySlot):
        (KJS::DOMMediaList::getOwnPropertySlot):
        (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
        (KJS::DOMCSSRuleList::getOwnPropertySlot):
        (KJS::DOMCSSValueList::getOwnPropertySlot):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNodeList::getOwnPropertySlot):
        (KJS::DOMNodeList::callAsFunction):
        (KJS::DOMNamedNodeMap::getOwnPropertySlot):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        * khtml/ecma/kjs_events.cpp:
        (KJS::DOMEvent::getValueProperty):
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::getOwnPropertySlot):
        (KJS::KJS::HTMLElement::put):
        (KJS::HTMLCollection::getOwnPropertySlot):
        (KJS::KJS::HTMLCollection::callAsFunction):
        (KJS::KJS::HTMLSelectCollection::put):
        * khtml/ecma/kjs_navigator.cpp:
        (KJS::Plugins::getOwnPropertySlot):
        (KJS::MimeTypes::getOwnPropertySlot):
        (KJS::Plugin::getOwnPropertySlot):
        * khtml/editing/apply_style_command.cpp:
        (khtml::ApplyStyleCommand::splitTextAtStartIfNeeded):
        (khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
        (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
        * khtml/editing/break_blockquote_command.cpp:
        (khtml::BreakBlockquoteCommand::doApply):
        * khtml/editing/composite_edit_command.cpp:
        (khtml::CompositeEditCommand::insertNodeAt):
        (khtml::CompositeEditCommand::splitTextNode):
        (khtml::CompositeEditCommand::splitTextNodeContainingElement):
        (khtml::CompositeEditCommand::insertTextIntoNode):
        (khtml::CompositeEditCommand::deleteTextFromNode):
        (khtml::CompositeEditCommand::replaceTextInNode):
        (khtml::CompositeEditCommand::deleteInsignificantText):
        * khtml/editing/composite_edit_command.h:
        * khtml/editing/delete_from_text_node_command.cpp:
        (khtml::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
        * khtml/editing/delete_from_text_node_command.h:
        (khtml::DeleteFromTextNodeCommand::offset):
        (khtml::DeleteFromTextNodeCommand::count):
        * khtml/editing/insert_into_text_node_command.cpp:
        (khtml::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
        * khtml/editing/insert_into_text_node_command.h:
        (khtml::InsertIntoTextNodeCommand::offset):
        * khtml/editing/insert_paragraph_separator_command.cpp:
        (khtml::InsertParagraphSeparatorCommand::doApply):
        * khtml/editing/insert_text_command.cpp:
        (khtml::InsertTextCommand::input):
        (khtml::InsertTextCommand::insertSpace):
        * khtml/editing/insert_text_command.h:
        (khtml::InsertTextCommand::charactersAdded):
        * khtml/editing/join_text_nodes_command.h:
        * khtml/editing/markup.cpp:
        (khtml::startMarkup):
        (khtml::completeURLs):
        * khtml/editing/move_selection_command.cpp:
        (khtml::MoveSelectionCommand::doApply):
        * khtml/editing/rebalance_whitespace_command.cpp:
        (khtml::RebalanceWhitespaceCommand::doApply):
        * khtml/editing/rebalance_whitespace_command.h:
        * khtml/editing/replace_selection_command.cpp:
        (khtml::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted):
        * khtml/editing/replace_selection_command.h:
        * khtml/editing/selection.cpp:
        (khtml::Selection::debugPosition):
        * khtml/editing/split_text_node_command.cpp:
        (khtml::SplitTextNodeCommand::SplitTextNodeCommand):
        * khtml/editing/split_text_node_command.h:
        (khtml::SplitTextNodeCommand::offset):
        * khtml/editing/split_text_node_containing_element.cpp:
        (khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
        * khtml/editing/split_text_node_containing_element_command.h:
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::VisiblePosition):
        (khtml::VisiblePosition::deepEquivalent):
        (khtml::VisiblePosition::rangeCompliantEquivalent):
        (khtml::VisiblePosition::maxOffset):
        (khtml::VisiblePosition::character):
        (khtml::VisiblePosition::debugPosition):
        * khtml/editing/visible_position.h:
        * khtml/editing/visible_range.h:
        * khtml/editing/visible_text.cpp:
        (khtml::CircularSearchBuffer::length):
        (khtml::TextIterator::TextIterator):
        (khtml::TextIterator::handleTextNode):
        (khtml::TextIterator::handleTextBox):
        (khtml::TextIterator::emitCharacter):
        (khtml::TextIterator::range):
        (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
        (khtml::SimplifiedBackwardsTextIterator::handleReplacedElement):
        (khtml::SimplifiedBackwardsTextIterator::emitCharacter):
        (khtml::SimplifiedBackwardsTextIterator::emitNewlineForBROrText):
        (khtml::CharacterIterator::range):
        (khtml::CharacterIterator::advance):
        (khtml::CharacterIterator::string):
        (khtml::WordAwareIterator::length):
        (khtml::CircularSearchBuffer::append):
        (khtml::CircularSearchBuffer::neededCharacters):
        (khtml::CircularSearchBuffer::isMatch):
        (khtml::TextIterator::rangeLength):
        (khtml::TextIterator::rangeFromLocationAndLength):
        (khtml::plainText):
        (khtml::findPlainText):
        * khtml/editing/visible_text.h:
        (khtml::TextIterator::length):
        (khtml::SimplifiedBackwardsTextIterator::length):
        (khtml::CharacterIterator::length):
        (khtml::CharacterIterator::characterOffset):
        * khtml/editing/visible_units.cpp:
        (khtml::startOfLine):
        (khtml::endOfLine):
        (khtml::startOfParagraph):
        (khtml::endOfParagraph):
        * khtml/html/html_blockimpl.cpp:
        (HTMLPreElementImpl::width):
        (HTMLPreElementImpl::setWidth):
        * khtml/html/html_blockimpl.h:
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::length):
        (DOM::HTMLGenericFormElementImpl::tabIndex):
        (DOM::HTMLGenericFormElementImpl::setTabIndex):
        (DOM::HTMLInputElementImpl::selectionStart):
        (DOM::HTMLInputElementImpl::selectionEnd):
        (DOM::HTMLInputElementImpl::setSelectionStart):
        (DOM::HTMLInputElementImpl::setSelectionEnd):
        (DOM::HTMLInputElementImpl::setSelectionRange):
        (DOM::HTMLInputElementImpl::setMaxLength):
        (DOM::HTMLInputElementImpl::setSize):
        (DOM::HTMLSelectElementImpl::selectedIndex):
        (DOM::HTMLSelectElementImpl::setSelectedIndex):
        (DOM::HTMLSelectElementImpl::length):
        (DOM::HTMLSelectElementImpl::remove):
        (DOM::HTMLSelectElementImpl::setSize):
        (DOM::HTMLOptionElementImpl::index):
        (DOM::HTMLOptionElementImpl::setIndex):
        (DOM::HTMLTextAreaElementImpl::selectionStart):
        (DOM::HTMLTextAreaElementImpl::selectionEnd):
        (DOM::HTMLTextAreaElementImpl::setSelectionStart):
        (DOM::HTMLTextAreaElementImpl::setSelectionEnd):
        (DOM::HTMLTextAreaElementImpl::setSelectionRange):
        (DOM::HTMLTextAreaElementImpl::setCols):
        (DOM::HTMLTextAreaElementImpl::setRows):
        (DOM::HTMLOptionsCollectionImpl::length):
        (DOM::HTMLOptionsCollectionImpl::setLength):
        (DOM::HTMLOptionsCollectionImpl::item):
        * khtml/html/html_formimpl.h:
        (DOM::HTMLInputElementImpl::maxLength):
        (DOM::HTMLInputElementImpl::maxResults):
        (DOM::HTMLSelectElementImpl::minWidth):
        (DOM::HTMLSelectElementImpl::size):
        (DOM::HTMLTextAreaElementImpl::cols):
        (DOM::HTMLTextAreaElementImpl::rows):
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::width):
        (HTMLImageElementImpl::height):
        (HTMLImageElementImpl::border):
        (HTMLImageElementImpl::setBorder):
        (HTMLImageElementImpl::setHeight):
        (HTMLImageElementImpl::hspace):
        (HTMLImageElementImpl::setHspace):
        (HTMLImageElementImpl::vspace):
        (HTMLImageElementImpl::setVspace):
        (HTMLImageElementImpl::setWidth):
        (HTMLImageElementImpl::x):
        (HTMLImageElementImpl::y):
        (HTMLAreaElementImpl::tabIndex):
        (HTMLAreaElementImpl::setTabIndex):
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::tabIndex):
        (DOM::HTMLAnchorElementImpl::setTabIndex):
        * khtml/html/html_inlineimpl.h:
        * khtml/html/html_listimpl.cpp:
        (DOM::HTMLOListElementImpl::setStart):
        (DOM::HTMLLIElementImpl::value):
        (DOM::HTMLLIElementImpl::setValue):
        * khtml/html/html_listimpl.h:
        (DOM::HTMLUListElementImpl::start):
        (DOM::HTMLOListElementImpl::start):
        * khtml/html/html_miscimpl.cpp:
        (DOM::HTMLCollectionImpl::calcLength):
        (DOM::HTMLCollectionImpl::length):
        (DOM::HTMLCollectionImpl::item):
        (DOM::HTMLFormCollectionImpl::calcLength):
        (DOM::HTMLFormCollectionImpl::item):
        * khtml/html/html_miscimpl.h:
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::tabIndex):
        (DOM::HTMLObjectElementImpl::setTabIndex):
        * khtml/html/html_objectimpl.h:
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::insertRow):
        (DOM::HTMLTableElementImpl::deleteRow):
        (DOM::HTMLTableSectionElementImpl::insertRow):
        (DOM::HTMLTableSectionElementImpl::deleteRow):
        (DOM::HTMLTableRowElementImpl::rowIndex):
        (DOM::HTMLTableRowElementImpl::sectionRowIndex):
        (DOM::HTMLTableRowElementImpl::insertCell):
        (DOM::HTMLTableRowElementImpl::deleteCell):
        (DOM::HTMLTableCellElementImpl::cellIndex):
        (DOM::HTMLTableCellElementImpl::setColSpan):
        (DOM::HTMLTableCellElementImpl::setRowSpan):
        (DOM::HTMLTableColElementImpl::setSpan):
        * khtml/html/html_tableimpl.h:
        (DOM::HTMLTableColElementImpl::span):
        * khtml/html/htmlparser.cpp:
        (HTMLParser::handleError):
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::processToken):
        * khtml/khtml_events.cpp:
        (khtml::MouseEvent::offset):
        * khtml/khtml_events.h:
        (khtml::MouseReleaseEvent::MouseReleaseEvent):
        * khtml/khtml_part.cpp:
        (KHTMLPart::restoreURL):
        (KHTMLPart::stopLoading):
        (KHTMLPart::receivedFirstData):
        (KHTMLPart::slotFinished):
        (KHTMLPart::begin):
        (KHTMLPart::slotViewFrameSource):
        (KHTMLPart::selectFrameElementInParentIfFullySelected):
        * khtml/khtml_part.h:
        * khtml/khtmlpart_p.h:
        (KHTMLPartPrivate::KHTMLPartPrivate):
        * khtml/misc/loader.h:
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::positionForRenderer):
        * khtml/rendering/render_br.cpp:
        (RenderBR::caretMinOffset):
        (RenderBR::caretMaxOffset):
        (RenderBR::caretMaxRenderedOffset):
        (RenderBR::inlineBox):
        * khtml/rendering/render_br.h:
        * khtml/rendering/render_form.cpp:
        (RenderLineEdit::selectionStart):
        (RenderLineEdit::selectionEnd):
        (RenderLineEdit::setSelectionStart):
        (RenderLineEdit::setSelectionEnd):
        (RenderLineEdit::setSelectionRange):
        (RenderTextArea::calcMinMaxWidth):
        (RenderTextArea::selectionStart):
        (RenderTextArea::selectionEnd):
        (RenderTextArea::setSelectionStart):
        (RenderTextArea::setSelectionEnd):
        (RenderTextArea::setSelectionRange):
        * khtml/rendering/render_form.h:
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget):
        * khtml/rendering/render_line.cpp:
        (khtml::InlineBox::caretMinOffset):
        (khtml::InlineBox::caretMaxOffset):
        (khtml::InlineBox::caretMaxRenderedOffset):
        * khtml/rendering/render_line.h:
        * khtml/rendering/render_list.cpp:
        (RenderListMarker::calcMinMaxWidth):
        * khtml/rendering/render_list.h:
        (khtml::RenderListItem::value):
        (khtml::RenderListItem::setValue):
        * khtml/rendering/render_object.cpp:
        (RenderObject::caretMinOffset):
        (RenderObject::caretMaxOffset):
        (RenderObject::caretMaxRenderedOffset):
        (RenderObject::previousOffset):
        (RenderObject::nextOffset):
        (RenderObject::inlineBox):
        * khtml/rendering/render_object.h:
        * khtml/rendering/render_replaced.cpp:
        (RenderReplaced::caretMinOffset):
        (RenderReplaced::caretMaxOffset):
        (RenderReplaced::caretMaxRenderedOffset):
        * khtml/rendering/render_replaced.h:
        * khtml/rendering/render_table.h:
        (khtml::RenderTableCell::cellIndex):
        (khtml::RenderTableCell::setCellIndex):
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::paintMarker):
        (InlineTextBox::paintMarkedTextUnderline):
        (InlineTextBox::caretMinOffset):
        (InlineTextBox::caretMaxOffset):
        (InlineTextBox::caretMaxRenderedOffset):
        (RenderText::previousOffset):
        (RenderText::nextOffset):
        (InlineTextBox::positionForOffset):
        (RenderText::caretMinOffset):
        (RenderText::caretMaxOffset):
        (RenderText::caretMaxRenderedOffset):
        (RenderText::inlineBox):
        * khtml/rendering/render_text.h:
        * khtml/xml/dom2_eventsimpl.cpp:
        (DOM::EventImpl::timeStamp):
        (DOM::UIEventImpl::UIEventImpl):
        (DOM::UIEventImpl::initUIEvent):
        (DOM::UIEventImpl::layerX):
        (DOM::UIEventImpl::layerY):
        (DOM::UIEventImpl::pageX):
        (DOM::UIEventImpl::pageY):
        (DOM::UIEventImpl::which):
        (DOM::MouseRelatedEventImpl::MouseRelatedEventImpl):
        (DOM::MouseRelatedEventImpl::pageX):
        (DOM::MouseRelatedEventImpl::pageY):
        (DOM::MouseEventImpl::MouseEventImpl):
        (DOM::MouseEventImpl::initMouseEvent):
        (DOM::MouseEventImpl::which):
        (DOM::KeyboardEventImpl::KeyboardEventImpl):
        (DOM::KeyboardEventImpl::initKeyboardEvent):
        (DOM::KeyboardEventImpl::which):
        (DOM::WheelEventImpl::WheelEventImpl):
        * khtml/xml/dom2_eventsimpl.h:
        (DOM::UIEventImpl::detail):
        (DOM::UIEventWithKeyStateImpl::UIEventWithKeyStateImpl):
        (DOM::MouseRelatedEventImpl::screenX):
        (DOM::MouseRelatedEventImpl::screenY):
        (DOM::MouseRelatedEventImpl::clientX):
        (DOM::MouseRelatedEventImpl::clientY):
        (DOM::MouseRelatedEventImpl::layerX):
        (DOM::MouseRelatedEventImpl::layerY):
        (DOM::KeyboardEventImpl::keyLocation):
        (DOM::WheelEventImpl::wheelDelta):
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::RangeImpl::RangeImpl):
        (DOM::RangeImpl::startOffset):
        (DOM::RangeImpl::endOffset):
        (DOM::RangeImpl::setStart):
        (DOM::RangeImpl::setEnd):
        (DOM::RangeImpl::compareBoundaryPoints):
        (DOM::RangeImpl::processContents):
        (DOM::RangeImpl::checkNodeWOffset):
        * khtml/xml/dom2_rangeimpl.h:
        * khtml/xml/dom2_traversalimpl.cpp:
        (DOM::TraversalImpl::TraversalImpl):
        (DOM::TreeWalkerImpl::TreeWalkerImpl):
        * khtml/xml/dom2_traversalimpl.h:
        (DOM::TraversalImpl::whatToShow):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::createNodeIterator):
        (DocumentImpl::createTreeWalker):
        (DocumentImpl::processHttpEquiv):
        (DocumentImpl::removeMarkers):
        (DocumentImpl::copyMarkers):
        (DocumentImpl::markersForNode):
        (DocumentImpl::shiftMarkers):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::openTagStartToString):
        (NamedAttrMapImpl::item):
        (NamedAttrMapImpl::getAttributeItem):
        (NamedAttrMapImpl::removeAttribute):
        * khtml/xml/dom_elementimpl.h:
        (DOM::NamedAttrMapImpl::length):
        (DOM::NamedAttrMapImpl::attributeItem):
        (DOM::NamedMappedAttrMapImpl::attributeItem):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::normalize):
        (DOM::NodeImpl::nodeIndex):
        (DOM::NodeImpl::childNodeCount):
        (DOM::NodeImpl::childNode):
        (DOM::NodeImpl::maxOffset):
        (DOM::NodeImpl::maxDeepOffset):
        (DOM::NodeImpl::caretMinOffset):
        (DOM::NodeImpl::caretMaxOffset):
        (DOM::NodeImpl::caretMaxRenderedOffset):
        (DOM::NodeImpl::previousOffset):
        (DOM::NodeImpl::nextOffset):
        (DOM::ContainerNodeImpl::childNodeCount):
        (DOM::ContainerNodeImpl::childNode):
        (DOM::NodeListImpl::recursiveLength):
        (DOM::NodeListImpl::recursiveItem):
        (DOM::NodeListImpl::itemById):
        (DOM::ChildNodeListImpl::length):
        (DOM::ChildNodeListImpl::item):
        (DOM::TagNodeListImpl::length):
        (DOM::TagNodeListImpl::item):
        (DOM::NameNodeListImpl::length):
        (DOM::NameNodeListImpl::item):
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_position.cpp:
        (DOM::Position::Position):
        (DOM::Position::previous):
        (DOM::Position::next):
        (DOM::Position::renderedOffset):
        (DOM::Position::equivalentRangeCompliantPosition):
        (DOM::Position::rendersInDifferentPosition):
        (DOM::Position::trailingWhitespacePosition):
        (DOM::Position::debugPosition):
        * khtml/xml/dom_position.h:
        (DOM::Position::offset):
        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::length):
        (CharacterDataImpl::substringData):
        (CharacterDataImpl::insertData):
        (CharacterDataImpl::deleteData):
        (CharacterDataImpl::replaceData):
        (CharacterDataImpl::checkCharDataOperation):
        (CharacterDataImpl::maxOffset):
        (CharacterDataImpl::caretMinOffset):
        (CharacterDataImpl::caretMaxOffset):
        (CharacterDataImpl::caretMaxRenderedOffset):
        (TextImpl::splitText):
        * khtml/xml/dom_textimpl.h:
        * kwq/DOM-CSS.mm:
        (-[DOMStyleSheetList length]):
        (-[DOMStyleSheetList item:]):
        (-[DOMCSSStyleSheet insertRule::]):
        (-[DOMCSSStyleSheet deleteRule:]):
        (-[DOMMediaList length]):
        (-[DOMMediaList item:]):
        (-[DOMCSSRuleList length]):
        (-[DOMCSSRuleList item:]):
        (-[DOMCSSMediaRule insertRule::]):
        (-[DOMCSSMediaRule deleteRule:]):
        (-[DOMCSSStyleDeclaration length]):
        (-[DOMCSSStyleDeclaration item:]):
        (-[DOMCSSValueList length]):
        (-[DOMCSSValueList item:]):
        * kwq/DOM.mm:
        (-[DOMNamedNodeMap item:]):
        (-[DOMNamedNodeMap length]):
        (-[DOMNodeList item:]):
        (-[DOMNodeList length]):
        (-[DOMCharacterData length]):
        (-[DOMCharacterData substringData::]):
        (-[DOMCharacterData insertData::]):
        (-[DOMCharacterData deleteData::]):
        (-[DOMCharacterData replaceData:::]):
        (-[DOMText splitText:]):
        (-[DOMRange description]):
        (-[DOMRange startOffset]):
        (-[DOMRange endOffset]):
        (-[DOMRange setStart::]):
        (-[DOMRange setEnd::]):
        (-[DOMNodeIterator whatToShow]):
        (-[DOMTreeWalker whatToShow]):
        (-[DOMDocument createNodeIterator::::]):
        (-[DOMDocument createTreeWalker::::]):
        * kwq/DOMCSS.h:
        * kwq/DOMCore.h:
        * kwq/DOMEvents.h:
        (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
        * kwq/DOMEvents.mm:
        (-[DOMMouseEvent screenX]):
        (-[DOMMouseEvent screenY]):
        (-[DOMMouseEvent clientX]):
        (-[DOMMouseEvent clientY]):
        (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
        (-[DOMUIEvent detail]):
        (-[DOMUIEvent initUIEvent:::::]):
        * kwq/DOMExtensions.h:
        * kwq/DOMHTML.h:
        * kwq/DOMHTML.mm:
        (-[DOMHTMLCollection length]):
        (-[DOMHTMLCollection item:]):
        (-[DOMHTMLOptionsCollection length]):
        (-[DOMHTMLOptionsCollection setLength:]):
        (-[DOMHTMLOptionsCollection item:]):
        (-[DOMHTMLFormElement length]):
        (-[DOMHTMLSelectElement selectedIndex]):
        (-[DOMHTMLSelectElement setSelectedIndex:]):
        (-[DOMHTMLSelectElement length]):
        (-[DOMHTMLSelectElement setLength:]):
        (-[DOMHTMLSelectElement size]):
        (-[DOMHTMLSelectElement setSize:]):
        (-[DOMHTMLSelectElement tabIndex]):
        (-[DOMHTMLSelectElement setTabIndex:]):
        (-[DOMHTMLSelectElement remove:]):
        (-[DOMHTMLOptionElement index]):
        (-[DOMHTMLInputElement maxLength]):
        (-[DOMHTMLInputElement setMaxLength:]):
        (-[DOMHTMLInputElement size]):
        (-[DOMHTMLInputElement setSize:]):
        (-[DOMHTMLInputElement tabIndex]):
        (-[DOMHTMLInputElement setTabIndex:]):
        (-[DOMHTMLTextAreaElement cols]):
        (-[DOMHTMLTextAreaElement setCols:]):
        (-[DOMHTMLTextAreaElement rows]):
        (-[DOMHTMLTextAreaElement setRows:]):
        (-[DOMHTMLTextAreaElement tabIndex]):
        (-[DOMHTMLTextAreaElement setTabIndex:]):
        (-[DOMHTMLButtonElement tabIndex]):
        (-[DOMHTMLButtonElement setTabIndex:]):
        (-[DOMHTMLOListElement start]):
        (-[DOMHTMLOListElement setStart:]):
        (-[DOMHTMLLIElement value]):
        (-[DOMHTMLLIElement setValue:]):
        (-[DOMHTMLPreElement width]):
        (-[DOMHTMLPreElement setWidth:]):
        (-[DOMHTMLAnchorElement tabIndex]):
        (-[DOMHTMLAnchorElement setTabIndex:]):
        (-[DOMHTMLImageElement height]):
        (-[DOMHTMLImageElement setHeight:]):
        (-[DOMHTMLImageElement hspace]):
        (-[DOMHTMLImageElement setHspace:]):
        (-[DOMHTMLImageElement vspace]):
        (-[DOMHTMLImageElement setVspace:]):
        (-[DOMHTMLImageElement width]):
        (-[DOMHTMLImageElement setWidth:]):
        (-[DOMHTMLObjectElement hspace]):
        (-[DOMHTMLObjectElement setHspace:]):
        (-[DOMHTMLObjectElement tabIndex]):
        (-[DOMHTMLObjectElement setTabIndex:]):
        (-[DOMHTMLObjectElement vspace]):
        (-[DOMHTMLObjectElement setVspace:]):
        (-[DOMHTMLAppletElement hspace]):
        (-[DOMHTMLAppletElement setHspace:]):
        (-[DOMHTMLAppletElement vspace]):
        (-[DOMHTMLAppletElement setVspace:]):
        (-[DOMHTMLAreaElement tabIndex]):
        (-[DOMHTMLAreaElement setTabIndex:]):
        (-[DOMHTMLTableSectionElement insertRow:]):
        (-[DOMHTMLTableSectionElement deleteRow:]):
        (-[DOMHTMLTableElement insertRow:]):
        (-[DOMHTMLTableElement deleteRow:]):
        (-[DOMHTMLTableColElement span]):
        (-[DOMHTMLTableColElement setSpan:]):
        (-[DOMHTMLTableRowElement rowIndex]):
        (-[DOMHTMLTableRowElement sectionRowIndex]):
        (-[DOMHTMLTableRowElement insertCell:]):
        (-[DOMHTMLTableRowElement deleteCell:]):
        (-[DOMHTMLTableCellElement cellIndex]):
        (-[DOMHTMLTableCellElement colSpan]):
        (-[DOMHTMLTableCellElement setColSpan:]):
        (-[DOMHTMLTableCellElement rowSpan]):
        (-[DOMHTMLTableCellElement setRowSpan:]):
        (-[DOMHTMLEmbedElement height]):
        (-[DOMHTMLEmbedElement setHeight:]):
        (-[DOMHTMLEmbedElement width]):
        (-[DOMHTMLEmbedElement setWidth:]):
        * kwq/DOMRange.h:
        * kwq/DOMStylesheets.h:
        * kwq/DOMTraversal.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::advanceToNextMisspelling):
        (KWQKHTMLPart::openURLFromPageCache):
        (KWQKHTMLPart::markMisspellings):
        * kwq/KWQString.h:
        * kwq/KWQString.mm:
        (QString::toShort):
        (QString::toUShort):
        (QString::toInt):
        (QString::toUInt):
        * kwq/KWQTextEdit.h:
        * kwq/KWQTextEdit.mm:
        (QTextEdit::selectionStart):
        (QTextEdit::selectionEnd):
        (QTextEdit::setSelectionStart):
        (QTextEdit::setSelectionEnd):
        (QTextEdit::setSelectionRange):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge convertToNSRange:DOM::]):

2005-09-16  Tim Omernick  <tomernick@apple.com>

        Reviewed by Dave Hyatt.  Test case reviewed by Vicki Murley.

	<rdar://problem/3572507> Flash in div with display:none style will not redraw when style changed to display:block (3479)

        Test cases added:
        * manual-tests/show-hide-object.html: Added.
        * manual-tests/resources/spinbox.swf: Added.

        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::detach):
	Set needWidgetUpdate to true so that the widget is updated on the next attach().

2005-09-15  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        Test cases added:
        None, to-be-landed xhtml dom tests already cover this.

        * khtml/xml/dom_textimpl.cpp:
        (TextImpl::rendererIsNeeded):
        One line change to prevent adding text objects as direct
        children to FrameSet objects in the render tree. 

2005-09-15  David Harrison  <harrison@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/4244976> reproducible hang at ocharleys.com in VisiblePosition::initDownstream
        
        Problem is that RenderText::nextOffset() passes an empty string the UBreakIterator, which returns
        UBRK_DONE (-1) from ubrk_following, and that -1 is used without question as return result of
        nextOffset().  Fixed by checking for UBRK_DONE and returning offset+1 in that case.  Similar
        change in RenderText::previousOffset().

        Test cases added:
        * layout-tests/editing/selection/extend-by-word-002-expected.checksum: Added.
        * layout-tests/editing/selection/extend-by-word-002-expected.png: Added.
        * layout-tests/editing/selection/extend-by-word-002-expected.txt: Added.
        * layout-tests/editing/selection/extend-by-word-002.html: Added.

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::updateFirstLetter):
        Added comments.  Slight format adjustments.
        
        * khtml/rendering/render_text.cpp:
        (getCharacterBreakIterator):
        Slight format adjustment.
        
        (RenderText::previousOffset):
        (RenderText::nextOffset):
        Check for UBRK_DONE.
        
        (RenderTextFragment::RenderTextFragment)
        (RenderTextFragment::RenderTextFragment)
        Fixed parameter names.

        (m_generatedContentStr):
        * khtml/rendering/render_text.h:
        Fixed parameter names in the two RenderTextFragment constructors.

2005-09-14  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed, tweaked, and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=3809
          Should default to UTF-8 or UTF-16 for application/xml documents with omitted charset and encoding declaration

        Test cases added:
        * layout-tests/fast/encoding/xml-utf-8-default.xml: Added.
        * layout-tests/fast/encoding/xml-utf-8-default-expected.txt: Added.

        * khtml/misc/decoder.cpp: (Decoder::decode): Always set encoding when we see an XML header.

2005-09-14  Darin Adler  <darin@apple.com>

        * layout-tests/fast/dom/set-innerHTML-expected.txt: Updated test result now that DumpRenderTree handles
        this case properly. The old expected result just had the word "error"!

2005-09-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by john
        
        Test cases added: none, method rename
        
        Part of fix for <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge handleFallbackContent]):
        Renamed bridge method mainResourceError to handleFallbackContent, since there are some 
        main resource errors for which we should not render fallback content.  E.G user cancels 
        and the cancel we do to prevent loading plugin content twice (see <rdar://problem/4258008>)

2005-09-14  David Harrison  <harrison@apple.com>

        Reviewed by Eric.

        <rdar://problem/4057623> AX: Dictionary Panel crash in AXAttributeStringSetStyle in Safari (Dictionary has workaround)

        Test cases added: None.  Manual testing is way to awkward, and automated testing
        is not possible.  Filed following bug to get automation.
        <rdar://problem/4256882> Need automated testing support for accessibility APIs

        * kwq/KWQAccObject.mm:
        (AXAttributedStringAppendText):

2005-09-14 Vicki Murley  <vicki@apple.com>

        Reviewed by Dave Hyatt.
 
	- fixed <rdar://problem/4255274> REGRESSION: in some cases, link jumping to images is broken (4964)

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::ContainerNodeImpl::getUpperLeftCorner): 

2005-09-14  Darin Adler  <darin@apple.com>

        Reviewed by John.

        No easy way to test this in layout tests, so no test added.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4984
          REGRESSION placeholder border left behind after image finishes loading

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4985
          REGRESSION assertion failure in KWQPainter.mm:841

        * kwq/KWQPainter.mm:
        (QPainter::save): Do nothing if painting is disabled.
        (QPainter::restore): Ditto.
        (QPainter::drawRect): Inset so that we "frame" the rectangle rather than "stroking" the
        rectangle. The former draws inside the rectangle but the latter draws centered on the
        edge of the rectangle.

2005-09-14  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4924
          QPainter should use CGContext as much as possible rather than NSGraphicsContext

        * kwq/KWQPainter.h: Made no-op xForm be an inline. Reformatted to remove extraneous spaces.
        Removed clearFocusRing. Changed the name of various private functions to remove underscore
        prefix, and reorganize them.

        * kwq/KWQPainter.mm:
        (QPainterPrivate::QPainterPrivate): Remove the NSBezierPath for focus.
        (QPainterPrivate::~QPainterPrivate): Ditto.
        (QPainter::save): Use CGContext instead of NSGraphicsContext.
        (QPainter::restore): Ditto.
        (QPainter::drawRect): Use CGContextFillRect instead of _fillRectXX, and
        CGContextStrokeRect instead of NSFrameRect.
        (QPainter::setFillColor): Added. Sets CGContext fill color based on brush.
        (QPainter::setFillColorFromCurrentBrush): Added. Sets CGContext fill color based on QPainter's
        current brush.
        (QPainter::setFillColorFromCurrentPen): Added. Sets CGContext fill color based on QPainter's
        current pen.
        (QPainter::setStrokeColorAndLineWidthFromCurrentPen): Added. Set CGContext stroke color and
        line width based on QPainter's current pen.
        (QPainter::drawLine): Use CGContextStrokeLineSegments instead of NSBezierPath.
        (QPainter::drawEllipse): Use CGContextFillEllipseInRect instead of CGContextFillPath and
        CGContextStrokeEllipseInRect instead of CGContextStrokePath.
        (QPainter::drawArc): Removed some uneeded type casts, changed to call the new private functions,
        currentContext and setStrokeColorAndLineWidthFromCurrentPen.
        (QPainter::drawConvexPolygon): Use new private functions, also use CGContextDrawPath in the
        case where we want to both fill and stroke the polygon.
        (QPainter::getCompositeOperation): Remove unneeded cast.
        (QPainter::setCompositeOperation): Map from name to operation here rather than relying on the
        code on the WebKit side to do it (allows us to remove names entirely from the WebKit side).
        (QPainter::compositeOperatorFromString): Remove a local variable and some casts.
        (getBlendedColorComponent): Rewrote to do the same computation without any conversion to float.
        (QPainter::fillRect): Use CGContextFillRect instead of _fillRectXXX.
        (QPainter::addClip): Use CGContextClipToRect instead of NSBezierPath.
        (QPainter::addRoundedRectClip): Add missing call to CGContextBeginPath.
        (QPainter::beginTransparencyLayer): Use CGContextSaveGState instead of NSGraphicsContext.
        (QPainter::endTransparencyLayer): Use CGContextRestoreGState instead of NSGraphicsContext.
        (QPainter::initFocusRing): Use CGContextBeginPath instead of creating an NSBezierPath.
        (QPainter::addFocusRingRect): Use CGContextAddRect instead of NSBezierPath.
        (QPainter::drawFocusRing): Use CGContextFillPath instead of NSBezierPath.

        * khtml/rendering/render_flow.cpp: (RenderFlow::paintFocusRing): Remove call to clearFocusRing. No longer exists.
        * khtml/rendering/render_object.cpp: (RenderObject::paintOutline): Ditto.

        * kwq/WebCoreImageRendererFactory.h: Remove setCGCompositeOperationFromString method.

2005-09-13  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        <rdar://problem/4204892> Correcting incorrect spelling in Mail causes others to lose their red squiggles

        Fixed by having SplitTextNodeCommand::doApply copy the markers to the new node, and having SplitTextNodeCommand::doUnapply
        copy the markers from the merged-in node to the combined node.
        
        btw - filed <rdar://problem/4256492> "WebCore editing automated layout tests verify spelling markers"
        so that we can automate tests for this.
        
        Test cases added:
        * manual-tests/keep_spelling_markers.html: Added.

        * khtml/editing/split_text_node_command.cpp:
        (khtml::SplitTextNodeCommand::doApply):
        (khtml::SplitTextNodeCommand::doUnapply):
        Call new copyMarkers() function.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::removeMarkers):
        (DocumentImpl::addMarker):
        (DocumentImpl::copyMarkers):
        (DocumentImpl::markersForNode):
        (DocumentImpl::shiftMarkers):
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentMarker::):
        Added copyMarkers() function.  Reorganized code for clarity.

        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::setData):
        (CharacterDataImpl::deleteData):
        (CharacterDataImpl::replaceData):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::respondToChangedSelection):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge unmarkAllMisspellings]):
        Update calls to marker functions.
        
2005-09-12  Eric Seidel  <eseidel@apple.com>

        No review, build fix, only affects SVG.

        Fixes build after qstring() -> string() rename this weekend.

        * kdom/Helper.cpp:
        (parseLength):
        * kdom/core/DOMStringImpl.cpp:
        (DOMStringImpl::toInt):
        * kdom/core/DocumentImpl.cpp:
        (DocumentImpl::getId):
        * kdom/css/CSSStyleSelector.cpp:
        (checkPseudoState):

2005-09-11  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed <rdar://problem/4126166> using JavaScript-assigned accesskeys crashes Safari - DOM::NodeImpl::dispatchEvent

        Test cases added:
        * layout-tests/fast/events/access-key-self-destruct.html: Added.
        * layout-tests/fast/events/access-key-self-destruct-expected.txt: Added.

        * khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::dispatchMouseEvent): Ref the node for the duration
        with a SharedPtr; this helps in cases where the last reference to the node goes away inside the
        event handler.

2005-09-11  Darin Adler  <darin@apple.com>

        Reviewed by Eric.

        - changed back the name of a couple of string() functions that were renamed to qstring() by accident

        * kwq/KWQString.h: (QConstString::string): Changed function name back to string() from qstring().
        This is a function from Qt, so the name needs to match Qt -- that's just how KWQ works.

        * khtml/xml/dom_atomicstringlist.h: Changed the name of the function that returns the current
        AtomicString to string() back from qstring()!

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::matchRules): Use string() instead of qstring().
        (khtml::checkPseudoState): Ditto.
        (khtml::CSSStyleSelector::checkOneSelector): Ditto.
        * khtml/dom/dom_string.cpp: (DOM::DOMString::percentage): Ditto.
        * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::finish): Ditto.
        * khtml/xml/dom_stringimpl.cpp:
        (DOM::DOMStringImpl::DOMStringImpl): Small tweak to streamline a tiny bit by using an already-computed
        boolean instead of re-checking a couple of data members.
        (DOM::parseLength): Use string() instead of qstring().
        (DOM::DOMStringImpl::toInt): Ditto.

        - removed some dead code

        * khtml/xml/dom_elementimpl.cpp: Removed XMLElementImpl.

2005-09-10  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4820
          hexadecimal HTML entities split across TCP packets are not parsed correctly

        Wasn't able to make a layout test for this because there's no easy way to
        simulate separate writes to the tokenizer.

        * khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseEntity):
        Rolled back to code more like the original KDE stuff -- our change broke this --
        but changed the limit so it works with 8-character entities.

2005-09-10  Darin Adler  <darin@apple.com>

        - remove test case I just added -- it's not working

        * layout-tests/fast/dom/document-write-infinite-recursion-expected.txt: Removed.
        * layout-tests/fast/dom/document-write-infinite-recursion.html: Removed.

2005-09-10  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4806
          REGRESSION <area> elements misnested inside <div> elements not working

        Test cases added:
        * layout-tests/fast/parser/area-in-div.html: Added.
        * layout-tests/fast/parser/area-in-div-expected.txt: Added.

        * khtml/html/htmlparser.h: Declared mapCreateErrorCheck.
        * khtml/html/htmlparser.cpp:
        (HTMLParser::handleError): Fix formatting and indentation.
        (HTMLParser::formCreateErrorCheck): Added code to create the form too, so we can
        squirrel the form pointer away. Return false to prevent the factory from creating it.
        (HTMLParser::mapCreateErrorCheck): Added. Same kind of thing here, but without the logic
        that prevents creating a form if there's already a form open.
        (HTMLParser::getNode): Added the code to put the map function into the table. Also
        removed the form special-case code here that accomplishes what is now done inside the
        formCreateErrorCheck above instead.

2005-09-10  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4367
          Crash when executing setTimeout / Date / document.write Javascript (bugtraq)

        Test cases added:
        * layout-tests/fast/dom/document-write-infinite-recursion.html: Added.
        * layout-tests/fast/dom/document-write-infinite-recursion-expected.txt: Added.

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::implicitClose): Simplify a bit to make more readable. Remove the
        code to delete the tokenizer an extra time -- that can end up deleting the newly
        created tokenizer that's still needed for the newly opened page.
        (DocumentImpl::write): Added an assertion to catch the badness that caused
        infinite recursion so it's easier to recognize next time.

2005-09-10  Darin Adler  <darin@apple.com>

        - add expected success result for newly-enabled test

        * layout-tests/dom/html/level2/html/HTMLIFrameElement11-expected.txt: Added.

2005-09-09  Vicki Murley  <vicki@apple.com>

        Reviewed by Dave Hyatt.
 
	- fix <rdar://problem/4234256> REGRESSION: image tag broken in TOT

        Test cases added:
        * layout-tests/fast/replaced/image-tag-expected.checksum: Added.
        * layout-tests/fast/replaced/image-tag-expected.png: Added.
        * layout-tests/fast/replaced/image-tag-expected.txt: Added.
        * layout-tests/fast/replaced/image-tag.html: Added.

	* khtml/html/htmlnames.h:
        * khtml/html/htmlfactory.cpp:
        (DOM::HTMLElementFactory::createHTMLElement): 

2005-09-09  John Sullivan  <sullivan@apple.com>

        Reviewed by Tim Omernick.

        Test cases added: none, doesn't affect layout
        
        - fixed <rdar://problem/4250792> Find in HTML doesn't reveal match if only match was already selected

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        If we end up finding the previously-selected text, just go through the normal success code path
        instead of bailing out early.

2005-09-08  Vicki Murley  <vicki@apple.com>

        Reviewed by John Sullivan.
 
	- fixed <rdar://problem/4168089> CRASH: Using A9 Maps new interface (also occurs on google maps)

        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::getAttributeNS): add a check for the document, before checking to see if this is an HTML document

2005-09-08  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin

        WebCore portion of multipart/x-mixed-replace support

        * khtml/misc/loader.cpp:
        (Request::Request):
        (Loader::slotReceivedResponse):
        Only allow a multipart load for images, clear out the old multipart section to prepare for a replace
        (Loader::slotData):
        Multipart sections are delivered to the coreLoader by WebKit all at once, send eof to CachedImage::data
        * khtml/misc/loader.h:
        (khtml::CachedObject::isImage): Added
        (khtml::CachedImage::isImage):
        * kwq/KWQKJobClasses.h:
        * kwq/KWQKJobClasses.mm:
        (KIO::TransferJob::cancel): 
        Added a way to cancel a subresource loader from WebCore
        * kwq/KWQLoader.h:
        * kwq/KWQLoader.mm:
        (KWQResponseIsMultipart):
        * kwq/KWQResourceLoader.h:
        * kwq/KWQResourceLoader.mm:
        (-[KWQResourceLoader jobCanceledLoad]):

2005-09-08  Vicki Murley  <vicki@apple.com>

        Reviewed by Don Melton.
 
	- fix http://bugs.webkit.org/show_bug.cgi?id=4891 (HTMLIFrameElement11.js checks for 
	wrong title, causes false failure) and enabled HTMLIFrameElement11.html

        * layout-tests/dom/html/level2/html/HTMLIFrameElement11.js: check for correct title of resources/frame.html

        * layout-tests/dom/html/level2/html/HTMLIFrameElement11.html: Added.
        * layout-tests/dom/html/level2/html/HTMLIFrameElement11.html-disabled: Removed.

2005-09-08  Geoffrey Garen  <ggaren@apple.com>

        -fixed gcc 4.0 build bustage due to inconsitent return type
        
        Reviewed by john.

        * kwq/KWQTextField.mm:
        (-[NSTextField _KWQ_currentEditor]): editor is now cast as an NSTextView
        instead of an NSText (which makes sense regardless of build bustage, 
        given that we first test for isKindOfClass:[NSTextView class] before defining editor)

2005-09-07  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        Merged various changes from KDE, including:
        Qt3->Qt4 change: QWMatrix -> QMatrix
        A few remaining DOMString -> DOMStringImpl changes
        KRenderingDevicePaintServer now inherits KCanvasResource
        Various whitespace adjustments.
        Fewer, clearer logs from kcanvas/device/quartz code.
        DOM exception support.
        http://bugs.webkit.org/show_bug.cgi?id=4863

        * ForwardingHeaders/qmatrix.h: Added.
        * WebCore+SVG/DrawDocument.mm:
        (-[DrawDocumentPrivate init]):
        (-[DrawDocumentPrivate dealloc]):
        (-[DrawDocumentPrivate setPrimaryView:]):
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvas.cpp:
        (KCanvas::~KCanvas):
        (KCanvas::reset):
        * kcanvas/KCanvasContainer.cpp:
        (KCanvasContainer::bbox):
        (KCanvasContainer::collisions):
        (KCanvasContainer::first):
        (KCanvasContainer::last):
        * kcanvas/KCanvasContainer.h:
        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasFilters.h:
        * kcanvas/KCanvasMatrix.cpp:
        (KCanvasMatrix::KCanvasMatrix):
        (KCanvasMatrix::operator=):
        (KCanvasMatrix::operator==):
        (KCanvasMatrix::operator!=):
        (KCanvasMatrix::translate):
        (KCanvasMatrix::multiply):
        (KCanvasMatrix::scale):
        (KCanvasMatrix::rotate):
        (KCanvasMatrix::rotateFromVector):
        (KCanvasMatrix::skewX):
        (KCanvasMatrix::skewY):
        (KCanvasMatrix::qmatrix):
        * kcanvas/KCanvasMatrix.h:
        * kcanvas/KCanvasRegistry.cpp:
        (operator<<):
        * kcanvas/KCanvasRegistry.h:
        * kcanvas/KCanvasResources.cpp:
        (KCanvasResource::KCanvasResource):
        (KCanvasMarker::draw):
        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasTreeDebug.cpp:
        (operator<<):
        * kcanvas/KCanvasView.cpp:
        (KCanvasView::setCanvas):
        * kcanvas/KCanvasView.h:
        * kcanvas/device/KRenderingFillPainter.cpp:
        (KRenderingFillPainter::draw):
        * kcanvas/device/KRenderingPaintServer.h:
        (KRenderingPaintServer::KRenderingPaintServer):
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (KRenderingPaintServerGradient::Private::Private):
        (KRenderingPaintServerGradient::KRenderingPaintServerGradient):
        (KRenderingPaintServerGradient::listener):
        (KRenderingPaintServerGradient::setListener):
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        (KRenderingPaintServerPattern::Private::Private):
        (KRenderingPaintServerPattern::KRenderingPaintServerPattern):
        (KRenderingPaintServerPattern::listener):
        (KRenderingPaintServerPattern::setListener):
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingStrokePainter.cpp:
        (KRenderingStrokePainter::setPaintServer):
        (KRenderingStrokePainter::draw):
        * kcanvas/device/KRenderingStyle.cpp:
        (KRenderingStyle::Private::Private):
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFilterQuartz::prepareFilter):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (cgGradientCallback):
        (KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz):
        (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
        (KRenderingPaintServerLinearGradientQuartz::draw):
        (KRenderingPaintServerRadialGradientQuartz::draw):
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
        (KRenderingPaintServerPatternQuartz::draw):
        (KRenderingPaintServerImageQuartz::draw):
        * kdom/KDOMSettings.cpp:
        (KDOMSettings::init):
        (KDOMSettings::strToAdvice):
        * kdom/Shared.h:
        (KDOM::KDOM_SAFE_SET):
        * kdom/backends/libxml/LibXMLParser.cpp:
        (sax_start_doc):
        (sax_internal_subset):
        (sax_entity_decl):
        * kdom/bindings/IDLParser.pm:
        * kdom/bindings/IDLStructure.pm:
        * kdom/cache/KDOMCache.h:
        * kdom/cache/KDOMCachedObject.h:
        * kdom/cache/KDOMLoader.cpp:
        (DocumentLoader::setAutoloadImages):
        * kdom/cache/KDOMLoader.h:
        * kdom/core/AttrImpl.cpp:
        (AttrImpl::value):
        (AttrImpl::setPrefix):
        * kdom/core/DOMConfigurationImpl.cpp:
        (DOMConfigurationImpl::normalizeCharacters):
        * kdom/core/DOMImplementationImpl.cpp:
        (DOMImplementationImpl::DOMImplementationImpl):
        (DOMImplementationImpl::createDocument):
        (DOMImplementationImpl::idToType):
        * kdom/core/DOMImplementationImpl.h:
        * kdom/core/DocumentImpl.cpp:
        (DocumentImpl::removeListenerType):
        (DocumentImpl::getId):
        * kdom/core/DocumentTypeImpl.cpp:
        (DocumentTypeImpl::internalSubset):
        * kdom/core/NamedAttrMapImpl.cpp:
        (NamedAttrMapImpl::setValue):
        (NamedAttrMapImpl::dispatchAttrMutationEvent):
        * kdom/core/NamedNodeMapImpl.cpp:
        (RONamedNodeMapImpl::getNamedItem):
        * kdom/core/NodeImpl.cpp:
        (NodeBaseImpl::removeChildren):
        (NodeImpl::lookupNamespaceURI):
        * kdom/core/ProcessingInstructionImpl.cpp:
        (ProcessingInstructionImpl::ProcessingInstructionImpl):
        (ProcessingInstructionImpl::~ProcessingInstructionImpl):
        * kdom/core/ProcessingInstructionImpl.h:
        * kdom/core/domattrs.c:
        * kdom/css/CSSPrimitiveValueImpl.cpp:
        (FontFamilyValueImpl::FontFamilyValueImpl):
        * kdom/css/CSSStyleRuleImpl.cpp:
        (CSSStyleRuleImpl::parseString):
        * kdom/css/CSSStyleRuleImpl.h:
        * kdom/css/CSSStyleSelector.cpp:
        (CSSStyleSelector::CSSStyleSelector):
        (CSSStyleSelector::styleForElement):
        (CSSStyleSelector::applyRule):
        (CSSStyleSelector::getLangAttribute):
        * kdom/css/CSSStyleSelector.h:
        * kdom/css/CSSStyleSheetImpl.cpp:
        (CSSStyleSheetImpl::type):
        * kdom/css/CSSValueImpl.cpp:
        (ShadowValueImpl::cssText):
        * kdom/css/Font.h:
        * kdom/css/LinkStyleImpl.cpp: Added.
        (LinkStyleImpl::LinkStyleImpl):
        (LinkStyleImpl::~LinkStyleImpl):
        (LinkStyleImpl::sheet):
        * kdom/css/LinkStyleImpl.h: Added.
        * kdom/css/MediaListImpl.cpp:
        (MediaListImpl::setMediaText):
        * kdom/css/RectImpl.cpp:
        * kdom/css/RectImpl.h:
        (KDOM::RectImpl::top):
        (KDOM::RectImpl::right):
        (KDOM::RectImpl::bottom):
        (KDOM::RectImpl::left):
        * kdom/css/RenderStyle.cpp:
        (RenderStyle::diff):
        * kdom/css/RenderStyle.h:
        * kdom/css/RenderStyleDefs.cpp:
        (StyleInheritedData::StyleInheritedData):
        (StyleInheritedData::operator==):
        * kdom/css/RenderStyleDefs.h:
        * kdom/css/StyleBaseImpl.cpp:
        (CSSSelector::print):
        (CSSSelector::extractPseudoType):
        * kdom/events/EventTargetImpl.cpp:
        (EventTargetImpl::addEventListener):
        * kdom/kdom.h:
        (KDOM::):
        * kdom/ls/DOMImplementationLSImpl.cpp: Added.
        (DOMImplementationLSImpl::DOMImplementationLSImpl):
        (DOMImplementationLSImpl::~DOMImplementationLSImpl):
        (DOMImplementationLSImpl::createLSParser):
        (DOMImplementationLSImpl::createLSInput):
        (DOMImplementationLSImpl::createLSOutput):
        (DOMImplementationLSImpl::createLSSerializer):
        * kdom/ls/DOMImplementationLSImpl.h: Added.
        * kdom/ls/LSParserImpl.cpp:
        (LSParserImpl::parseURI):
        * kdom/ls/LSParserImpl.h:
        * kdom/ls/LSResourceResolverImpl.cpp:
        (LSResourceResolverImpl::resolveResource):
        * kdom/ls/LSResourceResolverImpl.h:
        * kdom/ls/LSSerializerImpl.cpp:
        (LSSerializerImpl::newLine):
        (LSSerializerImpl::writeToString):
        (LSSerializerImpl::escape):
        (LSSerializerImpl::escapeAttribute):
        * kdom/ls/LSSerializerImpl.h:
        * kdom/parser/KDOMParser.cpp:
        (Parser::handleError):
        (Parser::bufferForUrl):
        * kdom/range/RangeImpl.cpp:
        (RangeImpl::toString):
        * kdom/range/RangeImpl.h:
        * kdom/scripts/cssmakeprops:
        * kdom/scripts/cssmakevalues:
        * kdom/xpointer/PointerPartImpl.cpp:
        (PointerPartImpl::PointerPartImpl):
        * kdom/xpointer/ShortHandImpl.cpp:
        (ShortHandImpl::ShortHandImpl):
        * kdom/xpointer/XPointerEvaluatorImpl.cpp:
        (XPointerEvaluatorImpl::createXPointer):
        * kdom/xpointer/XPointerResultImpl.h:
        * kdom/xpointer/kdomxpointer.h:
        (KDOM::XPointer::):
        * ksvg2/KSVGFactory.cpp:
        (KSVGFactory::createPartObject):
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        * ksvg2/events/SVGEventImpl.cpp:
        (SVGEventImpl::SVGEventImpl):
        (SVGEventImpl::initEvent):
        * ksvg2/events/SVGEventImpl.h:
        (KSVG::):
        * ksvg2/events/SVGZoomEventImpl.cpp:
        (SVGZoomEventImpl::SVGZoomEventImpl):
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (KCanvasRenderingStyle::updateFill):
        (KCanvasRenderingStyle::updateStroke):
        (KCanvasRenderingStyle::startMarker):
        (KCanvasRenderingStyle::midMarker):
        (KCanvasRenderingStyle::endMarker):
        (KCanvasRenderingStyle::filter):
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (SVGTimer::notifyAll):
        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
        (SVGAnimateColorElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimateElementImpl.cpp:
        (SVGAnimateElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::targetAttribute):
        (SVGAnimationElementImpl::setTargetAttribute):
        * ksvg2/svg/SVGAnimationElementImpl.h:
        * ksvg2/svg/SVGCursorElementImpl.cpp: Added.
        (SVGCursorElementImpl::SVGCursorElementImpl):
        (SVGCursorElementImpl::~SVGCursorElementImpl):
        (SVGCursorElementImpl::x):
        (SVGCursorElementImpl::y):
        (SVGCursorElementImpl::parseAttribute):
        (SVGCursorElementImpl::notifyFinished):
        * ksvg2/svg/SVGCursorElementImpl.h: Added.
        (KSVG::SVGCursorElementImpl::pixmap):
        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
        (SVGDOMImplementationImpl::hasFeature):
        (SVGDOMImplementationImpl::createDocumentType):
        (SVGDOMImplementationImpl::createDocument):
        (SVGDOMImplementationImpl::typeToId):
        (SVGDOMImplementationImpl::idToType):
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::SVGDocumentImpl):
        (SVGDocumentImpl::createSVGElement):
        (SVGDocumentImpl::createElement):
        (SVGDocumentImpl::createElementNS):
        (SVGDocumentImpl::createEvent):
        (SVGDocumentImpl::notifyFinished):
        (SVGDocumentImpl::defaultNS):
        (SVGDocumentImpl::executeScripts):
        (SVGDocumentImpl::prepareMouseEvent):
        (SVGDocumentImpl::dispatchUIEvent):
        (SVGDocumentImpl::dispatchMouseEvent):
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGElementImpl.cpp:
        (SVGElementImpl::getId):
        (SVGElementImpl::xmlbase):
        (SVGElementImpl::tryGetAttribute):
        (SVGElementImpl::tryGetAttributeNS):
        (SVGElementImpl::parseAttribute):
        (SVGElementImpl::addSVGEventListener):
        * ksvg2/svg/SVGElementImpl.h:
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        (SVGGradientElementImpl::parseAttribute):
        * ksvg2/svg/SVGHelper.cpp:
        (SVGHelper::PercentageOfViewport):
        * ksvg2/svg/SVGImageElementImpl.cpp:
        (SVGImageElementImpl::notifyFinished):
        * ksvg2/svg/SVGLengthListImpl.cpp:
        (SVGLengthListImpl::parse):
        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
        (SVGLinearGradientElementImpl::x2):
        * ksvg2/svg/SVGMatrixImpl.cpp:
        (SVGMatrixImpl::SVGMatrixImpl):
        (SVGMatrixImpl::postMultiply):
        (SVGMatrixImpl::postTranslate):
        (SVGMatrixImpl::postScale):
        (SVGMatrixImpl::postScaleNonUniform):
        (SVGMatrixImpl::postRotate):
        (SVGMatrixImpl::postRotateFromVector):
        (SVGMatrixImpl::postFlipX):
        (SVGMatrixImpl::postFlipY):
        (SVGMatrixImpl::postSkewX):
        (SVGMatrixImpl::postSkewY):
        (SVGMatrixImpl::multiply):
        (SVGMatrixImpl::setMatrix):
        (SVGMatrixImpl::qmatrix):
        * ksvg2/svg/SVGMatrixImpl.h:
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::parseAttribute):
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::width):
        (SVGSVGElementImpl::height):
        (SVGSVGElementImpl::contentScriptType):
        (SVGSVGElementImpl::contentStyleType):
        (SVGSVGElementImpl::setContentStyleType):
        (SVGSVGElementImpl::createEvent):
        * ksvg2/svg/SVGSVGElementImpl.h:
        * ksvg2/svg/SVGScriptElementImpl.cpp:
        (SVGScriptElementImpl::parseAttribute):
        (SVGScriptElementImpl::executeScript):
        * ksvg2/svg/SVGScriptElementImpl.h:
        * ksvg2/svg/SVGSetElementImpl.cpp:
        (SVGSetElementImpl::handleTimerEvent):
        * ksvg2/svg/SVGStyleElementImpl.cpp:
        (SVGStyleElementImpl::xmlspace):
        (SVGStyleElementImpl::type):
        (SVGStyleElementImpl::media):
        (SVGStyleElementImpl::title):
        (SVGStyleElementImpl::childrenChanged):
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::attach):
        * ksvg2/svg/SVGTransformableImpl.cpp:
        (SVGTransformableImpl::updateSubtreeMatrices):
        (SVGTransformableImpl::parseAttribute):
        (SVGTransformableImpl::parseTransformAttribute):
        * ksvg2/svg/SVGTransformableImpl.h:
        * kwq/KWQNamespace.h:
        (Qt::): Added LayoutDirection for Qt4 support
        * kwq/KWQWMatrix.h: #define mapping QMatrix to QWMatrix

2005-09-07  Geoffrey Garen  <ggaren@apple.com>

        -added layout test for http://bugs.webkit.org/show_bug.cgi?id=4781
        Date.setMonth fails with big values due to overflow

        Fix is in JavaScriptCore.

        Test cases added:

        * layout-tests/fast/js/date-big-setmonth-expected.txt: Added.
        * layout-tests/fast/js/date-big-setmonth.html: Added.

2005-09-07 Vicki Murley  <vicki@apple.com>

        Reviewed by Justin.
 
        - fix <rdar://problem/4246096> REGRESSION links to named anchors don't scroll to the right place (4825)

        This is really just a better fix for 4233844. Also consolidated manual-tests/scrollToAnchorWithNewline.html
	and the test case from Bugzilla bug 4825 into manual-tests/scrollToAnchor.html.

        Test cases added:
        * manual-tests/scrollToAnchor.html: Added.

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::ContainerNodeImpl::getUpperLeftCorner): when calculating scroll position, skip child nodes of the anchor
        if they do not have text boxes.

2005-09-07  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        * kcanvas/KCanvasCreator.cpp:
        (KCanvasCreator::createCanvasPathData):
        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
        (KRenderingDeviceQuartz::contextForImage):
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::~SVGDocumentImpl):
        Fixed several leaks.
        http://bugs.webkit.org/show_bug.cgi?id=4868

2005-09-06  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed storage leaks; one of the leaks caused these 3 bugs:

        <rdar://problem/4231952> leaks of DOMStringImpl called from HTMLTokenizer::processToken, seen running WebKit tests
        <http://bugs.webkit.org/show_bug.cgi?id=4797>

        <rdar://problem/4233800> leak inside DOM::DocumentImpl::DocumentImpl, seen running webkit tests
        <http://bugs.webkit.org/show_bug.cgi?id=4795>

        <rdar://problem/4232812> leaks of NodeImpl called from HTMLParser::textCreateErrorCheck, seen running webkit tests
        <http://bugs.webkit.org/show_bug.cgi?id=4796>

        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::setOuterHTML): Put ref/deref around call to replaceChild to avoid leaking the node being replaced.
        (HTMLElementImpl::setOuterText): Put ref/deref around call to replaceChild to avoid leaking the node being replaced.
        Also changed removeChild calls to use remove instead, both for simplicity and to fix the leak without having
        to add a SharedPtr or ref/deref pair.

        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::setCaption): Put ref/deref around call to replaceChild to avoid leaking the node being
        replaced.
        (DOM::HTMLTableElementImpl::setTHead): Ditto.
        (DOM::HTMLTableElementImpl::setTFoot): Ditto.
        (DOM::HTMLTableElementImpl::setTBody): Tweaked a bit to match the other functions as closely as possible.
        No leak here.

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::remove): Added ref/deref to avoid leaking the node being removed.
        (DOM::NodeImpl::normalize): Changed two calls to removeChild to calls to remove to prevent leaks.

2005-09-05  Darin Adler  <darin@apple.com>

        Earlier version reviewed by John Sullivan.

        * khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::remove): Add a ref/deref pair so that
        this function will destroy a node if it has no references other than the tree.

        * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setOuterText): Change code to
        call remove instead of removeChild, both for simplicity and to fix leak without having
        to add a SharedPtr or ref/deref pair.

2005-09-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison
        
        Fixes <rdar://problem/3976872> REGRESSION (Mail): Pasted lines of plain text don't get the proper style if pasted into newlines

        For style matched paste, style information was gathered incorrectly.
        
        Test cases added:
        * layout-tests/editing/pasteboard/3976872-expected.txt: Added.
        * layout-tests/editing/pasteboard/3976872.html: Added.
        
        * khtml/editing/replace_selection_command.cpp:
        (khtml::ReplaceSelectionCommand::doApply):
        Even though the startBlock (selection.start().node()->enclosingBlockFlowElement) is where manipulation 
        begins on a paste, it can be missing necessary style information.

2005-09-06  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        Don't create empty fill/stroke servers if fill/stroke
        are specified as "none".
        http://bugs.webkit.org/show_bug.cgi?id=4864

        Test cases updated:
        * svg-tests/W3C-SVG-1.1/Resources/animation-add-BE-09-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image2-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image3-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/coords-units-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-blend-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-color-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-composite-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-conv-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-diffuse-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-example-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/interact-dom-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/interact-order-02-b-targ-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/interact-order-03-b-targ-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/linkingCircle-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/linkingToc-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/paths-data-04-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/rects-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/rects_b-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/struct-frag-01-B-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-align-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-align-02-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-align-03-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-altglyph-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-extTref-BE-18-targ-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-intro-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-tref-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-ws-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/toc-sv-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/toc-svcmp-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-13-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-14-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-15-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-16-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-17-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-18-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-19-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-20-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-22-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-25-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-27-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/color-prof-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/color-prop-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/color-prop-02-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/color-prop-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-05-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-units-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-dom-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-events-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-order-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-order-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-order-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-a-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-a-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-a-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-a-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-uri-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-opacity-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-05-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-fill-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-fill-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-fill-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-render-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-stroke-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-stroke-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-03-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-05-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-06-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-07-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-06-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-07-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-08-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-groups-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-groups-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/script-handle-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/script-handle-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/script-handle-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/script-handle-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-line-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-cond-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-cond-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-06-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-group-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-group-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-05-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-css-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-css-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-css-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-05-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-06-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-deco-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-fonts-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-fonts-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-intro-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-intro-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-intro-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-intro-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-text-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-text-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-tref-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-tselect-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-ws-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-ws-02-t-expected.txt:

        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (KCanvasRenderingStyle::updateFill):
        (KCanvasRenderingStyle::updateStroke):

2005-09-05  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4822
          REGRESSION dragging does not stop when you release the mouse button in Google Maps

        Test cases added:
        * layout-tests/fast/dom/Window/window-remove-event-listener.html: Added.
        * layout-tests/fast/dom/Window/window-remove-event-listener-expected.txt: Added.

        * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):
        Fixed typo where window.removeEventListener would call addEventListener!

2005-09-05  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4493
          add qualifiedName checking for empty string

        * khtml/xml/dom_docimpl.cpp:
        (qualifiedNameIsValid): Added.
        (qualifiedNameIsMalformed): Added.
        (DOMImplementationImpl::createDocumentType): Added checks and exceptions using above functions.
        (DOMImplementationImpl::createDocument): Ditto.

        * layout-tests/dom/html/level2/core/createDocument08-expected.txt: Updated to expect success.
        * layout-tests/dom/html/level2/core/createDocumentType04-expected.txt: Ditto.

2005-09-05  John Sullivan  <sullivan@apple.com>

        Reviewed by Dave Hyatt.

        Test cases added: none, doesn't affect layout
        
        - fixed <rdar://problem/4211999> Safari quits when click-drag-hold an image that is 
        set to automatically change.

        * khtml/khtmlview.cpp:
        (KHTMLView::updateDragAndDrop):
        add missing nil check

2005-09-05  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4025
          Reproducible crash (infinite recursion?) choosing Make Link from text field's contextual menu

        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController textView:shouldChangeTextInRange:replacementString:]):
        Allow a replacement string of nil.

2005-09-05  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed and landed by Darin.

        - added a test case that covers 8-digit hexadecimal entities

        * layout-tests/fast/parser/hex-entities-length.html: Added.
        * layout-tests/fast/parser/hex-entities-length-expected.txt: Added.

2005-09-04  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4274
          REGRESSION: canvas draws when window loses focus (flipped and in wrong position!)
        - fixed http://bugs.webkit.org/show_bug.cgi?id=4755
          "CGContext*: invalid context" messages dumped to the console (may indicate a performance hit)

        * khtml/rendering/render_canvasimage.cpp: (RenderCanvasImage::paint):
        Don't try to paint if painting is disabled.

        * kwq/KWQPainter.mm:
        (QPainter::addClip): Do nothing if painting is disabled.
        (QPainter::addRoundedRectClip): Ditto.
        (QPainter::currentContext): Assert that painting is not disabled.
        (QPainter::beginTransparencyLayer): Do nothing if painting is disabled.
        (QPainter::endTransparencyLayer): Ditto.
        (QPainter::setShadow): Ditto.
        (QPainter::clearShadow): Ditto.
        (QPainter::initFocusRing): Ditto.
        (QPainter::addFocusRingRect): Ditto.
        (QPainter::drawFocusRing): Ditto.

2005-09-04  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4393
          REGRESSION: Unconfirmed text ignored in input type=text

        Test cases added:
        * manual-tests/input-type-text-unconfirmed-inline-input.html: Added.

        * kwq/KWQTextField.mm:
        (-[KWQTextFieldController controlTextDidBeginEditing:]): Call
        setWantsNotificationForMarkedText:YES on the field editor so we get
        "text did change" calls even for changes to the marked text.
        (-[KWQTextFieldController controlTextDidChange:]): Only call the bridge
        when we have changes and there is no marked text -- this is good because
        the bridge is used to implement form auto-fill and preserves the existing
        behavior. A more elegant future fix would be to notify the bridge more often
        and have the auto-fill code itself implement the "don't auto-fill when there
        is marked text" rule.
        (-[NSTextField _KWQ_currentEditor]): Change type to NSTextView so we can
        use this function to code NSTextView-specific stuff. The field editors are
        always subclasses of NSTextView.

2005-09-04  Darin Adler  <darin@apple.com>

        - added a layout test from Bugzilla for a bug that was fixed a while back

        * layout-tests/fast/parser/script-tag-with-trailing-slash-expected.txt: Added.
        * layout-tests/fast/parser/script-tag-with-trailing-slash.html: Added.

2005-09-04  Darin Adler  <darin@apple.com>

        - temporarily disable LEAKS messages that are giving too many false positives
          we'll turn these back on again once we get them to really mean something.

        * khtml/xml/dom_elementimpl.cpp: (ElementImplCounter::~ElementImplCounter):
        Commented out the code to fprintf.
        * khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImplCounter::~NodeImplCounter): Ditto.

2005-09-04  Eric Seidel  <eseidel@apple.com>

        No review needed, only affects SVG, removing unused files.

        * WebCore.xcodeproj/project.pbxproj: removed ksvg2/Scripts group.
        * ksvg2/scripts/ksvgstatus.xsl: Removed.
        * ksvg2/scripts/regressiontest.sh: Removed.
        * ksvg2/scripts/regressiontestsetup.sh: Removed.

2005-09-04  Eric Seidel  <eseidel@apple.com>

        No review needed, only affects SVG, only replacing line endings.

        * ksvg2/svg/SVGFEBlendElementImpl.h: CRLF -> LF
        * ksvg2/svg/SVGFEFloodElementImpl.h: CRLF -> LF
        Fixed two files with windows line endings.

2005-09-04  Darin Adler  <darin@apple.com>

        - fixed the build

        * khtml/rendering/break_lines.cpp: Added missing include of <qstring.h>.

2005-09-04  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fixed <rdar://problem/3698926> so slow it feels like a hang calling UCFindTextBreak() tons of times at forum.presence-pc.com (4789)
          also http://bugs.webkit.org/show_bug.cgi?id=4789

        No test cases added because this is a performance fix. Existing test cases continue to work.

        * khtml/rendering/break_lines.h: Declare the new nextBreakablePosition and also define a new
        isBreakable function that adds an in/out "next breakable position" parameter.
        * khtml/rendering/break_lines.cpp: (khtml::nextBreakablePosition): Replaced the old isBreakable
        with this function.

        * khtml/rendering/bidi.cpp: (khtml::RenderBlock::findNextLineBreak): Call the new version of
        isBreakable that uses the previously-found "next breakable" position until we pass it rather
        than analyzing each position separately to see if we can break there.

        * khtml/rendering/render_text.cpp: (RenderText::calcMinMaxWidth): Call the new isBreakable, and
        also do some things to streamline and perhaps speed up: a) use an index withing the string rather
        than within the word when finding a word break, b) use a cached copy of the string base pointer
        and the string length rather than repeatedly dereferencing str, c) use a cached copy of the current
        character rather than repeatedly fetching it. Darin also changed one confusing use of ? : to just
        use && instead.

2005-09-03  David Hyatt  <hyatt@apple.com>

	This patch substantially reworks how mouse clicking and double clicking work in the DOM.

	(1) screenY has been fixed so that it is no longer flipped.  This makes the values consistent with
	other browsers on the Mac (like Firefox) and with Windows.

	(2) For synthetic events delivered when the click() method is invoked, the values are simply set to 0
	and false (e.g., for button, shiftKey, detail and so on).  This behavior matches Firefox.  WinIE uses
	the current key and mouse state, but this just results in delivery of nonsense data, so we have opted
	to match Firefox.

	(3) onclick now exactly matches the DOM "click" event definition.  This means that onclick will now
	fire on every single click (regardless of the click count), and onclick will now be considered the same
	event as "click", meaning addEventListener "click"s and onclicks can interleave and work correctly during
	the bubbling phase.  This behavior again deviates deliberately from WinIE and matches Firefox.  (In WinIE,
	the onclick and ondblclick events are mutually exclusive, with click representing an odd clickCount and
	dblclick representing an even clickCount).

	(4) ondblclick has been changed to fire only when clickCount is exactly 2.  This matches Firefox.  dblclick
	remains a separate synthetic event that fires independently of click with a clickCount of 2.  This also
	matches Firefox behavior.

	(5) mouseover and mouseout have been patched not to fire when they occur on a disabled control.  More generally, no
	mouse event will be delivered to a disabled element.  The current check only examines the target node, and this
	is not good enough (but can be improved in a later patch).  Some nodes will be children of disabled ancestors (e.g.,
	options or children of a <button), and this is not yet taken into account.

	(6) The behavior of shifting focus on a mousedown has been fixed to not occur if preventDefault has been set.  This
	matches Firefox.

        Reviewed by darin

        * khtml/ecma/kjs_binding.cpp:
        (KJS::ScriptInterpreter::wasRunByUserGesture):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValueProperty):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        (KJS::Window::put):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::parseMappedAttribute):
        (HTMLElementImpl::click):
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLInputElementImpl::defaultEventHandler):
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::defaultEventHandler):
        * khtml/khtmlview.cpp:
        (KHTMLViewPrivate::reset):
        (KHTMLView::viewportMousePressEvent):
        (KHTMLView::viewportMouseDoubleClickEvent):
        (KHTMLView::dispatchMouseEvent):
        * khtml/rendering/render_form.cpp:
        (RenderFormElement::slotClicked):
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::sendConsumedMouseUp):
        (RenderWidget::eventFilter):
        * khtml/rendering/render_replaced.h:
        * khtml/xml/EventNames.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dispatchMouseEvent):
        (DOM::NodeImpl::dispatchSimulatedMouseEvent):
        * khtml/xml/dom_nodeimpl.h:
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject mouseButtonListener]):
        * kwq/KWQEvent.h:
        (QMouseEvent::globalX):
        (QMouseEvent::globalY):
        (QMouseEvent::clickCount):
        * kwq/KWQEvent.mm:
        (positionForEvent):
        (globalPositionForEvent):
        (QMouseEvent::QMouseEvent):
        * kwq/KWQWidget.mm:
        (QWidget::sendConsumedMouseUp):

2005-09-03  Darin Adler  <darin@apple.com>

        - fixed a mistake in the DOM tests, and an organizational issue that made them hard to
          run with run-webkit-tests (because run-webkit-tests assumes that any file with an .html
          extension is one of the tests)

        * layout-tests/dom/html/level2/html/HTMLFrameElement09-expected.txt: Updated to expect success.
        The failure we were seeing was due to an incorrect title in frame.html.

        * layout-tests/dom/html/level2/html/HTMLFrameElement09.html: Updated to get at iframe.html
        and frame.html from the resources subdirectory.

        * layout-tests/dom/html/level2/html/HTMLIFrameElement11.html-disabled: Updated to get at iframe.html
        and frame.html from the resources subdirectory.

        * layout-tests/dom/html/level2/html/frame.html: Removed. Since this is not a test, moved it into the
        resources subdirectory so the layout test engine won't see it.
        * layout-tests/dom/html/level2/html/iframe.html: Ditto.

        * layout-tests/dom/html/level2/html/resources/frame.html: Moved down here from the directory above.
        Adjusted URLs that specify resources still in the directory above to use "../" to find those.
        Also corrected the title of the file which was incorrect and causing HTMLFrameElement09 to fail.
        * layout-tests/dom/html/level2/html/resources/iframe.html: More of the same.

        * layout-tests/dom/html/level2/html/frame-expected.txt: Removed. This was not a test, so it
        should not have expected results.
        * layout-tests/dom/html/level2/html/iframe-expected.txt: Ditto.

2005-09-02  Eric Seidel  <eseidel@apple.com>

        No review requested (only affects SVG), continuation of 4790.

        * WebCore.xcodeproj/project.pbxproj: updated include path
        * kdom/core/DocumentImpl.h: updated #include
        * kdom/xpointer/ElementSchemeImpl.h: ditto.
        * kdom/xpointer/ShortHandImpl.h: ditto.
        * kdom/xpointer/XMLNSSchemeImpl.h: ditto.
        * kdom/xpointer/XPath1SchemeImpl.h: ditto.
        * kdom/xpointer/XPointerSchemeImpl.h: ditto.
        http://bugs.webkit.org/show_bug.cgi?id=4790

2005-09-02  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Test cases updated:  manual-tests/select_hr.html: 
        updated for case where selection is changed for a list box that has an <hr> in its list items, even though it doesn't appear in the list.

        * khtml/rendering/render_form.cpp:
        (RenderSelect::slotSelectionChanged):  Added counter that increments only for visible list items (options and optgroups).  Before this change, 
        list boxes that had invisible <hr>s could have the visible selected option get out of sync from the selected state.
        (RenderSelect::updateSelection):  ditto.
        * kwq/KWQListBox.h: Changed enum from ItemType to KWQListBoxItemType and values to KWQListBoxOption, KWQListBoxGroupLabel, and KWQListBoxSeparator.
        (KWQListBoxItem::KWQListBoxItem): ditto.
        (QListBox::appendItem): ditto.
        (QListBox::appendGroupLabel): ditto.
        * kwq/KWQListBox.mm:
        (QListBox::appendItem): ditto.
        (QListBox::sizeForNumberOfLines): ditto.
        (-[KWQTableView tableView:shouldSelectRow:]): ditto.
        (-[KWQTableView drawRow:clipRect:]): ditto.
        * kwq/KWQComboBox.h: 
        (QComboBox::appendItem): ditto.
        (QComboBox::appendGroupLabel): ditto.
        (QComboBox::appendSeparator): ditto.
        * kwq/KWQComboBox.mm:
        (QComboBox::setTitle): ditto.
        (QComboBox::appendItem): ditto.
        (QComboBox::sizeHint): ditto.
        (QComboBox::populateMenu): ditto.

2005-09-02  Beth Dakin  <bdakin@apple.com>

        Fix for <rdar://problem/4235531> Denver Regression: Safari crash in KWQStringData::makeUnicode
	The other half of the fix is in JavaScriptCore

	Fix written by Maciej and Darin.
	Reviewed by me/Maciej

	As Maciej said in Radar: These problems was caused by a conflict between some of our custom 
	allocators, causing them to return null. Symptom is typically a null pointer dereference in 
	a place where it might be expected an allocation has just occurred.

        * khtml/misc/main_thread_malloc.cpp: Added #define for MORECORE_CONTIGUOUS, MORECORE_CANNOT_TRIM, 
					and MALLOC_FAILURE_ACTION. 

2005-09-02  Darin Adler  <darin@apple.com>

        - added back a test now that Vicki fixed it so it no longer crashes

        * layout-tests/dom/html/level2/html/HTMLFrameElement09.html: Added.
        * layout-tests/dom/html/level2/html/HTMLFrameElement09-expected.txt: Added.
        * layout-tests/dom/html/level2/html/HTMLFrameElement09.html-disabled: Removed.

2005-09-02  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4757
          leaks found by code inspection in apply-style command

        * khtml/editing/apply_style_command.h: Change m_style to be a SharedPtr.
        * khtml/editing/apply_style_command.cpp:
        (khtml::StyleChange::init): Added use of SharedPtr.
        (khtml::StyleChange::currentlyHasStyle): Ditto.
        (khtml::ApplyStyleCommand::ApplyStyleCommand): Ditto.
        (khtml::ApplyStyleCommand::~ApplyStyleCommand): Ditto.
        (khtml::ApplyStyleCommand::doApply): Ditto.
        (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): Ditto.
        (khtml::ApplyStyleCommand::removeCSSStyle): Ditto.
        (khtml::hasTextDecorationProperty): Ditto.
        (khtml::ApplyStyleCommand::extractTextDecorationStyle): Ditto.
        (khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle): Ditto.
        (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Ditto.
        (khtml::ApplyStyleCommand::removeInlineStyle): Ditto.
        (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
        (khtml::ApplyStyleCommand::computedFontSize): Ditto.

2005-09-02  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs (continuation of previous commit).

        * ForwardingHeaders/q3ptrdict.h: Added.
        * kdom/cache/KDOMCacheHelper.h:
        * kdom/cache/KDOMCachedDocument.cpp:
        (CachedDocument::checkNotify):
        (CachedDocument::error):
        * kdom/cache/KDOMCachedImage.cpp:
        (CachedImage::do_notify):
        (CachedImage::movieStatus):
        (CachedImage::data):
        (CachedImage::error):
        * kdom/cache/KDOMCachedObject.h:
        * kdom/cache/KDOMCachedScript.cpp:
        (CachedScript::checkNotify):
        * kdom/cache/KDOMCachedStyleSheet.cpp:
        (CachedStyleSheet::checkNotify):
        (CachedStyleSheet::error):
        * kdom/cache/KDOMLoader.cpp:
        (DocumentLoader::setAutoloadImages):
        (DocumentLoader::setShowAnimations):
        (Loader::numRequests):
        (Loader::cancelRequests):
        (Loader::jobForRequest):
        * kdom/cache/KDOMLoader.h:
        * kdom/ecma/Ecma.cpp:
        (Ecma::createEventListener):
        * kdom/ecma/ScriptInterpreter.cpp:
        (ScriptInterpreter::mark):
        * kwq/KWQPtrDict.h:
        Re-ran scripts from previous commit, now including QPtrDict.
        http://bugs.webkit.org/show_bug.cgi?id=4799

2005-09-02  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        * ForwardingHeaders/q3cstring.h: Added.
        * ForwardingHeaders/q3dict.h: Added.
        * ForwardingHeaders/q3intdict.h: Added.
        * ForwardingHeaders/q3memarray.h: Added.
        * ForwardingHeaders/q3paintdevicemetrics.h: Added.
        * ForwardingHeaders/q3ptrcollection.h: Added.
        * ForwardingHeaders/q3ptrlist.h: Added.
        * ForwardingHeaders/q3ptrstack.h: Added.
        * ForwardingHeaders/q3valuelist.h: Added.
        * ForwardingHeaders/q3valuevector.h: Added.
        * kcanvas/KCanvas.cpp:
        (KCanvas::setCanvasSize):
        (KCanvas::invalidate):
        * kcanvas/KCanvasFilters.h:
        (KCanvasFEColorMatrix::values):
        (KCanvasFEColorMatrix::setValues):
        * kcanvas/KCanvasItem.h:
        * kcanvas/KCanvasPath.h:
        * kcanvas/KCanvasRegistry.cpp:
        (operator<<):
        * kcanvas/KCanvasRegistry.h:
        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasTreeDebug.h:
        (operator<<):
        * kcanvas/KCanvasTypes.h:
        * kcanvas/KCanvasView.cpp:
        * kcanvas/device/KRenderingDevice.h:
        * kcanvas/device/KRenderingDeviceFactory.cpp:
        (KRenderingDeviceFactory::request):
        (KRenderingDeviceFactory::deviceList):
        * kcanvas/device/KRenderingDeviceFactory.h:
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (KCSortedGradientStopList::compareItems):
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingStyle.h:
        * kdom/KDOMSettings.cpp:
        (KDOMSettings::isAdFiltered):
        * kdom/cache/KDOMCache.cpp:
        (Cache::init):
        (Cache::hasPending):
        (Cache::statistics):
        * kdom/cache/KDOMCache.h:
        * kdom/cache/KDOMCacheHelper.h:
        * kdom/cache/KDOMLoader.cpp:
        (Loader::numRequests):
        (Loader::cancelRequests):
        * kdom/cache/KDOMLoader.h:
        * kdom/core/DOMList.h:
        * kdom/core/DocumentImpl.cpp:
        (DocumentImpl::getElementById):
        (DocumentImpl::setPaintDevice):
        (DocumentImpl::getId):
        * kdom/core/DocumentImpl.h:
        (KDOM::DocumentImpl::paintDeviceMetrics):
        (KDOM::DocumentImpl::IdNameMapping::~IdNameMapping):
        * kdom/core/NamedNodeMapImpl.cpp:
        (RONamedNodeMapImpl::RONamedNodeMapImpl):
        (RONamedNodeMapImpl::getNamedItem):
        * kdom/core/NamedNodeMapImpl.h:
        * kdom/core/NodeImpl.cpp:
        (NodeImpl::compareDocumentPosition):
        * kdom/core/TextImpl.cpp:
        (TextImpl::wholeText):
        (TextImpl::checkChildren):
        (TextImpl::replaceWholeText):
        (TextImpl::logicallyAdjacentTextNodes):
        * kdom/core/TextImpl.h:
        * kdom/css/CSSPrimitiveValueImpl.cpp:
        (CSSPrimitiveValueImpl::computeLength):
        (CSSPrimitiveValueImpl::computeLengthFloat):
        * kdom/css/CSSPrimitiveValueImpl.h:
        * kdom/css/CSSRuleListImpl.h:
        * kdom/css/CSSStyleDeclarationImpl.cpp:
        (CSSStyleDeclarationImpl::CSSStyleDeclarationImpl):
        (CSSStyleDeclarationImpl::operator=):
        (CSSStyleDeclarationImpl::cssText):
        (CSSStyleDeclarationImpl::setCssText):
        (CSSStyleDeclarationImpl::getPropertyCSSValue):
        (CSSStyleDeclarationImpl::removeProperty):
        (CSSStyleDeclarationImpl::getPropertyPriority):
        (CSSStyleDeclarationImpl::setProperty):
        * kdom/css/CSSStyleDeclarationImpl.h:
        (KDOM::CSSStyleDeclarationImpl::values):
        * kdom/css/CSSStyleRuleImpl.cpp:
        (CSSStyleRuleImpl::setSelector):
        * kdom/css/CSSStyleRuleImpl.h:
        (KDOM::CSSStyleRuleImpl::selector):
        * kdom/css/CSSStyleSelector.cpp:
        (CSSStyleSelector::CSSStyleSelector):
        (CSSStyleSelector::computeFontSizes):
        (CSSStyleSelector::computeFontSizesFor):
        (nextFontSize):
        (CSSStyleSelector::addInlineDeclarations):
        (CSSStyleSelector::buildLists):
        (CSSStyleSelectorList::CSSStyleSelectorList):
        (CSSStyleSelectorList::append):
        (CSSStyleSelectorList::collect):
        (CSSOrderedPropertyList::compareItems):
        (CSSOrderedPropertyList::append):
        (CSSStyleSelector::convertToLength):
        (CSSStyleSelector::applyRule):
        * kdom/css/CSSStyleSelector.h:
        (KDOM::CSSStyleSelector::fontSizes):
        (KDOM::CSSStyleSelector::fixedFontSizes):
        * kdom/css/CSSStyleSheetImpl.cpp:
        (CSSStyleSheetImpl::CSSStyleSheetImpl):
        * kdom/css/CSSValueListImpl.cpp:
        (CSSValueListImpl::cssText):
        * kdom/css/CSSValueListImpl.h:
        * kdom/css/Font.cpp:
        (Font::update):
        * kdom/css/Font.h:
        * kdom/css/KDOMCSSParser.cpp:
        (CSSParser::createStyleDeclaration):
        (CSSParser::createCSSStyleDeclaration):
        * kdom/css/KDOMCSSParser.h:
        * kdom/css/MediaListImpl.cpp:
        (MediaListImpl::mediaText):
        (MediaListImpl::deleteMedium):
        * kdom/css/MediaListImpl.h:
        * kdom/css/StyleBaseImpl.cpp:
        (StyleBaseImpl::setParsedValue):
        * kdom/css/StyleBaseImpl.h:
        * kdom/css/StyleSheetListImpl.cpp:
        (StyleSheetListImpl::~StyleSheetListImpl):
        (StyleSheetListImpl::length):
        (StyleSheetListImpl::item):
        * kdom/css/StyleSheetListImpl.h:
        * kdom/ecma/ScriptInterpreter.cpp:
        (ScriptInterpreter::forgetDOMObject):
        * kdom/events/EventTargetImpl.cpp:
        (EventTargetImpl::addEventListener):
        (EventTargetImpl::removeEventListener):
        (EventTargetImpl::dispatchEvent):
        (EventTargetImpl::handleLocalEvents):
        * kdom/events/EventTargetImpl.h:
        * kdom/ls/LSParserImpl.cpp:
        (LSParserImpl::parse):
        * kdom/parser/KDOMDocumentBuilder.cpp:
        * kdom/xpath/impl/expression.cpp:
        (Expression::~Expression):
        (Expression::optimize):
        (Expression::isConstant):
        * kdom/xpath/impl/expression.h:
        * kdom/xpath/impl/functions.cpp:
        (Function::setArguments):
        (FunctionLibrary::getFunction):
        * kdom/xpath/impl/functions.h:
        * kdom/xpath/impl/path.cpp:
        (Path::~Path):
        (Path::optimize):
        (Path::doEvaluate):
        (Path::dump):
        * kdom/xpath/impl/path.h:
        * kdom/xpath/impl/step.cpp:
        (Step::Step):
        (Step::~Step):
        (Step::evaluate):
        (Step::optimize):
        (Step::dump):
        * kdom/xpath/impl/step.h:
        * kdom/xpath/impl/tokenizer.cpp:
        (Tokenizer::isAxisName):
        (Tokenizer::isNodeTypeName):
        * kdom/xpath/impl/tokenizer.h:
        * kdom/xpath/impl/util.h:
        * kdom/xpath/impl/variablereference.cpp:
        (VariableReference::doEvaluate):
        * kdom/xpointer/impl/ElementSchemeImpl.cpp:
        (ElementSchemeImpl::evaluate):
        * kdom/xpointer/impl/ElementSchemeImpl.h:
        * kdom/xpointer/impl/XPointerEvaluatorImpl.cpp:
        (XPointerEvaluatorImpl::createXPointer):
        * kdom/xpointer/impl/XPointerExpressionImpl.cpp:
        * kdom/xpointer/impl/XPointerExpressionImpl.h:
        * ksvg2/KSVGFactory.cpp:
        (KSVGFactory::createPartObject):
        (KSVGFactory::registerPart):
        * ksvg2/KSVGFactory.h:
        (KSVG::KSVGFactory::partList):
        * ksvg2/css/KSVGCSSParser.cpp:
        (SVGCSSParser::createCSSStyleDeclaration):
        * ksvg2/css/KSVGCSSParser.h:
        * ksvg2/css/SVGCSSStyleDeclarationImpl.cpp:
        (SVGCSSStyleDeclarationImpl::SVGCSSStyleDeclarationImpl):
        * ksvg2/css/SVGCSSStyleDeclarationImpl.h:
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        (SVGCSSStyleSelector::loadDefaultStyle):
        (SVGCSSStyleSelector::addExtraDeclarations):
        * ksvg2/css/SVGCSSStyleSelector.h:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        (KCanvasRenderingStyle::updateStroke):
        (KCanvasRenderingStyle::cssPrimitiveToLength):
        * ksvg2/misc/KSVGTimeScheduler.cpp:
        (SVGTimer::notifyAll):
        * ksvg2/misc/KSVGTimeScheduler.h:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::finishedParsing):
        (SVGDocumentImpl::recalcStyleSelector):
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        (SVGFEColorMatrixElementImpl::createCanvasItem):
        * ksvg2/svg/SVGList.h:
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::pixelUnitToMillimeterX):
        (SVGSVGElementImpl::pixelUnitToMillimeterY):
        * kwq/KWQCString.h: Added #define q->q3.
        * kwq/KWQCollection.h:
        * kwq/KWQDict.h:
        * kwq/KWQIntDict.h:
        * kwq/KWQMemArray.h:
        * kwq/KWQPaintDeviceMetrics.h:
        * kwq/KWQPtrList.h:
        * kwq/KWQPtrStack.h:
        * kwq/KWQValueList.h:
        * kwq/KWQValueVector.h:
        Pulled over first section of Qt4 changes from kdom, mapping
        existing Qt3 classes to their new Qt4 names and adding necessary
        #defines to kwq to allow supporting both names.
        http://bugs.webkit.org/show_bug.cgi?id=4799

2005-09-01  Vicki Murley  <vicki@apple.com>

        Reviewed by John.
 
        Test cases added: No new tests, HTMLFrameElement09.html covers this crash

	- fixed <rdar://problem/4224088> crash in KWQKHTMLPart::handledOnloadEvents loading test HTMLFrameElement09.html

        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::implicitClose): nil check on the part

2005-09-01  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed <rdar://problem/3524912> repro crash in KHTMLParser::parseToken, due to parser's current element being destroyed (www.gnnetcom.dk)

        Test cases added:
        * layout-tests/fast/parser/remove-parser-current-node.html: Added.
        * layout-tests/fast/parser/remove-parser-current-node-expected.txt: Added.

        * khtml/html/htmlparser.cpp: Changed block stack to hold a SharedPtr to the
        nodes in the stack -- needed because they might be destroyed by JavaScript.
        (HTMLParser::insertNode): Don't call attach() on the new node if the parent
        node isn't also attached. This happens when the parent node is no longer in
        the DOM tree because it was removed by JavaScript.
        (HTMLParser::popNestedHeaderTag): Updated since node is now a SharedPtr.
        (HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Ditto.
        (HTMLParser::popOneBlock): Ditto.

2005-09-01  Eric Seidel  <eseidel@apple.com>

        Reviewed by sullivan.

        * kwq/KWQSlot.mm: changed ksvg2/core to ksvg/misc
        Build fix: missed one include from previous change.
        http://bugs.webkit.org/show_bug.cgi?id=4790

2005-09-01  David Harrison  <harrison@apple.com>

        Reviewed by Justin.

        <rdar://problem/4054701> assertion failure in khtml::isEqualIgnoringAffinity using VoiceOver in new Mail message

        Problem was that an AXTextMarker was erroneously given UPSTREAM affinity.  Fixed by having the
        VisiblePosition constructors make the actual affinity DOWNSTREAM if UPSTREAM was specified, but
        the Position is not at a line wrap.
        
        Test cases added:
            There is no way to automate a test for this because it requires using the AX APIs, which are
            not available to the tests.
            A manual test involves creating an email and using VoiceOver on it.  Seems like too much.

        * khtml/editing/selection.h:
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::init):
        (khtml::VisiblePosition::next):
        * khtml/editing/visible_position.h:
        * khtml/editing/visible_units.cpp:
        (khtml::nextBoundary):
        (khtml::endOfLine):
        * khtml/khtml_part.cpp:
        (KHTMLPart::findTextNext):
        (KHTMLPart::selectFrameElementInParentIfFullySelected):
        * khtml/rendering/render_text.cpp:
        (RenderText::positionForCoordinates):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::findString):
        (KWQKHTMLPart::advanceToNextMisspelling):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]):

2005-08-31  Adele Peterson  <adele@apple.com>

        Reviewed by Dave Hyatt.

        - fixed <rdar://problem/4229189> add a way to get a separator into a <select>

        This will allow an <hr> within a select element to display a separator in a popup menu.
        These extra elements are added to our listItems array, which we use internally.  But this should not
        affect JavaScript operations, such as getting an index of an option element, or getting the length of the select,
        or getting the selected index.  In these cases, the <hr>s will be ignored.

        Test cases added:
        * manual-tests/select_hr.html: Added.

        * khtml/html/html_formimpl.h: 
        (DOM::HTMLSelectElementImpl::listItems): Now that our listItems can also contain <hr>s, 
        I've changed listItems to be a QMemArray<HTMLElementImpl*> instead of QMemArray<HTMLGenericFormElementImpl*>
        (DOM::HTMLOptGroupElementImpl::checkDTD): Added check for <hr>

        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLSelectElementImpl::checkDTD): Added check for <hr>
        (DOM::HTMLSelectElementImpl::add): Added check for <hr> so these elements can be added through Javascript.
        (DOM::HTMLSelectElementImpl::recalcListItems): Added case for <hr> to add the element to the listItems array.
        (DOM::HTMLSelectElementImpl::selectedIndex): Updated type for array of listItems.
        (DOM::HTMLSelectElementImpl::setSelectedIndex): ditto.
        (DOM::HTMLSelectElementImpl::length): ditto.
        (DOM::HTMLSelectElementImpl::remove): ditto.
        (DOM::HTMLSelectElementImpl::value): ditto.
        (DOM::HTMLSelectElementImpl::setValue): ditto.
        (DOM::HTMLSelectElementImpl::state): ditto.
        (DOM::HTMLSelectElementImpl::restoreState): ditto.
        (DOM::HTMLSelectElementImpl::appendFormData): ditto.
        (DOM::HTMLSelectElementImpl::optionToListIndex): ditto.
        (DOM::HTMLSelectElementImpl::listToOptionIndex): ditto.
        (DOM::HTMLSelectElementImpl::reset): ditto.
        (DOM::HTMLSelectElementImpl::notifyOptionSelected): ditto.
        (DOM::HTMLOptionElementImpl::index): ditto.

        * khtml/rendering/render_form.cpp:
        (RenderSelect::updateFromElement): If the list item is an <hr>, and we're not using a ListBox, then we call appendSeparator on the widget.  
        (RenderSelect::layout): Updated type for array of listItems.
        (RenderSelect::slotSelected): ditto.
        (RenderSelect::slotSelectionChanged): ditto.
        (RenderSelect::updateSelection): ditto.

        * kwq/KWQListBox.h: Added ItemType enum with the following values: Option, GroupLabel, and Separator.
        (KWQListBoxItem::KWQListBoxItem): Updated to use ItemType instead of old isGroupLabel bool.
        (QListBox::appendItem): ditto.
        (QListBox::appendGroupLabel): ditto.

        * kwq/KWQComboBox.h:
        (QComboBox::appendItem): the private version of appendItem used to take isLabel as a parameter.  Now it takes an ItemType.
        (QComboBox::appendGroupLabel): calls appendItem with an ItemType of GroupLabel
        (QComboBox::appendSeparator): calls appendItem with an ItemType of Separator

        * kwq/KWQComboBox.mm:
        (QComboBox::setTitle): Updated to check for the ItemType instead of the old isGroupLabel bool.
        (QComboBox::appendItem): If the new item is a Separator, then we add a separatorItem to the popup menu.
        (QComboBox::sizeHint): Updated to check for the ItemType instead of the old isGroupLabel bool.
        (QComboBox::populateMenu): If the new item is a Separator, then we add a separatorItem to the popup menu.

        * kwq/KWQListBox.mm:
        (QListBox::appendItem): Updated to use the ItemType instead of the old isLabel bool.
        (QListBox::sizeForNumberOfLines): ditto.
        (-[KWQTableView tableView:shouldSelectRow:]): ditto.
        (-[KWQTableView drawRow:clipRect:]): ditto.

2005-09-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4672
          Incorrect highlight when selection begins with space and word-spacing>0

        Test cases added:
        * manual-tests/word-spacing-highlight.html: Added.

        * khtml/rendering/render_text.h: (InlineTextBox::textObject): Made inline.
        * khtml/rendering/render_text.cpp: (InlineTextBox::selectionRect): Add word
        spacing in as necessary when computing the rect.

2005-09-01  Eric Seidel  <eseidel@apple.com>

        Removing unused files from SVG repository, no review requested.

        * ksvg2/dom/SVGAElement.cpp: Removed.
        * ksvg2/dom/SVGAElement.h: Removed.
        * ksvg2/dom/SVGAngle.cpp: Removed.
        * ksvg2/dom/SVGAngle.h: Removed.
        * ksvg2/dom/SVGAnimateColorElement.cpp: Removed.
        * ksvg2/dom/SVGAnimateColorElement.h: Removed.
        * ksvg2/dom/SVGAnimateElement.cpp: Removed.
        * ksvg2/dom/SVGAnimateElement.h: Removed.
        * ksvg2/dom/SVGAnimateTransformElement.cpp: Removed.
        * ksvg2/dom/SVGAnimateTransformElement.h: Removed.
        * ksvg2/dom/SVGAnimatedAngle.cpp: Removed.
        * ksvg2/dom/SVGAnimatedAngle.h: Removed.
        * ksvg2/dom/SVGAnimatedBoolean.cpp: Removed.
        * ksvg2/dom/SVGAnimatedBoolean.h: Removed.
        * ksvg2/dom/SVGAnimatedEnumeration.cpp: Removed.
        * ksvg2/dom/SVGAnimatedEnumeration.h: Removed.
        * ksvg2/dom/SVGAnimatedInteger.cpp: Removed.
        * ksvg2/dom/SVGAnimatedInteger.h: Removed.
        * ksvg2/dom/SVGAnimatedLength.cpp: Removed.
        * ksvg2/dom/SVGAnimatedLength.h: Removed.
        * ksvg2/dom/SVGAnimatedLengthList.cpp: Removed.
        * ksvg2/dom/SVGAnimatedLengthList.h: Removed.
        * ksvg2/dom/SVGAnimatedNumber.cpp: Removed.
        * ksvg2/dom/SVGAnimatedNumber.h: Removed.
        * ksvg2/dom/SVGAnimatedNumberList.cpp: Removed.
        * ksvg2/dom/SVGAnimatedNumberList.h: Removed.
        * ksvg2/dom/SVGAnimatedPathData.cpp: Removed.
        * ksvg2/dom/SVGAnimatedPathData.h: Removed.
        * ksvg2/dom/SVGAnimatedPoints.cpp: Removed.
        * ksvg2/dom/SVGAnimatedPoints.h: Removed.
        * ksvg2/dom/SVGAnimatedPreserveAspectRatio.cpp: Removed.
        * ksvg2/dom/SVGAnimatedPreserveAspectRatio.h: Removed.
        * ksvg2/dom/SVGAnimatedRect.cpp: Removed.
        * ksvg2/dom/SVGAnimatedRect.h: Removed.
        * ksvg2/dom/SVGAnimatedString.cpp: Removed.
        * ksvg2/dom/SVGAnimatedString.h: Removed.
        * ksvg2/dom/SVGAnimatedTransformList.cpp: Removed.
        * ksvg2/dom/SVGAnimatedTransformList.h: Removed.
        * ksvg2/dom/SVGAnimationElement.cpp: Removed.
        * ksvg2/dom/SVGAnimationElement.h: Removed.
        * ksvg2/dom/SVGCircleElement.cpp: Removed.
        * ksvg2/dom/SVGCircleElement.h: Removed.
        * ksvg2/dom/SVGClipPathElement.cpp: Removed.
        * ksvg2/dom/SVGClipPathElement.h: Removed.
        * ksvg2/dom/SVGColor.cpp: Removed.
        * ksvg2/dom/SVGColor.h: Removed.
        * ksvg2/dom/SVGComponentTransferFunctionElement.cpp: Removed.
        * ksvg2/dom/SVGComponentTransferFunctionElement.h: Removed.
        * ksvg2/dom/SVGDOMImplementation.cpp: Removed.
        * ksvg2/dom/SVGDOMImplementation.h: Removed.
        * ksvg2/dom/SVGDefsElement.cpp: Removed.
        * ksvg2/dom/SVGDefsElement.h: Removed.
        * ksvg2/dom/SVGDescElement.cpp: Removed.
        * ksvg2/dom/SVGDescElement.h: Removed.
        * ksvg2/dom/SVGDocument.cpp: Removed.
        * ksvg2/dom/SVGDocument.h: Removed.
        * ksvg2/dom/SVGElement.cpp: Removed.
        * ksvg2/dom/SVGElement.h: Removed.
        * ksvg2/dom/SVGElementInstance.cpp: Removed.
        * ksvg2/dom/SVGElementInstance.h: Removed.
        * ksvg2/dom/SVGElementInstanceList.cpp: Removed.
        * ksvg2/dom/SVGElementInstanceList.h: Removed.
        * ksvg2/dom/SVGEllipseElement.cpp: Removed.
        * ksvg2/dom/SVGEllipseElement.h: Removed.
        * ksvg2/dom/SVGException.cpp: Removed.
        * ksvg2/dom/SVGException.h: Removed.
        * ksvg2/dom/SVGExternalResourcesRequired.cpp: Removed.
        * ksvg2/dom/SVGExternalResourcesRequired.h: Removed.
        * ksvg2/dom/SVGFEBlendElement.cpp: Removed.
        * ksvg2/dom/SVGFEBlendElement.h: Removed.
        * ksvg2/dom/SVGFEColorMatrixElement.cpp: Removed.
        * ksvg2/dom/SVGFEColorMatrixElement.h: Removed.
        * ksvg2/dom/SVGFEComponentTransferElement.cpp: Removed.
        * ksvg2/dom/SVGFEComponentTransferElement.h: Removed.
        * ksvg2/dom/SVGFECompositeElement.cpp: Removed.
        * ksvg2/dom/SVGFECompositeElement.h: Removed.
        * ksvg2/dom/SVGFEFloodElement.cpp: Removed.
        * ksvg2/dom/SVGFEFloodElement.h: Removed.
        * ksvg2/dom/SVGFEFuncAElement.cpp: Removed.
        * ksvg2/dom/SVGFEFuncAElement.h: Removed.
        * ksvg2/dom/SVGFEFuncBElement.cpp: Removed.
        * ksvg2/dom/SVGFEFuncBElement.h: Removed.
        * ksvg2/dom/SVGFEFuncGElement.cpp: Removed.
        * ksvg2/dom/SVGFEFuncGElement.h: Removed.
        * ksvg2/dom/SVGFEFuncRElement.cpp: Removed.
        * ksvg2/dom/SVGFEFuncRElement.h: Removed.
        * ksvg2/dom/SVGFEGaussianBlurElement.cpp: Removed.
        * ksvg2/dom/SVGFEGaussianBlurElement.h: Removed.
        * ksvg2/dom/SVGFEImageElement.cpp: Removed.
        * ksvg2/dom/SVGFEImageElement.h: Removed.
        * ksvg2/dom/SVGFEMergeElement.cpp: Removed.
        * ksvg2/dom/SVGFEMergeElement.h: Removed.
        * ksvg2/dom/SVGFEMergeNodeElement.cpp: Removed.
        * ksvg2/dom/SVGFEMergeNodeElement.h: Removed.
        * ksvg2/dom/SVGFEOffsetElement.cpp: Removed.
        * ksvg2/dom/SVGFEOffsetElement.h: Removed.
        * ksvg2/dom/SVGFETileElement.cpp: Removed.
        * ksvg2/dom/SVGFETileElement.h: Removed.
        * ksvg2/dom/SVGFETurbulenceElement.cpp: Removed.
        * ksvg2/dom/SVGFETurbulenceElement.h: Removed.
        * ksvg2/dom/SVGFilterElement.cpp: Removed.
        * ksvg2/dom/SVGFilterElement.h: Removed.
        * ksvg2/dom/SVGFilterPrimitiveStandardAttributes.cpp: Removed.
        * ksvg2/dom/SVGFilterPrimitiveStandardAttributes.h: Removed.
        * ksvg2/dom/SVGFitToViewBox.cpp: Removed.
        * ksvg2/dom/SVGFitToViewBox.h: Removed.
        * ksvg2/dom/SVGGElement.cpp: Removed.
        * ksvg2/dom/SVGGElement.h: Removed.
        * ksvg2/dom/SVGGradientElement.cpp: Removed.
        * ksvg2/dom/SVGGradientElement.h: Removed.
        * ksvg2/dom/SVGImageElement.cpp: Removed.
        * ksvg2/dom/SVGImageElement.h: Removed.
        * ksvg2/dom/SVGLangSpace.cpp: Removed.
        * ksvg2/dom/SVGLangSpace.h: Removed.
        * ksvg2/dom/SVGLength.cpp: Removed.
        * ksvg2/dom/SVGLength.h: Removed.
        * ksvg2/dom/SVGLengthList.cpp: Removed.
        * ksvg2/dom/SVGLengthList.h: Removed.
        * ksvg2/dom/SVGLineElement.cpp: Removed.
        * ksvg2/dom/SVGLineElement.h: Removed.
        * ksvg2/dom/SVGLinearGradientElement.cpp: Removed.
        * ksvg2/dom/SVGLinearGradientElement.h: Removed.
        * ksvg2/dom/SVGLocatable.cpp: Removed.
        * ksvg2/dom/SVGLocatable.h: Removed.
        * ksvg2/dom/SVGMarkerElement.cpp: Removed.
        * ksvg2/dom/SVGMarkerElement.h: Removed.
        * ksvg2/dom/SVGMatrix.cpp: Removed.
        * ksvg2/dom/SVGMatrix.h: Removed.
        * ksvg2/dom/SVGNumber.cpp: Removed.
        * ksvg2/dom/SVGNumber.h: Removed.
        * ksvg2/dom/SVGNumberList.cpp: Removed.
        * ksvg2/dom/SVGNumberList.h: Removed.
        * ksvg2/dom/SVGPaint.cpp: Removed.
        * ksvg2/dom/SVGPaint.h: Removed.
        * ksvg2/dom/SVGPathElement.cpp: Removed.
        * ksvg2/dom/SVGPathElement.h: Removed.
        * ksvg2/dom/SVGPathSeg.cpp: Removed.
        * ksvg2/dom/SVGPathSeg.h: Removed.
        * ksvg2/dom/SVGPathSegArc.cpp: Removed.
        * ksvg2/dom/SVGPathSegArc.h: Removed.
        * ksvg2/dom/SVGPathSegClosePath.cpp: Removed.
        * ksvg2/dom/SVGPathSegClosePath.h: Removed.
        * ksvg2/dom/SVGPathSegCurvetoCubic.cpp: Removed.
        * ksvg2/dom/SVGPathSegCurvetoCubic.h: Removed.
        * ksvg2/dom/SVGPathSegCurvetoCubicSmooth.cpp: Removed.
        * ksvg2/dom/SVGPathSegCurvetoCubicSmooth.h: Removed.
        * ksvg2/dom/SVGPathSegCurvetoQuadratic.cpp: Removed.
        * ksvg2/dom/SVGPathSegCurvetoQuadratic.h: Removed.
        * ksvg2/dom/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed.
        * ksvg2/dom/SVGPathSegCurvetoQuadraticSmooth.h: Removed.
        * ksvg2/dom/SVGPathSegLineto.cpp: Removed.
        * ksvg2/dom/SVGPathSegLineto.h: Removed.
        * ksvg2/dom/SVGPathSegLinetoHorizontal.cpp: Removed.
        * ksvg2/dom/SVGPathSegLinetoHorizontal.h: Removed.
        * ksvg2/dom/SVGPathSegLinetoVertical.cpp: Removed.
        * ksvg2/dom/SVGPathSegLinetoVertical.h: Removed.
        * ksvg2/dom/SVGPathSegList.cpp: Removed.
        * ksvg2/dom/SVGPathSegList.h: Removed.
        * ksvg2/dom/SVGPathSegMoveto.cpp: Removed.
        * ksvg2/dom/SVGPathSegMoveto.h: Removed.
        * ksvg2/dom/SVGPatternElement.cpp: Removed.
        * ksvg2/dom/SVGPatternElement.h: Removed.
        * ksvg2/dom/SVGPoint.cpp: Removed.
        * ksvg2/dom/SVGPoint.h: Removed.
        * ksvg2/dom/SVGPointList.cpp: Removed.
        * ksvg2/dom/SVGPointList.h: Removed.
        * ksvg2/dom/SVGPolygonElement.cpp: Removed.
        * ksvg2/dom/SVGPolygonElement.h: Removed.
        * ksvg2/dom/SVGPolylineElement.cpp: Removed.
        * ksvg2/dom/SVGPolylineElement.h: Removed.
        * ksvg2/dom/SVGPreserveAspectRatio.cpp: Removed.
        * ksvg2/dom/SVGPreserveAspectRatio.h: Removed.
        * ksvg2/dom/SVGRadialGradientElement.cpp: Removed.
        * ksvg2/dom/SVGRadialGradientElement.h: Removed.
        * ksvg2/dom/SVGRect.cpp: Removed.
        * ksvg2/dom/SVGRect.h: Removed.
        * ksvg2/dom/SVGRectElement.cpp: Removed.
        * ksvg2/dom/SVGRectElement.h: Removed.
        * ksvg2/dom/SVGSVGElement.cpp: Removed.
        * ksvg2/dom/SVGSVGElement.h: Removed.
        * ksvg2/dom/SVGScriptElement.cpp: Removed.
        * ksvg2/dom/SVGScriptElement.h: Removed.
        * ksvg2/dom/SVGSetElement.cpp: Removed.
        * ksvg2/dom/SVGSetElement.h: Removed.
        * ksvg2/dom/SVGStopElement.cpp: Removed.
        * ksvg2/dom/SVGStopElement.h: Removed.
        * ksvg2/dom/SVGStringList.cpp: Removed.
        * ksvg2/dom/SVGStringList.h: Removed.
        * ksvg2/dom/SVGStylable.cpp: Removed.
        * ksvg2/dom/SVGStylable.h: Removed.
        * ksvg2/dom/SVGStyleElement.cpp: Removed.
        * ksvg2/dom/SVGStyleElement.h: Removed.
        * ksvg2/dom/SVGSwitchElement.cpp: Removed.
        * ksvg2/dom/SVGSwitchElement.h: Removed.
        * ksvg2/dom/SVGSymbolElement.cpp: Removed.
        * ksvg2/dom/SVGSymbolElement.h: Removed.
        * ksvg2/dom/SVGTSpanElement.cpp: Removed.
        * ksvg2/dom/SVGTSpanElement.h: Removed.
        * ksvg2/dom/SVGTests.cpp: Removed.
        * ksvg2/dom/SVGTests.h: Removed.
        * ksvg2/dom/SVGTextContentElement.cpp: Removed.
        * ksvg2/dom/SVGTextContentElement.h: Removed.
        * ksvg2/dom/SVGTextElement.cpp: Removed.
        * ksvg2/dom/SVGTextElement.h: Removed.
        * ksvg2/dom/SVGTextPositioningElement.cpp: Removed.
        * ksvg2/dom/SVGTextPositioningElement.h: Removed.
        * ksvg2/dom/SVGTitleElement.cpp: Removed.
        * ksvg2/dom/SVGTitleElement.h: Removed.
        * ksvg2/dom/SVGTransform.cpp: Removed.
        * ksvg2/dom/SVGTransform.h: Removed.
        * ksvg2/dom/SVGTransformList.cpp: Removed.
        * ksvg2/dom/SVGTransformList.h: Removed.
        * ksvg2/dom/SVGTransformable.cpp: Removed.
        * ksvg2/dom/SVGTransformable.h: Removed.
        * ksvg2/dom/SVGURIReference.cpp: Removed.
        * ksvg2/dom/SVGURIReference.h: Removed.
        * ksvg2/dom/SVGUseElement.cpp: Removed.
        * ksvg2/dom/SVGUseElement.h: Removed.
        * ksvg2/dom/SVGViewElement.cpp: Removed.
        * ksvg2/dom/SVGViewElement.h: Removed.
        * ksvg2/dom/SVGZoomAndPan.cpp: Removed.
        * ksvg2/dom/SVGZoomAndPan.h: Removed.
        * ksvg2/events/SVGEvent.cpp: Removed.
        * ksvg2/events/SVGEvent.h: Removed.
        * ksvg2/events/SVGZoomEvent.cpp: Removed.
        * ksvg2/events/SVGZoomEvent.h: Removed.

2005-09-01  Eric Seidel  <eseidel@apple.com>

        Reviewed by mjs.

        * WebCore+SVG/DrawCanvasItem.mm: header include changes.
        * WebCore+SVG/DrawDocument.mm:
        * WebCore.xcodeproj/project.pbxproj:
        * kcanvas/KCanvasTreeDebug.cpp:
        * kdom/cache/KDOMLoader.cpp:
        * kdom/core/AttrImpl.h:
        * kdom/core/CDATASectionImpl.h:
        * kdom/core/CDFInterface.cpp:
        * kdom/core/CDFInterface.h:
        * kdom/core/CharacterDataImpl.h:
        * kdom/core/CommentImpl.h:
        * kdom/core/DOMConfigurationImpl.h:
        * kdom/core/DOMImplementationImpl.cpp:
        * kdom/core/DocumentFragmentImpl.h:
        * kdom/core/DocumentImpl.cpp:
        * kdom/core/DocumentImpl.h:
        * kdom/core/DocumentTypeImpl.h:
        * kdom/core/ElementImpl.h:
        * kdom/core/EntityImpl.h:
        * kdom/core/EntityReferenceImpl.h:
        * kdom/core/NamedAttrMapImpl.h:
        * kdom/core/NamedNodeMapImpl.h:
        * kdom/core/NodeImpl.h:
        * kdom/core/NotationImpl.h:
        * kdom/core/ProcessingInstructionImpl.h:
        * kdom/core/TagNodeListImpl.h:
        * kdom/core/TextImpl.h:
        * kdom/core/XMLElementImpl.h:
        * kdom/css/CSSCharsetRuleImpl.h:
        * kdom/css/CSSFontFaceRuleImpl.h:
        * kdom/css/CSSHelper.h:
        * kdom/css/CSSImageValueImpl.cpp:
        * kdom/css/CSSImageValueImpl.h:
        * kdom/css/CSSImportRuleImpl.h:
        * kdom/css/CSSMediaRuleImpl.h:
        * kdom/css/CSSPageRuleImpl.h:
        * kdom/css/CSSPrimitiveValueImpl.cpp:
        * kdom/css/CSSPrimitiveValueImpl.h:
        * kdom/css/CSSRuleImpl.h:
        * kdom/css/CSSStyleDeclarationImpl.cpp:
        * kdom/css/CSSStyleDeclarationImpl.h:
        * kdom/css/CSSStyleRuleImpl.h:
        * kdom/css/CSSStyleSelector.cpp:
        * kdom/css/CSSStyleSelector.h:
        * kdom/css/CSSStyleSheetImpl.h:
        * kdom/css/CSSUnknownRuleImpl.h:
        * kdom/css/CSSValueImpl.h:
        * kdom/css/CSSValueListImpl.h:
        * kdom/css/DocumentCSSImpl.h:
        * kdom/css/KDOMCSSParser.cpp:
        * kdom/css/KDOMCSSParser.h:
        * kdom/css/MediaListImpl.h:
        * kdom/css/RenderStyle.h:
        * kdom/css/RenderStyleDefs.h:
        * kdom/css/StyleBaseImpl.cpp:
        * kdom/css/StyleBaseImpl.h:
        * kdom/css/StyleSheetImpl.h:
        * kdom/css/kdomparsercss.y:
        * kdom/events/EventListenerImpl.h:
        * kdom/events/KeyboardEventImpl.h:
        * kdom/events/MouseEventImpl.h:
        * kdom/events/MutationEventImpl.h:
        * kdom/events/UIEventImpl.h:
        * kdom/ls/LSParserImpl.h:
        * kdom/ls/LSSerializerFilterImpl.h:
        * kdom/parser/KDOMParser.h:
        * kdom/range/DocumentRangeImpl.cpp:
        * kdom/traversal/NodeIteratorImpl.h:
        * kdom/traversal/TreeWalkerImpl.h:
        * kdom/xpath/XPathNamespaceImpl.h:
        * ksvg2/css/KSVGCSSParser.cpp:
        * ksvg2/css/KSVGCSSParser.h:
        * ksvg2/css/SVGCSSStyleDeclarationImpl.cpp:
        * ksvg2/css/SVGCSSStyleDeclarationImpl.h:
        * ksvg2/css/SVGCSSStyleSelector.cpp:
        * ksvg2/css/SVGCSSStyleSelector.h:
        * ksvg2/css/SVGCSSStyleSheetImpl.h:
        * ksvg2/css/SVGRenderStyle.h:
        * ksvg2/ecma/Ecma.cpp:
        * ksvg2/ecma/GlobalObject.cpp:
        * ksvg2/events/SVGEvent.cpp:
        * ksvg2/events/SVGEventImpl.h:
        * ksvg2/events/SVGZoomEvent.cpp:
        * ksvg2/events/SVGZoomEventImpl.h:
        * ksvg2/misc/KCanvasRenderingStyle.cpp:
        * ksvg2/misc/KCanvasRenderingStyle.h:
        * ksvg2/svg/CDFInterface.cpp:
        * ksvg2/svg/CDFInterface.h:
        * ksvg2/svg/SVGAElementImpl.cpp:
        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
        * ksvg2/svg/SVGAnimationElementImpl.cpp:
        * ksvg2/svg/SVGCircleElementImpl.cpp:
        * ksvg2/svg/SVGClipPathElementImpl.cpp:
        * ksvg2/svg/SVGColorImpl.cpp:
        * ksvg2/svg/SVGColorImpl.h:
        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
        * ksvg2/svg/SVGDOMImplementationImpl.h:
        * ksvg2/svg/SVGDocumentImpl.cpp:
        * ksvg2/svg/SVGDocumentImpl.h:
        * ksvg2/svg/SVGElementImpl.cpp:
        * ksvg2/svg/SVGElementImpl.h:
        * ksvg2/svg/SVGElementInstanceImpl.h:
        * ksvg2/svg/SVGEllipseElementImpl.cpp:
        * ksvg2/svg/SVGExternalResourcesRequiredImpl.cpp:
        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
        * ksvg2/svg/SVGFEImageElementImpl.cpp:
        * ksvg2/svg/SVGFEMergeElementImpl.cpp:
        * ksvg2/svg/SVGFEMergeNodeElementImpl.cpp:
        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
        * ksvg2/svg/SVGFETileElementImpl.cpp:
        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
        * ksvg2/svg/SVGFilterElementImpl.cpp:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
        * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
        * ksvg2/svg/SVGGradientElementImpl.cpp:
        * ksvg2/svg/SVGImageElementImpl.cpp:
        * ksvg2/svg/SVGLangSpaceImpl.cpp:
        * ksvg2/svg/SVGLengthImpl.h:
        * ksvg2/svg/SVGLineElementImpl.cpp:
        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
        * ksvg2/svg/SVGList.h:
        * ksvg2/svg/SVGMarkerElementImpl.cpp:
        * ksvg2/svg/SVGPathElementImpl.cpp:
        * ksvg2/svg/SVGPathSegClosePathImpl.h:
        * ksvg2/svg/SVGPathSegImpl.h:
        * ksvg2/svg/SVGPathSegLinetoHorizontalImpl.h:
        * ksvg2/svg/SVGPathSegLinetoImpl.h:
        * ksvg2/svg/SVGPathSegLinetoVerticalImpl.h:
        * ksvg2/svg/SVGPathSegMovetoImpl.h:
        * ksvg2/svg/SVGPatternElementImpl.cpp:
        * ksvg2/svg/SVGPolyElementImpl.cpp:
        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
        * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
        * ksvg2/svg/SVGRectElementImpl.cpp:
        * ksvg2/svg/SVGSVGElementImpl.cpp:
        * ksvg2/svg/SVGSVGElementImpl.h:
        * ksvg2/svg/SVGScriptElementImpl.cpp:
        * ksvg2/svg/SVGStopElementImpl.cpp:
        * ksvg2/svg/SVGStringListImpl.h:
        * ksvg2/svg/SVGStyleElementImpl.cpp:
        * ksvg2/svg/SVGStyledElementImpl.cpp:
        * ksvg2/svg/SVGStyledElementImpl.h:
        * ksvg2/svg/SVGSwitchElementImpl.cpp:
        * ksvg2/svg/SVGTestsImpl.cpp:
        * ksvg2/svg/SVGTextContentElementImpl.cpp:
        * ksvg2/svg/SVGTextPositioningElementImpl.cpp:
        * ksvg2/svg/SVGTransformableImpl.cpp:
        * ksvg2/svg/SVGURIReferenceImpl.cpp:
        * ksvg2/svg/SVGUseElementImpl.cpp:
        * ksvg2/svg/SVGViewElementImpl.cpp:
        * ksvg2/svg/SVGZoomAndPanImpl.cpp:
        I renamed:
        kdom/impl -> kdom/core
        kdom/css/impl/* -> kdom/css/*
        kdom/css/impl/* -> kdom/css/*
        kdom/ls/impl/* -> kdom/ls/*
        kdom/events/impl/* -> kdom/events/*
        kdom/range/impl/* -> kdom/range/*
        kdom/traversal/impl/* -> kdom/traversal/*
        ksvg2/core -> ksvg2/misc
        kdom/impl -> kdom/svg
        ksvg2/css/impl/* -> ksvg2/css/*
        ksvg2/events/impl/* -> ksvg2/events/*
        And made all the necessary header include and project file changes.
        This now brings our source tree fully up-to-date with all the
        recent kdom/ksvg2 file re-orgs (which were done per our request).
        http://bugs.webkit.org/show_bug.cgi?id=4790

2005-09-01  Eric Seidel  <eseidel@apple.com>

        Rubber stamped by mjs.

        Replaced tabs with spaces throughout all of SVGSupport, excepting
        kdom/xpath upon specific request of the kdom/xpath maintainer.
        http://bugs.webkit.org/show_bug.cgi?id=4752

2005-08-31  Maciej Stachowiak  <mjs@apple.com>

        - update test results for Mitz's recent border AA change

        * layout-tests/css1/basic/class_as_selector-expected.checksum:
        * layout-tests/css1/basic/class_as_selector-expected.png:
        * layout-tests/css1/basic/comments-expected.checksum:
        * layout-tests/css1/basic/comments-expected.png:
        * layout-tests/css1/basic/containment-expected.checksum:
        * layout-tests/css1/basic/containment-expected.png:
        * layout-tests/css1/basic/contextual_selectors-expected.checksum:
        * layout-tests/css1/basic/contextual_selectors-expected.png:
        * layout-tests/css1/basic/grouping-expected.checksum:
        * layout-tests/css1/basic/grouping-expected.png:
        * layout-tests/css1/basic/id_as_selector-expected.checksum:
        * layout-tests/css1/basic/id_as_selector-expected.png:
        * layout-tests/css1/basic/inheritance-expected.checksum:
        * layout-tests/css1/basic/inheritance-expected.png:
        * layout-tests/css1/box_properties/border-expected.checksum:
        * layout-tests/css1/box_properties/border-expected.png:
        * layout-tests/css1/box_properties/border_bottom-expected.checksum:
        * layout-tests/css1/box_properties/border_bottom-expected.png:
        * layout-tests/css1/box_properties/border_bottom_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_bottom_inline-expected.png:
        * layout-tests/css1/box_properties/border_bottom_width-expected.checksum:
        * layout-tests/css1/box_properties/border_bottom_width-expected.png:
        * layout-tests/css1/box_properties/border_bottom_width_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_bottom_width_inline-expected.png:
        * layout-tests/css1/box_properties/border_color-expected.checksum:
        * layout-tests/css1/box_properties/border_color-expected.png:
        * layout-tests/css1/box_properties/border_color_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_color_inline-expected.png:
        * layout-tests/css1/box_properties/border_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_inline-expected.png:
        * layout-tests/css1/box_properties/border_left-expected.checksum:
        * layout-tests/css1/box_properties/border_left-expected.png:
        * layout-tests/css1/box_properties/border_left_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_left_inline-expected.png:
        * layout-tests/css1/box_properties/border_left_width-expected.checksum:
        * layout-tests/css1/box_properties/border_left_width-expected.png:
        * layout-tests/css1/box_properties/border_left_width_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_left_width_inline-expected.png:
        * layout-tests/css1/box_properties/border_right-expected.checksum:
        * layout-tests/css1/box_properties/border_right-expected.png:
        * layout-tests/css1/box_properties/border_right_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_right_inline-expected.png:
        * layout-tests/css1/box_properties/border_right_width-expected.checksum:
        * layout-tests/css1/box_properties/border_right_width-expected.png:
        * layout-tests/css1/box_properties/border_right_width_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_right_width_inline-expected.png:
        * layout-tests/css1/box_properties/border_style-expected.checksum:
        * layout-tests/css1/box_properties/border_style-expected.png:
        * layout-tests/css1/box_properties/border_style_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_style_inline-expected.png:
        * layout-tests/css1/box_properties/border_top-expected.checksum:
        * layout-tests/css1/box_properties/border_top-expected.png:
        * layout-tests/css1/box_properties/border_top_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_top_inline-expected.png:
        * layout-tests/css1/box_properties/border_top_width-expected.checksum:
        * layout-tests/css1/box_properties/border_top_width-expected.png:
        * layout-tests/css1/box_properties/border_top_width_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_top_width_inline-expected.png:
        * layout-tests/css1/box_properties/border_width-expected.checksum:
        * layout-tests/css1/box_properties/border_width-expected.png:
        * layout-tests/css1/box_properties/border_width_inline-expected.checksum:
        * layout-tests/css1/box_properties/border_width_inline-expected.png:
        * layout-tests/css1/box_properties/clear-expected.checksum:
        * layout-tests/css1/box_properties/clear-expected.png:
        * layout-tests/css1/box_properties/clear_float-expected.checksum:
        * layout-tests/css1/box_properties/clear_float-expected.png:
        * layout-tests/css1/box_properties/float-expected.checksum:
        * layout-tests/css1/box_properties/float-expected.png:
        * layout-tests/css1/box_properties/float_elements_in_series-expected.checksum:
        * layout-tests/css1/box_properties/float_elements_in_series-expected.png:
        * layout-tests/css1/box_properties/float_margin-expected.checksum:
        * layout-tests/css1/box_properties/float_margin-expected.png:
        * layout-tests/css1/box_properties/float_on_text_elements-expected.checksum:
        * layout-tests/css1/box_properties/float_on_text_elements-expected.png:
        * layout-tests/css1/box_properties/height-expected.checksum:
        * layout-tests/css1/box_properties/height-expected.png:
        * layout-tests/css1/box_properties/margin-expected.checksum:
        * layout-tests/css1/box_properties/margin-expected.png:
        * layout-tests/css1/box_properties/margin_bottom-expected.checksum:
        * layout-tests/css1/box_properties/margin_bottom-expected.png:
        * layout-tests/css1/box_properties/margin_bottom_inline-expected.checksum:
        * layout-tests/css1/box_properties/margin_bottom_inline-expected.png:
        * layout-tests/css1/box_properties/margin_inline-expected.checksum:
        * layout-tests/css1/box_properties/margin_inline-expected.png:
        * layout-tests/css1/box_properties/margin_left-expected.checksum:
        * layout-tests/css1/box_properties/margin_left-expected.png:
        * layout-tests/css1/box_properties/margin_left_inline-expected.checksum:
        * layout-tests/css1/box_properties/margin_left_inline-expected.png:
        * layout-tests/css1/box_properties/margin_right-expected.checksum:
        * layout-tests/css1/box_properties/margin_right-expected.png:
        * layout-tests/css1/box_properties/margin_right_inline-expected.checksum:
        * layout-tests/css1/box_properties/margin_right_inline-expected.png:
        * layout-tests/css1/box_properties/margin_top-expected.checksum:
        * layout-tests/css1/box_properties/margin_top-expected.png:
        * layout-tests/css1/box_properties/margin_top_inline-expected.checksum:
        * layout-tests/css1/box_properties/margin_top_inline-expected.png:
        * layout-tests/css1/box_properties/padding-expected.checksum:
        * layout-tests/css1/box_properties/padding-expected.png:
        * layout-tests/css1/box_properties/padding_bottom-expected.checksum:
        * layout-tests/css1/box_properties/padding_bottom-expected.png:
        * layout-tests/css1/box_properties/padding_bottom_inline-expected.checksum:
        * layout-tests/css1/box_properties/padding_bottom_inline-expected.png:
        * layout-tests/css1/box_properties/padding_inline-expected.checksum:
        * layout-tests/css1/box_properties/padding_inline-expected.png:
        * layout-tests/css1/box_properties/padding_left-expected.checksum:
        * layout-tests/css1/box_properties/padding_left-expected.png:
        * layout-tests/css1/box_properties/padding_left_inline-expected.checksum:
        * layout-tests/css1/box_properties/padding_left_inline-expected.png:
        * layout-tests/css1/box_properties/padding_right-expected.checksum:
        * layout-tests/css1/box_properties/padding_right-expected.png:
        * layout-tests/css1/box_properties/padding_right_inline-expected.checksum:
        * layout-tests/css1/box_properties/padding_right_inline-expected.png:
        * layout-tests/css1/box_properties/padding_top-expected.checksum:
        * layout-tests/css1/box_properties/padding_top-expected.png:
        * layout-tests/css1/box_properties/padding_top_inline-expected.checksum:
        * layout-tests/css1/box_properties/padding_top_inline-expected.png:
        * layout-tests/css1/box_properties/width-expected.checksum:
        * layout-tests/css1/box_properties/width-expected.png:
        * layout-tests/css1/cascade/cascade_order-expected.checksum:
        * layout-tests/css1/cascade/cascade_order-expected.png:
        * layout-tests/css1/cascade/important-expected.checksum:
        * layout-tests/css1/cascade/important-expected.png:
        * layout-tests/css1/classification/display-expected.checksum:
        * layout-tests/css1/classification/display-expected.png:
        * layout-tests/css1/classification/list_style-expected.checksum:
        * layout-tests/css1/classification/list_style-expected.png:
        * layout-tests/css1/classification/list_style_image-expected.checksum:
        * layout-tests/css1/classification/list_style_image-expected.png:
        * layout-tests/css1/classification/list_style_position-expected.checksum:
        * layout-tests/css1/classification/list_style_position-expected.png:
        * layout-tests/css1/classification/list_style_type-expected.checksum:
        * layout-tests/css1/classification/list_style_type-expected.png:
        * layout-tests/css1/classification/white_space-expected.checksum:
        * layout-tests/css1/classification/white_space-expected.png:
        * layout-tests/css1/color_and_background/background-expected.checksum:
        * layout-tests/css1/color_and_background/background-expected.png:
        * layout-tests/css1/color_and_background/background_attachment-expected.checksum:
        * layout-tests/css1/color_and_background/background_attachment-expected.png:
        * layout-tests/css1/color_and_background/background_color-expected.checksum:
        * layout-tests/css1/color_and_background/background_color-expected.png:
        * layout-tests/css1/color_and_background/background_image-expected.checksum:
        * layout-tests/css1/color_and_background/background_image-expected.png:
        * layout-tests/css1/color_and_background/background_position-expected.checksum:
        * layout-tests/css1/color_and_background/background_position-expected.png:
        * layout-tests/css1/color_and_background/background_repeat-expected.checksum:
        * layout-tests/css1/color_and_background/background_repeat-expected.png:
        * layout-tests/css1/color_and_background/color-expected.checksum:
        * layout-tests/css1/color_and_background/color-expected.png:
        * layout-tests/css1/font_properties/font-expected.checksum:
        * layout-tests/css1/font_properties/font-expected.png:
        * layout-tests/css1/font_properties/font_family-expected.checksum:
        * layout-tests/css1/font_properties/font_family-expected.png:
        * layout-tests/css1/font_properties/font_size-expected.checksum:
        * layout-tests/css1/font_properties/font_size-expected.png:
        * layout-tests/css1/font_properties/font_style-expected.checksum:
        * layout-tests/css1/font_properties/font_style-expected.png:
        * layout-tests/css1/font_properties/font_variant-expected.checksum:
        * layout-tests/css1/font_properties/font_variant-expected.png:
        * layout-tests/css1/font_properties/font_weight-expected.checksum:
        * layout-tests/css1/font_properties/font_weight-expected.png:
        * layout-tests/css1/formatting_model/canvas-expected.checksum:
        * layout-tests/css1/formatting_model/canvas-expected.png:
        * layout-tests/css1/formatting_model/floating_elements-expected.checksum:
        * layout-tests/css1/formatting_model/floating_elements-expected.png:
        * layout-tests/css1/formatting_model/height_of_lines-expected.checksum:
        * layout-tests/css1/formatting_model/height_of_lines-expected.png:
        * layout-tests/css1/formatting_model/inline_elements-expected.checksum:
        * layout-tests/css1/formatting_model/inline_elements-expected.png:
        * layout-tests/css1/formatting_model/replaced_elements-expected.checksum:
        * layout-tests/css1/formatting_model/replaced_elements-expected.png:
        * layout-tests/css1/formatting_model/vertical_formatting-expected.checksum:
        * layout-tests/css1/formatting_model/vertical_formatting-expected.png:
        * layout-tests/css1/pseudo/anchor-expected.checksum:
        * layout-tests/css1/pseudo/anchor-expected.png:
        * layout-tests/css1/pseudo/firstletter-expected.checksum:
        * layout-tests/css1/pseudo/firstletter-expected.png:
        * layout-tests/css1/pseudo/firstline-expected.checksum:
        * layout-tests/css1/pseudo/firstline-expected.png:
        * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.checksum:
        * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.png:
        * layout-tests/css1/pseudo/pseudo_elements_in_selectors-expected.checksum:
        * layout-tests/css1/pseudo/pseudo_elements_in_selectors-expected.png:
        * layout-tests/css1/text_properties/letter_spacing-expected.checksum:
        * layout-tests/css1/text_properties/letter_spacing-expected.png:
        * layout-tests/css1/text_properties/line_height-expected.checksum:
        * layout-tests/css1/text_properties/line_height-expected.png:
        * layout-tests/css1/text_properties/text_align-expected.checksum:
        * layout-tests/css1/text_properties/text_align-expected.png:
        * layout-tests/css1/text_properties/text_decoration-expected.checksum:
        * layout-tests/css1/text_properties/text_decoration-expected.png:
        * layout-tests/css1/text_properties/text_indent-expected.checksum:
        * layout-tests/css1/text_properties/text_indent-expected.png:
        * layout-tests/css1/text_properties/text_transform-expected.checksum:
        * layout-tests/css1/text_properties/text_transform-expected.png:
        * layout-tests/css1/text_properties/vertical_align-expected.checksum:
        * layout-tests/css1/text_properties/vertical_align-expected.png:
        * layout-tests/css1/text_properties/word_spacing-expected.checksum:
        * layout-tests/css1/text_properties/word_spacing-expected.png:
        * layout-tests/css1/units/color_units-expected.checksum:
        * layout-tests/css1/units/color_units-expected.png:
        * layout-tests/css1/units/length_units-expected.checksum:
        * layout-tests/css1/units/length_units-expected.png:
        * layout-tests/css1/units/percentage_units-expected.checksum:
        * layout-tests/css1/units/percentage_units-expected.png:
        * layout-tests/css1/units/urls-expected.checksum:
        * layout-tests/css1/units/urls-expected.png:
        * layout-tests/editing/selection/move-by-line-001-expected.checksum:
        * layout-tests/editing/selection/move-by-line-001-expected.png:
        * layout-tests/editing/unsupported-content/table-type-after-expected.checksum:
        * layout-tests/editing/unsupported-content/table-type-after-expected.png:
        * layout-tests/editing/unsupported-content/table-type-before-expected.checksum:
        * layout-tests/editing/unsupported-content/table-type-before-expected.png:
        * layout-tests/fast/block/basic/018-expected.checksum:
        * layout-tests/fast/block/basic/018-expected.png:
        * layout-tests/fast/block/float/015-expected.checksum:
        * layout-tests/fast/block/float/015-expected.png:
        * layout-tests/fast/block/float/016-expected.checksum:
        * layout-tests/fast/block/float/016-expected.png:
        * layout-tests/fast/block/float/025-expected.checksum:
        * layout-tests/fast/block/float/025-expected.png:
        * layout-tests/fast/block/float/026-expected.checksum:
        * layout-tests/fast/block/float/026-expected.png:
        * layout-tests/fast/block/float/027-expected.checksum:
        * layout-tests/fast/block/float/027-expected.png:
        * layout-tests/fast/block/float/028-expected.checksum:
        * layout-tests/fast/block/float/028-expected.png:
        * layout-tests/fast/css/MarqueeLayoutTest-expected.checksum:
        * layout-tests/fast/css/MarqueeLayoutTest-expected.png:
        * layout-tests/fast/css/apple-prefix-expected.checksum:
        * layout-tests/fast/css/apple-prefix-expected.png:
        * layout-tests/fast/css/list-outline-expected.checksum:
        * layout-tests/fast/css/list-outline-expected.png:
        * layout-tests/fast/dom/HTMLElement/bdo-expected.checksum:
        * layout-tests/fast/dom/HTMLElement/bdo-expected.png:
        * layout-tests/fast/dom/HTMLTableElement/colSpan-expected.checksum:
        * layout-tests/fast/dom/HTMLTableElement/colSpan-expected.png:
        * layout-tests/fast/dom/HTMLTableElement/createCaption-expected.checksum:
        * layout-tests/fast/dom/HTMLTableElement/createCaption-expected.png:
        * layout-tests/fast/dom/clone-node-dynamic-style-expected.checksum:
        * layout-tests/fast/dom/clone-node-dynamic-style-expected.png:
        * layout-tests/fast/dom/row-inner-text-expected.checksum:
        * layout-tests/fast/dom/row-inner-text-expected.png:
        * layout-tests/fast/dynamic/012-expected.checksum:
        * layout-tests/fast/dynamic/012-expected.png:
        * layout-tests/fast/dynamic/013-expected.checksum:
        * layout-tests/fast/dynamic/013-expected.png:
        * layout-tests/fast/encoding/invalid-UTF-8-expected.checksum:
        * layout-tests/fast/encoding/invalid-UTF-8-expected.png:
        * layout-tests/fast/encoding/utf-16-big-endian-expected.checksum:
        * layout-tests/fast/encoding/utf-16-big-endian-expected.png:
        * layout-tests/fast/encoding/utf-16-little-endian-expected.checksum:
        * layout-tests/fast/encoding/utf-16-little-endian-expected.png:
        * layout-tests/fast/forms/001-expected.checksum:
        * layout-tests/fast/forms/001-expected.png:
        * layout-tests/fast/forms/006-expected.checksum:
        * layout-tests/fast/forms/006-expected.png:
        * layout-tests/fast/forms/007-expected.checksum:
        * layout-tests/fast/forms/007-expected.png:
        * layout-tests/fast/forms/input-value-expected.checksum:
        * layout-tests/fast/forms/input-value-expected.png:
        * layout-tests/fast/lists/004-expected.checksum:
        * layout-tests/fast/lists/004-expected.png:
        * layout-tests/fast/overflow/002-expected.checksum:
        * layout-tests/fast/overflow/002-expected.png:
        * layout-tests/fast/replaced/005-expected.checksum:
        * layout-tests/fast/replaced/005-expected.png:
        * layout-tests/fast/selectors/032-expected.checksum:
        * layout-tests/fast/selectors/032-expected.png:
        * layout-tests/fast/selectors/064-expected.checksum:
        * layout-tests/fast/selectors/064-expected.png:
        * layout-tests/fast/selectors/077-expected.checksum:
        * layout-tests/fast/selectors/077-expected.png:
        * layout-tests/fast/selectors/077b-expected.checksum:
        * layout-tests/fast/selectors/077b-expected.png:
        * layout-tests/fast/selectors/078b-expected.checksum:
        * layout-tests/fast/selectors/078b-expected.png:
        * layout-tests/fast/table/003-expected.checksum:
        * layout-tests/fast/table/003-expected.png:
        * layout-tests/fast/table/004-expected.checksum:
        * layout-tests/fast/table/004-expected.png:
        * layout-tests/fast/table/006-expected.checksum:
        * layout-tests/fast/table/006-expected.png:
        * layout-tests/fast/table/007-expected.checksum:
        * layout-tests/fast/table/007-expected.png:
        * layout-tests/fast/table/009-expected.checksum:
        * layout-tests/fast/table/009-expected.png:
        * layout-tests/fast/table/017-expected.checksum:
        * layout-tests/fast/table/017-expected.png:
        * layout-tests/fast/table/018-expected.checksum:
        * layout-tests/fast/table/018-expected.png:
        * layout-tests/fast/table/020-expected.checksum:
        * layout-tests/fast/table/020-expected.png:
        * layout-tests/fast/table/029-expected.checksum:
        * layout-tests/fast/table/029-expected.png:
        * layout-tests/fast/table/030-expected.checksum:
        * layout-tests/fast/table/030-expected.png:
        * layout-tests/fast/table/035-expected.checksum:
        * layout-tests/fast/table/035-expected.png:
        * layout-tests/fast/table/038-expected.checksum:
        * layout-tests/fast/table/038-expected.png:
        * layout-tests/fast/table/039-expected.checksum:
        * layout-tests/fast/table/039-expected.png:
        * layout-tests/fast/table/040-expected.checksum:
        * layout-tests/fast/table/040-expected.png:
        * layout-tests/fast/table/041-expected.checksum:
        * layout-tests/fast/table/041-expected.png:
        * layout-tests/fast/table/empty-table-percent-height-expected.checksum:
        * layout-tests/fast/table/empty-table-percent-height-expected.png:
        * layout-tests/fast/table/large-width-expected.checksum:
        * layout-tests/fast/table/large-width-expected.png:
        * layout-tests/fast/table/multiple-percent-height-rows-expected.checksum:
        * layout-tests/fast/table/multiple-percent-height-rows-expected.png:
        * layout-tests/fast/table/nobr-expected.checksum:
        * layout-tests/fast/table/nobr-expected.png:
        * layout-tests/fast/table/percent-heights-expected.checksum:
        * layout-tests/fast/table/percent-heights-expected.png:
        * layout-tests/fast/table/rowspan-paint-order-expected.checksum:
        * layout-tests/fast/table/rowspan-paint-order-expected.png:
        * layout-tests/fast/text/basic/001-expected.checksum:
        * layout-tests/fast/text/basic/001-expected.png:
        * layout-tests/fast/text/basic/006-expected.checksum:
        * layout-tests/fast/text/basic/006-expected.png:
        * layout-tests/fast/text/basic/007-expected.checksum:
        * layout-tests/fast/text/basic/007-expected.png:
        * layout-tests/fast/text/international/003-expected.checksum:
        * layout-tests/fast/text/international/003-expected.png:
        * layout-tests/fast/text/international/bidi-innertext-expected.checksum:
        * layout-tests/fast/text/international/bidi-innertext-expected.png:
        * layout-tests/fast/text/whitespace/027-expected.checksum:
        * layout-tests/fast/text/whitespace/027-expected.png:

2005-08-31  Alexey Proskuryakov  <ap@nypop.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4560
          Markup in <title> prevents decoder from looking for a charset

	Test cases added: 
        * layout-tests/fast/encoding/tag-in-title.html: Added.
        * layout-tests/fast/encoding/tag-in-title-expected.png: Added.
        * layout-tests/fast/encoding/tag-in-title-expected.txt: Added.

        * khtml/misc/decoder.cpp: (Decoder::decode): Ignore tags within <title>.

2005-08-31  Maciej Stachowiak  <mjs@apple.com>

        - updated pixel test baselines that had the button text off by one - I think
	this was a bug in a 10.4.2 pre-release that I was running

        * layout-tests/fast/forms/001-expected.checksum:
        * layout-tests/fast/forms/001-expected.png:
        * layout-tests/fast/forms/input-value-expected.checksum:
        * layout-tests/fast/forms/input-value-expected.png:

2005-08-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed, tweaked, and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4626
          bidi-fallback-font-weight test requires font that's not part of default OS X install

        * layout-tests/fast/text/international/bidi-fallback-font-weight.html: Removed the part that
        used the Raanana font.
        * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.checksum: Updated.
        * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.png: Ditto.
        * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.txt: Ditto.

2005-08-31  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        Test cases updated:
        * svg-tests/W3C-SVG-1.1/Resources/animation-add-BE-09-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image2-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image3-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/coords-units-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/ext-TestComic-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-blend-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-color-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-composite-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-conv-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-diffuse-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/filters-example-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/interact-dom-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/interact-order-02-b-targ-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/interact-order-03-b-targ-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/linking-uri-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/linkingCircle-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/linkingToc-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/paths-data-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/paths-data-02-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/paths-data-03-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/paths-data-04-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/rects-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/rects_b-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/shapes-ellipse-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/shapes-rect-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/struct-frag-01-B-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-align-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-align-02-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-align-03-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-altglyph-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-extTref-BE-18-targ-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-intro-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-tref-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/text-ws-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/toc-sv-expected.txt:
        * svg-tests/W3C-SVG-1.1/Resources/toc-svcmp-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-13-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-14-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-15-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-16-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-17-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-18-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-19-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-20-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-22-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-25-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-27-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/color-prof-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/color-prop-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/color-prop-02-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/color-prop-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-05-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-units-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-dom-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-events-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-order-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-order-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-order-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-a-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-a-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-a-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-a-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/linking-uri-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-opacity-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/masking-path-05-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-fill-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-fill-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-fill-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-render-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-stroke-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-stroke-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-03-f-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-05-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-06-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/paths-data-07-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-06-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-07-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-elems-08-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-groups-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/render-groups-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/script-handle-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/script-handle-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/script-handle-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/script-handle-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-line-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-cond-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-cond-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-dom-06-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-frag-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-group-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-group-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-03-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-05-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-css-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-css-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-css-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-04-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-05-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-align-06-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-deco-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-fonts-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-fonts-02-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-intro-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-intro-02-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-intro-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-intro-04-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-text-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-text-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-tref-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-tselect-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-ws-01-t-expected.txt:
        * svg-tests/W3C-SVG-1.1/text-ws-02-t-expected.txt:

        * WebCore.xcodeproj/project.pbxproj: Added KCanvasPath.cpp
        * kcanvas/KCanvasFilters.cpp:
        (KCanvasFilter::externalRepresentation): added.
        (operator<<): added.
        (KCanvasFilterEffect::externalRepresentation):
        (KCanvasFEDistantLight::externalRepresentation):
        (KCanvasFEPointLight::externalRepresentation):
        (KCanvasFESpotLight::externalRepresentation):
        (KCanvasFEBlend::externalRepresentation):
        (KCanvasFEColorMatrix::externalRepresentation):
        (KCanvasFEComponentTransfer::externalRepresentation):
        (KCanvasFEComposite::externalRepresentation):
        (KCanvasFEConvolveMatrix::externalRepresentation):
        (KCanvasFEDiffuseLighting::externalRepresentation):
        (KCanvasFEDisplacementMap::externalRepresentation):
        (KCanvasFEFlood::externalRepresentation):
        (KCanvasFEGaussianBlur::externalRepresentation):
        (KCanvasFEImage::externalRepresentation):
        (KCanvasFEMerge::externalRepresentation):
        (KCanvasFEMorphology::externalRepresentation):
        (KCanvasFEOffset::externalRepresentation):
        (KCanvasFESpecularLighting::externalRepresentation):
        (KCanvasFETile::externalRepresentation):
        (KCanvasFETurbulence::externalRepresentation):
        * kcanvas/KCanvasFilters.h:
        (KCanvasFEDistantLight::azimuth):
        (KCanvasFEDistantLight::elevation):
        (KCanvasFEComposite::k1):
        (KCanvasFEComposite::k2):
        (KCanvasFEComposite::k3):
        (KCanvasFEComposite::k4):
        * kcanvas/KCanvasPath.cpp: Added.
        (operator<<):
        * kcanvas/KCanvasPath.h:
        * kcanvas/KCanvasRegistry.cpp:
        (KCanvasRegistry::addPaintServerById):
        (KCanvasRegistry::addResourceById):
        (operator<<):
        * kcanvas/KCanvasRegistry.h:
        * kcanvas/KCanvasResources.cpp:
        (operator<<):
        (KCanvasResource::idInRegistry):
        (KCanvasResource::setIdInRegistry):
        (KCanvasResource::externalRepresentation):
        (KCanvasClipper::externalRepresentation):
        (KCanvasMarker::externalRepresentation):
        * kcanvas/KCanvasResources.h:
        * kcanvas/KCanvasTreeDebug.cpp:
        (QTextStreamSeparator::QTextStreamSeparator):
        (operator<<):
        (writeIndent):
        (externalRepresentation):
        * kcanvas/KCanvasTreeDebug.h:
        (operator<<):
        * kcanvas/device/KRenderingPaintServer.h:
        (KRenderingPaintServer::idInRegistry):
        (KRenderingPaintServer::setIdInRegistry):
        * kcanvas/device/KRenderingPaintServerGradient.cpp:
        (operator<<):
        (KRenderingPaintServerGradient::externalRepresentation):
        (KRenderingPaintServerLinearGradient::externalRepresentation):
        (KRenderingPaintServerRadialGradient::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerGradient.h:
        * kcanvas/device/KRenderingPaintServerImage.cpp:
        (KRenderingPaintServerImage::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerImage.h:
        * kcanvas/device/KRenderingPaintServerPattern.cpp:
        (KRenderingPaintServerPattern::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerPattern.h:
        * kcanvas/device/KRenderingPaintServerSolid.cpp:
        (operator<<):
        (KRenderingPaintServerSolid::externalRepresentation):
        * kcanvas/device/KRenderingPaintServerSolid.h:
        * kwq/KWQTextStream.h:
        * kwq/KWQTextStream.mm:
        (QTextStream::QTextStream):
        (QTextStream::operator<<):
        (QTextStream::precision): added.
        Necessary additions for much better KCanvas render tree dumps.
        http://bugs.webkit.org/show_bug.cgi?id=4472

2005-08-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/attachment.cgi?id=3702
          Acid2 test has orange border around nose

        * kwq/KWQPainter.mm: (QPainter::drawConvexPolygon): Add back a call to
        CGContextSetShouldAntialias, accidentally rolled out.

2005-08-31  David Harrison  <harrison@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/4234658> SUTiDenver8F17: Dragging in this HTML example crashes Safari

        Problem is KWQKHTMLPart::snapshotDragImage() leaves the layout needing updating, that
        layout gets triggered (in this case) by the foreground draw in the RenderLayer code,
        thereby deleting the RenderLayer itself.   Simple fix is for snapshotDragImage() to
        updateLayout() after resetting the drag state.

        Test cases added:
        * manual-tests/drag_with_opacity.html: Added.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::snapshotDragImage):  Call updateLayout() after resetting the drag state 

2005-08-31  Vicki Murley  <vicki@apple.com>

        Reviewed by hyatt.

	- fixed <rdar://problem/4233844> in some cases, HTML href named anchors don't scroll to the right place
        
	Test cases added: 
        * manual-tests/scrollToAnchorWithNewline.html: Added.

        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::ContainerNodeImpl::getUpperLeftCorner): skip text nodes that do not have associated text boxes

2005-08-31  Eric Seidel  <eseidel@apple.com>

        Reviewed by vicki.

        * WebCore.xcodeproj/project.pbxproj: added EventNames.*
        * kdom/css/impl/Font.h: Fixed includes.
        Build fixes necessary after recent WebCore changes.
        http://bugs.webkit.org/show_bug.cgi?id=4780

2005-08-31  Geoffrey Garen  <ggaren@apple.com>

        -rolled in layout test for http://bugs.webkit.org/show_bug.cgi?id=4698
        kjs does not allow named functions in function expressions
        
        Test cases added:

        * layout-tests/fast/js/named-function-expression-expected.txt: Added.
        * layout-tests/fast/js/named-function-expression.html: Added.

2005-08-31  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4766
          many callers of removeChild are leaking the removed node

        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::setOuterText): Added ref/deref around removeChild call.
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLSelectElementImpl::remove): Ditto.
        (DOM::HTMLTextAreaElementImpl::setDefaultValue): Ditto.
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::deleteTHead): Ditto.
        (DOM::HTMLTableElementImpl::deleteTFoot): Ditto.
        (DOM::HTMLTableElementImpl::deleteCaption): Ditto.
        (DOM::HTMLTableSectionElementImpl::deleteRow): Ditto.
        (DOM::HTMLTableRowElementImpl::deleteCell): Ditto.
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::RangeImpl::processContents): Ditto.
        (DOM::RangeImpl::surroundContents): Ditto.

2005-08-31  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders.

	http://bugs.webkit.org/show_bug.cgi?id=4768
        (Add counters for NodeImpl, ElementImpl and RenderObject in debug builds)
	
	Test cases added: None, this just adds debug output (which shows up on the regular layout tests).

        * khtml/rendering/render_object.cpp:
        (RenderObjectCounter::~RenderObjectCounter):
        (RenderObject::RenderObject):
        (RenderObject::~RenderObject):
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImplCounter::~ElementImplCounter):
        (ElementImpl::ElementImpl):
        (ElementImpl::~ElementImpl):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImplCounter::~NodeImplCounter):
        (DOM::NodeImpl::NodeImpl):
        (DOM::NodeImpl::~NodeImpl):

2005-08-31  Anders Carlsson  <andersca@mac.com>

        Reviewed by Darin and Maciej.

        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
        Close the output buffer so we won't leak it.
        
2005-08-30  Maciej Stachowiak  <mjs@apple.com>

        - remove color profile info from some of the w3c images, and update results

        * layout-tests/dom/html/level2/html/frame-expected.checksum:
        * layout-tests/dom/html/level2/html/frame-expected.png:
        * layout-tests/dom/html/level2/html/iframe-expected.checksum:
        * layout-tests/dom/html/level2/html/iframe-expected.png:
        * layout-tests/dom/html/level2/html/right.png:
        * layout-tests/dom/html/level2/html/w3c_main.png:

2005-08-30  Maciej Stachowiak  <mjs@apple.com>

        - update image results

        * layout-tests/fast/parser/comments-expected.checksum:
        * layout-tests/fast/parser/comments-expected.png:
        * layout-tests/fast/text/line-breaks-expected.checksum: Added.
        * layout-tests/fast/text/line-breaks-expected.png: Added.

2005-08-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Justin.

        <rdar://problem/4232371> leak of DOMStringImpl called from DOMStringImpl::substring, seen running webkit tests
        <rdar://problem/4232355> leak of DOMStringImpl called from RenderTextFragment::originalString, seen running webkit tests
        
        Test cases added: None, these leaks were already caught by the layout tests.

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::updateFirstLetter):
        * khtml/rendering/render_container.cpp:
        (RenderContainer::updatePseudoChild):
        * khtml/rendering/render_text.cpp:
        (RenderText::setStyle):
        (RenderText::originalString):
        (RenderTextFragment::originalString):
        * khtml/rendering/render_text.h:

2005-08-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Vicki

	<rdar://problem/4231978> many leaks of StyleSurroundData called beneath RenderStyle::setMarginTop, seen running webkit tests
	<rdar://problem/4232017> many leaks of StyleInheritedData called from different RenderStyle methods, seen running webkit tests
	<rdar://problem/4232175> leak of RenderObject called from RenderContainer::updatePseudoChild, seen running webkit tests
	<rdar://problem/4232214> many leaks of RenderStyle from CSSStyleSelector::pseudoStyleForElement, seen running webkit tests
	<rdar://problem/4232252> many leaks of RenderStyle called beneath NodeImpl::createRendererIfNeeded, seen running webkit tests
	<rdar://problem/4232263> many leaks of RenderObject called from TextImpl::createRenderer, seen running webkit tests
	<rdar://problem/4233690> leaks of StyleBackgroundData called within setBackgroundColor, seen running webkit tests

        Test cases added: None, these leaks were already caught by the layout tests.

        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::updateFirstLetter):
        * khtml/rendering/render_container.cpp:
        (RenderContainer::updatePseudoChild):

2005-08-30  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4574
          HTML parser does not put attributes on the <isindex> element

        * layout-tests/dom/html/level2/html/HTMLIsIndexElement01-expected.txt:
        * layout-tests/dom/html/level2/html/HTMLIsIndexElement02-expected.txt:
        * layout-tests/dom/html/level2/html/HTMLIsIndexElement03-expected.txt:
        Updated to expect success.

        * khtml/html/htmlparser.cpp: (HTMLParser::handleIsindex): Updated to
        put the attributes on the <isindex> element.

2005-08-30  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4540
          event handlers for all custom events called when any custom event is set

        * layout-tests/dom/html/level2/events/dispatchEvent12-expected.txt: Updated results
        to expect success.

        * khtml/xml/EventNames.h: Added.
        * khtml/xml/EventNames.cpp: Added.
        * ForwardingHeaders/xml/EventNames.h: Added.
        * WebCore.xcodeproj/project.pbxproj: Added EventNames.h and EventNames.cpp.

        * khtml/xml/dom2_eventsimpl.h: Removed EventId type. Made a few more functions inline.
        * khtml/xml/dom2_eventsimpl.cpp:
        (DOM::EventImpl::EventImpl):
        (DOM::EventImpl::~EventImpl):
        (DOM::EventImpl::initEvent):
        (DOM::UIEventImpl::UIEventImpl):
        (DOM::UIEventImpl::initUIEvent):
        (DOM::MouseRelatedEventImpl::MouseRelatedEventImpl):
        (DOM::MouseEventImpl::MouseEventImpl):
        (DOM::MouseEventImpl::initMouseEvent):
        (DOM::MouseEventImpl::isDragEvent):
        (DOM::KeyboardEventImpl::KeyboardEventImpl):
        (DOM::KeyboardEventImpl::initKeyboardEvent):
        (DOM::KeyboardEventImpl::keyCode):
        (DOM::MutationEventImpl::MutationEventImpl):
        (DOM::MutationEventImpl::initMutationEvent):
        (DOM::ClipboardEventImpl::ClipboardEventImpl):
        (DOM::WheelEventImpl::WheelEventImpl):
        (DOM::RegisteredEventListener::RegisteredEventListener):
        (DOM::RegisteredEventListener::~RegisteredEventListener):
        Updated to use the new AtomicString type rather than a type string and separate ID.

        * khtml/xml/dom_atomicstring.h: Implemented the constructor that takes an NSString.

        * khtml/ecma/kjs_binding.cpp:
        (KJS::ScriptInterpreter::wasRunByUserGesture):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMNode::setListener):
        (KJS::DOMNode::getListener):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.h:
        * khtml/ecma/kjs_events.cpp:
        (KJS::getNodeEventListener):
        (KJS::DOMEvent::getValueProperty):
        (KJS::DOMEventProtoFunc::callAsFunction):
        (KJS::DOMUIEventProtoFunc::callAsFunction):
        (KJS::DOMMouseEvent::getValueProperty):
        (KJS::DOMMouseEventProtoFunc::callAsFunction):
        (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
        (KJS::DOMMutationEventProtoFunc::callAsFunction):
        * khtml/ecma/kjs_events.h:
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::getValueProperty):
        (KJS::Window::put):
        (KJS::Window::setListener):
        (KJS::Window::getListener):
        (KJS::WindowFunc::callAsFunction):
        * khtml/ecma/kjs_window.h:
        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::parseMappedAttribute):
        (HTMLFrameElementImpl::parseMappedAttribute):
        (HTMLFrameSetElementImpl::parseMappedAttribute):
        (HTMLFrameSetElementImpl::detach):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::parseMappedAttribute):
        (HTMLElementImpl::click):
        (inlineTagList):
        (blockTagList):
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::prepareSubmit):
        (DOM::HTMLFormElementImpl::reset):
        (DOM::HTMLFormElementImpl::parseMappedAttribute):
        (DOM::HTMLGenericFormElementImpl::onSelect):
        (DOM::HTMLGenericFormElementImpl::onChange):
        (DOM::HTMLGenericFormElementImpl::defaultEventHandler):
        (DOM::HTMLButtonElementImpl::parseMappedAttribute):
        (DOM::HTMLButtonElementImpl::defaultEventHandler):
        (DOM::HTMLInputElementImpl::parseMappedAttribute):
        (DOM::HTMLInputElementImpl::setValueFromRenderer):
        (DOM::HTMLInputElementImpl::preDispatchEventHandler):
        (DOM::HTMLInputElementImpl::defaultEventHandler):
        (DOM::HTMLLabelElementImpl::parseMappedAttribute):
        (DOM::HTMLSelectElementImpl::parseMappedAttribute):
        (DOM::HTMLSelectElementImpl::defaultEventHandler):
        (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageLoader::dispatchLoadEvent):
        (HTMLImageElementImpl::parseMappedAttribute):
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::defaultEventHandler):
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLObjectElementImpl::parseMappedAttribute):
        (DOM::HTMLObjectElementImpl::attach):
        (DOM::HTMLObjectElementImpl::detach):
        (DOM::HTMLObjectElementImpl::recalcStyle):
        * khtml/khtml_part.cpp:
        (KHTMLPart::init):
        (KHTMLPart::stopLoading):
        * khtml/khtmlview.cpp:
        (KHTMLView::resizeEvent):
        (KHTMLView::viewportMousePressEvent):
        (KHTMLView::viewportMouseDoubleClickEvent):
        (KHTMLView::viewportMouseMoveEvent):
        (KHTMLView::viewportMouseReleaseEvent):
        (KHTMLView::dispatchDragEvent):
        (KHTMLView::updateDragAndDrop):
        (KHTMLView::cancelDragAndDrop):
        (KHTMLView::performDragAndDrop):
        (KHTMLView::dispatchMouseEvent):
        * khtml/khtmlview.h:
        * khtml/rendering/render_form.cpp:
        (RenderFormElement::slotClicked):
        (RenderLineEdit::slotPerformSearch):
        (RenderSlider::slotSliderValueChanged):
        * khtml/rendering/render_frames.cpp:
        (RenderFrameSet::userResize):
        * khtml/rendering/render_layer.cpp:
        (khtml::RenderLayer::scrollToOffset):
        * khtml/rendering/render_object.cpp:
        (RenderObject::shouldSelect):
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::sendConsumedMouseUp):
        (RenderWidget::eventFilter):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::implicitClose):
        (DocumentImpl::setFocusNode):
        (DocumentImpl::defaultEventHandler):
        (DocumentImpl::setHTMLWindowEventListener):
        (DocumentImpl::getHTMLWindowEventListener):
        (DocumentImpl::removeHTMLWindowEventListener):
        (DocumentImpl::addWindowEventListener):
        (DocumentImpl::removeWindowEventListener):
        (DocumentImpl::hasWindowEventListener):
        * khtml/xml/dom_docimpl.h:
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::dispatchAttrRemovalEvent):
        (ElementImpl::dispatchAttrAdditionEvent):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::addEventListener):
        (DOM::NodeImpl::removeEventListener):
        (DOM::NodeImpl::removeHTMLEventListener):
        (DOM::NodeImpl::setHTMLEventListener):
        (DOM::NodeImpl::getHTMLEventListener):
        (DOM::NodeImpl::dispatchHTMLEvent):
        (DOM::NodeImpl::dispatchWindowEvent):
        (DOM::NodeImpl::dispatchMouseEvent):
        (DOM::NodeImpl::dispatchUIEvent):
        (DOM::NodeImpl::dispatchSubtreeModifiedEvent):
        (DOM::NodeImpl::handleLocalEvents):
        (DOM::ContainerNodeImpl::removeChild):
        (DOM::ContainerNodeImpl::dispatchChildInsertedEvents):
        (DOM::ContainerNodeImpl::dispatchChildRemovalEvents):
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::dispatchModifiedEvent):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject mouseButtonListener]):
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::canCachePage):
        (KWQKHTMLPart::sendScrollEvent):
        (KWQKHTMLPart::dispatchDragSrcEvent):
        (KWQKHTMLPart::khtmlMouseMoveEvent):
        (KWQKHTMLPart::dragSourceMovedTo):
        (KWQKHTMLPart::dragSourceEndedAt):
        (KWQKHTMLPart::dispatchCPPEvent):
        (KWQKHTMLPart::mayCut):
        (KWQKHTMLPart::mayCopy):
        (KWQKHTMLPart::mayPaste):
        (KWQKHTMLPart::tryCut):
        (KWQKHTMLPart::tryCopy):
        (KWQKHTMLPart::tryPaste):
        (KWQKHTMLPart::sendContextMenuEvent):
        (KWQKHTMLPart::setWindowHasFocus):
        * kwq/KWQTextArea.mm:
        (-[KWQTextAreaTextView dispatchHTMLEvent:]):
        (-[KWQTextAreaTextView cut:]):
        (-[KWQTextAreaTextView copy:]):
        (-[KWQTextAreaTextView paste:]):
        (-[KWQTextAreaTextView pasteAsPlainText:]):
        (-[KWQTextAreaTextView pasteAsRichText:]):
        Use the new namespace, types, and use AtomicString instead of event ID.

2005-08-30  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4758
          unify SharedPtr in WebCore and JavaScriptCore

        * ForwardingHeaders/kjs/shared_ptr.h: Added.
        * khtml/misc/shared.h: Removed SharedPtr, and instead included <kjs/shared_ptr.h>
        and did some using statements to import the template into the khtml namespace.

2005-08-30  David Hyatt  <hyatt@apple.com>

	Fix for bugzilla bug 4573, make sure click() fires CLICK and not KHTML_CLICK,
	so that the click() method on checkboxes actually works.

	Also eliminate the WinIE compatibiilty for event.button and match the
	standard DOM behavior instead (like Firefox does).
	
        Reviewed by darin

        Test cases added: None, since one of the level 2 DOM tests changes to
	pass and tests this feature.

        * khtml/ecma/kjs_events.cpp:
        (KJS::DOMMouseEvent::getValueProperty):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::click):
        * layout-tests/dom/html/level2/html/HTMLInputElement21-expected.txt:

2005-08-30  David Hyatt  <hyatt@apple.com>

	Change the value of "element" for khtml-user-select to "ignore".  Also undo the support of "-moz"
	for any -moz property.  Add support for -webkit as an alternative to -khtml.
	
        Reviewed by darin

        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty):
        * khtml/css/cssvalues.in:
        * khtml/css/html4.css:
        * khtml/css/parser.y:
        * khtml/rendering/render_style.h:
        (khtml::):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::canMouseDownStartSelect):

2005-08-30  John Sullivan  <sullivan@apple.com>

        Reviewed by Kevin Decker.

        Test cases added: none, doesn't affect layout
        
        - fixed <rdar://problem/4238024> leak of DocumentFragmentImpl if parseXMLDocumentFragment fails

        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::createContextualFragment):
        deref fragment before early return

2005-08-30  John Sullivan  <sullivan@apple.com>

        Reviewed by Maciej.

        Test cases added: none, doesn't affect layout
        
        - fixed <rdar://problem/4237183> REGRESSION (Denver): crash in 
        JSUnprotectedEventListener::~JSUnprotectedEventListener

        * khtml/ecma/kjs_events.cpp:
        (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener):
        check for nil window pointer
        (KJS::JSUnprotectedEventListener::clearWindowObj):
        new method, sets window pointer to nil
        
        (KJS::JSEventListener::~JSEventListener):
        (KJS::JSEventListener::clearWindowObj):
        same changes for this class. We don't think the bug would ever happen for
        this similar class, but we're not completely sure, so best to play it safe.
        
        * khtml/ecma/kjs_events.h:
        declaration of new clearWindowObj methods
        
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::~Window):
        iterate through event listeners, clearing their window pointers

2005-08-30  Maciej Stachowiak  <mjs@apple.com>

        Add some test cases that I apparently forgot to commit before.

        * layout-tests/fast/js/assign-expected.txt: Added.
        * layout-tests/fast/js/assign.html: Added.
        * layout-tests/fast/js/code-serialize-paren-expected.txt: Added.
        * layout-tests/fast/js/code-serialize-paren.html: Added.

2005-08-30  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Eric.

	- http://bugs.webkit.org/show_bug.cgi?id=4749
	(Reduce header dependencies);
	
        Test cases added: None, no functional change.

        * ForwardingHeaders/qpen.h: Added.
        * khtml/rendering/font.h:
        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_image.cpp:
        * khtml/rendering/render_line.cpp:
        * khtml/rendering/render_list.cpp:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_text.cpp:
        * kwq/KWQApplication.h:
        * kwq/KWQApplication.mm:
        * kwq/KWQButton.h:
        * kwq/KWQKCursor.h:
        * kwq/KWQLineEdit.h:
        * kwq/KWQLineEdit.mm:
        * kwq/KWQListBox.h:
        * kwq/KWQPainter.h:
        * kwq/KWQPainter.mm:
        (QPainter::setCompositeOperation):
        (QPainter::compositeOperatorFromString):
        * kwq/KWQPixmap.h:
        * kwq/KWQTextEdit.h:
        * kwq/KWQTextEdit.mm:
        * kwq/KWQWidget.h:
        * kwq/KWQWidget.mm:

2005-08-29  Maciej Stachowiak  <mjs@apple.com>

        - make the JS tests that weren't already doing so dump as text, and remove
	their image results.

        * layout-tests/fast/js/date-parse-test-expected.checksum: Removed.
        * layout-tests/fast/js/date-parse-test-expected.png: Removed.
        * layout-tests/fast/js/date-parse-test-expected.txt:
        * layout-tests/fast/js/date-parse-test.html:
        * layout-tests/fast/js/declaration-in-block-expected.checksum: Removed.
        * layout-tests/fast/js/declaration-in-block-expected.png: Removed.
        * layout-tests/fast/js/declaration-in-block-expected.txt:
        * layout-tests/fast/js/declaration-in-block.html:
        * layout-tests/fast/js/encode-URI-test-expected.txt: Added.
        * layout-tests/fast/js/encode-URI-test.html: Added.
        * layout-tests/fast/js/global/encode-URI-test-expected.checksum: Removed.
        * layout-tests/fast/js/global/encode-URI-test-expected.png: Removed.
        * layout-tests/fast/js/global/encode-URI-test-expected.txt: Removed.
        * layout-tests/fast/js/global/encode-URI-test.html: Removed.
        * layout-tests/fast/js/has-own-property-expected.checksum: Removed.
        * layout-tests/fast/js/has-own-property-expected.png: Removed.
        * layout-tests/fast/js/has-own-property-expected.txt:
        * layout-tests/fast/js/has-own-property.html:
        * layout-tests/fast/js/slash-lineterminator-parse-expected.checksum: Removed.
        * layout-tests/fast/js/slash-lineterminator-parse-expected.png: Removed.
        * layout-tests/fast/js/slash-lineterminator-parse-expected.txt:
        * layout-tests/fast/js/slash-lineterminator-parse.html:
        * layout-tests/fast/js/string-from-char-code-expected.checksum: Removed.
        * layout-tests/fast/js/string-from-char-code-expected.png: Removed.
        * layout-tests/fast/js/string-from-char-code-expected.txt:
        * layout-tests/fast/js/string-from-char-code.html:
        * layout-tests/fast/js/window-object-cross-frame-calls-expected.checksum: Removed.
        * layout-tests/fast/js/window-object-cross-frame-calls-expected.png: Removed.
        * layout-tests/fast/js/window-object-cross-frame-calls-expected.txt:
        * layout-tests/fast/js/window-object-cross-frame-calls.html:

2005-08-29  John Sullivan  <sullivan@apple.com>

        Written by Justin Garcia
        Reviewed by me and Darin Adler

        Test cases added: none, doesn't affect layout
        
        - fixed <rdar://problem/4232303> many objects leaked from HTMLTokenizer::parseTag() 
        within -[WebView paste:], seen running webkit tests (probably affects Mail)

        * khtml/editing/replace_selection_command.cpp:
        (khtml::ReplacementFragment::removeNode):
        guard removeChild call with ref/deref, so if this is the last reference it won't
        be left floating, and will properly self-destruct

2005-08-29  Darin Adler  <darin@apple.com>

        Rubber stamped by Maciej.

        - renamed DOMString::implementation() to DOMString::impl()
          and DOMString::impl to DOMString::m_impl

        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
        (DOM::CSSPrimitiveValueImpl::setStringValue):
        * khtml/css/csshelper.cpp:
        (khtml::parseURL):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::matchRules):
        (khtml::CSSRuleSet::addRule):
        (khtml::CSSStyleSelector::applyProperty):
        * khtml/dom/dom_string.cpp:
        (DOM::DOMString::DOMString):
        (DOM::DOMString::operator =):
        (DOM::DOMString::operator += ):
        (DOM::DOMString::insert):
        (DOM::DOMString::operator []):
        (DOM::DOMString::find):
        (DOM::DOMString::length):
        (DOM::DOMString::truncate):
        (DOM::DOMString::remove):
        (DOM::DOMString::substring):
        (DOM::DOMString::split):
        (DOM::DOMString::lower):
        (DOM::DOMString::upper):
        (DOM::DOMString::percentage):
        (DOM::DOMString::unicode):
        (DOM::DOMString::qstring):
        (DOM::DOMString::toInt):
        (DOM::DOMString::copy):
        (DOM::DOMString::isEmpty):
        (DOM::DOMString::toCoordsArray):
        (DOM::DOMString::toLengthArray):
        (DOM::DOMString::ascii):
        (DOM::operator==):
        * khtml/dom/dom_string.h:
        (DOM::DOMString::DOMString):
        (DOM::DOMString::~DOMString):
        (DOM::DOMString::isNull):
        (DOM::DOMString::impl):
        * khtml/ecma/domparser.cpp:
        (KJS::DOMParserProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMDocument::getValueProperty):
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::HTMLElement::classInfo):
        (KJS::HTMLElement::getSetInfo):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewFunc::callAsFunction):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequest::getValueProperty):
        * khtml/editing/jsediting.cpp:
        (DOM::DocumentImpl::commandImp):
        * khtml/editing/remove_node_attribute_command.cpp:
        (khtml::RemoveNodeAttributeCommand::doUnapply):
        * khtml/editing/set_node_attribute_command.cpp:
        (khtml::SetNodeAttributeCommand::doApply):
        (khtml::SetNodeAttributeCommand::doUnapply):
        * khtml/html/html_blockimpl.cpp:
        (HTMLHRElementImpl::parseMappedAttribute):
        * khtml/html/html_documentimpl.cpp:
        (DOM::addItemToMap):
        (DOM::removeItemFromMap):
        (DOM::HTMLDocumentImpl::hasNamedItem):
        (DOM::HTMLDocumentImpl::hasDocExtraNamedItem):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::nodeName):
        (HTMLElementImpl::isRecognizedTagName):
        (inlineTagList):
        (blockTagList):
        (HTMLElementImpl::inEitherTagList):
        (HTMLElementImpl::inInlineTagList):
        (HTMLElementImpl::inBlockTagList):
        * khtml/html/html_formimpl.cpp:
        (DOM::HTMLFormElementImpl::radioButtonChecked):
        (DOM::HTMLFormElementImpl::removeFormElement):
        (DOM::HTMLInputElementImpl::isKeyboardFocusable):
        (DOM::HTMLInputElementImpl::setInputType):
        * khtml/html/html_headimpl.cpp:
        (HTMLScriptElementImpl::setText):
        (HTMLTitleElementImpl::setText):
        * khtml/html/htmlfactory.cpp:
        (DOM::HTMLElementFactory::createHTMLElement):
        * khtml/html/htmlparser.cpp:
        (HTMLParser::getNode):
        (HTMLParser::isHeaderTag):
        (HTMLParser::isResidualStyleTag):
        (HTMLParser::isAffectedByResidualStyle):
        * khtml/khtml_part.cpp:
        (KHTMLPart::findTextNext):
        (KHTMLPart::selectionComputedStyle):
        * khtml/rendering/render_line.cpp:
        (khtml::EllipsisBox::paint):
        * khtml/xml/dom2_eventsimpl.cpp:
        (EventImpl::EventImpl):
        (EventImpl::initEvent):
        (KeyboardEventImpl::KeyboardEventImpl):
        (KeyboardEventImpl::initKeyboardEvent):
        (MutationEventImpl::MutationEventImpl):
        (MutationEventImpl::initMutationEvent):
        * khtml/xml/dom_atomicstring.cpp:
        (DOM::AtomicString::equal):
        * khtml/xml/dom_atomicstring.h:
        (DOM::AtomicString::AtomicString):
        (DOM::AtomicString::impl):
        (DOM::AtomicString::equal):
        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::createDocument):
        (DocumentImpl::impl):
        (DocumentImpl::createEntityReference):
        (DocumentImpl::importNode):
        (DocumentImpl::createAttributeNS):
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentTypeImpl::impl):
        * khtml/xml/dom_elementimpl.cpp:
        (AttrImpl::AttrImpl):
        (AttrImpl::setValue):
        (AttrImpl::childrenChanged):
        (ElementImpl::setAttribute):
        (ElementImpl::getAttributeNS):
        (ElementImpl::setAttributeNS):
        (ElementImpl::removeAttributeNS):
        (ElementImpl::getAttributeNodeNS):
        (ElementImpl::hasAttributeNS):
        (NamedAttrMapImpl::getNamedItemNS):
        (NamedAttrMapImpl::removeNamedItemNS):
        (StyledElementImpl::getMappedAttributeDecl):
        (StyledElementImpl::setMappedAttributeDecl):
        (StyledElementImpl::removeMappedAttributeDecl):
        (NamedMappedAttrMapImpl::parseClassAttribute):
        (StyledElementImpl::parseMappedAttribute):
        (StyledElementImpl::addCSSLength):
        * khtml/xml/dom_qname.cpp:
        (DOM::QNameHash::hash):
        (DOM::equalComponents):
        (DOM::QualifiedName::QualifiedName):
        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::CharacterDataImpl):
        (CharacterDataImpl::setData):
        (CharacterDataImpl::appendData):
        (CharacterDataImpl::insertData):
        (CharacterDataImpl::replaceData):
        * khtml/xml/dom_xmlimpl.cpp:
        (DOM::EntityImpl::EntityImpl):
        (DOM::NotationImpl::NotationImpl):
        (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
        (DOM::ProcessingInstructionImpl::setData):
        (DOM::ProcessingInstructionImpl::checkStyleSheet):
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::startElement):
        * khtml/xsl/xslt_processorimpl.cpp:
        (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
        * kwq/DOM-CSS.mm:
        (-[DOMDocument getComputedStyle::]):
        * kwq/DOM.mm:
        (-[DOMNode setPrefix:]):
        (-[DOMDocument implementation]):
        (-[DOMDocument getComputedStyle::]):
        (-[DOMDocument getOverrideStyle::]):
        * kwq/DOMHTML.mm:
        (-[DOMHTMLSelectElement setValue:]):
        (-[DOMHTMLOptionElement setValue:]):
        * kwq/DOMInternal.mm:
        (DOMString::DOMString):
        * kwq/KWQFontFamily.mm:
        (KWQFontFamily::getNSFamily):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::styleForSelectionStart):

2005-08-29  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by john

        Fixes <rdar://problem/4236218> 
        many leaks of StyleBaseImpl within -[WebCoreBridge markupStringFromRange:nodes:] within -[WebHTMLView copy:]

        Test cases added: none, doesn't affect layout

        * khtml/editing/markup.cpp:
        (khtml::createMarkup):
        deref defaultStyle on the early return

2005-08-29  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed cases where I changed functions from string() to qstring() incorrectly

        * khtml/rendering/render_text.h: Change function name back to string().
        * khtml/xml/dom_textimpl.h: Ditto.

        * khtml/xml/dom_textimpl.cpp:
        (CommentImpl::nodeName): Call domString(), not qstring().
        (TextImpl::nodeName): Ditto.

        * khtml/editing/composite_edit_command.cpp:
        (khtml::CompositeEditCommand::deleteInsignificantText):
        * khtml/editing/selection.cpp:
        (khtml::Selection::debugRenderer):
        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::handleTextNode):
        (khtml::TextIterator::handleTextBox):
        * khtml/html/htmlparser.cpp:
        (HTMLParser::handleError):
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::paint):
        (InlineTextBox::selectionStartEnd):
        (RenderText::originalString):
        (RenderTextFragment::originalString):
        Change callers back from qstring() to string().

2005-08-29  John Sullivan  <sullivan@apple.com>

        Reviewed by Beth Dakin.

        Test cases added: none, doesn't affect layout
        
        - fixed <rdar://problem/4232588> many leaks beneath ApplyStyleCommand::mergeEndWithNextIfIdentical, 
        seen running webkit tests (probably affects Mail)
        
        Fixed by making NodeImpl::childNodes() return a SharedPtr.

        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::getValueProperty):
        use get() to get the pointer from the SharedPtr
        
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableSectionElementImpl::insertRow):
        expect a SharedPtr for childNodes(); no need to delete at end of block. (This code was already 
        managing memory correctly, but other callers of childNodes() where not.)
        (DOM::HTMLTableSectionElementImpl::deleteRow):
        ditto
        (DOM::HTMLTableRowElementImpl::insertCell):
        ditto
        (DOM::HTMLTableRowElementImpl::deleteCell):
        ditto
        
        * khtml/xml/dom_nodeimpl.h:
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::childNodes):
        return SharedPtr
        
        * kwq/DOM.mm:
        (-[DOMNode childNodes]):
        use get() to get the pointer from the SharedPtr

2005-08-28  Maciej Stachowiak  <mjs@apple.com>

	- added pixel test results for the layout tests, so others can check if their resutls match
	before I enable these by default.

        * layout-tests/css1/basic/class_as_selector-expected.checksum: Added.
        * layout-tests/css1/basic/class_as_selector-expected.png: Added.
        * layout-tests/css1/basic/comments-expected.checksum: Added.
        * layout-tests/css1/basic/comments-expected.png: Added.
        * layout-tests/css1/basic/containment-expected.checksum: Added.
        * layout-tests/css1/basic/containment-expected.png: Added.
        * layout-tests/css1/basic/contextual_selectors-expected.checksum: Added.
        * layout-tests/css1/basic/contextual_selectors-expected.png: Added.
        * layout-tests/css1/basic/grouping-expected.checksum: Added.
        * layout-tests/css1/basic/grouping-expected.png: Added.
        * layout-tests/css1/basic/id_as_selector-expected.checksum: Added.
        * layout-tests/css1/basic/id_as_selector-expected.png: Added.
        * layout-tests/css1/basic/inheritance-expected.checksum: Added.
        * layout-tests/css1/basic/inheritance-expected.png: Added.
        * layout-tests/css1/box_properties/acid_test-expected.checksum: Added.
        * layout-tests/css1/box_properties/acid_test-expected.png: Added.
        * layout-tests/css1/box_properties/border-expected.checksum: Added.
        * layout-tests/css1/box_properties/border-expected.png: Added.
        * layout-tests/css1/box_properties/border_bottom-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_bottom-expected.png: Added.
        * layout-tests/css1/box_properties/border_bottom_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_bottom_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_bottom_width-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_bottom_width-expected.png: Added.
        * layout-tests/css1/box_properties/border_bottom_width_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_bottom_width_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_color-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_color-expected.png: Added.
        * layout-tests/css1/box_properties/border_color_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_color_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_left-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_left-expected.png: Added.
        * layout-tests/css1/box_properties/border_left_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_left_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_left_width-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_left_width-expected.png: Added.
        * layout-tests/css1/box_properties/border_left_width_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_left_width_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_right-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_right-expected.png: Added.
        * layout-tests/css1/box_properties/border_right_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_right_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_right_width-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_right_width-expected.png: Added.
        * layout-tests/css1/box_properties/border_right_width_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_right_width_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_style-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_style-expected.png: Added.
        * layout-tests/css1/box_properties/border_style_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_style_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_top-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_top-expected.png: Added.
        * layout-tests/css1/box_properties/border_top_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_top_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_top_width-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_top_width-expected.png: Added.
        * layout-tests/css1/box_properties/border_top_width_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_top_width_inline-expected.png: Added.
        * layout-tests/css1/box_properties/border_width-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_width-expected.png: Added.
        * layout-tests/css1/box_properties/border_width_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/border_width_inline-expected.png: Added.
        * layout-tests/css1/box_properties/clear-expected.checksum: Added.
        * layout-tests/css1/box_properties/clear-expected.png: Added.
        * layout-tests/css1/box_properties/clear_float-expected.checksum: Added.
        * layout-tests/css1/box_properties/clear_float-expected.png: Added.
        * layout-tests/css1/box_properties/float-expected.checksum: Added.
        * layout-tests/css1/box_properties/float-expected.png: Added.
        * layout-tests/css1/box_properties/float_elements_in_series-expected.checksum: Added.
        * layout-tests/css1/box_properties/float_elements_in_series-expected.png: Added.
        * layout-tests/css1/box_properties/float_margin-expected.checksum: Added.
        * layout-tests/css1/box_properties/float_margin-expected.png: Added.
        * layout-tests/css1/box_properties/float_on_text_elements-expected.checksum: Added.
        * layout-tests/css1/box_properties/float_on_text_elements-expected.png: Added.
        * layout-tests/css1/box_properties/height-expected.checksum: Added.
        * layout-tests/css1/box_properties/height-expected.png: Added.
        * layout-tests/css1/box_properties/margin-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin-expected.png: Added.
        * layout-tests/css1/box_properties/margin_bottom-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_bottom-expected.png: Added.
        * layout-tests/css1/box_properties/margin_bottom_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_bottom_inline-expected.png: Added.
        * layout-tests/css1/box_properties/margin_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_inline-expected.png: Added.
        * layout-tests/css1/box_properties/margin_left-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_left-expected.png: Added.
        * layout-tests/css1/box_properties/margin_left_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_left_inline-expected.png: Added.
        * layout-tests/css1/box_properties/margin_right-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_right-expected.png: Added.
        * layout-tests/css1/box_properties/margin_right_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_right_inline-expected.png: Added.
        * layout-tests/css1/box_properties/margin_top-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_top-expected.png: Added.
        * layout-tests/css1/box_properties/margin_top_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/margin_top_inline-expected.png: Added.
        * layout-tests/css1/box_properties/padding-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding-expected.png: Added.
        * layout-tests/css1/box_properties/padding_bottom-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_bottom-expected.png: Added.
        * layout-tests/css1/box_properties/padding_bottom_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_bottom_inline-expected.png: Added.
        * layout-tests/css1/box_properties/padding_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_inline-expected.png: Added.
        * layout-tests/css1/box_properties/padding_left-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_left-expected.png: Added.
        * layout-tests/css1/box_properties/padding_left_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_left_inline-expected.png: Added.
        * layout-tests/css1/box_properties/padding_right-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_right-expected.png: Added.
        * layout-tests/css1/box_properties/padding_right_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_right_inline-expected.png: Added.
        * layout-tests/css1/box_properties/padding_top-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_top-expected.png: Added.
        * layout-tests/css1/box_properties/padding_top_inline-expected.checksum: Added.
        * layout-tests/css1/box_properties/padding_top_inline-expected.png: Added.
        * layout-tests/css1/box_properties/width-expected.checksum: Added.
        * layout-tests/css1/box_properties/width-expected.png: Added.
        * layout-tests/css1/cascade/cascade_order-expected.checksum: Added.
        * layout-tests/css1/cascade/cascade_order-expected.png: Added.
        * layout-tests/css1/cascade/important-expected.checksum: Added.
        * layout-tests/css1/cascade/important-expected.png: Added.
        * layout-tests/css1/classification/display-expected.checksum: Added.
        * layout-tests/css1/classification/display-expected.png: Added.
        * layout-tests/css1/classification/list_style-expected.checksum: Added.
        * layout-tests/css1/classification/list_style-expected.png: Added.
        * layout-tests/css1/classification/list_style_image-expected.checksum: Added.
        * layout-tests/css1/classification/list_style_image-expected.png: Added.
        * layout-tests/css1/classification/list_style_position-expected.checksum: Added.
        * layout-tests/css1/classification/list_style_position-expected.png: Added.
        * layout-tests/css1/classification/list_style_type-expected.checksum: Added.
        * layout-tests/css1/classification/list_style_type-expected.png: Added.
        * layout-tests/css1/classification/white_space-expected.checksum: Added.
        * layout-tests/css1/classification/white_space-expected.png: Added.
        * layout-tests/css1/color_and_background/background-expected.checksum: Added.
        * layout-tests/css1/color_and_background/background-expected.png: Added.
        * layout-tests/css1/color_and_background/background_attachment-expected.checksum: Added.
        * layout-tests/css1/color_and_background/background_attachment-expected.png: Added.
        * layout-tests/css1/color_and_background/background_color-expected.checksum: Added.
        * layout-tests/css1/color_and_background/background_color-expected.png: Added.
        * layout-tests/css1/color_and_background/background_image-expected.checksum: Added.
        * layout-tests/css1/color_and_background/background_image-expected.png: Added.
        * layout-tests/css1/color_and_background/background_position-expected.checksum: Added.
        * layout-tests/css1/color_and_background/background_position-expected.png: Added.
        * layout-tests/css1/color_and_background/background_repeat-expected.checksum: Added.
        * layout-tests/css1/color_and_background/background_repeat-expected.png: Added.
        * layout-tests/css1/color_and_background/color-expected.checksum: Added.
        * layout-tests/css1/color_and_background/color-expected.png: Added.
        * layout-tests/css1/conformance/forward_compatible_parsing-expected.checksum: Added.
        * layout-tests/css1/conformance/forward_compatible_parsing-expected.png: Added.
        * layout-tests/css1/font_properties/font-expected.checksum: Added.
        * layout-tests/css1/font_properties/font-expected.png: Added.
        * layout-tests/css1/font_properties/font_family-expected.checksum: Added.
        * layout-tests/css1/font_properties/font_family-expected.png: Added.
        * layout-tests/css1/font_properties/font_size-expected.checksum: Added.
        * layout-tests/css1/font_properties/font_size-expected.png: Added.
        * layout-tests/css1/font_properties/font_style-expected.checksum: Added.
        * layout-tests/css1/font_properties/font_style-expected.png: Added.
        * layout-tests/css1/font_properties/font_variant-expected.checksum: Added.
        * layout-tests/css1/font_properties/font_variant-expected.png: Added.
        * layout-tests/css1/font_properties/font_weight-expected.checksum: Added.
        * layout-tests/css1/font_properties/font_weight-expected.png: Added.
        * layout-tests/css1/formatting_model/canvas-expected.checksum: Added.
        * layout-tests/css1/formatting_model/canvas-expected.png: Added.
        * layout-tests/css1/formatting_model/floating_elements-expected.checksum: Added.
        * layout-tests/css1/formatting_model/floating_elements-expected.png: Added.
        * layout-tests/css1/formatting_model/height_of_lines-expected.checksum: Added.
        * layout-tests/css1/formatting_model/height_of_lines-expected.png: Added.
        * layout-tests/css1/formatting_model/horizontal_formatting-expected.checksum: Added.
        * layout-tests/css1/formatting_model/horizontal_formatting-expected.png: Added.
        * layout-tests/css1/formatting_model/inline_elements-expected.checksum: Added.
        * layout-tests/css1/formatting_model/inline_elements-expected.png: Added.
        * layout-tests/css1/formatting_model/replaced_elements-expected.checksum: Added.
        * layout-tests/css1/formatting_model/replaced_elements-expected.png: Added.
        * layout-tests/css1/formatting_model/vertical_formatting-expected.checksum: Added.
        * layout-tests/css1/formatting_model/vertical_formatting-expected.png: Added.
        * layout-tests/css1/pseudo/anchor-expected.checksum: Added.
        * layout-tests/css1/pseudo/anchor-expected.png: Added.
        * layout-tests/css1/pseudo/firstletter-expected.checksum: Added.
        * layout-tests/css1/pseudo/firstletter-expected.png: Added.
        * layout-tests/css1/pseudo/firstline-expected.checksum: Added.
        * layout-tests/css1/pseudo/firstline-expected.png: Added.
        * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.checksum: Added.
        * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.png: Added.
        * layout-tests/css1/pseudo/pseudo_elements_in_selectors-expected.checksum: Added.
        * layout-tests/css1/pseudo/pseudo_elements_in_selectors-expected.png: Added.
        * layout-tests/css1/text_properties/letter_spacing-expected.checksum: Added.
        * layout-tests/css1/text_properties/letter_spacing-expected.png: Added.
        * layout-tests/css1/text_properties/line_height-expected.checksum: Added.
        * layout-tests/css1/text_properties/line_height-expected.png: Added.
        * layout-tests/css1/text_properties/text-transCapitalize-expected.checksum: Added.
        * layout-tests/css1/text_properties/text-transCapitalize-expected.png: Added.
        * layout-tests/css1/text_properties/text_align-expected.checksum: Added.
        * layout-tests/css1/text_properties/text_align-expected.png: Added.
        * layout-tests/css1/text_properties/text_decoration-expected.checksum: Added.
        * layout-tests/css1/text_properties/text_decoration-expected.png: Added.
        * layout-tests/css1/text_properties/text_indent-expected.checksum: Added.
        * layout-tests/css1/text_properties/text_indent-expected.png: Added.
        * layout-tests/css1/text_properties/text_transform-expected.checksum: Added.
        * layout-tests/css1/text_properties/text_transform-expected.png: Added.
        * layout-tests/css1/text_properties/vertical_align-expected.checksum: Added.
        * layout-tests/css1/text_properties/vertical_align-expected.png: Added.
        * layout-tests/css1/text_properties/word_spacing-expected.checksum: Added.
        * layout-tests/css1/text_properties/word_spacing-expected.png: Added.
        * layout-tests/css1/units/color_units-expected.checksum: Added.
        * layout-tests/css1/units/color_units-expected.png: Added.
        * layout-tests/css1/units/length_units-expected.checksum: Added.
        * layout-tests/css1/units/length_units-expected.png: Added.
        * layout-tests/css1/units/percentage_units-expected.checksum: Added.
        * layout-tests/css1/units/percentage_units-expected.png: Added.
        * layout-tests/css1/units/urls-expected.checksum: Added.
        * layout-tests/css1/units/urls-expected.png: Added.
        * layout-tests/dom/html/level2/html/HTMLBaseElement01-expected.checksum: Added.
        * layout-tests/dom/html/level2/html/HTMLBaseElement01-expected.png: Added.
        * layout-tests/dom/html/level2/html/HTMLBaseElement02-expected.checksum: Added.
        * layout-tests/dom/html/level2/html/HTMLBaseElement02-expected.png: Added.
        * layout-tests/dom/html/level2/html/frame-expected.checksum: Added.
        * layout-tests/dom/html/level2/html/frame-expected.png: Added.
        * layout-tests/dom/html/level2/html/iframe-expected.checksum: Added.
        * layout-tests/dom/html/level2/html/iframe-expected.png: Added.
        * layout-tests/editing/deleting/collapse-whitespace-3587601-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/collapse-whitespace-3587601-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3608430-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3608430-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3608445-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3608445-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3608462-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3608462-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3775172-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3775172-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3800834-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3800834-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3857753-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3857753-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3865854-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3865854-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3928305-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3928305-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-3959464-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-3959464-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-4038408-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-4038408-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-4083333-fix-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-4083333-fix-expected.png: Added.
        * layout-tests/editing/deleting/delete-after-span-ws-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-after-span-ws-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-after-span-ws-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-after-span-ws-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-after-span-ws-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-after-span-ws-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-and-undo-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-and-undo-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-005-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-005-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-006-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-006-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-007-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-007-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-008-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-008-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-009-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-009-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-010-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-010-expected.png: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-at-paragraph-boundaries-011-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-contents-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-contents-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-contents-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-contents-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-contents-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-contents-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-004-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-004-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-005-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-005-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-006-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-006-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-007-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-007-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-008-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-008-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-009-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-009-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-010-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-010-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-011-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-011-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-012-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-012-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-013-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-013-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-014-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-014-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-015-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-015-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-016-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-016-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-017-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-017-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-018-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-018-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-019-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-019-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-020-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-020-expected.png: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-021-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-block-merge-contents-021-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-004-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-004-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-005-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-005-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-006-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-006-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-007-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-007-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-008-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-008-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-009-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-009-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-010-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-010-expected.png: Added.
        * layout-tests/editing/deleting/delete-br-011-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-br-011-expected.png: Added.
        * layout-tests/editing/deleting/delete-character-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-character-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-contiguous-ws-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-contiguous-ws-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-image-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-image-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-image-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-image-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-image-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-image-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-image-004-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-image-004-expected.png: Added.
        * layout-tests/editing/deleting/delete-leading-ws-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-leading-ws-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-004-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-004-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-005-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-005-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-006-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-006-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-007-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-007-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-008-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-008-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-009-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-009-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-010-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-010-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-011-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-011-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-012-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-012-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-013-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-013-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-014-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-014-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-015-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-015-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-016-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-016-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-017-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-017-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-end-ws-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-end-ws-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-line-end-ws-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-line-end-ws-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-select-all-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-select-all-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-select-all-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-select-all-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-select-all-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-select-all-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-selection-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-selection-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-tab-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-tab-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-tab-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-tab-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-tab-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-tab-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-tab-004-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-tab-004-expected.png: Added.
        * layout-tests/editing/deleting/delete-trailing-ws-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-trailing-ws-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-trailing-ws-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-trailing-ws-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-ws-fixup-001-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-ws-fixup-001-expected.png: Added.
        * layout-tests/editing/deleting/delete-ws-fixup-002-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-ws-fixup-002-expected.png: Added.
        * layout-tests/editing/deleting/delete-ws-fixup-003-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-ws-fixup-003-expected.png: Added.
        * layout-tests/editing/deleting/delete-ws-fixup-004-expected.checksum: Added.
        * layout-tests/editing/deleting/delete-ws-fixup-004-expected.png: Added.
        * layout-tests/editing/deleting/forward-delete-expected.checksum: Added.
        * layout-tests/editing/deleting/forward-delete-expected.png: Added.
        * layout-tests/editing/deleting/smart-delete-001-expected.checksum: Added.
        * layout-tests/editing/deleting/smart-delete-001-expected.png: Added.
        * layout-tests/editing/deleting/smart-delete-002-expected.checksum: Added.
        * layout-tests/editing/deleting/smart-delete-002-expected.png: Added.
        * layout-tests/editing/deleting/transpose-empty-expected.checksum: Added.
        * layout-tests/editing/deleting/transpose-empty-expected.png: Added.
        * layout-tests/editing/execCommand/boldSelection-expected.checksum: Added.
        * layout-tests/editing/execCommand/boldSelection-expected.png: Added.
        * layout-tests/editing/execCommand/italicizeByCharacter-expected.checksum: Added.
        * layout-tests/editing/execCommand/italicizeByCharacter-expected.png: Added.
        * layout-tests/editing/execCommand/modifyForeColorByCharacter-expected.checksum: Added.
        * layout-tests/editing/execCommand/modifyForeColorByCharacter-expected.png: Added.
        * layout-tests/editing/execCommand/print-expected.checksum: Added.
        * layout-tests/editing/execCommand/print-expected.png: Added.
        * layout-tests/editing/execCommand/selectAll-expected.checksum: Added.
        * layout-tests/editing/execCommand/selectAll-expected.png: Added.
        * layout-tests/editing/inserting/insert-3654864-fix-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-3654864-fix-expected.png: Added.
        * layout-tests/editing/inserting/insert-3659587-fix-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-3659587-fix-expected.png: Added.
        * layout-tests/editing/inserting/insert-3775316-fix-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-3775316-fix-expected.png: Added.
        * layout-tests/editing/inserting/insert-3778059-fix-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-3778059-fix-expected.png: Added.
        * layout-tests/editing/inserting/insert-3786362-fix-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-3786362-fix-expected.png: Added.
        * layout-tests/editing/inserting/insert-3800346-fix-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-3800346-fix-expected.png: Added.
        * layout-tests/editing/inserting/insert-3851164-fix-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-3851164-fix-expected.png: Added.
        * layout-tests/editing/inserting/insert-3907422-fix-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-3907422-fix-expected.png: Added.
        * layout-tests/editing/inserting/insert-after-delete-001-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-after-delete-001-expected.png: Added.
        * layout-tests/editing/inserting/insert-br-001-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-br-001-expected.png: Added.
        * layout-tests/editing/inserting/insert-br-002-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-br-002-expected.png: Added.
        * layout-tests/editing/inserting/insert-br-003-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-br-003-expected.png: Added.
        * layout-tests/editing/inserting/insert-br-004-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-br-004-expected.png: Added.
        * layout-tests/editing/inserting/insert-br-005-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-br-005-expected.png: Added.
        * layout-tests/editing/inserting/insert-br-006-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-br-006-expected.png: Added.
        * layout-tests/editing/inserting/insert-br-007-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-br-007-expected.png: Added.
        * layout-tests/editing/inserting/insert-br-008-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-br-008-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-001-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-001-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-002-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-002-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-003-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-003-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-004-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-004-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-005-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-005-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-006-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-006-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-007-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-007-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-008-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-008-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-009-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-009-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-010-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-010-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-011-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-011-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-012-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-012-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-013-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-013-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-014-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-014-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-015-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-015-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-016-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-016-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-017-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-017-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-018-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-018-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-019-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-019-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-020-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-020-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-021-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-021-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-022-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-022-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-023-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-023-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-024-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-024-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-025-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-025-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-026-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-026-expected.png: Added.
        * layout-tests/editing/inserting/insert-div-027-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-div-027-expected.png: Added.
        * layout-tests/editing/inserting/insert-space-in-empty-doc-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-space-in-empty-doc-expected.png: Added.
        * layout-tests/editing/inserting/insert-tab-001-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-tab-001-expected.png: Added.
        * layout-tests/editing/inserting/insert-tab-002-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-tab-002-expected.png: Added.
        * layout-tests/editing/inserting/insert-tab-003-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-tab-003-expected.png: Added.
        * layout-tests/editing/inserting/insert-tab-004-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-tab-004-expected.png: Added.
        * layout-tests/editing/inserting/insert-text-with-newlines-expected.checksum: Added.
        * layout-tests/editing/inserting/insert-text-with-newlines-expected.png: Added.
        * layout-tests/editing/inserting/return-key-with-selection-001-expected.checksum: Added.
        * layout-tests/editing/inserting/return-key-with-selection-001-expected.png: Added.
        * layout-tests/editing/inserting/return-key-with-selection-002-expected.checksum: Added.
        * layout-tests/editing/inserting/return-key-with-selection-002-expected.png: Added.
        * layout-tests/editing/inserting/return-key-with-selection-003-expected.checksum: Added.
        * layout-tests/editing/inserting/return-key-with-selection-003-expected.png: Added.
        * layout-tests/editing/inserting/typing-001-expected.checksum: Added.
        * layout-tests/editing/inserting/typing-001-expected.png: Added.
        * layout-tests/editing/inserting/typing-002-expected.checksum: Added.
        * layout-tests/editing/inserting/typing-002-expected.png: Added.
        * layout-tests/editing/inserting/typing-003-expected.checksum: Added.
        * layout-tests/editing/inserting/typing-003-expected.png: Added.
        * layout-tests/editing/inserting/typing-around-br-001-expected.checksum: Added.
        * layout-tests/editing/inserting/typing-around-br-001-expected.png: Added.
        * layout-tests/editing/inserting/typing-around-image-001-expected.checksum: Added.
        * layout-tests/editing/inserting/typing-around-image-001-expected.png: Added.
        * layout-tests/editing/pasteboard/cut-text-001-expected.checksum: Added.
        * layout-tests/editing/pasteboard/cut-text-001-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-4035648-fix-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-4035648-fix-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-4038267-fix-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-4038267-fix-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-001-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-001-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-002-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-002-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-003-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-003-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-004-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-004-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-005-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-005-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-006-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-006-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-007-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-007-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-008-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-008-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-009-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-009-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-010-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-line-endings-010-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-match-style-001-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-match-style-001-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-match-style-002-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-match-style-002-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-pre-001-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-pre-001-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-001-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-001-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-002-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-002-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-003-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-003-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-004-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-004-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-005-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-005-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-006-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-006-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-007-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-007-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-008-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-008-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-009-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-009-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-010-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-010-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-011-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-011-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-012-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-012-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-013-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-013-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-014-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-014-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-015-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-015-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-016-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-016-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-017-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-017-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-018-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-018-expected.png: Added.
        * layout-tests/editing/pasteboard/paste-text-019-expected.checksum: Added.
        * layout-tests/editing/pasteboard/paste-text-019-expected.png: Added.
        * layout-tests/editing/pasteboard/smart-paste-001-expected.checksum: Added.
        * layout-tests/editing/pasteboard/smart-paste-001-expected.png: Added.
        * layout-tests/editing/pasteboard/smart-paste-002-expected.checksum: Added.
        * layout-tests/editing/pasteboard/smart-paste-002-expected.png: Added.
        * layout-tests/editing/pasteboard/smart-paste-003-expected.checksum: Added.
        * layout-tests/editing/pasteboard/smart-paste-003-expected.png: Added.
        * layout-tests/editing/pasteboard/smart-paste-004-expected.checksum: Added.
        * layout-tests/editing/pasteboard/smart-paste-004-expected.png: Added.
        * layout-tests/editing/pasteboard/smart-paste-005-expected.checksum: Added.
        * layout-tests/editing/pasteboard/smart-paste-005-expected.png: Added.
        * layout-tests/editing/pasteboard/smart-paste-006-expected.checksum: Added.
        * layout-tests/editing/pasteboard/smart-paste-006-expected.png: Added.
        * layout-tests/editing/pasteboard/smart-paste-007-expected.checksum: Added.
        * layout-tests/editing/pasteboard/smart-paste-007-expected.png: Added.
        * layout-tests/editing/selection/extend-by-character-001-expected.checksum: Added.
        * layout-tests/editing/selection/extend-by-character-001-expected.png: Added.
        * layout-tests/editing/selection/extend-by-character-002-expected.checksum: Added.
        * layout-tests/editing/selection/extend-by-character-002-expected.png: Added.
        * layout-tests/editing/selection/extend-by-character-003-expected.checksum: Added.
        * layout-tests/editing/selection/extend-by-character-003-expected.png: Added.
        * layout-tests/editing/selection/extend-by-character-004-expected.checksum: Added.
        * layout-tests/editing/selection/extend-by-character-004-expected.png: Added.
        * layout-tests/editing/selection/extend-by-character-005-expected.checksum: Added.
        * layout-tests/editing/selection/extend-by-character-005-expected.png: Added.
        * layout-tests/editing/selection/extend-by-character-006-expected.checksum: Added.
        * layout-tests/editing/selection/extend-by-character-006-expected.png: Added.
        * layout-tests/editing/selection/extend-by-word-001-expected.checksum: Added.
        * layout-tests/editing/selection/extend-by-word-001-expected.png: Added.
        * layout-tests/editing/selection/move-3875618-fix-expected.checksum: Added.
        * layout-tests/editing/selection/move-3875618-fix-expected.png: Added.
        * layout-tests/editing/selection/move-3875641-fix-expected.checksum: Added.
        * layout-tests/editing/selection/move-3875641-fix-expected.png: Added.
        * layout-tests/editing/selection/move-backwords-by-word-001-expected.checksum: Added.
        * layout-tests/editing/selection/move-backwords-by-word-001-expected.png: Added.
        * layout-tests/editing/selection/move-between-blocks-no-001-expected.checksum: Added.
        * layout-tests/editing/selection/move-between-blocks-no-001-expected.png: Added.
        * layout-tests/editing/selection/move-between-blocks-yes-001-expected.checksum: Added.
        * layout-tests/editing/selection/move-between-blocks-yes-001-expected.png: Added.
        * layout-tests/editing/selection/move-by-character-001-expected.checksum: Added.
        * layout-tests/editing/selection/move-by-character-001-expected.png: Added.
        * layout-tests/editing/selection/move-by-character-002-expected.checksum: Added.
        * layout-tests/editing/selection/move-by-character-002-expected.png: Added.
        * layout-tests/editing/selection/move-by-character-003-expected.checksum: Added.
        * layout-tests/editing/selection/move-by-character-003-expected.png: Added.
        * layout-tests/editing/selection/move-by-character-004-expected.checksum: Added.
        * layout-tests/editing/selection/move-by-character-004-expected.png: Added.
        * layout-tests/editing/selection/move-by-character-005-expected.checksum: Added.
        * layout-tests/editing/selection/move-by-character-005-expected.png: Added.
        * layout-tests/editing/selection/move-by-line-001-expected.checksum: Added.
        * layout-tests/editing/selection/move-by-line-001-expected.png: Added.
        * layout-tests/editing/selection/move-by-word-001-expected.checksum: Added.
        * layout-tests/editing/selection/move-by-word-001-expected.png: Added.
        * layout-tests/editing/selection/select-all-001-expected.checksum: Added.
        * layout-tests/editing/selection/select-all-001-expected.png: Added.
        * layout-tests/editing/selection/select-all-002-expected.checksum: Added.
        * layout-tests/editing/selection/select-all-002-expected.png: Added.
        * layout-tests/editing/selection/select-all-003-expected.checksum: Added.
        * layout-tests/editing/selection/select-all-003-expected.png: Added.
        * layout-tests/editing/selection/select-all-004-expected.checksum: Added.
        * layout-tests/editing/selection/select-all-004-expected.png: Added.
        * layout-tests/editing/selection/selection-3748164-fix-expected.checksum: Added.
        * layout-tests/editing/selection/selection-3748164-fix-expected.png: Added.
        * layout-tests/editing/selection/unrendered-001-expected.checksum: Added.
        * layout-tests/editing/selection/unrendered-001-expected.png: Added.
        * layout-tests/editing/selection/unrendered-002-expected.checksum: Added.
        * layout-tests/editing/selection/unrendered-002-expected.png: Added.
        * layout-tests/editing/selection/unrendered-003-expected.checksum: Added.
        * layout-tests/editing/selection/unrendered-003-expected.png: Added.
        * layout-tests/editing/selection/unrendered-004-expected.checksum: Added.
        * layout-tests/editing/selection/unrendered-004-expected.png: Added.
        * layout-tests/editing/selection/unrendered-005-expected.checksum: Added.
        * layout-tests/editing/selection/unrendered-005-expected.png: Added.
        * layout-tests/editing/style/block-style-001-expected.checksum: Added.
        * layout-tests/editing/style/block-style-001-expected.png: Added.
        * layout-tests/editing/style/block-style-002-expected.checksum: Added.
        * layout-tests/editing/style/block-style-002-expected.png: Added.
        * layout-tests/editing/style/block-style-003-expected.checksum: Added.
        * layout-tests/editing/style/block-style-003-expected.png: Added.
        * layout-tests/editing/style/block-style-004-expected.checksum: Added.
        * layout-tests/editing/style/block-style-004-expected.png: Added.
        * layout-tests/editing/style/block-style-005-expected.checksum: Added.
        * layout-tests/editing/style/block-style-005-expected.png: Added.
        * layout-tests/editing/style/block-style-006-expected.checksum: Added.
        * layout-tests/editing/style/block-style-006-expected.png: Added.
        * layout-tests/editing/style/block-styles-007-expected.checksum: Added.
        * layout-tests/editing/style/block-styles-007-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-001-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-001-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-002-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-002-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-003-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-003-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-004-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-004-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-005-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-005-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-006-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-006-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-007-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-007-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-008-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-008-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-009-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-009-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-010-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-010-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-011-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-011-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-012-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-012-expected.png: Added.
        * layout-tests/editing/style/create-block-for-style-013-expected.checksum: Added.
        * layout-tests/editing/style/create-block-for-style-013-expected.png: Added.
        * layout-tests/editing/style/relative-font-size-change-001-expected.checksum: Added.
        * layout-tests/editing/style/relative-font-size-change-001-expected.png: Added.
        * layout-tests/editing/style/relative-font-size-change-002-expected.checksum: Added.
        * layout-tests/editing/style/relative-font-size-change-002-expected.png: Added.
        * layout-tests/editing/style/relative-font-size-change-003-expected.checksum: Added.
        * layout-tests/editing/style/relative-font-size-change-003-expected.png: Added.
        * layout-tests/editing/style/relative-font-size-change-004-expected.checksum: Added.
        * layout-tests/editing/style/relative-font-size-change-004-expected.png: Added.
        * layout-tests/editing/style/remove-underline-across-paragraph-expected.checksum: Added.
        * layout-tests/editing/style/remove-underline-across-paragraph-expected.png: Added.
        * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.checksum: Added.
        * layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.png: Added.
        * layout-tests/editing/style/remove-underline-after-paragraph-expected.checksum: Added.
        * layout-tests/editing/style/remove-underline-after-paragraph-expected.png: Added.
        * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.checksum: Added.
        * layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.png: Added.
        * layout-tests/editing/style/remove-underline-expected.checksum: Added.
        * layout-tests/editing/style/remove-underline-expected.png: Added.
        * layout-tests/editing/style/remove-underline-from-stylesheet-expected.checksum: Added.
        * layout-tests/editing/style/remove-underline-from-stylesheet-expected.png: Added.
        * layout-tests/editing/style/remove-underline-in-bold-expected.checksum: Added.
        * layout-tests/editing/style/remove-underline-in-bold-expected.png: Added.
        * layout-tests/editing/style/smoosh-styles-001-expected.checksum: Added.
        * layout-tests/editing/style/smoosh-styles-001-expected.png: Added.
        * layout-tests/editing/style/smoosh-styles-002-expected.checksum: Added.
        * layout-tests/editing/style/smoosh-styles-002-expected.png: Added.
        * layout-tests/editing/style/smoosh-styles-003-expected.checksum: Added.
        * layout-tests/editing/style/smoosh-styles-003-expected.png: Added.
        * layout-tests/editing/style/style-3681552-fix-001-expected.checksum: Added.
        * layout-tests/editing/style/style-3681552-fix-001-expected.png: Added.
        * layout-tests/editing/style/style-3681552-fix-002-expected.checksum: Added.
        * layout-tests/editing/style/style-3681552-fix-002-expected.png: Added.
        * layout-tests/editing/style/style-3690704-fix-expected.checksum: Added.
        * layout-tests/editing/style/style-3690704-fix-expected.png: Added.
        * layout-tests/editing/style/style-3998892-fix-expected.checksum: Added.
        * layout-tests/editing/style/style-3998892-fix-expected.png: Added.
        * layout-tests/editing/style/style-boundary-001-expected.checksum: Added.
        * layout-tests/editing/style/style-boundary-001-expected.png: Added.
        * layout-tests/editing/style/style-boundary-002-expected.checksum: Added.
        * layout-tests/editing/style/style-boundary-002-expected.png: Added.
        * layout-tests/editing/style/style-boundary-003-expected.checksum: Added.
        * layout-tests/editing/style/style-boundary-003-expected.png: Added.
        * layout-tests/editing/style/style-boundary-004-expected.checksum: Added.
        * layout-tests/editing/style/style-boundary-004-expected.png: Added.
        * layout-tests/editing/style/typing-style-001-expected.checksum: Added.
        * layout-tests/editing/style/typing-style-001-expected.png: Added.
        * layout-tests/editing/style/typing-style-002-expected.checksum: Added.
        * layout-tests/editing/style/typing-style-002-expected.png: Added.
        * layout-tests/editing/style/typing-style-003-expected.checksum: Added.
        * layout-tests/editing/style/typing-style-003-expected.png: Added.
        * layout-tests/editing/style/unbold-in-bold-expected.checksum: Added.
        * layout-tests/editing/style/unbold-in-bold-expected.png: Added.
        * layout-tests/editing/style/underline-expected.checksum: Added.
        * layout-tests/editing/style/underline-expected.png: Added.
        * layout-tests/editing/undo/redo-typing-001-expected.checksum: Added.
        * layout-tests/editing/undo/redo-typing-001-expected.png: Added.
        * layout-tests/editing/undo/undo-typing-001-expected.checksum: Added.
        * layout-tests/editing/undo/undo-typing-001-expected.png: Added.
        * layout-tests/editing/unsupported-content/list-delete-001-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/list-delete-001-expected.png: Added.
        * layout-tests/editing/unsupported-content/list-delete-002-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/list-delete-002-expected.png: Added.
        * layout-tests/editing/unsupported-content/list-delete-003-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/list-delete-003-expected.png: Added.
        * layout-tests/editing/unsupported-content/list-type-after-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/list-type-after-expected.png: Added.
        * layout-tests/editing/unsupported-content/list-type-before-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/list-type-before-expected.png: Added.
        * layout-tests/editing/unsupported-content/table-delete-001-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/table-delete-001-expected.png: Added.
        * layout-tests/editing/unsupported-content/table-delete-002-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/table-delete-002-expected.png: Added.
        * layout-tests/editing/unsupported-content/table-delete-003-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/table-delete-003-expected.png: Added.
        * layout-tests/editing/unsupported-content/table-type-after-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/table-type-after-expected.png: Added.
        * layout-tests/editing/unsupported-content/table-type-before-expected.checksum: Added.
        * layout-tests/editing/unsupported-content/table-type-before-expected.png: Added.
        * layout-tests/fast/backgrounds/001-expected.checksum: Added.
        * layout-tests/fast/backgrounds/001-expected.png: Added.
        * layout-tests/fast/block/basic/001-expected.checksum: Added.
        * layout-tests/fast/block/basic/001-expected.png: Added.
        * layout-tests/fast/block/basic/002-expected.checksum: Added.
        * layout-tests/fast/block/basic/002-expected.png: Added.
        * layout-tests/fast/block/basic/003-expected.checksum: Added.
        * layout-tests/fast/block/basic/003-expected.png: Added.
        * layout-tests/fast/block/basic/004-expected.checksum: Added.
        * layout-tests/fast/block/basic/004-expected.png: Added.
        * layout-tests/fast/block/basic/005-expected.checksum: Added.
        * layout-tests/fast/block/basic/005-expected.png: Added.
        * layout-tests/fast/block/basic/006-expected.checksum: Added.
        * layout-tests/fast/block/basic/006-expected.png: Added.
        * layout-tests/fast/block/basic/007-expected.checksum: Added.
        * layout-tests/fast/block/basic/007-expected.png: Added.
        * layout-tests/fast/block/basic/008-expected.checksum: Added.
        * layout-tests/fast/block/basic/008-expected.png: Added.
        * layout-tests/fast/block/basic/009-expected.checksum: Added.
        * layout-tests/fast/block/basic/009-expected.png: Added.
        * layout-tests/fast/block/basic/010-expected.checksum: Added.
        * layout-tests/fast/block/basic/010-expected.png: Added.
        * layout-tests/fast/block/basic/011-expected.checksum: Added.
        * layout-tests/fast/block/basic/011-expected.png: Added.
        * layout-tests/fast/block/basic/012-expected.checksum: Added.
        * layout-tests/fast/block/basic/012-expected.png: Added.
        * layout-tests/fast/block/basic/013-expected.checksum: Added.
        * layout-tests/fast/block/basic/013-expected.png: Added.
        * layout-tests/fast/block/basic/014-expected.checksum: Added.
        * layout-tests/fast/block/basic/014-expected.png: Added.
        * layout-tests/fast/block/basic/015-expected.checksum: Added.
        * layout-tests/fast/block/basic/015-expected.png: Added.
        * layout-tests/fast/block/basic/016-expected.checksum: Added.
        * layout-tests/fast/block/basic/016-expected.png: Added.
        * layout-tests/fast/block/basic/017-expected.checksum: Added.
        * layout-tests/fast/block/basic/017-expected.png: Added.
        * layout-tests/fast/block/basic/018-expected.checksum: Added.
        * layout-tests/fast/block/basic/018-expected.png: Added.
        * layout-tests/fast/block/basic/019-expected.checksum: Added.
        * layout-tests/fast/block/basic/019-expected.png: Added.
        * layout-tests/fast/block/basic/020-expected.checksum: Added.
        * layout-tests/fast/block/basic/020-expected.png: Added.
        * layout-tests/fast/block/basic/minheight-expected.checksum: Added.
        * layout-tests/fast/block/basic/minheight-expected.png: Added.
        * layout-tests/fast/block/basic/quirk-height-expected.checksum: Added.
        * layout-tests/fast/block/basic/quirk-height-expected.png: Added.
        * layout-tests/fast/block/float/001-expected.checksum: Added.
        * layout-tests/fast/block/float/001-expected.png: Added.
        * layout-tests/fast/block/float/002-expected.checksum: Added.
        * layout-tests/fast/block/float/002-expected.png: Added.
        * layout-tests/fast/block/float/003-expected.checksum: Added.
        * layout-tests/fast/block/float/003-expected.png: Added.
        * layout-tests/fast/block/float/004-expected.checksum: Added.
        * layout-tests/fast/block/float/004-expected.png: Added.
        * layout-tests/fast/block/float/005-expected.checksum: Added.
        * layout-tests/fast/block/float/005-expected.png: Added.
        * layout-tests/fast/block/float/006-expected.checksum: Added.
        * layout-tests/fast/block/float/006-expected.png: Added.
        * layout-tests/fast/block/float/007-expected.checksum: Added.
        * layout-tests/fast/block/float/007-expected.png: Added.
        * layout-tests/fast/block/float/008-expected.checksum: Added.
        * layout-tests/fast/block/float/008-expected.png: Added.
        * layout-tests/fast/block/float/009-expected.checksum: Added.
        * layout-tests/fast/block/float/009-expected.png: Added.
        * layout-tests/fast/block/float/010-expected.checksum: Added.
        * layout-tests/fast/block/float/010-expected.png: Added.
        * layout-tests/fast/block/float/011-expected.checksum: Added.
        * layout-tests/fast/block/float/011-expected.png: Added.
        * layout-tests/fast/block/float/012-expected.checksum: Added.
        * layout-tests/fast/block/float/012-expected.png: Added.
        * layout-tests/fast/block/float/013-expected.checksum: Added.
        * layout-tests/fast/block/float/013-expected.png: Added.
        * layout-tests/fast/block/float/014-expected.checksum: Added.
        * layout-tests/fast/block/float/014-expected.png: Added.
        * layout-tests/fast/block/float/015-expected.checksum: Added.
        * layout-tests/fast/block/float/015-expected.png: Added.
        * layout-tests/fast/block/float/016-expected.checksum: Added.
        * layout-tests/fast/block/float/016-expected.png: Added.
        * layout-tests/fast/block/float/017-expected.checksum: Added.
        * layout-tests/fast/block/float/017-expected.png: Added.
        * layout-tests/fast/block/float/018-expected.checksum: Added.
        * layout-tests/fast/block/float/018-expected.png: Added.
        * layout-tests/fast/block/float/019-expected.checksum: Added.
        * layout-tests/fast/block/float/019-expected.png: Added.
        * layout-tests/fast/block/float/020-expected.checksum: Added.
        * layout-tests/fast/block/float/020-expected.png: Added.
        * layout-tests/fast/block/float/021-expected.checksum: Added.
        * layout-tests/fast/block/float/021-expected.png: Added.
        * layout-tests/fast/block/float/022-expected.checksum: Added.
        * layout-tests/fast/block/float/022-expected.png: Added.
        * layout-tests/fast/block/float/023-expected.checksum: Added.
        * layout-tests/fast/block/float/023-expected.png: Added.
        * layout-tests/fast/block/float/024-expected.checksum: Added.
        * layout-tests/fast/block/float/024-expected.png: Added.
        * layout-tests/fast/block/float/025-expected.checksum: Added.
        * layout-tests/fast/block/float/025-expected.png: Added.
        * layout-tests/fast/block/float/026-expected.checksum: Added.
        * layout-tests/fast/block/float/026-expected.png: Added.
        * layout-tests/fast/block/float/027-expected.checksum: Added.
        * layout-tests/fast/block/float/027-expected.png: Added.
        * layout-tests/fast/block/float/028-expected.checksum: Added.
        * layout-tests/fast/block/float/028-expected.png: Added.
        * layout-tests/fast/block/float/029-expected.checksum: Added.
        * layout-tests/fast/block/float/029-expected.png: Added.
        * layout-tests/fast/block/float/030-expected.checksum: Added.
        * layout-tests/fast/block/float/030-expected.png: Added.
        * layout-tests/fast/block/float/031-expected.checksum: Added.
        * layout-tests/fast/block/float/031-expected.png: Added.
        * layout-tests/fast/block/float/032-expected.checksum: Added.
        * layout-tests/fast/block/float/032-expected.png: Added.
        * layout-tests/fast/block/float/033-expected.checksum: Added.
        * layout-tests/fast/block/float/033-expected.png: Added.
        * layout-tests/fast/block/float/034-expected.checksum: Added.
        * layout-tests/fast/block/float/034-expected.png: Added.
        * layout-tests/fast/block/float/035-expected.checksum: Added.
        * layout-tests/fast/block/float/035-expected.png: Added.
        * layout-tests/fast/block/float/tableshifting-expected.checksum: Added.
        * layout-tests/fast/block/float/tableshifting-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/001-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/001-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/002-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/002-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/003-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/003-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/004-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/004-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/005-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/005-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/006-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/006-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/010-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/010-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/011-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/011-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/012-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/012-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/015-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/015-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/016-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/016-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/017-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/017-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/018-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/018-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/019-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/019-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/020-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/020-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/021-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/021-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/022-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/022-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/024-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/024-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/025-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/025-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/026-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/026-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/027-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/027-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/028-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/028-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/029-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/029-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/030-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/030-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/031-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/031-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/032-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/032-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/033-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/033-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/034-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/034-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/035-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/035-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/037-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/037-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/038-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/038-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/039-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/039-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/040-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/040-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/041-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/041-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/042-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/042-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/043-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/043-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/044-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/044-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/045-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/045-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/055-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/055-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/056-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/056-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/057-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/057-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/058-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/058-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/059-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/059-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/062-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/062-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/063-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/063-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/100-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/100-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/101-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/101-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/102-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/102-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/103-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/103-expected.png: Added.
        * layout-tests/fast/block/margin-collapse/104-expected.checksum: Added.
        * layout-tests/fast/block/margin-collapse/104-expected.png: Added.
        * layout-tests/fast/block/positioning/001-expected.checksum: Added.
        * layout-tests/fast/block/positioning/001-expected.png: Added.
        * layout-tests/fast/block/positioning/002-expected.checksum: Added.
        * layout-tests/fast/block/positioning/002-expected.png: Added.
        * layout-tests/fast/block/positioning/003-expected.checksum: Added.
        * layout-tests/fast/block/positioning/003-expected.png: Added.
        * layout-tests/fast/block/positioning/004-expected.checksum: Added.
        * layout-tests/fast/block/positioning/004-expected.png: Added.
        * layout-tests/fast/block/positioning/005-expected.checksum: Added.
        * layout-tests/fast/block/positioning/005-expected.png: Added.
        * layout-tests/fast/block/positioning/006-expected.checksum: Added.
        * layout-tests/fast/block/positioning/006-expected.png: Added.
        * layout-tests/fast/block/positioning/007-expected.checksum: Added.
        * layout-tests/fast/block/positioning/007-expected.png: Added.
        * layout-tests/fast/block/positioning/008-expected.checksum: Added.
        * layout-tests/fast/block/positioning/008-expected.png: Added.
        * layout-tests/fast/block/positioning/009-expected.checksum: Added.
        * layout-tests/fast/block/positioning/009-expected.png: Added.
        * layout-tests/fast/block/positioning/010-expected.checksum: Added.
        * layout-tests/fast/block/positioning/010-expected.png: Added.
        * layout-tests/fast/block/positioning/011-expected.checksum: Added.
        * layout-tests/fast/block/positioning/011-expected.png: Added.
        * layout-tests/fast/block/positioning/012-expected.checksum: Added.
        * layout-tests/fast/block/positioning/012-expected.png: Added.
        * layout-tests/fast/block/positioning/013-expected.checksum: Added.
        * layout-tests/fast/block/positioning/013-expected.png: Added.
        * layout-tests/fast/block/positioning/014-expected.checksum: Added.
        * layout-tests/fast/block/positioning/014-expected.png: Added.
        * layout-tests/fast/block/positioning/015-expected.checksum: Added.
        * layout-tests/fast/block/positioning/015-expected.png: Added.
        * layout-tests/fast/block/positioning/016-expected.checksum: Added.
        * layout-tests/fast/block/positioning/016-expected.png: Added.
        * layout-tests/fast/block/positioning/017-expected.checksum: Added.
        * layout-tests/fast/block/positioning/017-expected.png: Added.
        * layout-tests/fast/block/positioning/018-expected.checksum: Added.
        * layout-tests/fast/block/positioning/018-expected.png: Added.
        * layout-tests/fast/block/positioning/019-expected.checksum: Added.
        * layout-tests/fast/block/positioning/019-expected.png: Added.
        * layout-tests/fast/block/positioning/020-expected.checksum: Added.
        * layout-tests/fast/block/positioning/020-expected.png: Added.
        * layout-tests/fast/block/positioning/021-expected.checksum: Added.
        * layout-tests/fast/block/positioning/021-expected.png: Added.
        * layout-tests/fast/block/positioning/022-expected.checksum: Added.
        * layout-tests/fast/block/positioning/022-expected.png: Added.
        * layout-tests/fast/block/positioning/023-expected.checksum: Added.
        * layout-tests/fast/block/positioning/023-expected.png: Added.
        * layout-tests/fast/block/positioning/024-expected.checksum: Added.
        * layout-tests/fast/block/positioning/024-expected.png: Added.
        * layout-tests/fast/block/positioning/025-expected.checksum: Added.
        * layout-tests/fast/block/positioning/025-expected.png: Added.
        * layout-tests/fast/block/positioning/026-expected.checksum: Added.
        * layout-tests/fast/block/positioning/026-expected.png: Added.
        * layout-tests/fast/block/positioning/027-expected.checksum: Added.
        * layout-tests/fast/block/positioning/027-expected.png: Added.
        * layout-tests/fast/block/positioning/028-expected.checksum: Added.
        * layout-tests/fast/block/positioning/028-expected.png: Added.
        * layout-tests/fast/block/positioning/029-expected.checksum: Added.
        * layout-tests/fast/block/positioning/029-expected.png: Added.
        * layout-tests/fast/block/positioning/030-expected.checksum: Added.
        * layout-tests/fast/block/positioning/030-expected.png: Added.
        * layout-tests/fast/block/positioning/031-expected.checksum: Added.
        * layout-tests/fast/block/positioning/031-expected.png: Added.
        * layout-tests/fast/block/positioning/032-expected.checksum: Added.
        * layout-tests/fast/block/positioning/032-expected.png: Added.
        * layout-tests/fast/block/positioning/033-expected.checksum: Added.
        * layout-tests/fast/block/positioning/033-expected.png: Added.
        * layout-tests/fast/block/positioning/034-expected.checksum: Added.
        * layout-tests/fast/block/positioning/034-expected.png: Added.
        * layout-tests/fast/block/positioning/035-expected.checksum: Added.
        * layout-tests/fast/block/positioning/035-expected.png: Added.
        * layout-tests/fast/block/positioning/036-expected.checksum: Added.
        * layout-tests/fast/block/positioning/036-expected.png: Added.
        * layout-tests/fast/block/positioning/037-expected.checksum: Added.
        * layout-tests/fast/block/positioning/037-expected.png: Added.
        * layout-tests/fast/block/positioning/038-expected.checksum: Added.
        * layout-tests/fast/block/positioning/038-expected.png: Added.
        * layout-tests/fast/block/positioning/039-expected.checksum: Added.
        * layout-tests/fast/block/positioning/039-expected.png: Added.
        * layout-tests/fast/block/positioning/040-expected.checksum: Added.
        * layout-tests/fast/block/positioning/040-expected.png: Added.
        * layout-tests/fast/block/positioning/041-expected.checksum: Added.
        * layout-tests/fast/block/positioning/041-expected.png: Added.
        * layout-tests/fast/block/positioning/042-expected.checksum: Added.
        * layout-tests/fast/block/positioning/042-expected.png: Added.
        * layout-tests/fast/block/positioning/043-expected.checksum: Added.
        * layout-tests/fast/block/positioning/043-expected.png: Added.
        * layout-tests/fast/block/positioning/044-expected.checksum: Added.
        * layout-tests/fast/block/positioning/044-expected.png: Added.
        * layout-tests/fast/block/positioning/045-expected.checksum: Added.
        * layout-tests/fast/block/positioning/045-expected.png: Added.
        * layout-tests/fast/block/positioning/046-expected.checksum: Added.
        * layout-tests/fast/block/positioning/046-expected.png: Added.
        * layout-tests/fast/block/positioning/047-expected.checksum: Added.
        * layout-tests/fast/block/positioning/047-expected.png: Added.
        * layout-tests/fast/block/positioning/048-expected.checksum: Added.
        * layout-tests/fast/block/positioning/048-expected.png: Added.
        * layout-tests/fast/block/positioning/049-expected.checksum: Added.
        * layout-tests/fast/block/positioning/049-expected.png: Added.
        * layout-tests/fast/block/positioning/050-expected.checksum: Added.
        * layout-tests/fast/block/positioning/050-expected.png: Added.
        * layout-tests/fast/block/positioning/051-expected.checksum: Added.
        * layout-tests/fast/block/positioning/051-expected.png: Added.
        * layout-tests/fast/block/positioning/052-expected.checksum: Added.
        * layout-tests/fast/block/positioning/052-expected.png: Added.
        * layout-tests/fast/block/positioning/053-expected.checksum: Added.
        * layout-tests/fast/block/positioning/053-expected.png: Added.
        * layout-tests/fast/block/positioning/054-expected.checksum: Added.
        * layout-tests/fast/block/positioning/054-expected.png: Added.
        * layout-tests/fast/block/positioning/055-expected.checksum: Added.
        * layout-tests/fast/block/positioning/055-expected.png: Added.
        * layout-tests/fast/block/positioning/056-expected.checksum: Added.
        * layout-tests/fast/block/positioning/056-expected.png: Added.
        * layout-tests/fast/block/positioning/057-expected.checksum: Added.
        * layout-tests/fast/block/positioning/057-expected.png: Added.
        * layout-tests/fast/block/positioning/058-expected.checksum: Added.
        * layout-tests/fast/block/positioning/058-expected.png: Added.
        * layout-tests/fast/block/positioning/059-expected.checksum: Added.
        * layout-tests/fast/block/positioning/059-expected.png: Added.
        * layout-tests/fast/block/positioning/060-expected.checksum: Added.
        * layout-tests/fast/block/positioning/060-expected.png: Added.
        * layout-tests/fast/block/positioning/061-expected.checksum: Added.
        * layout-tests/fast/block/positioning/061-expected.png: Added.
        * layout-tests/fast/block/positioning/auto/001-expected.checksum: Added.
        * layout-tests/fast/block/positioning/auto/001-expected.png: Added.
        * layout-tests/fast/block/positioning/auto/002-expected.checksum: Added.
        * layout-tests/fast/block/positioning/auto/002-expected.png: Added.
        * layout-tests/fast/block/positioning/auto/003-expected.checksum: Added.
        * layout-tests/fast/block/positioning/auto/003-expected.png: Added.
        * layout-tests/fast/block/positioning/auto/004-expected.checksum: Added.
        * layout-tests/fast/block/positioning/auto/004-expected.png: Added.
        * layout-tests/fast/block/positioning/auto/005-expected.checksum: Added.
        * layout-tests/fast/block/positioning/auto/005-expected.png: Added.
        * layout-tests/fast/block/positioning/auto/006-expected.checksum: Added.
        * layout-tests/fast/block/positioning/auto/006-expected.png: Added.
        * layout-tests/fast/block/positioning/auto/007-expected.checksum: Added.
        * layout-tests/fast/block/positioning/auto/007-expected.png: Added.
        * layout-tests/fast/clip/001-expected.checksum: Added.
        * layout-tests/fast/clip/001-expected.png: Added.
        * layout-tests/fast/clip/002-expected.checksum: Added.
        * layout-tests/fast/clip/002-expected.png: Added.
        * layout-tests/fast/clip/003-expected.checksum: Added.
        * layout-tests/fast/clip/003-expected.png: Added.
        * layout-tests/fast/clip/004-expected.checksum: Added.
        * layout-tests/fast/clip/004-expected.png: Added.
        * layout-tests/fast/clip/005-expected.checksum: Added.
        * layout-tests/fast/clip/005-expected.png: Added.
        * layout-tests/fast/clip/006-expected.checksum: Added.
        * layout-tests/fast/clip/006-expected.png: Added.
        * layout-tests/fast/clip/007-expected.checksum: Added.
        * layout-tests/fast/clip/007-expected.png: Added.
        * layout-tests/fast/clip/008-expected.checksum: Added.
        * layout-tests/fast/clip/008-expected.png: Added.
        * layout-tests/fast/clip/009-expected.checksum: Added.
        * layout-tests/fast/clip/009-expected.png: Added.
        * layout-tests/fast/clip/010-expected.checksum: Added.
        * layout-tests/fast/clip/010-expected.png: Added.
        * layout-tests/fast/clip/011-expected.checksum: Added.
        * layout-tests/fast/clip/011-expected.png: Added.
        * layout-tests/fast/clip/012-expected.checksum: Added.
        * layout-tests/fast/clip/012-expected.png: Added.
        * layout-tests/fast/clip/013-expected.checksum: Added.
        * layout-tests/fast/clip/013-expected.png: Added.
        * layout-tests/fast/clip/014-expected.checksum: Added.
        * layout-tests/fast/clip/014-expected.png: Added.
        * layout-tests/fast/clip/015-expected.checksum: Added.
        * layout-tests/fast/clip/015-expected.png: Added.
        * layout-tests/fast/clip/016-expected.checksum: Added.
        * layout-tests/fast/clip/016-expected.png: Added.
        * layout-tests/fast/compact/001-expected.checksum: Added.
        * layout-tests/fast/compact/001-expected.png: Added.
        * layout-tests/fast/compact/002-expected.checksum: Added.
        * layout-tests/fast/compact/002-expected.png: Added.
        * layout-tests/fast/compact/003-expected.checksum: Added.
        * layout-tests/fast/compact/003-expected.png: Added.
        * layout-tests/fast/css-generated-content/001-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/001-expected.png: Added.
        * layout-tests/fast/css-generated-content/002-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/002-expected.png: Added.
        * layout-tests/fast/css-generated-content/003-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/003-expected.png: Added.
        * layout-tests/fast/css-generated-content/004-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/004-expected.png: Added.
        * layout-tests/fast/css-generated-content/005-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/005-expected.png: Added.
        * layout-tests/fast/css-generated-content/007-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/007-expected.png: Added.
        * layout-tests/fast/css-generated-content/008-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/008-expected.png: Added.
        * layout-tests/fast/css-generated-content/009-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/009-expected.png: Added.
        * layout-tests/fast/css-generated-content/010-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/010-expected.png: Added.
        * layout-tests/fast/css-generated-content/011-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/011-expected.png: Added.
        * layout-tests/fast/css-generated-content/012-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/012-expected.png: Added.
        * layout-tests/fast/css-generated-content/013-expected.checksum: Added.
        * layout-tests/fast/css-generated-content/013-expected.png: Added.
        * layout-tests/fast/css/001-expected.checksum: Added.
        * layout-tests/fast/css/001-expected.png: Added.
        * layout-tests/fast/css/002-expected.checksum: Added.
        * layout-tests/fast/css/002-expected.png: Added.
        * layout-tests/fast/css/003-expected.checksum: Added.
        * layout-tests/fast/css/003-expected.png: Added.
        * layout-tests/fast/css/004-expected.checksum: Added.
        * layout-tests/fast/css/004-expected.png: Added.
        * layout-tests/fast/css/005-expected.checksum: Added.
        * layout-tests/fast/css/005-expected.png: Added.
        * layout-tests/fast/css/006-expected.checksum: Added.
        * layout-tests/fast/css/006-expected.png: Added.
        * layout-tests/fast/css/007-expected.checksum: Added.
        * layout-tests/fast/css/007-expected.png: Added.
        * layout-tests/fast/css/008-expected.checksum: Added.
        * layout-tests/fast/css/008-expected.png: Added.
        * layout-tests/fast/css/MarqueeLayoutTest-expected.checksum: Added.
        * layout-tests/fast/css/MarqueeLayoutTest-expected.png: Added.
        * layout-tests/fast/css/acid2-expected.checksum: Added.
        * layout-tests/fast/css/acid2-expected.png: Added.
        * layout-tests/fast/css/apple-prefix-expected.checksum: Added.
        * layout-tests/fast/css/apple-prefix-expected.png: Added.
        * layout-tests/fast/css/list-outline-expected.checksum: Added.
        * layout-tests/fast/css/list-outline-expected.png: Added.
        * layout-tests/fast/css/namespaces/001-expected.checksum: Added.
        * layout-tests/fast/css/namespaces/001-expected.png: Added.
        * layout-tests/fast/css/namespaces/002-expected.checksum: Added.
        * layout-tests/fast/css/namespaces/002-expected.png: Added.
        * layout-tests/fast/css/namespaces/003-expected.checksum: Added.
        * layout-tests/fast/css/namespaces/003-expected.png: Added.
        * layout-tests/fast/css/namespaces/004-expected.checksum: Added.
        * layout-tests/fast/css/namespaces/004-expected.png: Added.
        * layout-tests/fast/css/namespaces/005-expected.checksum: Added.
        * layout-tests/fast/css/namespaces/005-expected.png: Added.
        * layout-tests/fast/css/namespaces/006-expected.checksum: Added.
        * layout-tests/fast/css/namespaces/006-expected.png: Added.
        * layout-tests/fast/css/namespaces/007-expected.checksum: Added.
        * layout-tests/fast/css/namespaces/007-expected.png: Added.
        * layout-tests/fast/css/word-space-extra-expected.checksum: Added.
        * layout-tests/fast/css/word-space-extra-expected.png: Added.
        * layout-tests/fast/doctypes/001-expected.checksum: Added.
        * layout-tests/fast/doctypes/001-expected.png: Added.
        * layout-tests/fast/doctypes/002-expected.checksum: Added.
        * layout-tests/fast/doctypes/002-expected.png: Added.
        * layout-tests/fast/doctypes/003-expected.checksum: Added.
        * layout-tests/fast/doctypes/003-expected.png: Added.
        * layout-tests/fast/doctypes/004-expected.checksum: Added.
        * layout-tests/fast/doctypes/004-expected.png: Added.
        * layout-tests/fast/dom/HTMLElement/bdo-expected.checksum: Added.
        * layout-tests/fast/dom/HTMLElement/bdo-expected.png: Added.
        * layout-tests/fast/dom/HTMLTableElement/colSpan-expected.checksum: Added.
        * layout-tests/fast/dom/HTMLTableElement/colSpan-expected.png: Added.
        * layout-tests/fast/dom/HTMLTableElement/createCaption-expected.checksum: Added.
        * layout-tests/fast/dom/HTMLTableElement/createCaption-expected.png: Added.
        * layout-tests/fast/dom/anchor-text-expected.checksum: Added.
        * layout-tests/fast/dom/anchor-text-expected.png: Added.
        * layout-tests/fast/dom/attr_dead_doc-expected.checksum: Added.
        * layout-tests/fast/dom/attr_dead_doc-expected.png: Added.
        * layout-tests/fast/dom/children-nodes-expected.checksum: Added.
        * layout-tests/fast/dom/children-nodes-expected.png: Added.
        * layout-tests/fast/dom/clone-contents-0-end-offset-expected.checksum: Added.
        * layout-tests/fast/dom/clone-contents-0-end-offset-expected.png: Added.
        * layout-tests/fast/dom/clone-node-dynamic-style-expected.checksum: Added.
        * layout-tests/fast/dom/clone-node-dynamic-style-expected.png: Added.
        * layout-tests/fast/dom/createDocumentType-expected.checksum: Added.
        * layout-tests/fast/dom/createDocumentType-expected.png: Added.
        * layout-tests/fast/dom/dom-parse-serialize-display-expected.checksum: Added.
        * layout-tests/fast/dom/dom-parse-serialize-display-expected.png: Added.
        * layout-tests/fast/dom/dom-parse-serialize-expected.checksum: Added.
        * layout-tests/fast/dom/dom-parse-serialize-expected.png: Added.
        * layout-tests/fast/dom/features-expected.checksum: Added.
        * layout-tests/fast/dom/features-expected.png: Added.
        * layout-tests/fast/dom/importNodeHTML-expected.checksum: Added.
        * layout-tests/fast/dom/importNodeHTML-expected.png: Added.
        * layout-tests/fast/dom/importNodeXML-expected.checksum: Added.
        * layout-tests/fast/dom/importNodeXML-expected.png: Added.
        * layout-tests/fast/dom/inner-text-expected.checksum: Added.
        * layout-tests/fast/dom/inner-text-expected.png: Added.
        * layout-tests/fast/dom/outerText-expected.checksum: Added.
        * layout-tests/fast/dom/outerText-expected.png: Added.
        * layout-tests/fast/dom/outerText-no-element-expected.checksum: Added.
        * layout-tests/fast/dom/outerText-no-element-expected.png: Added.
        * layout-tests/fast/dom/quadraticCurveTo-expected.checksum: Added.
        * layout-tests/fast/dom/quadraticCurveTo-expected.png: Added.
        * layout-tests/fast/dom/row-inner-text-expected.checksum: Added.
        * layout-tests/fast/dom/row-inner-text-expected.png: Added.
        * layout-tests/fast/dynamic/001-expected.checksum: Added.
        * layout-tests/fast/dynamic/001-expected.png: Added.
        * layout-tests/fast/dynamic/002-expected.checksum: Added.
        * layout-tests/fast/dynamic/002-expected.png: Added.
        * layout-tests/fast/dynamic/004-expected.checksum: Added.
        * layout-tests/fast/dynamic/004-expected.png: Added.
        * layout-tests/fast/dynamic/005-expected.checksum: Added.
        * layout-tests/fast/dynamic/005-expected.png: Added.
        * layout-tests/fast/dynamic/006-expected.checksum: Added.
        * layout-tests/fast/dynamic/006-expected.png: Added.
        * layout-tests/fast/dynamic/007-expected.checksum: Added.
        * layout-tests/fast/dynamic/007-expected.png: Added.
        * layout-tests/fast/dynamic/008-expected.checksum: Added.
        * layout-tests/fast/dynamic/008-expected.png: Added.
        * layout-tests/fast/dynamic/009-expected.checksum: Added.
        * layout-tests/fast/dynamic/009-expected.png: Added.
        * layout-tests/fast/dynamic/010-expected.checksum: Added.
        * layout-tests/fast/dynamic/010-expected.png: Added.
        * layout-tests/fast/dynamic/011-expected.checksum: Added.
        * layout-tests/fast/dynamic/011-expected.png: Added.
        * layout-tests/fast/dynamic/012-expected.checksum: Added.
        * layout-tests/fast/dynamic/012-expected.png: Added.
        * layout-tests/fast/dynamic/013-expected.checksum: Added.
        * layout-tests/fast/dynamic/013-expected.png: Added.
        * layout-tests/fast/dynamic/flash-replacement-test-expected.checksum: Added.
        * layout-tests/fast/dynamic/flash-replacement-test-expected.png: Added.
        * layout-tests/fast/dynamic/noninlinebadness-expected.checksum: Added.
        * layout-tests/fast/dynamic/noninlinebadness-expected.png: Added.
        * layout-tests/fast/dynamic/outerHTML-doc-expected.checksum: Added.
        * layout-tests/fast/dynamic/outerHTML-doc-expected.png: Added.
        * layout-tests/fast/dynamic/outerHTML-img-expected.checksum: Added.
        * layout-tests/fast/dynamic/outerHTML-img-expected.png: Added.
        * layout-tests/fast/dynamic/outerHTML-no-element-expected.checksum: Added.
        * layout-tests/fast/dynamic/outerHTML-no-element-expected.png: Added.
        * layout-tests/fast/encoding/invalid-UTF-8-expected.checksum: Added.
        * layout-tests/fast/encoding/invalid-UTF-8-expected.png: Added.
        * layout-tests/fast/encoding/mispositioned-meta-expected.checksum: Added.
        * layout-tests/fast/encoding/mispositioned-meta-expected.png: Added.
        * layout-tests/fast/encoding/utf-16-big-endian-expected.checksum: Added.
        * layout-tests/fast/encoding/utf-16-big-endian-expected.png: Added.
        * layout-tests/fast/encoding/utf-16-little-endian-expected.checksum: Added.
        * layout-tests/fast/encoding/utf-16-little-endian-expected.png: Added.
        * layout-tests/fast/events/onload-re-entry-expected.checksum: Added.
        * layout-tests/fast/events/onload-re-entry-expected.png: Added.
        * layout-tests/fast/flexbox/001-expected.checksum: Added.
        * layout-tests/fast/flexbox/001-expected.png: Added.
        * layout-tests/fast/flexbox/002-expected.checksum: Added.
        * layout-tests/fast/flexbox/002-expected.png: Added.
        * layout-tests/fast/flexbox/003-expected.checksum: Added.
        * layout-tests/fast/flexbox/003-expected.png: Added.
        * layout-tests/fast/flexbox/004-expected.checksum: Added.
        * layout-tests/fast/flexbox/004-expected.png: Added.
        * layout-tests/fast/flexbox/005-expected.checksum: Added.
        * layout-tests/fast/flexbox/005-expected.png: Added.
        * layout-tests/fast/flexbox/006-expected.checksum: Added.
        * layout-tests/fast/flexbox/006-expected.png: Added.
        * layout-tests/fast/flexbox/007-expected.checksum: Added.
        * layout-tests/fast/flexbox/007-expected.png: Added.
        * layout-tests/fast/flexbox/008-expected.checksum: Added.
        * layout-tests/fast/flexbox/008-expected.png: Added.
        * layout-tests/fast/flexbox/009-expected.checksum: Added.
        * layout-tests/fast/flexbox/009-expected.png: Added.
        * layout-tests/fast/flexbox/010-expected.checksum: Added.
        * layout-tests/fast/flexbox/010-expected.png: Added.
        * layout-tests/fast/flexbox/011-expected.checksum: Added.
        * layout-tests/fast/flexbox/011-expected.png: Added.
        * layout-tests/fast/flexbox/012-expected.checksum: Added.
        * layout-tests/fast/flexbox/012-expected.png: Added.
        * layout-tests/fast/flexbox/013-expected.checksum: Added.
        * layout-tests/fast/flexbox/013-expected.png: Added.
        * layout-tests/fast/flexbox/014-expected.checksum: Added.
        * layout-tests/fast/flexbox/014-expected.png: Added.
        * layout-tests/fast/flexbox/015-expected.checksum: Added.
        * layout-tests/fast/flexbox/015-expected.png: Added.
        * layout-tests/fast/flexbox/016-expected.checksum: Added.
        * layout-tests/fast/flexbox/016-expected.png: Added.
        * layout-tests/fast/flexbox/017-expected.checksum: Added.
        * layout-tests/fast/flexbox/017-expected.png: Added.
        * layout-tests/fast/flexbox/018-expected.checksum: Added.
        * layout-tests/fast/flexbox/018-expected.png: Added.
        * layout-tests/fast/flexbox/019-expected.checksum: Added.
        * layout-tests/fast/flexbox/019-expected.png: Added.
        * layout-tests/fast/flexbox/020-expected.checksum: Added.
        * layout-tests/fast/flexbox/020-expected.png: Added.
        * layout-tests/fast/flexbox/021-expected.checksum: Added.
        * layout-tests/fast/flexbox/021-expected.png: Added.
        * layout-tests/fast/flexbox/022-expected.checksum: Added.
        * layout-tests/fast/flexbox/022-expected.png: Added.
        * layout-tests/fast/flexbox/023-expected.checksum: Added.
        * layout-tests/fast/flexbox/023-expected.png: Added.
        * layout-tests/fast/flexbox/024-expected.checksum: Added.
        * layout-tests/fast/flexbox/024-expected.png: Added.
        * layout-tests/fast/flexbox/025-expected.checksum: Added.
        * layout-tests/fast/flexbox/025-expected.png: Added.
        * layout-tests/fast/forms/001-expected.checksum: Added.
        * layout-tests/fast/forms/001-expected.png: Added.
        * layout-tests/fast/forms/002-expected.checksum: Added.
        * layout-tests/fast/forms/002-expected.png: Added.
        * layout-tests/fast/forms/003-expected.checksum: Added.
        * layout-tests/fast/forms/003-expected.png: Added.
        * layout-tests/fast/forms/004-expected.checksum: Added.
        * layout-tests/fast/forms/004-expected.png: Added.
        * layout-tests/fast/forms/005-expected.checksum: Added.
        * layout-tests/fast/forms/005-expected.png: Added.
        * layout-tests/fast/forms/006-expected.checksum: Added.
        * layout-tests/fast/forms/006-expected.png: Added.
        * layout-tests/fast/forms/007-expected.checksum: Added.
        * layout-tests/fast/forms/007-expected.png: Added.
        * layout-tests/fast/forms/form-element-geometry-expected.checksum: Added.
        * layout-tests/fast/forms/form-element-geometry-expected.png: Added.
        * layout-tests/fast/forms/formmove-expected.checksum: Added.
        * layout-tests/fast/forms/formmove-expected.png: Added.
        * layout-tests/fast/forms/formmove2-expected.checksum: Added.
        * layout-tests/fast/forms/formmove2-expected.png: Added.
        * layout-tests/fast/forms/formmove3-expected.checksum: Added.
        * layout-tests/fast/forms/formmove3-expected.png: Added.
        * layout-tests/fast/forms/input-value-expected.checksum: Added.
        * layout-tests/fast/forms/input-value-expected.png: Added.
        * layout-tests/fast/forms/input-width-expected.checksum: Added.
        * layout-tests/fast/forms/input-width-expected.png: Added.
        * layout-tests/fast/frames/001-expected.checksum: Added.
        * layout-tests/fast/frames/001-expected.png: Added.
        * layout-tests/fast/frames/002-expected.checksum: Added.
        * layout-tests/fast/frames/002-expected.png: Added.
        * layout-tests/fast/frames/contentWindow_Frame-expected.checksum: Added.
        * layout-tests/fast/frames/contentWindow_Frame-expected.png: Added.
        * layout-tests/fast/frames/contentWindow_iFrame-expected.checksum: Added.
        * layout-tests/fast/frames/contentWindow_iFrame-expected.png: Added.
        * layout-tests/fast/frames/empty-frame-src-expected.checksum: Added.
        * layout-tests/fast/frames/empty-frame-src-expected.png: Added.
        * layout-tests/fast/frames/frameElement-frame-expected.checksum: Added.
        * layout-tests/fast/frames/frameElement-frame-expected.png: Added.
        * layout-tests/fast/frames/frameElement-iframe-expected.checksum: Added.
        * layout-tests/fast/frames/frameElement-iframe-expected.png: Added.
        * layout-tests/fast/frames/invalid-expected.checksum: Added.
        * layout-tests/fast/frames/invalid-expected.png: Added.
        * layout-tests/fast/frames/valid-expected.checksum: Added.
        * layout-tests/fast/frames/valid-expected.png: Added.
        * layout-tests/fast/inline-block/001-expected.checksum: Added.
        * layout-tests/fast/inline-block/001-expected.png: Added.
        * layout-tests/fast/inline-block/002-expected.checksum: Added.
        * layout-tests/fast/inline-block/002-expected.png: Added.
        * layout-tests/fast/inline-block/003-expected.checksum: Added.
        * layout-tests/fast/inline-block/003-expected.png: Added.
        * layout-tests/fast/inline-block/004-expected.checksum: Added.
        * layout-tests/fast/inline-block/004-expected.png: Added.
        * layout-tests/fast/inline-block/005-expected.checksum: Added.
        * layout-tests/fast/inline-block/005-expected.png: Added.
        * layout-tests/fast/inline-block/006-expected.checksum: Added.
        * layout-tests/fast/inline-block/006-expected.png: Added.
        * layout-tests/fast/inline-block/tricky-baseline-expected.checksum: Added.
        * layout-tests/fast/inline-block/tricky-baseline-expected.png: Added.
        * layout-tests/fast/inline/001-expected.checksum: Added.
        * layout-tests/fast/inline/001-expected.png: Added.
        * layout-tests/fast/inline/002-expected.checksum: Added.
        * layout-tests/fast/inline/002-expected.png: Added.
        * layout-tests/fast/innerHTML/001-expected.checksum: Added.
        * layout-tests/fast/innerHTML/001-expected.png: Added.
        * layout-tests/fast/innerHTML/002-expected.checksum: Added.
        * layout-tests/fast/innerHTML/002-expected.png: Added.
        * layout-tests/fast/innerHTML/003-expected.checksum: Added.
        * layout-tests/fast/innerHTML/003-expected.png: Added.
        * layout-tests/fast/invalid/001-expected.checksum: Added.
        * layout-tests/fast/invalid/001-expected.png: Added.
        * layout-tests/fast/invalid/002-expected.checksum: Added.
        * layout-tests/fast/invalid/002-expected.png: Added.
        * layout-tests/fast/invalid/003-expected.checksum: Added.
        * layout-tests/fast/invalid/003-expected.png: Added.
        * layout-tests/fast/invalid/004-expected.checksum: Added.
        * layout-tests/fast/invalid/004-expected.png: Added.
        * layout-tests/fast/invalid/005-expected.checksum: Added.
        * layout-tests/fast/invalid/005-expected.png: Added.
        * layout-tests/fast/invalid/006-expected.checksum: Added.
        * layout-tests/fast/invalid/006-expected.png: Added.
        * layout-tests/fast/invalid/007-expected.checksum: Added.
        * layout-tests/fast/invalid/007-expected.png: Added.
        * layout-tests/fast/invalid/008-expected.checksum: Added.
        * layout-tests/fast/invalid/008-expected.png: Added.
        * layout-tests/fast/invalid/009-expected.checksum: Added.
        * layout-tests/fast/invalid/009-expected.png: Added.
        * layout-tests/fast/invalid/010-expected.checksum: Added.
        * layout-tests/fast/invalid/010-expected.png: Added.
        * layout-tests/fast/invalid/011-expected.checksum: Added.
        * layout-tests/fast/invalid/011-expected.png: Added.
        * layout-tests/fast/invalid/012-expected.checksum: Added.
        * layout-tests/fast/invalid/012-expected.png: Added.
        * layout-tests/fast/invalid/013-expected.checksum: Added.
        * layout-tests/fast/invalid/013-expected.png: Added.
        * layout-tests/fast/invalid/014-expected.checksum: Added.
        * layout-tests/fast/invalid/014-expected.png: Added.
        * layout-tests/fast/invalid/015-expected.checksum: Added.
        * layout-tests/fast/invalid/015-expected.png: Added.
        * layout-tests/fast/invalid/016-expected.checksum: Added.
        * layout-tests/fast/invalid/016-expected.png: Added.
        * layout-tests/fast/invalid/017-expected.checksum: Added.
        * layout-tests/fast/invalid/017-expected.png: Added.
        * layout-tests/fast/invalid/018-expected.checksum: Added.
        * layout-tests/fast/invalid/018-expected.png: Added.
        * layout-tests/fast/invalid/019-expected.checksum: Added.
        * layout-tests/fast/invalid/019-expected.png: Added.
        * layout-tests/fast/invalid/020-expected.checksum: Added.
        * layout-tests/fast/invalid/020-expected.png: Added.
        * layout-tests/fast/invalid/021-expected.checksum: Added.
        * layout-tests/fast/invalid/021-expected.png: Added.
        * layout-tests/fast/invalid/nestedh3s-expected.checksum: Added.
        * layout-tests/fast/invalid/nestedh3s-expected.png: Added.
        * layout-tests/fast/js/date-parse-test-expected.checksum: Added.
        * layout-tests/fast/js/date-parse-test-expected.png: Added.
        * layout-tests/fast/js/declaration-in-block-expected.checksum: Added.
        * layout-tests/fast/js/declaration-in-block-expected.png: Added.
        * layout-tests/fast/js/global/encode-URI-test-expected.checksum: Added.
        * layout-tests/fast/js/global/encode-URI-test-expected.png: Added.
        * layout-tests/fast/js/has-own-property-expected.checksum: Added.
        * layout-tests/fast/js/has-own-property-expected.png: Added.
        * layout-tests/fast/js/slash-lineterminator-parse-expected.checksum: Added.
        * layout-tests/fast/js/slash-lineterminator-parse-expected.png: Added.
        * layout-tests/fast/js/string-from-char-code-expected.checksum: Added.
        * layout-tests/fast/js/string-from-char-code-expected.png: Added.
        * layout-tests/fast/js/window-object-cross-frame-calls-expected.checksum: Added.
        * layout-tests/fast/js/window-object-cross-frame-calls-expected.png: Added.
        * layout-tests/fast/lists/001-expected.checksum: Added.
        * layout-tests/fast/lists/001-expected.png: Added.
        * layout-tests/fast/lists/002-expected.checksum: Added.
        * layout-tests/fast/lists/002-expected.png: Added.
        * layout-tests/fast/lists/003-expected.checksum: Added.
        * layout-tests/fast/lists/003-expected.png: Added.
        * layout-tests/fast/lists/004-expected.checksum: Added.
        * layout-tests/fast/lists/004-expected.png: Added.
        * layout-tests/fast/lists/005-expected.checksum: Added.
        * layout-tests/fast/lists/005-expected.png: Added.
        * layout-tests/fast/lists/006-expected.checksum: Added.
        * layout-tests/fast/lists/006-expected.png: Added.
        * layout-tests/fast/lists/007-expected.checksum: Added.
        * layout-tests/fast/lists/007-expected.png: Added.
        * layout-tests/fast/lists/008-expected.checksum: Added.
        * layout-tests/fast/lists/008-expected.png: Added.
        * layout-tests/fast/lists/009-expected.checksum: Added.
        * layout-tests/fast/lists/009-expected.png: Added.
        * layout-tests/fast/overflow/001-expected.checksum: Added.
        * layout-tests/fast/overflow/001-expected.png: Added.
        * layout-tests/fast/overflow/002-expected.checksum: Added.
        * layout-tests/fast/overflow/002-expected.png: Added.
        * layout-tests/fast/overflow/003-expected.checksum: Added.
        * layout-tests/fast/overflow/003-expected.png: Added.
        * layout-tests/fast/overflow/004-expected.checksum: Added.
        * layout-tests/fast/overflow/004-expected.png: Added.
        * layout-tests/fast/overflow/005-expected.checksum: Added.
        * layout-tests/fast/overflow/005-expected.png: Added.
        * layout-tests/fast/overflow/006-expected.checksum: Added.
        * layout-tests/fast/overflow/006-expected.png: Added.
        * layout-tests/fast/overflow/007-expected.checksum: Added.
        * layout-tests/fast/overflow/007-expected.png: Added.
        * layout-tests/fast/parser/001-expected.checksum: Added.
        * layout-tests/fast/parser/001-expected.png: Added.
        * layout-tests/fast/parser/comment-in-script-expected.checksum: Added.
        * layout-tests/fast/parser/comment-in-script-expected.png: Added.
        * layout-tests/fast/parser/comments-expected.checksum: Added.
        * layout-tests/fast/parser/comments-expected.png: Added.
        * layout-tests/fast/parser/document-write-option-expected.checksum: Added.
        * layout-tests/fast/parser/document-write-option-expected.png: Added.
        * layout-tests/fast/parser/fonts-expected.checksum: Added.
        * layout-tests/fast/parser/fonts-expected.png: Added.
        * layout-tests/fast/parser/head-comment-expected.checksum: Added.
        * layout-tests/fast/parser/head-comment-expected.png: Added.
        * layout-tests/fast/parser/tabs-in-scripts-expected.checksum: Added.
        * layout-tests/fast/parser/tabs-in-scripts-expected.png: Added.
        * layout-tests/fast/replaced/001-expected.checksum: Added.
        * layout-tests/fast/replaced/001-expected.png: Added.
        * layout-tests/fast/replaced/002-expected.checksum: Added.
        * layout-tests/fast/replaced/002-expected.png: Added.
        * layout-tests/fast/replaced/003-expected.checksum: Added.
        * layout-tests/fast/replaced/003-expected.png: Added.
        * layout-tests/fast/replaced/004-expected.checksum: Added.
        * layout-tests/fast/replaced/004-expected.png: Added.
        * layout-tests/fast/replaced/005-expected.checksum: Added.
        * layout-tests/fast/replaced/005-expected.png: Added.
        * layout-tests/fast/replaced/006-expected.checksum: Added.
        * layout-tests/fast/replaced/006-expected.png: Added.
        * layout-tests/fast/replaced/007-expected.checksum: Added.
        * layout-tests/fast/replaced/007-expected.png: Added.
        * layout-tests/fast/replaced/008-expected.checksum: Added.
        * layout-tests/fast/replaced/008-expected.png: Added.
        * layout-tests/fast/replaced/image-onload-expected.checksum: Added.
        * layout-tests/fast/replaced/image-onload-expected.png: Added.
        * layout-tests/fast/replaced/image-sizing-expected.checksum: Added.
        * layout-tests/fast/replaced/image-sizing-expected.png: Added.
        * layout-tests/fast/replaced/object-align-hspace-vspace-expected.checksum: Added.
        * layout-tests/fast/replaced/object-align-hspace-vspace-expected.png: Added.
        * layout-tests/fast/runin/001-expected.checksum: Added.
        * layout-tests/fast/runin/001-expected.png: Added.
        * layout-tests/fast/selectors/001-expected.checksum: Added.
        * layout-tests/fast/selectors/001-expected.png: Added.
        * layout-tests/fast/selectors/002-expected.checksum: Added.
        * layout-tests/fast/selectors/002-expected.png: Added.
        * layout-tests/fast/selectors/003-expected.checksum: Added.
        * layout-tests/fast/selectors/003-expected.png: Added.
        * layout-tests/fast/selectors/004-expected.checksum: Added.
        * layout-tests/fast/selectors/004-expected.png: Added.
        * layout-tests/fast/selectors/005-expected.checksum: Added.
        * layout-tests/fast/selectors/005-expected.png: Added.
        * layout-tests/fast/selectors/006-expected.checksum: Added.
        * layout-tests/fast/selectors/006-expected.png: Added.
        * layout-tests/fast/selectors/007a-expected.checksum: Added.
        * layout-tests/fast/selectors/007a-expected.png: Added.
        * layout-tests/fast/selectors/007b-expected.checksum: Added.
        * layout-tests/fast/selectors/007b-expected.png: Added.
        * layout-tests/fast/selectors/008-expected.checksum: Added.
        * layout-tests/fast/selectors/008-expected.png: Added.
        * layout-tests/fast/selectors/009-expected.checksum: Added.
        * layout-tests/fast/selectors/009-expected.png: Added.
        * layout-tests/fast/selectors/010-expected.checksum: Added.
        * layout-tests/fast/selectors/010-expected.png: Added.
        * layout-tests/fast/selectors/011-expected.checksum: Added.
        * layout-tests/fast/selectors/011-expected.png: Added.
        * layout-tests/fast/selectors/012-expected.checksum: Added.
        * layout-tests/fast/selectors/012-expected.png: Added.
        * layout-tests/fast/selectors/013-expected.checksum: Added.
        * layout-tests/fast/selectors/013-expected.png: Added.
        * layout-tests/fast/selectors/014-expected.checksum: Added.
        * layout-tests/fast/selectors/014-expected.png: Added.
        * layout-tests/fast/selectors/015-expected.checksum: Added.
        * layout-tests/fast/selectors/015-expected.png: Added.
        * layout-tests/fast/selectors/016-expected.checksum: Added.
        * layout-tests/fast/selectors/016-expected.png: Added.
        * layout-tests/fast/selectors/017-expected.checksum: Added.
        * layout-tests/fast/selectors/017-expected.png: Added.
        * layout-tests/fast/selectors/018-expected.checksum: Added.
        * layout-tests/fast/selectors/018-expected.png: Added.
        * layout-tests/fast/selectors/018b-expected.checksum: Added.
        * layout-tests/fast/selectors/018b-expected.png: Added.
        * layout-tests/fast/selectors/019-expected.checksum: Added.
        * layout-tests/fast/selectors/019-expected.png: Added.
        * layout-tests/fast/selectors/020-expected.checksum: Added.
        * layout-tests/fast/selectors/020-expected.png: Added.
        * layout-tests/fast/selectors/021-expected.checksum: Added.
        * layout-tests/fast/selectors/021-expected.png: Added.
        * layout-tests/fast/selectors/021b-expected.checksum: Added.
        * layout-tests/fast/selectors/021b-expected.png: Added.
        * layout-tests/fast/selectors/027-expected.checksum: Added.
        * layout-tests/fast/selectors/027-expected.png: Added.
        * layout-tests/fast/selectors/032-expected.checksum: Added.
        * layout-tests/fast/selectors/032-expected.png: Added.
        * layout-tests/fast/selectors/038-expected.checksum: Added.
        * layout-tests/fast/selectors/038-expected.png: Added.
        * layout-tests/fast/selectors/039-expected.checksum: Added.
        * layout-tests/fast/selectors/039-expected.png: Added.
        * layout-tests/fast/selectors/039b-expected.checksum: Added.
        * layout-tests/fast/selectors/039b-expected.png: Added.
        * layout-tests/fast/selectors/040-expected.checksum: Added.
        * layout-tests/fast/selectors/040-expected.png: Added.
        * layout-tests/fast/selectors/041-expected.checksum: Added.
        * layout-tests/fast/selectors/041-expected.png: Added.
        * layout-tests/fast/selectors/042-expected.checksum: Added.
        * layout-tests/fast/selectors/042-expected.png: Added.
        * layout-tests/fast/selectors/043-expected.checksum: Added.
        * layout-tests/fast/selectors/043-expected.png: Added.
        * layout-tests/fast/selectors/043b-expected.checksum: Added.
        * layout-tests/fast/selectors/043b-expected.png: Added.
        * layout-tests/fast/selectors/044-expected.checksum: Added.
        * layout-tests/fast/selectors/044-expected.png: Added.
        * layout-tests/fast/selectors/044b-expected.checksum: Added.
        * layout-tests/fast/selectors/044b-expected.png: Added.
        * layout-tests/fast/selectors/044c-expected.checksum: Added.
        * layout-tests/fast/selectors/044c-expected.png: Added.
        * layout-tests/fast/selectors/044d-expected.checksum: Added.
        * layout-tests/fast/selectors/044d-expected.png: Added.
        * layout-tests/fast/selectors/045-expected.checksum: Added.
        * layout-tests/fast/selectors/045-expected.png: Added.
        * layout-tests/fast/selectors/045b-expected.checksum: Added.
        * layout-tests/fast/selectors/045b-expected.png: Added.
        * layout-tests/fast/selectors/045c-expected.checksum: Added.
        * layout-tests/fast/selectors/045c-expected.png: Added.
        * layout-tests/fast/selectors/046-expected.checksum: Added.
        * layout-tests/fast/selectors/046-expected.png: Added.
        * layout-tests/fast/selectors/054-expected.checksum: Added.
        * layout-tests/fast/selectors/054-expected.png: Added.
        * layout-tests/fast/selectors/056-expected.checksum: Added.
        * layout-tests/fast/selectors/056-expected.png: Added.
        * layout-tests/fast/selectors/058-expected.checksum: Added.
        * layout-tests/fast/selectors/058-expected.png: Added.
        * layout-tests/fast/selectors/059-expected.checksum: Added.
        * layout-tests/fast/selectors/059-expected.png: Added.
        * layout-tests/fast/selectors/060-expected.checksum: Added.
        * layout-tests/fast/selectors/060-expected.png: Added.
        * layout-tests/fast/selectors/061-expected.checksum: Added.
        * layout-tests/fast/selectors/061-expected.png: Added.
        * layout-tests/fast/selectors/062-expected.checksum: Added.
        * layout-tests/fast/selectors/062-expected.png: Added.
        * layout-tests/fast/selectors/063-expected.checksum: Added.
        * layout-tests/fast/selectors/063-expected.png: Added.
        * layout-tests/fast/selectors/064-expected.checksum: Added.
        * layout-tests/fast/selectors/064-expected.png: Added.
        * layout-tests/fast/selectors/065-expected.checksum: Added.
        * layout-tests/fast/selectors/065-expected.png: Added.
        * layout-tests/fast/selectors/066-expected.checksum: Added.
        * layout-tests/fast/selectors/066-expected.png: Added.
        * layout-tests/fast/selectors/066b-expected.checksum: Added.
        * layout-tests/fast/selectors/066b-expected.png: Added.
        * layout-tests/fast/selectors/072-expected.checksum: Added.
        * layout-tests/fast/selectors/072-expected.png: Added.
        * layout-tests/fast/selectors/072b-expected.checksum: Added.
        * layout-tests/fast/selectors/072b-expected.png: Added.
        * layout-tests/fast/selectors/077-expected.checksum: Added.
        * layout-tests/fast/selectors/077-expected.png: Added.
        * layout-tests/fast/selectors/077b-expected.checksum: Added.
        * layout-tests/fast/selectors/077b-expected.png: Added.
        * layout-tests/fast/selectors/078b-expected.checksum: Added.
        * layout-tests/fast/selectors/078b-expected.png: Added.
        * layout-tests/fast/selectors/083-expected.checksum: Added.
        * layout-tests/fast/selectors/083-expected.png: Added.
        * layout-tests/fast/selectors/087b-expected.checksum: Added.
        * layout-tests/fast/selectors/087b-expected.png: Added.
        * layout-tests/fast/selectors/088b-expected.checksum: Added.
        * layout-tests/fast/selectors/088b-expected.png: Added.
        * layout-tests/fast/selectors/089-expected.checksum: Added.
        * layout-tests/fast/selectors/089-expected.png: Added.
        * layout-tests/fast/selectors/090b-expected.checksum: Added.
        * layout-tests/fast/selectors/090b-expected.png: Added.
        * layout-tests/fast/selectors/154-expected.checksum: Added.
        * layout-tests/fast/selectors/154-expected.png: Added.
        * layout-tests/fast/selectors/155-expected.checksum: Added.
        * layout-tests/fast/selectors/155-expected.png: Added.
        * layout-tests/fast/selectors/155a-expected.checksum: Added.
        * layout-tests/fast/selectors/155a-expected.png: Added.
        * layout-tests/fast/selectors/155b-expected.checksum: Added.
        * layout-tests/fast/selectors/155b-expected.png: Added.
        * layout-tests/fast/selectors/155c-expected.checksum: Added.
        * layout-tests/fast/selectors/155c-expected.png: Added.
        * layout-tests/fast/selectors/155d-expected.checksum: Added.
        * layout-tests/fast/selectors/155d-expected.png: Added.
        * layout-tests/fast/selectors/156b-expected.checksum: Added.
        * layout-tests/fast/selectors/156b-expected.png: Added.
        * layout-tests/fast/selectors/157-expected.checksum: Added.
        * layout-tests/fast/selectors/157-expected.png: Added.
        * layout-tests/fast/selectors/158-expected.checksum: Added.
        * layout-tests/fast/selectors/158-expected.png: Added.
        * layout-tests/fast/selectors/159-expected.checksum: Added.
        * layout-tests/fast/selectors/159-expected.png: Added.
        * layout-tests/fast/selectors/160-expected.checksum: Added.
        * layout-tests/fast/selectors/160-expected.png: Added.
        * layout-tests/fast/selectors/166-expected.checksum: Added.
        * layout-tests/fast/selectors/166-expected.png: Added.
        * layout-tests/fast/selectors/166a-expected.checksum: Added.
        * layout-tests/fast/selectors/166a-expected.png: Added.
        * layout-tests/fast/selectors/167-expected.checksum: Added.
        * layout-tests/fast/selectors/167-expected.png: Added.
        * layout-tests/fast/selectors/167a-expected.checksum: Added.
        * layout-tests/fast/selectors/167a-expected.png: Added.
        * layout-tests/fast/selectors/168-expected.checksum: Added.
        * layout-tests/fast/selectors/168-expected.png: Added.
        * layout-tests/fast/selectors/168a-expected.checksum: Added.
        * layout-tests/fast/selectors/168a-expected.png: Added.
        * layout-tests/fast/selectors/169-expected.checksum: Added.
        * layout-tests/fast/selectors/169-expected.png: Added.
        * layout-tests/fast/selectors/169a-expected.checksum: Added.
        * layout-tests/fast/selectors/169a-expected.png: Added.
        * layout-tests/fast/selectors/170-expected.checksum: Added.
        * layout-tests/fast/selectors/170-expected.png: Added.
        * layout-tests/fast/selectors/170a-expected.checksum: Added.
        * layout-tests/fast/selectors/170a-expected.png: Added.
        * layout-tests/fast/selectors/170b-expected.checksum: Added.
        * layout-tests/fast/selectors/170b-expected.png: Added.
        * layout-tests/fast/selectors/170c-expected.checksum: Added.
        * layout-tests/fast/selectors/170c-expected.png: Added.
        * layout-tests/fast/selectors/170d-expected.checksum: Added.
        * layout-tests/fast/selectors/170d-expected.png: Added.
        * layout-tests/fast/selectors/175a-expected.checksum: Added.
        * layout-tests/fast/selectors/175a-expected.png: Added.
        * layout-tests/fast/selectors/175b-expected.checksum: Added.
        * layout-tests/fast/selectors/175b-expected.png: Added.
        * layout-tests/fast/selectors/175c-expected.checksum: Added.
        * layout-tests/fast/selectors/175c-expected.png: Added.
        * layout-tests/fast/selectors/177a-expected.checksum: Added.
        * layout-tests/fast/selectors/177a-expected.png: Added.
        * layout-tests/fast/selectors/177b-expected.checksum: Added.
        * layout-tests/fast/selectors/177b-expected.png: Added.
        * layout-tests/fast/table/001-expected.checksum: Added.
        * layout-tests/fast/table/001-expected.png: Added.
        * layout-tests/fast/table/002-expected.checksum: Added.
        * layout-tests/fast/table/002-expected.png: Added.
        * layout-tests/fast/table/003-expected.checksum: Added.
        * layout-tests/fast/table/003-expected.png: Added.
        * layout-tests/fast/table/004-expected.checksum: Added.
        * layout-tests/fast/table/004-expected.png: Added.
        * layout-tests/fast/table/005-expected.checksum: Added.
        * layout-tests/fast/table/005-expected.png: Added.
        * layout-tests/fast/table/006-expected.checksum: Added.
        * layout-tests/fast/table/006-expected.png: Added.
        * layout-tests/fast/table/007-expected.checksum: Added.
        * layout-tests/fast/table/007-expected.png: Added.
        * layout-tests/fast/table/008-expected.checksum: Added.
        * layout-tests/fast/table/008-expected.png: Added.
        * layout-tests/fast/table/009-expected.checksum: Added.
        * layout-tests/fast/table/009-expected.png: Added.
        * layout-tests/fast/table/010-expected.checksum: Added.
        * layout-tests/fast/table/010-expected.png: Added.
        * layout-tests/fast/table/011-expected.checksum: Added.
        * layout-tests/fast/table/011-expected.png: Added.
        * layout-tests/fast/table/012-expected.checksum: Added.
        * layout-tests/fast/table/012-expected.png: Added.
        * layout-tests/fast/table/013-expected.checksum: Added.
        * layout-tests/fast/table/013-expected.png: Added.
        * layout-tests/fast/table/014-expected.checksum: Added.
        * layout-tests/fast/table/014-expected.png: Added.
        * layout-tests/fast/table/015-expected.checksum: Added.
        * layout-tests/fast/table/015-expected.png: Added.
        * layout-tests/fast/table/016-expected.checksum: Added.
        * layout-tests/fast/table/016-expected.png: Added.
        * layout-tests/fast/table/017-expected.checksum: Added.
        * layout-tests/fast/table/017-expected.png: Added.
        * layout-tests/fast/table/018-expected.checksum: Added.
        * layout-tests/fast/table/018-expected.png: Added.
        * layout-tests/fast/table/020-expected.checksum: Added.
        * layout-tests/fast/table/020-expected.png: Added.
        * layout-tests/fast/table/021-expected.checksum: Added.
        * layout-tests/fast/table/021-expected.png: Added.
        * layout-tests/fast/table/022-expected.checksum: Added.
        * layout-tests/fast/table/022-expected.png: Added.
        * layout-tests/fast/table/023-expected.checksum: Added.
        * layout-tests/fast/table/023-expected.png: Added.
        * layout-tests/fast/table/024-expected.checksum: Added.
        * layout-tests/fast/table/024-expected.png: Added.
        * layout-tests/fast/table/025-expected.checksum: Added.
        * layout-tests/fast/table/025-expected.png: Added.
        * layout-tests/fast/table/026-expected.checksum: Added.
        * layout-tests/fast/table/026-expected.png: Added.
        * layout-tests/fast/table/027-expected.checksum: Added.
        * layout-tests/fast/table/027-expected.png: Added.
        * layout-tests/fast/table/028-expected.checksum: Added.
        * layout-tests/fast/table/028-expected.png: Added.
        * layout-tests/fast/table/029-expected.checksum: Added.
        * layout-tests/fast/table/029-expected.png: Added.
        * layout-tests/fast/table/030-expected.checksum: Added.
        * layout-tests/fast/table/030-expected.png: Added.
        * layout-tests/fast/table/031-expected.checksum: Added.
        * layout-tests/fast/table/031-expected.png: Added.
        * layout-tests/fast/table/032-expected.checksum: Added.
        * layout-tests/fast/table/032-expected.png: Added.
        * layout-tests/fast/table/033-expected.checksum: Added.
        * layout-tests/fast/table/033-expected.png: Added.
        * layout-tests/fast/table/034-expected.checksum: Added.
        * layout-tests/fast/table/034-expected.png: Added.
        * layout-tests/fast/table/035-expected.checksum: Added.
        * layout-tests/fast/table/035-expected.png: Added.
        * layout-tests/fast/table/036-expected.checksum: Added.
        * layout-tests/fast/table/036-expected.png: Added.
        * layout-tests/fast/table/037-expected.checksum: Added.
        * layout-tests/fast/table/037-expected.png: Added.
        * layout-tests/fast/table/038-expected.checksum: Added.
        * layout-tests/fast/table/038-expected.png: Added.
        * layout-tests/fast/table/039-expected.checksum: Added.
        * layout-tests/fast/table/039-expected.png: Added.
        * layout-tests/fast/table/040-expected.checksum: Added.
        * layout-tests/fast/table/040-expected.png: Added.
        * layout-tests/fast/table/041-expected.checksum: Added.
        * layout-tests/fast/table/041-expected.png: Added.
        * layout-tests/fast/table/auto-with-percent-height-expected.checksum: Added.
        * layout-tests/fast/table/auto-with-percent-height-expected.png: Added.
        * layout-tests/fast/table/border-collapsing/001-expected.checksum: Added.
        * layout-tests/fast/table/border-collapsing/001-expected.png: Added.
        * layout-tests/fast/table/border-collapsing/002-expected.checksum: Added.
        * layout-tests/fast/table/border-collapsing/002-expected.png: Added.
        * layout-tests/fast/table/border-collapsing/003-expected.checksum: Added.
        * layout-tests/fast/table/border-collapsing/003-expected.png: Added.
        * layout-tests/fast/table/border-collapsing/004-expected.checksum: Added.
        * layout-tests/fast/table/border-collapsing/004-expected.png: Added.
        * layout-tests/fast/table/cellindex-expected.checksum: Added.
        * layout-tests/fast/table/cellindex-expected.png: Added.
        * layout-tests/fast/table/empty-table-percent-height-expected.checksum: Added.
        * layout-tests/fast/table/empty-table-percent-height-expected.png: Added.
        * layout-tests/fast/table/fixed-nested-expected.checksum: Added.
        * layout-tests/fast/table/fixed-nested-expected.png: Added.
        * layout-tests/fast/table/height-percent-test-expected.checksum: Added.
        * layout-tests/fast/table/height-percent-test-expected.png: Added.
        * layout-tests/fast/table/large-width-expected.checksum: Added.
        * layout-tests/fast/table/large-width-expected.png: Added.
        * layout-tests/fast/table/multiple-percent-height-rows-expected.checksum: Added.
        * layout-tests/fast/table/multiple-percent-height-rows-expected.png: Added.
        * layout-tests/fast/table/nested-percent-height-table-expected.checksum: Added.
        * layout-tests/fast/table/nested-percent-height-table-expected.png: Added.
        * layout-tests/fast/table/nobr-expected.checksum: Added.
        * layout-tests/fast/table/nobr-expected.png: Added.
        * layout-tests/fast/table/percent-heights-expected.checksum: Added.
        * layout-tests/fast/table/percent-heights-expected.png: Added.
        * layout-tests/fast/table/replaced-percent-height-expected.checksum: Added.
        * layout-tests/fast/table/replaced-percent-height-expected.png: Added.
        * layout-tests/fast/table/rowspan-paint-order-expected.checksum: Added.
        * layout-tests/fast/table/rowspan-paint-order-expected.png: Added.
        * layout-tests/fast/table/unused-percent-heights-expected.checksum: Added.
        * layout-tests/fast/table/unused-percent-heights-expected.png: Added.
        * layout-tests/fast/table/wide-colspan-expected.checksum: Added.
        * layout-tests/fast/table/wide-colspan-expected.png: Added.
        * layout-tests/fast/table/wide-column-expected.checksum: Added.
        * layout-tests/fast/table/wide-column-expected.png: Added.
        * layout-tests/fast/text/basic/001-expected.checksum: Added.
        * layout-tests/fast/text/basic/001-expected.png: Added.
        * layout-tests/fast/text/basic/002-expected.checksum: Added.
        * layout-tests/fast/text/basic/002-expected.png: Added.
        * layout-tests/fast/text/basic/003-expected.checksum: Added.
        * layout-tests/fast/text/basic/003-expected.png: Added.
        * layout-tests/fast/text/basic/004-expected.checksum: Added.
        * layout-tests/fast/text/basic/004-expected.png: Added.
        * layout-tests/fast/text/basic/005-expected.checksum: Added.
        * layout-tests/fast/text/basic/005-expected.png: Added.
        * layout-tests/fast/text/basic/006-expected.checksum: Added.
        * layout-tests/fast/text/basic/006-expected.png: Added.
        * layout-tests/fast/text/basic/007-expected.checksum: Added.
        * layout-tests/fast/text/basic/007-expected.png: Added.
        * layout-tests/fast/text/basic/008-expected.checksum: Added.
        * layout-tests/fast/text/basic/008-expected.png: Added.
        * layout-tests/fast/text/basic/009-expected.checksum: Added.
        * layout-tests/fast/text/basic/009-expected.png: Added.
        * layout-tests/fast/text/basic/011-expected.checksum: Added.
        * layout-tests/fast/text/basic/011-expected.png: Added.
        * layout-tests/fast/text/basic/012-expected.checksum: Added.
        * layout-tests/fast/text/basic/012-expected.png: Added.
        * layout-tests/fast/text/basic/013-expected.checksum: Added.
        * layout-tests/fast/text/basic/013-expected.png: Added.
        * layout-tests/fast/text/basic/014-expected.checksum: Added.
        * layout-tests/fast/text/basic/014-expected.png: Added.
        * layout-tests/fast/text/firstline/001-expected.checksum: Added.
        * layout-tests/fast/text/firstline/001-expected.png: Added.
        * layout-tests/fast/text/firstline/002-expected.checksum: Added.
        * layout-tests/fast/text/firstline/002-expected.png: Added.
        * layout-tests/fast/text/firstline/003-expected.checksum: Added.
        * layout-tests/fast/text/firstline/003-expected.png: Added.
        * layout-tests/fast/text/international/001-expected.checksum: Added.
        * layout-tests/fast/text/international/001-expected.png: Added.
        * layout-tests/fast/text/international/002-expected.checksum: Added.
        * layout-tests/fast/text/international/002-expected.png: Added.
        * layout-tests/fast/text/international/003-expected.checksum: Added.
        * layout-tests/fast/text/international/003-expected.png: Added.
        * layout-tests/fast/text/international/bidi-CS-after-AN-expected.checksum: Added.
        * layout-tests/fast/text/international/bidi-CS-after-AN-expected.png: Added.
        * layout-tests/fast/text/international/bidi-L2-run-reordering-expected.checksum: Added.
        * layout-tests/fast/text/international/bidi-L2-run-reordering-expected.png: Added.
        * layout-tests/fast/text/international/bidi-explicit-embedding-expected.checksum: Added.
        * layout-tests/fast/text/international/bidi-explicit-embedding-expected.png: Added.
        * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.checksum: Added.
        * layout-tests/fast/text/international/bidi-fallback-font-weight-expected.png: Added.
        * layout-tests/fast/text/international/bidi-innertext-expected.checksum: Added.
        * layout-tests/fast/text/international/bidi-innertext-expected.png: Added.
        * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.checksum: Added.
        * layout-tests/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Added.
        * layout-tests/fast/text/whitespace/001-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/001-expected.png: Added.
        * layout-tests/fast/text/whitespace/002-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/002-expected.png: Added.
        * layout-tests/fast/text/whitespace/003-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/003-expected.png: Added.
        * layout-tests/fast/text/whitespace/004-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/004-expected.png: Added.
        * layout-tests/fast/text/whitespace/005-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/005-expected.png: Added.
        * layout-tests/fast/text/whitespace/006-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/006-expected.png: Added.
        * layout-tests/fast/text/whitespace/007-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/007-expected.png: Added.
        * layout-tests/fast/text/whitespace/008-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/008-expected.png: Added.
        * layout-tests/fast/text/whitespace/009-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/009-expected.png: Added.
        * layout-tests/fast/text/whitespace/010-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/010-expected.png: Added.
        * layout-tests/fast/text/whitespace/011-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/011-expected.png: Added.
        * layout-tests/fast/text/whitespace/012-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/012-expected.png: Added.
        * layout-tests/fast/text/whitespace/013-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/013-expected.png: Added.
        * layout-tests/fast/text/whitespace/014-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/014-expected.png: Added.
        * layout-tests/fast/text/whitespace/015-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/015-expected.png: Added.
        * layout-tests/fast/text/whitespace/016-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/016-expected.png: Added.
        * layout-tests/fast/text/whitespace/017-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/017-expected.png: Added.
        * layout-tests/fast/text/whitespace/018-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/018-expected.png: Added.
        * layout-tests/fast/text/whitespace/019-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/019-expected.png: Added.
        * layout-tests/fast/text/whitespace/020-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/020-expected.png: Added.
        * layout-tests/fast/text/whitespace/021-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/021-expected.png: Added.
        * layout-tests/fast/text/whitespace/022-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/022-expected.png: Added.
        * layout-tests/fast/text/whitespace/023-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/023-expected.png: Added.
        * layout-tests/fast/text/whitespace/024-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/024-expected.png: Added.
        * layout-tests/fast/text/whitespace/025-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/025-expected.png: Added.
        * layout-tests/fast/text/whitespace/026-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/026-expected.png: Added.
        * layout-tests/fast/text/whitespace/027-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/027-expected.png: Added.
        * layout-tests/fast/text/whitespace/028-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/028-expected.png: Added.
        * layout-tests/fast/text/whitespace/029-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/029-expected.png: Added.
        * layout-tests/fast/text/whitespace/030-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/030-expected.png: Added.
        * layout-tests/fast/text/whitespace/pre-break-word-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/pre-break-word-expected.png: Added.
        * layout-tests/fast/text/whitespace/tab-character-basics-expected.checksum: Added.
        * layout-tests/fast/text/whitespace/tab-character-basics-expected.png: Added.
        * layout-tests/fast/tokenizer/001-expected.checksum: Added.
        * layout-tests/fast/tokenizer/001-expected.png: Added.
        * layout-tests/fast/tokenizer/002-expected.checksum: Added.
        * layout-tests/fast/tokenizer/002-expected.png: Added.
        * layout-tests/fast/tokenizer/003-expected.checksum: Added.
        * layout-tests/fast/tokenizer/003-expected.png: Added.
        * layout-tests/fast/tokenizer/004-expected.checksum: Added.
        * layout-tests/fast/tokenizer/004-expected.png: Added.
        * layout-tests/fast/tokenizer/external-script-document-write-expected.checksum: Added.
        * layout-tests/fast/tokenizer/external-script-document-write-expected.png: Added.
        * layout-tests/fast/tokenizer/external-script-document-write_2-expected.checksum: Added.
        * layout-tests/fast/tokenizer/external-script-document-write_2-expected.png: Added.
        * layout-tests/fast/tokenizer/script-after-frameset-expected.checksum: Added.
        * layout-tests/fast/tokenizer/script-after-frameset-expected.png: Added.
        * layout-tests/fast/tokenizer/script_extra_close-expected.checksum: Added.
        * layout-tests/fast/tokenizer/script_extra_close-expected.png: Added.
        * layout-tests/fast/xsl/document-function-expected.checksum: Added.
        * layout-tests/fast/xsl/document-function-expected.png: Added.
        * layout-tests/traversal/node-iterator-001-expected.checksum: Added.
        * layout-tests/traversal/node-iterator-001-expected.png: Added.
        * layout-tests/traversal/node-iterator-002-expected.checksum: Added.
        * layout-tests/traversal/node-iterator-002-expected.png: Added.
        * layout-tests/traversal/node-iterator-003-expected.checksum: Added.
        * layout-tests/traversal/node-iterator-003-expected.png: Added.
        * layout-tests/traversal/node-iterator-004-expected.checksum: Added.
        * layout-tests/traversal/node-iterator-004-expected.png: Added.
        * layout-tests/traversal/node-iterator-005-expected.checksum: Added.
        * layout-tests/traversal/node-iterator-005-expected.png: Added.
        * layout-tests/traversal/node-iterator-006-expected.checksum: Added.
        * layout-tests/traversal/node-iterator-006-expected.png: Added.
        * layout-tests/traversal/node-iterator-007-expected.checksum: Added.
        * layout-tests/traversal/node-iterator-007-expected.png: Added.
        * layout-tests/traversal/node-iterator-008-expected.checksum: Added.
        * layout-tests/traversal/node-iterator-008-expected.png: Added.
        * layout-tests/traversal/tree-walker-001-expected.checksum: Added.
        * layout-tests/traversal/tree-walker-001-expected.png: Added.
        * layout-tests/traversal/tree-walker-002-expected.checksum: Added.
        * layout-tests/traversal/tree-walker-002-expected.png: Added.
        * layout-tests/traversal/tree-walker-003-expected.checksum: Added.
        * layout-tests/traversal/tree-walker-003-expected.png: Added.
        * layout-tests/traversal/tree-walker-004-expected.checksum: Added.
        * layout-tests/traversal/tree-walker-004-expected.png: Added.
        * layout-tests/traversal/tree-walker-005-expected.checksum: Added.
        * layout-tests/traversal/tree-walker-005-expected.png: Added.

2005-08-28  Eric Seidel  <eseidel@apple.com>

	Rolling back out the previous commit.  Although that's
        the right idea, the current Build Rule implementation in
        Xcode doesn't seem to allow me to generated all of the
        .h/.cpp files first, then build them.  Thus resulting
        in build failures due to circular header/idl dependencies.
        Rolling out the change until I can find a workaround.

2005-08-28  Eric Seidel  <eseidel@apple.com>

        Reviewed by darin.

        * ForwardingHeaders/kdom/bindings/js/core/AttrWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/CDATASectionWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/CommentWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/DocumentFragmentWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/DocumentTypeWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/DocumentWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/ElementWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/EntityReferenceWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/EntityWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/NotationWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/ProcessingInstructionWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/core/TextWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSCharsetRuleWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSFontFaceRuleWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSImportRuleWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSMediaRuleWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSPageRuleWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSPrimitiveValueWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSStyleRuleWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSUnknownRuleWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSValueListWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/css/CSSValueWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/events/MouseEventWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/events/MutationEventWrapper.h: Added.
        * ForwardingHeaders/kdom/bindings/js/events/UIEventWrapper.h: Added.
        * WebCore.xcodeproj/project.pbxproj: removed phase, added rule.
        * kdom/bindings/IDLCodeGeneratorJs.pm: include path changes.
        Converted "Generate JS Bindings" build phase into an
        idl -> h/cpp build rule.  This also now writes the generated
        files into DerivedSources instead of the source root.
        http://bugs.webkit.org/show_bug.cgi?id=4647

2005-08-28  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        Test cases updated:
        * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.checksum:
        * svg-tests/W3C-SVG-1.1/Resources/animation-extRef-image1-expected.txt:
        * svg-tests/W3C-SVG-1.1/coords-units-03-b-expected.txt:
        * svg-tests/W3C-SVG-1.1/struct-image-02-b-expected.txt:

        * kcanvas/KCanvasCreator.cpp:
        (KCanvasCreator::createRoundedRectangle): ignore 0 rects
        (KCanvasCreator::createRectangle): ignore 0 rects
        (KCanvasCreator::createEllipse): ignore empty elipses
        (KCanvasCreator::createLine): ignore 0 lines
        http://bugs.webkit.org/show_bug.cgi?id=4706

2005-08-28  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        Test cases added:
        * svg-tests/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum: Added.
        * svg-tests/W3C-SVG-1.1/filters-comptran-01-b-expected.png: Added.
        * svg-tests/W3C-SVG-1.1/filters-comptran-01-b-expected.txt: Added.
        * svg-tests/W3C-SVG-1.1/filters-comptran-01-b.svg: Added.
        * svg-tests/W3C-SVG-1.1/filters-comptran-01-b.svg-disabled: Removed.
        * svg-tests/W3C-SVG-1.1/filters-turb-01-f-expected.checksum: Added.
        * svg-tests/W3C-SVG-1.1/filters-turb-01-f-expected.png: Added.
        * svg-tests/W3C-SVG-1.1/filters-turb-01-f-expected.txt: Added.
        * svg-tests/W3C-SVG-1.1/filters-turb-01-f.svg: Added.
        * svg-tests/W3C-SVG-1.1/filters-turb-01-f.svg-disabled: Removed.

	Re-enabled disabled filter tests.
        * ksvg2/impl/SVGFEComponentTransferElementImpl.cpp:
        (SVGFEComponentTransferElementImpl::createCanvasItem):
        (SVGFEComponentTransferElementImpl::close):
        * ksvg2/impl/SVGFETurbulenceElementImpl.cpp:
        (SVGFETurbulenceElementImpl::createCanvasItem):
	Added null check to filter code, preventing crash.
        http://bugs.webkit.org/show_bug.cgi?id=4701

2005-08-28  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        * WebCore+SVG/DrawCanvasItem.mm: correct spelling typo
        (-[DrawCanvasItem attributedXMLString]):
        * WebCore+SVG/DrawView.mm:
        (+[DrawView setHardwareFilterSupportEnabled:]): c++ wrapper
        (+[DrawView isHardwareFilterSupportEnabled]): ditto
        (-[DrawView resetCursorRects]): added browse cursor
        * WebCore+SVG/DrawViewPrivate.h: exposed hardware filter support SPI
        http://bugs.webkit.org/show_bug.cgi?id=4697

2005-08-28  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        * kcanvas/KCanvasItem.cpp:
        (KCanvasItem::fillContains): added missing return.
        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
        (KCanvasFilterQuartz::prepareFilter): ignore empty rects
        (KCanvasFilterQuartz::applyFilter): ditto
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        (getSharedContext): memory leak fix.
        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
        (KCanvasContainerQuartz::draw): avoid drawing when 0 children
        Various performance enhancements and layout fixes.
        http://bugs.webkit.org/show_bug.cgi?id=4588

2005-08-27  David Hyatt  <hyatt@apple.com>

	Fix two minor bugs with border-image and border-radius.
	border-image didn't parse properly when the border width
	was omitted.  border-radius had over-aggressive clipping.
	
        * khtml/css/cssparser.cpp:
        (BorderImageParseContext::commitNumber):
        * khtml/rendering/render_object.cpp:
        (RenderObject::paintBorder):

2005-08-27  David Harrison  <harrison@apple.com>

        Reviewed by Adele and John.

        - fixes <rdar://problem/4214259> (REGRESSION: DENVER )Safari app will crash when pressing Command + a to select all (Word XML format)

        Problem is that NodeImpl::maxDeepOffset() was using the wrong test for being able to call the
        TextImpl length() function, so it was being called on a ProcessingInstruction node.
 
        Test cases added:
        * manual-tests/wordXML-selectall.xml: Added.

        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::maxDeepOffset): use isTextNode() instead of offsetInCharacters(). 

2005-08-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=3963
          Trailing space included in line if next line begins with non-Latin-1 character

        Test cases added:
        * layout-tests/fast/text/line-breaks.html: Added.
        * layout-tests/fast/text/line-breaks-expected.txt: Added.

        * khtml/rendering/break_lines.cpp: (khtml::isBreakable): Disallow breaks in a few cases where UCFindTextBreak
        says things are breakable. This is only an intermediate step. We're going to improve this code and consider a port
        to ICU instead of Carbon.

2005-08-26  Darin Adler  <darin@apple.com>

        - fixed a few things in the DOM test suite

        * layout-tests/dom/html/level1/core/selfhtml.js:
        * layout-tests/dom/html/level2/core/selfhtml.js:
        * layout-tests/dom/html/level2/events/selfhtml.js:
        * layout-tests/dom/html/level2/html/selfhtml.js:
        Updated all 4 of these to match and have better comments.

        * layout-tests/dom/html/level2/html/HTMLDocument17-expected.txt: Added.
        * layout-tests/dom/html/level2/html/HTMLDocument17.html: Added.
        * layout-tests/dom/html/level2/html/HTMLDocument17.html-disabled: Removed.
        Re-enabled this test since it's no longer crashing (and succeeding)!

        * layout-tests/dom/html/level2/html/HTMLDocument19-expected.txt: Added.
        * layout-tests/dom/html/level2/html/HTMLDocument19.html: Added.
        * layout-tests/dom/html/level2/html/HTMLDocument19.html-disabled: Removed.
        Re-enabled this test since it's no longer crashing (and succeeding)!

        * layout-tests/dom/html/level2/html/HTMLDocument20-expected.txt: Added.
        * layout-tests/dom/html/level2/html/HTMLDocument20.html: Added.
        * layout-tests/dom/html/level2/html/HTMLDocument20.html-disabled: Removed.
        Re-enabled this test since it's no longer crashing (and succeeding)!

        * layout-tests/dom/html/level2/html/HTMLDocument21-expected.txt: Added.
        * layout-tests/dom/html/level2/html/HTMLDocument21.html: Added.
        * layout-tests/dom/html/level2/html/HTMLDocument21.html-disabled: Removed.
        Re-enabled this test since it's no longer crashing (and succeeding)!

        * layout-tests/dom/html/level2/html/HTMLFormElement10-expected.txt: Removed.
        * layout-tests/dom/html/level2/html/HTMLFormElement10.html-disabled: Reverted the changes
        to this disabled test; it's still disabled, but now not changed locally in WebKit.
        * layout-tests/dom/html/level2/html/HTMLFormElement10.js: Reverted the changes in this
        script. Should no longer be needed.

2005-08-26  Curt Arnold  <curt.arnold@mac.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4391
          layout-tests/dom/html/level2/html/HTMLBaseElement01 and HTMLBaseElement02 fail

        * layout-tests/dom/html/level2/html/HTMLBaseElement01.html: New version.
        * layout-tests/dom/html/level2/html/HTMLBaseElement01-expected.txt: Now says "success".
        * layout-tests/dom/html/level2/html/HTMLBaseElement02.html: New version.
        * layout-tests/dom/html/level2/html/HTMLBaseElement02-expected.txt: Now says "success".

        * layout-tests/dom/html/level2/html/HTMLBaseElement01.js: Removed.
        * layout-tests/dom/html/level2/html/HTMLBaseElement02.js: Removed.

2005-08-26  Curt Arnold  <curt.arnold@mac.com>

        Reviewed and landed by Darin.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4570
          dispatchEvent12 test is incorrect

        * layout-tests/dom/html/level2/events/dispatchEvent12.js: Fixed to match real updated test.
        Before we mis-merged a change.

2005-08-26  Darin Adler  <darin@apple.com>

        * khtml/html/htmlnames.cpp: (DOM::HTMLNames::init): Tweaked a wrong character in a comment.

2005-08-26  David Hyatt  <hyatt@apple.com>

	Implement four new CSS properties from CSS3.  border-image, background-clip,
	background-origin, and border-radius.  Border radius support is still in the
	initial stages, with only transparent borders supported.
	
        Reviewed by darin

        * khtml/css/css_computedstyle.cpp:
        (DOM::):
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
        * khtml/css/css_valueimpl.cpp:
        (DOM::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
        (DOM::CSSPrimitiveValueImpl::cssText):
        (DOM::PairImpl::PairImpl):
        (DOM::PairImpl::~PairImpl):
        (DOM::PairImpl::setFirst):
        (DOM::PairImpl::setSecond):
        (DOM::CSSImageValueImpl::~CSSImageValueImpl):
        (DOM::CSSImageValueImpl::image):
        (DOM::CSSBorderImageValueImpl::CSSBorderImageValueImpl):
        (DOM::CSSBorderImageValueImpl::~CSSBorderImageValueImpl):
        (DOM::CSSBorderImageValueImpl::cssText):
        * khtml/css/css_valueimpl.h:
        (DOM::CSSPrimitiveValueImpl::getPairValue):
        (DOM::CSSPrimitiveValueImpl::):
        (DOM::RectImpl::top):
        (DOM::RectImpl::right):
        (DOM::RectImpl::bottom):
        (DOM::RectImpl::left):
        (DOM::PairImpl::first):
        (DOM::PairImpl::second):
        (DOM::CSSBorderImageValueImpl::cssValueType):
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        (CSSParser::parseBackgroundShorthand):
        (CSSParser::parseBackgroundProperty):
        (BorderImageParseContext::m_verticalRule):
        (BorderImageParseContext::~BorderImageParseContext):
        (BorderImageParseContext::failed):
        (BorderImageParseContext::allowBreak):
        (BorderImageParseContext::allowNumber):
        (BorderImageParseContext::allowSlash):
        (BorderImageParseContext::allowWidth):
        (BorderImageParseContext::allowRule):
        (BorderImageParseContext::commitImage):
        (BorderImageParseContext::commitNumber):
        (BorderImageParseContext::commitSlash):
        (BorderImageParseContext::commitWidth):
        (BorderImageParseContext::commitRule):
        (BorderImageParseContext::commitBorderImage):
        (CSSParser::parseBorderImage):
        * khtml/css/cssparser.h:
        * khtml/css/cssproperties.in:
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty):
        (khtml::CSSStyleSelector::mapBackgroundClip):
        (khtml::CSSStyleSelector::mapBackgroundOrigin):
        * khtml/css/cssstyleselector.h:
        * khtml/css/cssvalues.in:
        * khtml/dom/css_value.h:
        (DOM::CSSPrimitiveValue::):
        * khtml/misc/loader.h:
        (khtml::CachedObject::isLoaded):
        * khtml/rendering/render_box.cpp:
        (RenderBox::paintBackground):
        (RenderBox::paintBackgroundExtended):
        * khtml/rendering/render_box.h:
        * khtml/rendering/render_line.cpp:
        (khtml::InlineFlowBox::onEndChain):
        (khtml::InlineFlowBox::determineSpacingForFlowBoxes):
        (khtml::InlineFlowBox::paintBackground):
        (khtml::InlineFlowBox::paintBackgroundAndBorder):
        * khtml/rendering/render_object.cpp:
        (RenderObject::paintBorderImage):
        (RenderObject::paintBorder):
        (RenderObject::updateBackgroundImages):
        (RenderObject::setPixmap):
        * khtml/rendering/render_object.h:
        (khtml::RenderObject::paintBackgroundExtended):
        * khtml/rendering/render_style.cpp:
        (m_next):
        (BackgroundLayer::BackgroundLayer):
        (BackgroundLayer::operator=):
        (BackgroundLayer::operator==):
        (BackgroundLayer::fillUnsetProperties):
        (BackgroundLayer::cullEmptyLayers):
        * khtml/rendering/render_style.h:
        (khtml::BorderValue::nonZero):
        (khtml::):
        (khtml::BorderImage::m_verticalRule):
        (khtml::BorderImage::operator==):
        (khtml::BorderImage::hasImage):
        (khtml::BorderImage::image):
        (khtml::BorderData::hasBorder):
        (khtml::BorderData::hasBorderRadius):
        (khtml::BorderData::borderLeftWidth):
        (khtml::BorderData::borderRightWidth):
        (khtml::BorderData::borderTopWidth):
        (khtml::BorderData::borderBottomWidth):
        (khtml::BorderData::operator==):
        (khtml::BackgroundLayer::backgroundClip):
        (khtml::BackgroundLayer::backgroundOrigin):
        (khtml::BackgroundLayer::isBackgroundClipSet):
        (khtml::BackgroundLayer::isBackgroundOriginSet):
        (khtml::BackgroundLayer::setBackgroundClip):
        (khtml::BackgroundLayer::setBackgroundOrigin):
        (khtml::BackgroundLayer::clearBackgroundClip):
        (khtml::BackgroundLayer::clearBackgroundOrigin):
        (khtml::RenderStyle::borderImage):
        (khtml::RenderStyle::borderTopLeftRadius):
        (khtml::RenderStyle::borderTopRightRadius):
        (khtml::RenderStyle::borderBottomLeftRadius):
        (khtml::RenderStyle::borderBottomRightRadius):
        (khtml::RenderStyle::hasBorderRadius):
        (khtml::RenderStyle::borderLeftWidth):
        (khtml::RenderStyle::borderRightWidth):
        (khtml::RenderStyle::borderTopWidth):
        (khtml::RenderStyle::borderBottomWidth):
        (khtml::RenderStyle::backgroundClip):
        (khtml::RenderStyle::backgroundOrigin):
        (khtml::RenderStyle::resetBorder):
        (khtml::RenderStyle::resetBorderImage):
        (khtml::RenderStyle::resetBorderRadius):
        (khtml::RenderStyle::resetBorderTopLeftRadius):
        (khtml::RenderStyle::resetBorderTopRightRadius):
        (khtml::RenderStyle::resetBorderBottomLeftRadius):
        (khtml::RenderStyle::resetBorderBottomRightRadius):
        (khtml::RenderStyle::setBorderImage):
        (khtml::RenderStyle::setBorderTopLeftRadius):
        (khtml::RenderStyle::setBorderTopRightRadius):
        (khtml::RenderStyle::setBorderBottomLeftRadius):
        (khtml::RenderStyle::setBorderBottomRightRadius):
        (khtml::RenderStyle::setBorderRadius):
        (khtml::RenderStyle::initialBackgroundClip):
        (khtml::RenderStyle::initialBackgroundOrigin):
        (khtml::RenderStyle::initialBorderImage):
        (khtml::RenderStyle::initialBorderRadius):
        * kwq/KWQPainter.h:
        (QPainter::):
        * kwq/KWQPainter.mm:
        (QPainter::drawEllipse):
        (QPainter::drawScaledAndTiledPixmap):
        (QPainter::addRoundedRectClip):
        * kwq/KWQPixmap.h:
        * kwq/KWQPixmap.mm:
        (QPixmap::setAnimationRect):
        * kwq/WebCoreImageRenderer.h:

2005-08-26  David Hyatt  <hyatt@apple.com>

	Fix comment parsing so that it is lax for <style>.  Better fix eventually
	will be to not even have the tokenizer do anything with <!-- and --> inside
	<style> and <script>.
	
        Reviewed by adele

        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::parseComment):
        
2005-08-26  John Sullivan  <sullivan@apple.com>

        Reviewed by Darin Adler.

        Test cases added: none, doesn't affect layout
        
        - fixed these leaks:
        <rdar://problem/4232514> many leaks of StyleBaseImpl called within computeAndStoreNodeDesiredStyle within -[WebView paste:], 
        seen running webkit tests (probably affects Mail)
        <rdar://problem/4232572> many leaks of StyleBaseImpl called within fixupNodeStyles within -[WebView paste:], 
        seen running webkit tests (probably affects Mail)
        <rdar://problem/4232629> many leaks of StyleBaseImpl within startMarkup within -[WebHTMLView _writeSelectionToPasteboard:], 
        seen running webkit tests
        <rdar://problem/4232779> many leaks of StyleBaseImpl within createMarkup within -[WebHTMLView _writeSelectionToPasteboard:], 
        seen running webkit tests        

        * khtml/editing/markup.cpp:
        (khtml::startMarkup):
        Put Position::computedStyle() result into a local variable so it can be reffed/dereffed, avoids a leak.
        Done in two places in this method. This fixes 4232629.
        (khtml::createMarkup):
        ditto, but only in one place. This fixes 4232779.
        
        * khtml/editing/replace_selection_command.cpp:
        (khtml::ReplaceSelectionCommand::fixupNodeStyles):
        ditto. This fixes 4232572.
        (khtml::computeAndStoreNodeDesiredStyle):
        ditto, but in two places. This fixes 4232514.

2005-08-25  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4654
          one more pass of HTMLNames refinement

        * khtml/html/htmlnames.h: Used new "for each" macros so the lists of tags here can
        be re-used in other files.
        * khtml/html/htmlnames.cpp: (DOM::HTMLNames::init): Changed the name of the function
        and used the macros defined in the header to avoid repeating the lists.

        * khtml/khtml_part.cpp: (KHTMLPart::init): Update for function name change.

        * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::isRecognizedTagName): Use the
        macro from htmlnames.h to avoid repeating the list of tags.

        * khtml/ecma/kjs_css.cpp:
        * khtml/ecma/kjs_dom.cpp:
        * khtml/ecma/kjs_html.cpp:
        * khtml/editing/apply_style_command.cpp:
        * khtml/editing/break_blockquote_command.cpp:
        * khtml/editing/composite_edit_command.cpp:
        * khtml/editing/delete_selection_command.cpp:
        * khtml/editing/htmlediting.cpp:
        * khtml/editing/insert_line_break_command.cpp:
        * khtml/editing/insert_paragraph_separator_command.cpp:
        * khtml/editing/markup.cpp:
        * khtml/editing/replace_selection_command.cpp:
        * khtml/editing/visible_position.cpp:
        * khtml/editing/visible_text.cpp:
        * khtml/editing/visible_units.cpp:
        * khtml/html/html_documentimpl.cpp:
        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_inlineimpl.cpp:
        * khtml/html/html_listimpl.cpp:
        * khtml/html/html_listimpl.h:
        * khtml/html/html_miscimpl.cpp:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_tableimpl.cpp:
        * khtml/html/htmlfactory.cpp:
        * khtml/html/htmlparser.cpp:
        * khtml/html/htmltokenizer.cpp:
        * khtml/misc/decoder.cpp:
        * khtml/rendering/render_applet.cpp:
        * khtml/rendering/render_form.cpp:
        * khtml/rendering/render_frames.cpp:
        * khtml/rendering/render_list.cpp:
        * khtml/rendering/render_table.cpp:
        * khtml/rendering/render_theme.cpp:
        * khtml/xml/dom_nodeimpl.cpp:
        * khtml/xml/dom_position.cpp:
        * khtml/xml/xml_tokenizer.cpp:
        * kwq/DOM.mm:
        * kwq/DOMHTML.mm:
        * kwq/KWQAccObject.mm:
        * kwq/KWQKHTMLPart.cpp:
        * kwq/KWQKHTMLPart.mm:
        * kwq/WebCoreBridge.mm:
        Updated "using" because HTMLNames is now inside the DOM namespace.

2005-08-25  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - removed WebCore-tests.exp since the tests it supported are now gone

        * WebCore-tests.exp: Removed.
        * WebCore.xcodeproj/project.pbxproj: Removed rules that use WebCore-tests.exp and WebCore-combined.exp.

2005-08-25  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        * kdom/css/impl/RenderStyle.cpp:
        (describeFont): fixed APPLE_COMPILE_HACK usage
        http://bugs.webkit.org/show_bug.cgi?id=4589

2005-08-25  Eric Seidel  <eseidel@apple.com>
        Fix by Tobias Lidskog <tobiaslidskog@mac.com>

        Reviewed by eseidel.

        * kdom/Helper.cpp:
        (parseLength): change string() to qstring()
        * kdom/css/impl/CSSStyleSelector.cpp:
        (checkPseudoState): ditto.
        * kdom/impl/DOMStringImpl.cpp:
        (DOMStringImpl::toInt): ditto.
        * kdom/impl/DocumentImpl.cpp:
        (DocumentImpl::getId): ditto.
	Fixes WebCore+SVG build after Darin's JSC change.
        http://bugs.webkit.org/show_bug.cgi?id=4657

2005-08-25  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - rename KJS::UString::string to KJS::UString::domString
        - rename KJS::Identifier::string to KJS::Identifier::domString
        - rename DOM::DOMString::string to DOM::DOMString::qstring

        It was confusing to have functions named string() with subtly
        different meaning. In some cases, we made a string of the wrong type
        and then it got converted to the other type.

        * khtml/css/css_base.cpp:
        (CSSSelector::print):
        (CSSSelector::selectorText):
        * khtml/css/css_ruleimpl.cpp:
        (CSSImportRuleImpl::init):
        * khtml/css/css_stylesheetimpl.cpp:
        (CSSStyleSheetImpl::parseString):
        (MediaListImpl::setMediaText):
        * khtml/css/css_valueimpl.cpp:
        (DOM::quoteStringIfNeeded):
        (DOM::CSSStyleDeclarationImpl::setProperty):
        (DOM::CSSMutableStyleDeclarationImpl::setProperty):
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        (CSSParser::parseColor):
        (CSSParser::parseDeclaration):
        (CSSParser::parseShortHand):
        (CSSParser::parseContent):
        (CSSParser::parseBackgroundImage):
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::matchRules):
        (khtml::checkPseudoState):
        (khtml::CSSStyleSelector::checkOneSelector):
        (khtml::CSSRuleSet::addRulesFromSheet):
        * khtml/dom/dom_string.cpp:
        (DOM::DOMString::percentage):
        (DOM::DOMString::qstring):
        * khtml/dom/dom_string.h:
        * khtml/ecma/kjs_binding.cpp:
        (KJS::UString::domString):
        (KJS::Identifier::domString):
        * khtml/ecma/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::put):
        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
        (KJS::DOMStyleSheetList::nameGetter):
        (KJS::DOMStyleSheetList::getOwnPropertySlot):
        (KJS::DOMMediaList::put):
        (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
        (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
        (KJS::DOMCSSRule::putValueProperty):
        (KJS::DOMCSSRuleFunc::callAsFunction):
        (KJS::DOMCSSValue::put):
        (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
        * khtml/ecma/kjs_dom.cpp:
        (KJS::DOMNode::putValueProperty):
        (KJS::DOMNodeProtoFunc::callAsFunction):
        (KJS::DOMNodeList::nameGetter):
        (KJS::DOMNodeList::getOwnPropertySlot):
        (KJS::DOMAttr::putValueProperty):
        (KJS::DOMDocument::putValueProperty):
        (KJS::DOMDocumentProtoFunc::callAsFunction):
        (KJS::DOMElement::attributeGetter):
        (KJS::DOMElement::getOwnPropertySlot):
        (KJS::DOMElementProtoFunc::callAsFunction):
        (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
        (KJS::DOMProcessingInstruction::put):
        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
        (KJS::DOMCharacterData::put):
        (KJS::DOMCharacterDataProtoFunc::callAsFunction):
        * khtml/ecma/kjs_events.cpp:
        (KJS::DOMEventProtoFunc::callAsFunction):
        (KJS::DOMUIEventProtoFunc::callAsFunction):
        (KJS::DOMMouseEventProtoFunc::callAsFunction):
        (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
        (KJS::DOMMutationEventProtoFunc::callAsFunction):
        (KJS::Clipboard::putValueProperty):
        (KJS::ClipboardProtoFunc::callAsFunction):
        * khtml/ecma/kjs_html.cpp:
        (KJS::KJS::HTMLDocFunction::callAsFunction):
        (KJS::HTMLDocument::namedItemGetter):
        (KJS::HTMLDocument::getOwnPropertySlot):
        (KJS::KJS::HTMLDocument::putValueProperty):
        (KJS::HTMLElement::framesetNameGetter):
        (KJS::HTMLElement::getOwnPropertySlot):
        (KJS::HTMLElement::anchorGetter):
        (KJS::HTMLElement::areaGetter):
        (KJS::KJS::HTMLElement::put):
        (KJS::HTMLElement::putValueProperty):
        (KJS::KJS::HTMLCollection::callAsFunction):
        (KJS::KJS::HTMLCollection::getNamedItems):
        (KJS::KJS::HTMLCollectionProtoFunc::callAsFunction):
        (KJS::OptionConstructorImp::construct):
        (KJS::Image::putValueProperty):
        (KJS::KJS::Context2DFunction::callAsFunction):
        (KJS::colorRefFromValue):
        (KJS::colorFromValue):
        * khtml/ecma/kjs_range.cpp:
        (KJS::DOMRangeProtoFunc::callAsFunction):
        * khtml/ecma/kjs_views.cpp:
        (KJS::DOMAbstractViewFunc::callAsFunction):
        * khtml/ecma/kjs_window.cpp:
        (KJS::Window::namedItemGetter):
        (KJS::Window::getOwnPropertySlot):
        (KJS::Window::isSafeScript):
        (KJS::WindowFunc::callAsFunction):
        (KJS::SelectionFunc::callAsFunction):
        * khtml/ecma/xmlhttprequest.cpp:
        (KJS::XMLHttpRequestProtoFunc::callAsFunction):
        * khtml/ecma/xmlserializer.cpp:
        (KJS::XMLSerializerProtoFunc::callAsFunction):
        * khtml/editing/apply_style_command.cpp:
        (khtml::StyleChange::init):
        * khtml/editing/composite_edit_command.cpp:
        (khtml::CompositeEditCommand::deleteInsignificantText):
        * khtml/editing/delete_selection_command.cpp:
        (khtml::debugPosition):
        (khtml::debugNode):
        * khtml/editing/jsediting.cpp:
        (DOM::JSEditor::queryCommandSupported):
        * khtml/editing/markup.cpp:
        (khtml::stringValueForRange):
        (khtml::renderedText):
        (khtml::startMarkup):
        (khtml::endMarkup):
        (khtml::completeURLs):
        (khtml::createMarkup):
        * khtml/editing/selection.cpp:
        (khtml::Selection::debugRenderer):
        (khtml::Selection::debugPosition):
        (khtml::Selection::formatForDebugger):
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::debugPosition):
        * khtml/editing/visible_text.cpp:
        (khtml::TextIterator::handleTextNode):
        (khtml::TextIterator::handleTextBox):
        * khtml/html/html_baseimpl.cpp:
        (HTMLBodyElementImpl::parseMappedAttribute):
        (HTMLFrameElementImpl::isURLAllowed):
        (HTMLFrameElementImpl::openURL):
        (HTMLFrameElementImpl::parseMappedAttribute):
        (HTMLFrameElementImpl::attach):
        (HTMLFrameElementImpl::detach):
        (HTMLFrameElementImpl::contentPart):
        (HTMLFrameSetElementImpl::parseMappedAttribute):
        (HTMLIFrameElementImpl::attach):
        * khtml/html/html_documentimpl.cpp:
        (DOM::HTMLDocumentImpl::setCookie):
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::parseMappedAttribute):
        (HTMLElementImpl::createContextualFragment):
        (HTMLElementImpl::addHTMLAlignment):
        * khtml/html/html_formimpl.cpp:
        (DOM::FormDataList::appendData):
        (DOM::HTMLFormElementImpl::formWouldHaveSecureSubmission):
        (DOM::HTMLFormElementImpl::formData):
        (DOM::HTMLFormElementImpl::parseEnctype):
        (DOM::HTMLFormElementImpl::submit):
        (DOM::HTMLFormElementImpl::parseMappedAttribute):
        (DOM::HTMLGenericFormElementImpl::state):
        (DOM::HTMLGenericFormElementImpl::findMatchingState):
        (DOM::HTMLButtonElementImpl::parseMappedAttribute):
        (DOM::HTMLInputElementImpl::state):
        (DOM::HTMLInputElementImpl::parseMappedAttribute):
        (DOM::HTMLInputElementImpl::appendFormData):
        (DOM::HTMLLabelElementImpl::parseMappedAttribute):
        (DOM::HTMLSelectElementImpl::parseMappedAttribute):
        (DOM::HTMLSelectElementImpl::appendFormData):
        (DOM::HTMLKeygenElementImpl::appendFormData):
        (DOM::HTMLOptionElementImpl::value):
        (DOM::HTMLTextAreaElementImpl::state):
        (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
        (DOM::HTMLTextAreaElementImpl::updateValue):
        (DOM::HTMLTextAreaElementImpl::setValue):
        (DOM::FormDataList::appendFile):
        * khtml/html/html_headimpl.cpp:
        (HTMLBaseElementImpl::process):
        (HTMLLinkElementImpl::parseMappedAttribute):
        (HTMLLinkElementImpl::tokenizeRelAttribute):
        (HTMLLinkElementImpl::process):
        (HTMLScriptElementImpl::insertedIntoDocument):
        (HTMLScriptElementImpl::notifyFinished):
        (HTMLScriptElementImpl::evaluateScript):
        (HTMLStyleElementImpl::parseMappedAttribute):
        * khtml/html/html_imageimpl.cpp:
        (HTMLImageElementImpl::parseMappedAttribute):
        (HTMLImageElementImpl::width):
        (HTMLImageElementImpl::height):
        * khtml/html/html_inlineimpl.cpp:
        (DOM::HTMLAnchorElementImpl::defaultEventHandler):
        * khtml/html/html_miscimpl.cpp:
        (DOM::HTMLCollectionImpl::updateNameCache):
        (DOM::HTMLCollectionImpl::namedItems):
        (DOM::HTMLFormCollectionImpl::updateNameCache):
        * khtml/html/html_objectimpl.cpp:
        (DOM::HTMLAppletElementImpl::createRenderer):
        (DOM::HTMLEmbedElementImpl::parseMappedAttribute):
        (DOM::HTMLObjectElementImpl::parseMappedAttribute):
        (DOM::HTMLParamElementImpl::isURLAttribute):
        * khtml/html/html_tableimpl.cpp:
        (DOM::HTMLTableElementImpl::addChild):
        (DOM::HTMLTableElementImpl::parseMappedAttribute):
        (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
        (DOM::HTMLTableSectionElementImpl::addChild):
        (DOM::HTMLTableRowElementImpl::addChild):
        * khtml/html/htmlparser.cpp:
        (HTMLParser::handleError):
        (HTMLParser::processCloseTag):
        * khtml/html/htmltokenizer.cpp:
        (khtml::HTMLTokenizer::parseComment):
        (khtml::HTMLTokenizer::parseTag):
        (khtml::HTMLTokenizer::finish):
        (khtml::HTMLTokenizer::processToken):
        (khtml::HTMLTokenizer::notifyFinished):
        * khtml/khtml_part.cpp:
        (khtml::PartStyleSheetLoader::setStyleSheet):
        (KHTMLPart::executeScript):
        (KHTMLPart::checkEmitLoadEvent):
        (KHTMLPart::findTextNext):
        (KHTMLPart::overURL):
        (KHTMLPart::backgroundURL):
        (KHTMLPart::updateActions):
        (KHTMLPart::khtmlMousePressEvent):
        (KHTMLPart::handleMouseMoveEventDrag):
        (KHTMLPart::handleMouseMoveEventOver):
        * khtml/khtmlview.cpp:
        (KHTMLToolTip::maybeTip):
        (KHTMLView::viewportMouseDoubleClickEvent):
        (KHTMLView::focusNextPrevNode):
        * khtml/misc/loader.cpp:
        (CachedObject::finish):
        (CachedCSSStyleSheet::checkNotify):
        (CachedXSLStyleSheet::checkNotify):
        (CachedXBLDocument::checkNotify):
        (DocLoader::requestImage):
        (DocLoader::requestStyleSheet):
        (DocLoader::requestScript):
        (DocLoader::requestXSLStyleSheet):
        (DocLoader::requestXBLDocument):
        (Loader::servePendingRequests):
        (Loader::slotFinished):
        (Loader::cancelRequests):
        (Cache::requestImage):
        (Cache::requestStyleSheet):
        (Cache::requestScript):
        (Cache::requestXSLStyleSheet):
        (Cache::requestXBLDocument):
        (Cache::removeCacheEntry):
        * khtml/rendering/break_lines.cpp:
        (khtml::isBreakable):
        * khtml/rendering/font.cpp:
        (Font::drawText):
        (Font::width):
        * khtml/rendering/render_applet.cpp:
        (RenderApplet::createWidgetIfNecessary):
        * khtml/rendering/render_block.cpp:
        (khtml::RenderBlock::updateFirstLetter):
        * khtml/rendering/render_box.cpp:
        (RenderBox::~RenderBox):
        * khtml/rendering/render_form.cpp:
        (RenderSubmitButton::rawText):
        (RenderLineEdit::RenderLineEdit):
        (RenderLineEdit::updateFromElement):
        (RenderFileButton::updateFromElement):
        (RenderSelect::updateFromElement):
        (RenderTextArea::updateFromElement):
        (RenderSlider::updateFromElement):
        * khtml/rendering/render_frames.cpp:
        (RenderPartObject::updateWidget):
        * khtml/rendering/render_image.cpp:
        (RenderImage::setPixmap):
        (RenderImage::paint):
        * khtml/rendering/render_line.cpp:
        (khtml::EllipsisBox::paint):
        * khtml/rendering/render_list.cpp:
        (RenderListItem::paint):
        (RenderListMarker::paint):
        * khtml/rendering/render_object.cpp:
        (RenderObject::information):
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::paint):
        (InlineTextBox::selectionStartEnd):
        (RenderText::RenderText):
        (RenderText::originalString):
        (RenderText::setText):
        (RenderText::position):
        (RenderTextFragment::originalString):
        * khtml/rendering/render_text.h:
        (khtml::RenderText::qstring):
        * khtml/xbl/xbl_binding.cpp:
        (XBL::m_nextBinding):
        (XBL::XBLBinding::setXBLDocument):
        * khtml/xbl/xbl_docimpl.cpp:
        (XBL::XBLDocumentImpl::setPrototypeBinding):
        (XBL::XBLDocumentImpl::prototypeBinding):
        * khtml/xbl/xbl_protohandler.cpp:
        (XBL::m_unused):
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::RangeImpl::createContextualFragment):
        (DOM::RangeImpl::formatForDebugger):
        * khtml/xml/dom2_rangeimpl.h:
        * khtml/xml/dom_atomicstring.h:
        (DOM::AtomicString::qstring):
        * khtml/xml/dom_atomicstringlist.h:
        (DOM::AtomicStringList::qstring):
        * khtml/xml/dom_docimpl.cpp:
        (DOMImplementationImpl::hasFeature):
        (DOMImplementationImpl::createHTMLDocument):
        (DocumentImpl::getElementById):
        (DocumentImpl::addElementById):
        (DocumentImpl::removeElementById):
        (DocumentImpl::getElementByAccessKey):
        (DocumentImpl::updateTitle):
        (DocumentImpl::write):
        (DocumentImpl::processHttpEquiv):
        (DocumentImpl::prepareMouseEvent):
        (DocumentImpl::setSelectedStylesheetSet):
        (DocumentImpl::recalcStyleSelector):
        (DocumentImpl::defaultEventHandler):
        (DocumentImpl::addImageMap):
        (DocumentImpl::removeImageMap):
        (DocumentImpl::getImageMap):
        (DocumentImpl::completeURL):
        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::recalcStyle):
        (ElementImpl::dump):
        (ElementImpl::formatForDebugger):
        (NamedMappedAttrMapImpl::parseClassAttribute):
        (StyledElementImpl::addCSSColor):
        * khtml/xml/dom_nodeimpl.cpp:
        (DOM::NodeImpl::dump):
        (DOM::appendAttributeDesc):
        (DOM::NodeImpl::showNode):
        (DOM::NodeImpl::formatForDebugger):
        * khtml/xml/dom_position.cpp:
        (DOM::Position::debugPosition):
        (DOM::Position::formatForDebugger):
        * khtml/xml/dom_stringimpl.cpp:
        (DOM::parseLength):
        (DOM::DOMStringImpl::toInt):
        * khtml/xml/dom_textimpl.cpp:
        (CharacterDataImpl::dump):
        (CommentImpl::nodeName):
        (TextImpl::nodeName):
        (TextImpl::formatForDebugger):
        * khtml/xml/dom_textimpl.h:
        (DOM::CharacterDataImpl::qstring):
        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::executeScripts):
        (khtml::XMLTokenizer::notifyFinished):
        (khtml::parseXMLDocumentFragment):
        (khtml::XMLNamespaceStack::pushNamespaces):
        (khtml::parseAttributes):
        * khtml/xsl/xsl_stylesheetimpl.cpp:
        (DOM::XSLStyleSheetImpl::loadChildSheets):
        (DOM::XSLStyleSheetImpl::locateStylesheetSubResource):
        (DOM::XSLImportRuleImpl::loadSheet):
        * kwq/DOM.mm:
        (-[DOMElement _getURLAttribute:]):
        (-[DOMRange _text]):
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject helpText]):
        (-[KWQAccObject accessibilityDescription]):
        (-[KWQAccObject accessibilityAttributeValue:]):
        * kwq/KWQClipboard.mm:
        (cocoaTypeFromMIMEType):
        (KWQClipboard::setData):
        * kwq/KWQFont.mm:
        (QFont::family):
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::searchForLabelsAboveCell):
        (KWQKHTMLPart::searchForLabelsBeforeElement):
        (KWQKHTMLPart::matchLabelsAgainstElement):
        (KWQKHTMLPart::setTitle):
        (KWQKHTMLPart::fileWrapperForElement):
        (KWQKHTMLPart::attributedString):
        * kwq/KWQLoader.mm:
        (KWQServeRequest):
        (KWQCheckCacheObjectStatus):
        * kwq/KWQRenderTreeDebug.cpp:
        (getTagName):
        (writeTextRun):
        * kwq/KWQString.h:
        (QConstString::qstring):
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge _documentTypeString]):
        (-[WebCoreBridge copyDOMNode:copier:]):
        (-[WebCoreBridge elementAtPoint:]):
        (-[WebCoreBridge URLWithAttributeString:]):
        (-[WebCoreBridge domain]):

2005-08-25  Anders Carlsson  <andersca@mac.com>

        Reviewed and landed by Darin.

        * layout-tests/dom/html/level2/html/HTMLAppletElement01.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement02.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement03.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement04.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement05.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement06.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement07.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement08.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement09.html:
        * layout-tests/dom/html/level2/html/HTMLAppletElement10.html:
        Put CODE attribute inside of the APPLET element again.
        
        * layout-tests/dom/html/level2/html/HTMLAppletElement04-expected.txt:
        This passes now.
        
2005-08-25  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4564
          nodeName for attributes in HTML documents should be lowercase

        * khtml/xml/dom_elementimpl.cpp: (AttrImpl::nodeName): Removed the code to
        uppercase the name when in HTML documents.

        * layout-tests/dom/html/level1/core/hc_attrcreatedocumentfragment-expected.txt:
        Updated to reflect the fact that this test now succeeds.

2005-08-25  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4551
          implement exceptions for a few XML-specific Document DOM functions

        * khtml/xml/dom_docimpl.h: Added exception codes to the three functions in question.
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::createCDATASection): Added exception parameter. Give NOT_SUPPORTED_ERR if the
        document is an HTML document.
        (DocumentImpl::createProcessingInstruction): Added exception parameter. Give INVALID_CHARACTER_ERR
        if target's name is not valid, NOT_SUPPORTED_ERR if the document is an HTML document.
        (DocumentImpl::createEntityReference): Ditto, with entity's name.
        (DocumentImpl::importNode): Pass exception parameter in so we get exceptions in this case too.
        (DocumentImpl::isValidName): Added comment with the specification's rules for valid names.

        * khtml/ecma/kjs_dom.cpp: (KJS::DOMDocumentProtoFunc::callAsFunction): Translate exceptions now
        that the three functions have them.
        * kwq/DOM.mm:
        (-[DOMDocument createCDATASection:]): Ditto.
        (-[DOMDocument createProcessingInstruction::]): Ditto.
        (-[DOMDocument createEntityReference:]): Ditto.

        * khtml/xml/dom_textimpl.cpp: (CDATASectionImpl::cloneNode): Ignore exception. It can never happen
        since name is guaranteed to be valid and document is guaranteed to not be HTML document.

        * khtml/xml/xml_tokenizer.cpp:
        (khtml::XMLTokenizer::processingInstruction): Added code to handle exception.
        (khtml::XMLTokenizer::cdataBlock): Ditto.

        * layout-tests/dom/html/level1/core/documentinvalidcharacterexceptioncreateentref-expected.txt: Now succeeds.
        * layout-tests/dom/html/level1/core/documentinvalidcharacterexceptioncreateentref1-expected.txt: Ditto.
        * layout-tests/dom/html/level1/core/documentinvalidcharacterexceptioncreatepi-expected.txt: Ditto.
        * layout-tests/dom/html/level1/core/documentinvalidcharacterexceptioncreatepi1-expected.txt: Ditto.
        * layout-tests/dom/html/level1/core/hc_attrappendchild4-expected.txt: Ditto.
        * layout-tests/dom/html/level1/core/hc_attrgetvalue2-expected.txt: Ditto.
        * layout-tests/dom/html/level1/core/hc_attrinsertbefore5-expected.txt: Ditto.
        * layout-tests/dom/html/level1/core/hc_attrinsertbefore7-expected.txt: Ditto.
        * layout-tests/dom/html/level1/core/hc_nodevalue03-expected.txt: Ditto.

2005-08-25  Eric Seidel  <eseidel@apple.com>

        No review, buildfix affecting SVG only.

        WebCore/kcanvas directory was accidentally excluded from
        the original commit.
        * kcanvas/KCanvas.cpp:
        (KCanvas::~KCanvas):
        * kcanvas/KCanvasTreeDebug.cpp:
        (getTagName):
        * kcanvas/device/KRenderingFillPainter.cpp:
        (KRenderingFillPainter::Private::~Private):
        (KRenderingFillPainter::setPaintServer):
        * kcanvas/device/KRenderingStrokePainter.cpp:
        (KRenderingStrokePainter::Private::~Private):
        (KRenderingStrokePainter::paintServer):
        (KRenderingStrokePainter::setPaintServer):

2005-08-24  Eric Seidel  <eseidel@apple.com>

        Rubber-stamped by mjs.

        A ridiculously large patch including all of the following:
        1.  Sync-up with KDE SVN HEAD, including:
          a. Removal of C+DOM
          b. JS bindings code auto-generation
          c. DocumentPtr in addition to DocumentImpl
          d. DOMStringImpl instead of DOMString
          e. Completely different xpath implementation.
        2.  Various WebCore specific fixes to KDE additions.
        3.  Closed several memory leaks.
        4.  Removed KSVGSlotStubs.h, added SVG_SUPPORT macro and
            svg specific slot support into KWQSlot.mm

        * WebCore+SVG/DrawCanvasItem.mm:
        (-[DrawCanvasItem fitToNewBBox:]): DOMStringImpl changes.
        (-[DrawCanvasItem valueForKey:]): ditto.
        * WebCore+SVG/DrawDocument.mm:
        (-[DrawDocumentPrivate init]): KCanvasView leak and circularity.
        (-[DrawDocumentPrivate dealloc]): ditto
        (-[DrawDocumentPrivate setPrimaryView:]): ditto.
        (-[DrawDocument initWithSVGData:]): ditto.
        (-[DrawDocument dealloc]): ditto.
        (-[DrawDocument title]): DOMStringImpl
        (-[DrawDocument registerView:]): KCanvasView leak.
        (-[DrawDocument unregisterView:]): KCanvasView leak
        (-[DrawDocument KDOM::newMouseEventWithEventId:KDOM::qMouseEvent:]): DOMStringImpl
        (-[DrawDocument createItemForTool:atPoint:]): ditto
        * WebCore+SVG/DrawView.mm:
        (-[DrawViewPrivate setDocument:]): KCanvasView leak.
        (-[DrawViewPrivate drawRect:]): ASSERT addition
        (-[DrawView _clearDocument]): KCanvasView leak.
        * WebCore+SVG/DrawViewPrivate.h:
        * WebCore.xcodeproj/project.pbxproj: new files, SVG_SUPPORT macro
        * kdom/Attr.cpp: Removed.
        * kdom/Attr.h: Removed.
        * kdom/CDATASection.cpp: Removed.
        * kdom/CDATASection.h: Removed.
        * kdom/CharacterData.cpp: Removed.
        * kdom/CharacterData.h: Removed.
        * kdom/Comment.cpp: Removed.
        * kdom/Comment.h: Removed.
        * kdom/DOMConfiguration.cpp: Removed.
        * kdom/DOMConfiguration.h: Removed.
        * kdom/DOMError.cpp: Removed.
        * kdom/DOMError.h: Removed.
        * kdom/DOMErrorHandler.cpp: Removed.
        * kdom/DOMErrorHandler.h: Removed.
        * kdom/DOMException.cpp: Removed.
        * kdom/DOMException.h: Removed.
        * kdom/DOMImplementation.cpp: Removed.
        * kdom/DOMImplementation.h: Removed.
        * kdom/DOMLocator.cpp: Removed.
        * kdom/DOMLocator.h: Removed.
        * kdom/DOMObject.cpp: Removed.
        * kdom/DOMObject.h: Removed.
        * kdom/DOMString.cpp:
        (DOMString::handle):
        (KDOM::operator==):
        * kdom/DOMString.h:
        * kdom/DOMStringList.cpp: Removed.
        * kdom/DOMStringList.h: Removed.
        * kdom/DOMUserData.cpp: Removed.
        * kdom/DOMUserData.h: Removed.
        * kdom/Document.cpp: Removed.
        * kdom/Document.h: Removed.
        * kdom/DocumentFragment.cpp: Removed.
        * kdom/DocumentFragment.h: Removed.
        * kdom/DocumentType.cpp: Removed.
        * kdom/DocumentType.h: Removed.
        * kdom/Element.cpp: Removed.
        * kdom/Element.h: Removed.
        * kdom/Entity.cpp: Removed.
        * kdom/Entity.h: Removed.
        * kdom/EntityReference.cpp: Removed.
        * kdom/EntityReference.h: Removed.
        * kdom/Helper.cpp:
        (Helper::SplitPrefixLocalName):
        (Helper::CheckPrefix):
        (Helper::CheckQualifiedName):
        (Helper::CheckMalformedQualifiedName):
        (Helper::IsMalformedPrefix):
        (Helper::ValidateAttributeName):
        (Helper::ShowException):
        (Helper::PrintNode):
        (Helper::ResolveURI):
        (Helper::IsValidNCName):
        (Helper::IsValidQName):
        (Helper::parseURL):
        (parseLength):
        (Helper::stringToLengthArray):
        (Helper::stringToCoordsArray):
        * kdom/Helper.h:
        * kdom/KDOMPart.cpp:
        (KDOMPart::KDOMPart):
        (KDOMPart::~KDOMPart):
        * kdom/KDOMSettings.cpp:
        (KPerDomainSettings::dump):
        (setup_per_domain_policy):
        (lookup_hostname_policy):
        (KDOMSettings::init):
        (KDOMSettings::showAnimations):
        (KDOMSettings::windowOpenPolicy):
        (KDOMSettings::windowMovePolicy):
        (KDOMSettings::windowResizePolicy):
        (KDOMSettings::windowStatusPolicy):
        (KDOMSettings::windowFocusPolicy):
        (KDOMSettings::encoding):
        (KDOMSettings::availableFamilies):
        (KDOMSettings::isJavaEnabled):
        (KDOMSettings::isJavaScriptEnabled):
        (KDOMSettings::isJavaScriptDebugEnabled):
        (KDOMSettings::isJavaScriptErrorReportingEnabled):
        (KDOMSettings::isPluginsEnabled):
        (KDOMSettings::isAdFiltered):
        (KDOMSettings::isAdFilterEnabled):
        (KDOMSettings::isHideAdsEnabled):
        (KDOMSettings::addAdFilter):
        (KDOMSettings::jsPopupBlockerPassivePopup):
        (KDOMSettings::setJSPopupBlockerPassivePopup):
        (KDOMSettings::jsErrorsEnabled):
        (KDOMSettings::setJSErrorsEnabled):
        (KDOMSettings::strToAdvice):
        (KDOMSettings::splitDomainAdvice):
        (KDOMSettings::adviceToStr):
        (KDOMSettings::readDomainSettings):
        (KDOMSettings::settingsToCSS):
        (KDOMSettings::userStyleSheet):
        * kdom/KDOMSettings.h:
        (KDOM::KDOMSettings::):
        * kdom/NamedNodeMap.cpp: Removed.
        * kdom/NamedNodeMap.h: Removed.
        * kdom/Namespace.h:
        * kdom/Node.cpp: Removed.
        * kdom/Node.h: Removed.
        * kdom/NodeList.cpp: Removed.
        * kdom/NodeList.h: Removed.
        * kdom/Notation.cpp: Removed.
        * kdom/Notation.h: Removed.
        * kdom/ProcessingInstruction.cpp: Removed.
        * kdom/ProcessingInstruction.h: Removed.
        * kdom/Shared.cpp:
        (Shared::Shared):
        (Shared::deref):
        * kdom/Shared.h:
        (KDOM::KDOM_SAFE_SET):
        * kdom/Text.cpp: Removed.
        * kdom/Text.h: Removed.
        * kdom/TreeShared.h:
        (KDOM::TreeShared::TreeShared):
        (KDOM::TreeShared::deref):
        * kdom/TypeInfo.cpp: Removed.
        * kdom/TypeInfo.h: Removed.
        * kdom/backends/libxml/LibXMLParser.cpp:
        (sax_get_entity):
        (sax_notation_decl):
        (sax_unparsed_entity):
        (sax_start_doc):
        (sax_end_doc):
        (sax_end_element):
        (sax_start_element_ns):
        (sax_end_element_ns):
        (sax_characters):
        (sax_pi):
        (sax_comment):
        (sax_warning):
        (sax_error):
        (sax_fatal_error):
        (sax_entity_decl):
        (xmlMyExternalEntityLoader):
        (LibXMLParser::LibXMLParser):
        (LibXMLParser::syncParse):
        (LibXMLParser::asyncParse):
        (LibXMLParser::handleIncomingData):
        (LibXMLParser::tryEndEntityRef):
        * kdom/backends/libxml/LibXMLParser.h:
        * kdom/bindings/DocParser.pm: Added.
        * kdom/bindings/IDLCodeGenerator.pm: Added.
        * kdom/bindings/IDLCodeGeneratorCpp.pm: Added.
        * kdom/bindings/IDLCodeGeneratorJs.pm: Added.
        * kdom/bindings/IDLParser.pm: Added.
        * kdom/bindings/IDLStructure.pm: Added.
        * kdom/bindings/idl/core/Attr.idl: Added.
        * kdom/bindings/idl/core/CDATASection.idl: Added.
        * kdom/bindings/idl/core/CharacterData.idl: Added.
        * kdom/bindings/idl/core/Comment.idl: Added.
        * kdom/bindings/idl/core/DOMConfiguration.idl: Added.
        * kdom/bindings/idl/core/DOMError.idl: Added.
        * kdom/bindings/idl/core/DOMErrorHandler.idl: Added.
        * kdom/bindings/idl/core/DOMException.idl: Added.
        * kdom/bindings/idl/core/DOMImplementation.idl: Added.
        * kdom/bindings/idl/core/DOMImplementationList.idl: Added.
        * kdom/bindings/idl/core/DOMImplementationSource.idl: Added.
        * kdom/bindings/idl/core/DOMLocator.idl: Added.
        * kdom/bindings/idl/core/DOMObject.idl: Added.
        * kdom/bindings/idl/core/DOMString.idl: Added.
        * kdom/bindings/idl/core/DOMStringList.idl: Added.
        * kdom/bindings/idl/core/DOMUserData.idl: Added.
        * kdom/bindings/idl/core/Document.idl: Added.
        * kdom/bindings/idl/core/DocumentFragment.idl: Added.
        * kdom/bindings/idl/core/DocumentType.idl: Added.
        * kdom/bindings/idl/core/Element.idl: Added.
        * kdom/bindings/idl/core/Entity.idl: Added.
        * kdom/bindings/idl/core/EntityReference.idl: Added.
        * kdom/bindings/idl/core/NameList.idl: Added.
        * kdom/bindings/idl/core/NamedNodeMap.idl: Added.
        * kdom/bindings/idl/core/Node.idl: Added.
        * kdom/bindings/idl/core/NodeList.idl: Added.
        * kdom/bindings/idl/core/Notation.idl: Added.
        * kdom/bindings/idl/core/ProcessingInstruction.idl: Added.
        * kdom/bindings/idl/core/Text.idl: Added.
        * kdom/bindings/idl/core/TypeInfo.idl: Added.
        * kdom/bindings/idl/core/UserDataHandler.idl: Added.
        * kdom/bindings/idl/core/docs-core.xml: Added.
        * kdom/bindings/idl/core/kdomdefs.idl: Added.
        * kdom/bindings/idl/css/CSS2Properties.idl: Added.
        * kdom/bindings/idl/css/CSSCharsetRule.idl: Added.
        * kdom/bindings/idl/css/CSSFontFaceRule.idl: Added.
        * kdom/bindings/idl/css/CSSImportRule.idl: Added.
        * kdom/bindings/idl/css/CSSMediaRule.idl: Added.
        * kdom/bindings/idl/css/CSSPageRule.idl: Added.
        * kdom/bindings/idl/css/CSSPrimitiveValue.idl: Added.
        * kdom/bindings/idl/css/CSSRule.idl: Added.
        * kdom/bindings/idl/css/CSSRuleList.idl: Added.
        * kdom/bindings/idl/css/CSSStyleDeclaration.idl: Added.
        * kdom/bindings/idl/css/CSSStyleRule.idl: Added.
        * kdom/bindings/idl/css/CSSStyleSheet.idl: Added.
        * kdom/bindings/idl/css/CSSUnknownRule.idl: Added.
        * kdom/bindings/idl/css/CSSValue.idl: Added.
        * kdom/bindings/idl/css/CSSValueList.idl: Added.
        * kdom/bindings/idl/css/Counter.idl: Added.
        * kdom/bindings/idl/css/DocumentCSS.idl: Added.
        * kdom/bindings/idl/css/ElementCSSInlineStyle.idl: Added.
        * kdom/bindings/idl/css/RGBColor.idl: Added.
        * kdom/bindings/idl/css/Rect.idl: Added.
        * kdom/bindings/idl/css/ViewCSS.idl: Added.
        * kdom/bindings/idl/css/kdomdefs.idl: Added.
        * kdom/bindings/idl/events/DocumentEvent.idl: Added.
        * kdom/bindings/idl/events/Event.idl: Added.
        * kdom/bindings/idl/events/EventException.idl: Added.
        * kdom/bindings/idl/events/EventListener.idl: Added.
        * kdom/bindings/idl/events/EventTarget.idl: Added.
        * kdom/bindings/idl/events/MouseEvent.idl: Added.
        * kdom/bindings/idl/events/MutationEvent.idl: Added.
        * kdom/bindings/idl/events/UIEvent.idl: Added.
        * kdom/bindings/idl/events/kdomdefs.idl: Added.
        * kdom/bindings/idl/range/DocumentRange.idl: Added.
        * kdom/bindings/idl/range/Range.idl: Added.
        * kdom/bindings/idl/range/RangeException.idl: Added.
        * kdom/bindings/idl/range/kdomdefs.idl: Added.
        * kdom/bindings/idl/stylesheets/DocumentStyle.idl: Added.
        * kdom/bindings/idl/stylesheets/LinkStyle.idl: Added.
        * kdom/bindings/idl/stylesheets/MediaList.idl: Added.
        * kdom/bindings/idl/stylesheets/StyleSheet.idl: Added.
        * kdom/bindings/idl/stylesheets/StyleSheetList.idl: Added.
        * kdom/bindings/idl/stylesheets/kdomdefs.idl: Added.
        * kdom/bindings/idl/traversal/DocumentTraversal.idl: Added.
        * kdom/bindings/idl/traversal/NodeFilter.idl: Added.
        * kdom/bindings/idl/traversal/NodeIterator.idl: Added.
        * kdom/bindings/idl/traversal/TreeWalker.idl: Added.
        * kdom/bindings/idl/traversal/kdomdefs.idl: Added.
        * kdom/bindings/idl/views/AbstractView.idl: Added.
        * kdom/bindings/idl/views/DocumentView.idl: Added.
        * kdom/bindings/idl/views/kdomdefs.idl: Added.
        * kdom/bindings/idl/xpath/XPathEvaluator.idl: Added.
        * kdom/bindings/idl/xpath/XPathException.idl: Added.
        * kdom/bindings/idl/xpath/XPathExpression.idl: Added.
        * kdom/bindings/idl/xpath/XPathNSResolver.idl: Added.
        * kdom/bindings/idl/xpath/XPathNamespace.idl: Added.
        * kdom/bindings/idl/xpath/XPathResult.idl: Added.
        * kdom/bindings/idl/xpath/kdomdefs.idl: Added.
        * kdom/bindings/idl/xpointer/XPointerEvaluator.idl: Added.
        * kdom/bindings/idl/xpointer/XPointerException.idl: Added.
        * kdom/bindings/idl/xpointer/XPointerExpression.idl: Added.
        * kdom/bindings/idl/xpointer/XPointerResult.idl: Added.
        * kdom/bindings/idl/xpointer/kdomdefs.idl: Added.
        * kdom/bindings/kdombinder.sh: Added.
        * kdom/bindings/kdomidl.pl: Added.
        * kdom/cache/KDOMCachedDocument.cpp:
        (CachedDocument::~CachedDocument):
        * kdom/cache/KDOMCachedDocument.h:
        (KDOM::):
        * kdom/cache/KDOMCachedImage.cpp:
        (CachedImage::CachedImage):
        (CachedImage::movieStatus):
        (CachedImage::setShowAnimations):
        (CachedImage::data):
        * kdom/cache/KDOMCachedImage.h:
        * kdom/cache/KDOMCachedObject.cpp:
        (CachedObject::codecForBuffer):
        * kdom/cache/KDOMCachedObject.h:
        (KDOM::CachedObject::url):
        * kdom/cache/KDOMCachedObjectClient.h:
        (KDOM::CachedObjectClient::~CachedObjectClient):
        * kdom/cache/KDOMCachedStyleSheet.cpp:
        (CachedStyleSheet::ref):
        (CachedStyleSheet::data):
        (CachedStyleSheet::checkNotify):
        * kdom/cache/KDOMLoader.cpp:
        (DocumentLoader::requestImage):
        (DocumentLoader::setShowAnimations):
        * kdom/cache/KDOMLoader.h:
        (KDOM::DocumentLoader::showAnimations):
        * kdom/css/CSSCharsetRule.cpp: Removed.
        * kdom/css/CSSCharsetRule.h: Removed.
        * kdom/css/CSSFontFaceRule.cpp: Removed.
        * kdom/css/CSSFontFaceRule.h: Removed.
        * kdom/css/CSSHelper.h:
        (KDOM::CSSHelper::unitTypeToString):
        (KDOM::CSSHelper::stringForListStyleType):
        * kdom/css/CSSImportRule.cpp: Removed.
        * kdom/css/CSSImportRule.h: Removed.
        * kdom/css/CSSMediaRule.cpp: Removed.
        * kdom/css/CSSMediaRule.h: Removed.
        * kdom/css/CSSPageRule.cpp: Removed.
        * kdom/css/CSSPageRule.h: Removed.
        * kdom/css/CSSPrimitiveValue.cpp: Removed.
        * kdom/css/CSSPrimitiveValue.h: Removed.
        * kdom/css/CSSRule.cpp: Removed.
        * kdom/css/CSSRule.h: Removed.
        * kdom/css/CSSRuleList.cpp: Removed.
        * kdom/css/CSSRuleList.h: Removed.
        * kdom/css/CSSStyleDeclaration.cpp: Removed.
        * kdom/css/CSSStyleDeclaration.h: Removed.
        * kdom/css/CSSStyleRule.cpp: Removed.
        * kdom/css/CSSStyleRule.h: Removed.
        * kdom/css/CSSStyleSheet.cpp: Removed.
        * kdom/css/CSSStyleSheet.h: Removed.
        * kdom/css/CSSUnknownRule.cpp: Removed.
        * kdom/css/CSSUnknownRule.h: Removed.
        * kdom/css/CSSValue.cpp: Removed.
        * kdom/css/CSSValue.h: Removed.
        * kdom/css/CSSValueList.cpp: Removed.
        * kdom/css/CSSValueList.h: Removed.
        * kdom/css/Counter.cpp: Removed.
        * kdom/css/Counter.h: Removed.
        * kdom/css/DOMImplementationCSS.cpp: Removed.
        * kdom/css/DOMImplementationCSS.h: Removed.
        * kdom/css/DocumentCSS.cpp: Removed.
        * kdom/css/DocumentCSS.h: Removed.
        * kdom/css/DocumentStyle.cpp: Removed.
        * kdom/css/DocumentStyle.h: Removed.
        * kdom/css/LinkStyle.cpp: Removed.
        * kdom/css/LinkStyle.h: Removed.
        * kdom/css/MediaList.cpp: Removed.
        * kdom/css/MediaList.h: Removed.
        * kdom/css/RGBColor.cpp: Removed.
        * kdom/css/RGBColor.h: Removed.
        * kdom/css/Rect.cpp: Removed.
        * kdom/css/Rect.h: Removed.
        * kdom/css/StyleSheet.cpp: Removed.
        * kdom/css/StyleSheet.h: Removed.
        * kdom/css/StyleSheetList.cpp: Removed.
        * kdom/css/StyleSheetList.h: Removed.
        * kdom/css/ViewCSS.cpp: Removed.
        * kdom/css/ViewCSS.h: Removed.
        * kdom/css/impl/CSSCharsetRuleImpl.cpp:
        (CSSCharsetRuleImpl::CSSCharsetRuleImpl):
        (CSSCharsetRuleImpl::~CSSCharsetRuleImpl):
        (CSSCharsetRuleImpl::encoding):
        (CSSCharsetRuleImpl::setEncoding):
        * kdom/css/impl/CSSCharsetRuleImpl.h:
        * kdom/css/impl/CSSImageValueImpl.cpp:
        (CSSImageValueImpl::CSSImageValueImpl):
        * kdom/css/impl/CSSImportRuleImpl.cpp:
        (CSSImportRuleImpl::CSSImportRuleImpl):
        (CSSImportRuleImpl::~CSSImportRuleImpl):
        (CSSImportRuleImpl::href):
        (CSSImportRuleImpl::setStyleSheet):
        (CSSImportRuleImpl::error):
        (CSSImportRuleImpl::init):
        * kdom/css/impl/CSSImportRuleImpl.h:
        * kdom/css/impl/CSSMediaRuleImpl.cpp:
        (CSSMediaRuleImpl::CSSMediaRuleImpl):
        (CSSMediaRuleImpl::insertRule):
        * kdom/css/impl/CSSMediaRuleImpl.h:
        * kdom/css/impl/CSSPageRuleImpl.cpp:
        (CSSPageRuleImpl::setSelectorText):
        (CSSPageRuleImpl::selectorText):
        * kdom/css/impl/CSSPageRuleImpl.h:
        * kdom/css/impl/CSSPrimitiveValueImpl.cpp:
        (CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
        (CSSPrimitiveValueImpl::setStringValue):
        (CSSPrimitiveValueImpl::getDOMStringValue):
        (CSSPrimitiveValueImpl::getQRGBColorValue):
        (CSSPrimitiveValueImpl::getRGBColorValue):
        (CSSPrimitiveValueImpl::computeLength):
        (CSSPrimitiveValueImpl::setCssText):
        (CSSPrimitiveValueImpl::cssText):
        (FontFamilyValueImpl::FontFamilyValueImpl):
        * kdom/css/impl/CSSPrimitiveValueImpl.h:
        * kdom/css/impl/CSSRuleImpl.cpp:
        (CSSRuleImpl::cssText):
        (CSSRuleImpl::setCssText):
        * kdom/css/impl/CSSRuleImpl.h:
        * kdom/css/impl/CSSRuleListImpl.cpp:
        (CSSRuleListImpl::CSSRuleListImpl):
        * kdom/css/impl/CSSStyleDeclarationImpl.cpp:
        (CSSStyleDeclarationImpl::cssText):
        (CSSStyleDeclarationImpl::setCssText):
        (CSSStyleDeclarationImpl::get4Values):
        (CSSStyleDeclarationImpl::getShortHandValue):
        (CSSStyleDeclarationImpl::getPropertyValue):
        (CSSStyleDeclarationImpl::getPropertyCSSValue):
        (CSSStyleDeclarationImpl::removeProperty):
        (CSSStyleDeclarationImpl::getPropertyPriority):
        (CSSStyleDeclarationImpl::setProperty):
        (CSSStyleDeclarationImpl::setLengthProperty):
        (CSSStyleDeclarationImpl::length):
        (CSSStyleDeclarationImpl::item):
        (CSSStyleDeclarationImpl::parseString):
        (CSSProperty::cssText):
        * kdom/css/impl/CSSStyleDeclarationImpl.h:
        * kdom/css/impl/CSSStyleRuleImpl.cpp:
        (CSSStyleRuleImpl::selectorText):
        (CSSStyleRuleImpl::setSelectorText):
        * kdom/css/impl/CSSStyleRuleImpl.h:
        * kdom/css/impl/CSSStyleSelector.cpp:
        (CSSStyleSelector::CSSStyleSelector):
        (CSSStyleSelector::init):
        (CSSStyleSelector::~CSSStyleSelector):
        (CSSStyleSelector::addSheet):
        (CSSStyleSelector::computeFontSizesFor):
        (CSSStyleSelector::styleForElement):
        (checkPseudoState):
        (matchNth):
        (CSSStyleSelector::checkOneSelector):
        (CSSStyleSelectorList::append):
        (CSSStyleSelector::applyRule):
        (CSSStyleSelector::getLangAttribute):
        * kdom/css/impl/CSSStyleSelector.h:
        * kdom/css/impl/CSSStyleSheetImpl.cpp:
        (CSSStyleSheetImpl::CSSStyleSheetImpl):
        (CSSStyleSheetImpl::type):
        (CSSStyleSheetImpl::cssRules):
        (CSSStyleSheetImpl::insertRule):
        (CSSStyleSheetImpl::addNamespace):
        (CSSStyleSheetImpl::determineNamespace):
        (CSSStyleSheetImpl::parseString):
        * kdom/css/impl/CSSStyleSheetImpl.h:
        * kdom/css/impl/CSSValueImpl.cpp:
        (CSSValueImpl::setCssText):
        (CSSInheritedValueImpl::cssText):
        (CSSInitialValueImpl::cssText):
        (FontValueImpl::cssText):
        (QuotesValueImpl::cssText):
        (ShadowValueImpl::cssText):
        (CounterActImpl::CounterActImpl):
        (CounterActImpl::~CounterActImpl):
        (CounterActImpl::cssText):
        (CounterActImpl::counter):
        * kdom/css/impl/CSSValueImpl.h:
        * kdom/css/impl/CSSValueListImpl.cpp:
        (CSSValueListImpl::cssText):
        (CSSValueListImpl::setCssText):
        * kdom/css/impl/CSSValueListImpl.h:
        * kdom/css/impl/CounterImpl.cpp:
        (CounterImpl::CounterImpl):
        (CounterImpl::~CounterImpl):
        (CounterImpl::identifier):
        (CounterImpl::setIdentifier):
        (CounterImpl::listStyleInt):
        (CounterImpl::listStyle):
        (CounterImpl::separator):
        (CounterImpl::setSeparator):
        * kdom/css/impl/CounterImpl.h:
        * kdom/css/impl/DocumentCSSImpl.cpp: Added.
        (DocumentCSSImpl::DocumentCSSImpl):
        (DocumentCSSImpl::~DocumentCSSImpl):
        (DocumentCSSImpl::getOverrideStyle):
        * kdom/css/impl/DocumentCSSImpl.h: Added.
        * kdom/css/impl/Font.cpp:
        (Font::operator==):
        (Font::update):
        * kdom/css/impl/Font.h:
        * kdom/css/impl/KDOMCSSParser.cpp:
        (KDOMCSSValueList::~KDOMCSSValueList):
        (CSSParser::~CSSParser):
        (CSSParser::parseSheet):
        (CSSParser::parseRule):
        (CSSParser::parseValue):
        (CSSParser::parseDeclaration):
        (CSSParser::parseCounter):
        (CSSParser::parseContent):
        (ShadowParseContext::commitLength):
        * kdom/css/impl/KDOMCSSParser.h:
        (KDOM::domString):
        (KDOM::CSSParser::hasProperties):
        * kdom/css/impl/MediaListImpl.cpp:
        (MediaListImpl::MediaListImpl):
        (MediaListImpl::mediaText):
        (MediaListImpl::setMediaText):
        (MediaListImpl::item):
        (MediaListImpl::deleteMedium):
        (MediaListImpl::appendMedium):
        (MediaListImpl::contains):
        * kdom/css/impl/MediaListImpl.h:
        * kdom/css/impl/RGBColorImpl.cpp:
        (RGBColorImpl::RGBColorImpl):
        * kdom/css/impl/RectImpl.cpp:
        (RectImpl::RectImpl):
        * kdom/css/impl/RenderStyle.cpp:
        (RenderStyle::RenderStyle):
        (hasCounter):
        (RenderStyle::hasCounterReset):
        (RenderStyle::hasCounterIncrement):
        (readCounter):
        (RenderStyle::counterReset):
        (RenderStyle::counterIncrement):
        * kdom/css/impl/RenderStyle.h:
        (KDOM::RenderStyle::RenderStyle):
        * kdom/css/impl/RenderStyleDefs.cpp:
        (StyleSurroundData::StyleSurroundData):
        (StyleBoxData::StyleBoxData):
        (StyleVisualData::StyleVisualData):
        (StyleBackgroundData::StyleBackgroundData):
        (StyleMarqueeData::StyleMarqueeData):
        (StyleCSS3NonInheritedData::StyleCSS3NonInheritedData):
        (StyleCSS3InheritedData::StyleCSS3InheritedData):
        (StyleInheritedData::StyleInheritedData):
        * kdom/css/impl/RenderStyleDefs.h:
        (KDOM::BorderData::BorderData):
        * kdom/css/impl/StyleBaseImpl.cpp:
        (StyleBaseImpl::StyleBaseImpl):
        (StyleBaseImpl::parseString):
        (StyleBaseImpl::baseURL):
        (CSSSelector::CSSSelector):
        (CSSSelector::~CSSSelector):
        (CSSSelector::print):
        (CSSSelector::extractPseudoType):
        (CSSSelector::operator==):
        (CSSSelector::selectorText):
        * kdom/css/impl/StyleBaseImpl.h:
        (KDOM::CSSNamespace::CSSNamespace):
        (KDOM::CSSNamespace::~CSSNamespace):
        (KDOM::CSSNamespace::uri):
        (KDOM::CSSNamespace::prefix):
        (KDOM::CSSNamespace::namespaceForPrefix):
        * kdom/css/impl/StyleSheetImpl.cpp:
        (StyleSheetImpl::StyleSheetImpl):
        (StyleSheetImpl::~StyleSheetImpl):
        (StyleSheetImpl::href):
        (StyleSheetImpl::title):
        (StyleSheetImpl::setTitle):
        * kdom/css/impl/StyleSheetImpl.h:
        (KDOM::StyleSheetImpl::type):
        * kdom/css/impl/StyleSheetListImpl.cpp:
        (StyleSheetListImpl::StyleSheetListImpl):
        * kdom/css/impl/kdomparsercss.y:
        * kdom/css/impl/tokenizer.cpp:
        * kdom/data/CSSConstants.h: Removed.
        * kdom/data/DOMConstants.h: Removed.
        * kdom/data/EcmaConstants.h: Removed.
        * kdom/data/EventsConstants.h: Removed.
        * kdom/data/LSConstants.h: Removed.
        * kdom/data/RangeConstants.h: Removed.
        * kdom/data/TraversalConstants.h: Removed.
        * kdom/data/ViewConstants.h: Removed.
        * kdom/data/XPathConstants.h: Removed.
        * kdom/data/generateddata.cpp: Removed.
        * kdom/ecma/Constructors.cpp: Removed.
        * kdom/ecma/Constructors.h: Removed.
        * kdom/ecma/DOMBridge.h:
        (KDOM::DOMBridge::DOMBridge):
        (KDOM::DOMBridge::wrapper):
        (KDOM::DOMBridge::get):
        (KDOM::DOMBridge::hasProperty):
        (KDOM::DOMBridge::classInfo):
        (KDOM::DOMRWBridge::DOMRWBridge):
        (KDOM::DOMRWBridge::put):
        * kdom/ecma/DOMLookup.h:
        * kdom/ecma/Ecma.cpp:
        (Ecma::Private::Private):
        (Ecma::setup):
        (Ecma::setupDocument):
        (Ecma::ecmaListenerToObject):
        (Ecma::createEventListener):
        (Ecma::inheritedGetDOMNode):
        (Ecma::inheritedGetDOMEvent):
        (Ecma::inheritedGetDOMCSSRule):
        (Ecma::inheritedGetDOMCSSValue):
        (KDOM::getDOMNode):
        (KDOM::getDOMEvent):
        (KDOM::getDOMCSSRule):
        (KDOM::getDOMCSSValue):
        (KDOM::toDOMString):
        (KDOM::getDOMString):
        * kdom/ecma/Ecma.h:
        (KDOM::ecma_cast):
        (KDOM::safe_cache):
        * kdom/ecma/GlobalObject.cpp:
        (KDOM::):
        (GlobalObject::get):
        (GlobalObject::put):
        (GlobalObjectFunc::callAsFunction):
        (ScheduledAction::execute):
        * kdom/ecma/GlobalObject.h:
        (KDOM::GlobalObject::):
        * kdom/ecma/ScriptInterpreter.cpp:
        * kdom/ecma/ScriptInterpreter.h:
        (KDOM::cacheDOMObject):
        * kdom/events/DocumentEvent.cpp: Removed.
        * kdom/events/DocumentEvent.h: Removed.
        * kdom/events/Event.cpp: Removed.
        * kdom/events/Event.h: Removed.
        * kdom/events/EventException.cpp: Removed.
        * kdom/events/EventException.h: Removed.
        * kdom/events/EventListener.cpp: Removed.
        * kdom/events/EventListener.h: Removed.
        * kdom/events/EventTarget.cpp: Removed.
        * kdom/events/EventTarget.h: Removed.
        * kdom/events/KeyboardEvent.cpp: Removed.
        * kdom/events/KeyboardEvent.h: Removed.
        * kdom/events/MouseEvent.cpp: Removed.
        * kdom/events/MouseEvent.h: Removed.
        * kdom/events/MutationEvent.cpp: Removed.
        * kdom/events/MutationEvent.h: Removed.
        * kdom/events/UIEvent.cpp: Removed.
        * kdom/events/UIEvent.h: Removed.
        * kdom/events/impl/DocumentEventImpl.cpp:
        (DocumentEventImpl::createEvent):
        * kdom/events/impl/DocumentEventImpl.h:
        * kdom/events/impl/EventExceptionImpl.cpp:
        (EventExceptionImpl::EventExceptionImpl):
        * kdom/events/impl/EventImpl.cpp:
        (EventImpl::EventImpl):
        (EventImpl::~EventImpl):
        (EventImpl::type):
        (EventImpl::initEvent):
        * kdom/events/impl/EventImpl.h:
        * kdom/events/impl/EventListenerImpl.cpp:
        (EventListenerImpl::EventListenerImpl):
        (EventListenerImpl::~EventListenerImpl):
        (EventListenerImpl::handleEvent):
        (EventListenerImpl::internalType):
        (EventListenerImpl::initListener):
        * kdom/events/impl/EventListenerImpl.h:
        * kdom/events/impl/EventTargetImpl.cpp:
        (EventTargetImpl::EventTargetImpl):
        (EventTargetImpl::addEventListener):
        (EventTargetImpl::removeEventListener):
        (EventTargetImpl::dispatchEvent):
        (EventTargetImpl::handleLocalEvents):
        * kdom/events/impl/EventTargetImpl.h:
        * kdom/events/impl/KeyboardEventImpl.cpp:
        (KeyboardEventImpl::~KeyboardEventImpl):
        (KeyboardEventImpl::initKeyboardEvent):
        (KeyboardEventImpl::getModifierState):
        * kdom/events/impl/KeyboardEventImpl.h:
        (KDOM::KeyboardEventImpl::keyIdentifier):
        * kdom/events/impl/MouseEventImpl.cpp:
        (MouseEventImpl::initMouseEvent):
        * kdom/events/impl/MouseEventImpl.h:
        * kdom/events/impl/MutationEventImpl.cpp:
        (MutationEventImpl::MutationEventImpl):
        (MutationEventImpl::~MutationEventImpl):
        (MutationEventImpl::prevValue):
        (MutationEventImpl::newValue):
        (MutationEventImpl::attrName):
        (MutationEventImpl::initMutationEvent):
        * kdom/events/impl/MutationEventImpl.h:
        * kdom/events/impl/RegisteredEventListener.cpp:
        (RegisteredEventListener::RegisteredEventListener):
        (RegisteredEventListener::~RegisteredEventListener):
        (RegisteredEventListener::operator==):
        (RegisteredEventListener::type):
        * kdom/events/impl/RegisteredEventListener.h:
        * kdom/events/impl/UIEventImpl.cpp:
        (UIEventImpl::initUIEvent):
        * kdom/events/impl/UIEventImpl.h:
        * kdom/impl/AttrImpl.cpp:
        (AttrImpl::AttrImpl):
        (AttrImpl::nodeName):
        (AttrImpl::localName):
        (AttrImpl::nodeValue):
        (AttrImpl::setNodeValue):
        (AttrImpl::value):
        (AttrImpl::val):
        (AttrImpl::name):
        (AttrImpl::namespaceURI):
        (AttrImpl::prefix):
        (AttrImpl::setPrefix):
        (AttrImpl::cloneNode):
        (AttrImpl::setValue):
        (AttributeImpl::setValue):
        (AttributeImpl::createAttr):
        * kdom/impl/AttrImpl.h:
        (KDOM::AttributeImpl::value):
        (KDOM::AttributeImpl::namespaceURI):
        (KDOM::AttributeImpl::prefix):
        (KDOM::AttributeImpl::localName):
        (KDOM::AttributeImpl::name):
        * kdom/impl/CDATASectionImpl.cpp:
        (CDATASectionImpl::CDATASectionImpl):
        (CDATASectionImpl::nodeName):
        (CDATASectionImpl::cloneNode):
        * kdom/impl/CDATASectionImpl.h:
        * kdom/impl/CDFInterface.cpp:
        (CDFInterface::renderStyle):
        (CDFInterface::globalObject):
        * kdom/impl/CDFInterface.h:
        * kdom/impl/CharacterDataImpl.cpp:
        (CharacterDataImpl::CharacterDataImpl):
        (CharacterDataImpl::textContent):
        (CharacterDataImpl::nodeValue):
        (CharacterDataImpl::setNodeValue):
        (CharacterDataImpl::appendData):
        (CharacterDataImpl::insertData):
        (CharacterDataImpl::deleteData):
        (CharacterDataImpl::replaceData):
        (CharacterDataImpl::setData):
        (CharacterDataImpl::dispatchModifiedEvent):
        * kdom/impl/CharacterDataImpl.h:
        * kdom/impl/CommentImpl.cpp:
        (CommentImpl::CommentImpl):
        (CommentImpl::nodeName):
        (CommentImpl::cloneNode):
        * kdom/impl/CommentImpl.h:
        * kdom/impl/DOMConfigurationImpl.cpp:
        (DOMConfigurationImpl::DOMConfigurationImpl):
        (DOMConfigurationImpl::~DOMConfigurationImpl):
        (DOMConfigurationImpl::setParameter):
        (DOMConfigurationImpl::getParameter):
        (DOMConfigurationImpl::canSetParameter):
        (DOMConfigurationImpl::parameterNames):
        (DOMConfigurationImpl::errHandler):
        (DOMConfigurationImpl::normalizeCharacters):
        * kdom/impl/DOMConfigurationImpl.h:
        * kdom/impl/DOMErrorHandlerImpl.cpp:
        (DOMErrorHandlerImpl::DOMErrorHandlerImpl):
        (DOMErrorHandlerImpl::handleError):
        * kdom/impl/DOMErrorImpl.cpp:
        (DOMErrorImpl::DOMErrorImpl):
        (DOMErrorImpl::~DOMErrorImpl):
        (DOMErrorImpl::setMessage):
        (DOMErrorImpl::setType):
        (DOMErrorImpl::relatedException):
        (DOMErrorImpl::setRelatedException):
        (DOMErrorImpl::relatedData):
        (DOMErrorImpl::setRelatedData):
        (DOMErrorImpl::location):
        * kdom/impl/DOMErrorImpl.h:
        (KDOM::):
        * kdom/impl/DOMExceptionImpl.cpp:
        (DOMExceptionImpl::DOMExceptionImpl):
        * kdom/impl/DOMImplementationImpl.cpp:
        (DOMImplementationImpl::hasFeature):
        (DOMImplementationImpl::getFeature):
        (DOMImplementationImpl::createDocumentType):
        (DOMImplementationImpl::createDocument):
        (DOMImplementationImpl::createCSSStyleSheet):
        (DOMImplementationImpl::createLSParser):
        (DOMImplementationImpl::defaultDocumentType):
        (DOMImplementationImpl::typeToId):
        (DOMImplementationImpl::idToType):
        (DOMImplementationImpl::createCDFInterface):
        * kdom/impl/DOMImplementationImpl.h:
        * kdom/impl/DOMList.h:
        (KDOM::DOMList::DOMList):
        (KDOM::DOMList::contains):
        * kdom/impl/DOMLocatorImpl.cpp:
        (DOMLocatorImpl::DOMLocatorImpl):
        (DOMLocatorImpl::setRelatedNode):
        (DOMLocatorImpl::setUri):
        * kdom/impl/DOMLocatorImpl.h:
        * kdom/impl/DOMObjectImpl.cpp: Added.
        (DOMObjectImpl::DOMObjectImpl):
        (DOMObjectImpl::~DOMObjectImpl):
        (DOMObjectImpl::setObject):
        (DOMObjectImpl::userData):
        * kdom/impl/DOMObjectImpl.h: Added.
        * kdom/impl/DOMStringImpl.cpp:
        (DOMStringImpl::DOMStringImpl):
        (DOMStringImpl::append):
        (DOMStringImpl::isEmpty):
        (DOMStringImpl::string):
        * kdom/impl/DOMStringImpl.h:
        * kdom/impl/DOMUserDataImpl.cpp:
        (DOMUserDataImpl::DOMUserDataImpl):
        * kdom/impl/DOMUserDataImpl.h:
        * kdom/impl/DocumentFragmentImpl.cpp:
        (DocumentFragmentImpl::DocumentFragmentImpl):
        (DocumentFragmentImpl::nodeName):
        (DocumentFragmentImpl::cloneNode):
        * kdom/impl/DocumentFragmentImpl.h:
        * kdom/impl/DocumentImpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::~DocumentImpl):
        (DocumentImpl::setDocType):
        (DocumentImpl::nodeName):
        (DocumentImpl::textContent):
        (DocumentImpl::createElement):
        (DocumentImpl::createElementNS):
        (DocumentImpl::createAttribute):
        (DocumentImpl::createAttributeNS):
        (DocumentImpl::createDocumentFragment):
        (DocumentImpl::createComment):
        (DocumentImpl::createCDATASection):
        (DocumentImpl::createEntityReference):
        (DocumentImpl::createProcessingInstruction):
        (DocumentImpl::createTextNode):
        (DocumentImpl::cloneNode):
        (DocumentImpl::addListenerType):
        (DocumentImpl::removeListenerType):
        (DocumentImpl::hasListenerType):
        (DocumentImpl::elementSheet):
        (DocumentImpl::getElementsByTagName):
        (DocumentImpl::getElementsByTagNameNS):
        (DocumentImpl::importNode):
        (DocumentImpl::renameNode):
        (DocumentImpl::normalizeNode):
        (DocumentImpl::getElementById):
        (DocumentImpl::xmlStandalone):
        (DocumentImpl::setXmlStandalone):
        (DocumentImpl::inputEncoding):
        (DocumentImpl::setInputEncoding):
        (DocumentImpl::xmlEncoding):
        (DocumentImpl::setXmlEncoding):
        (DocumentImpl::adoptNode):
        (DocumentImpl::xmlVersion):
        (DocumentImpl::setXmlVersion):
        (DocumentImpl::getId):
        (DocumentImpl::getName):
        (DocumentImpl::defaultNS):
        (DocumentImpl::createCSSStyleSheet):
        (DocumentImpl::documentURI):
        (DocumentImpl::setDocumentURI):
        (DocumentImpl::setHoverNode):
        (DocumentImpl::kdomDocumentType):
        * kdom/impl/DocumentImpl.h:
        * kdom/impl/DocumentTypeImpl.cpp:
        (DocumentTypeImpl::DocumentTypeImpl):
        (DocumentTypeImpl::~DocumentTypeImpl):
        (DocumentTypeImpl::nodeName):
        (DocumentTypeImpl::textContent):
        (DocumentTypeImpl::name):
        (DocumentTypeImpl::publicId):
        (DocumentTypeImpl::systemId):
        (DocumentTypeImpl::internalSubset):
        (DocumentTypeImpl::cloneNode):
        (DocumentTypeImpl::entities):
        (DocumentTypeImpl::notations):
        (DocumentTypeImpl::setName):
        (DocumentTypeImpl::setPublicId):
        (DocumentTypeImpl::setSystemId):
        * kdom/impl/DocumentTypeImpl.h:
        * kdom/impl/ElementImpl.cpp:
        (ElementImpl::ElementImpl):
        (ElementImpl::nodeName):
        (ElementImpl::prefix):
        (ElementImpl::setPrefix):
        (ElementImpl::hasAttribute):
        (ElementImpl::hasAttributeNS):
        (ElementImpl::getAttribute):
        (ElementImpl::getAttributeNS):
        (ElementImpl::removeAttribute):
        (ElementImpl::removeAttributeNS):
        (ElementImpl::getElementsByTagName):
        (ElementImpl::setAttributeNS):
        (ElementImpl::getAttributeNode):
        (ElementImpl::getAttributeNodeNS):
        (ElementImpl::getElementsByTagNameNS):
        (ElementImpl::cloneNode):
        (ElementImpl::getIdAttribute):
        (ElementImpl::namespaceURI):
        (ElementImpl::setIdAttribute):
        (ElementImpl::setIdAttributeNS):
        (ElementImpl::setIdAttributeNode):
        (ElementImpl::parseAttribute):
        * kdom/impl/ElementImpl.h:
        * kdom/impl/EntityImpl.cpp:
        (EntityImpl::EntityImpl):
        (EntityImpl::publicId):
        (EntityImpl::systemId):
        (EntityImpl::notationName):
        (EntityImpl::inputEncoding):
        (EntityImpl::xmlEncoding):
        (EntityImpl::xmlVersion):
        (EntityImpl::nodeName):
        (EntityImpl::cloneNode):
        * kdom/impl/EntityImpl.h:
        * kdom/impl/EntityReferenceImpl.cpp:
        (EntityReferenceImpl::EntityReferenceImpl):
        (EntityReferenceImpl::nodeName):
        (EntityReferenceImpl::cloneNode):
        * kdom/impl/EntityReferenceImpl.h:
        * kdom/impl/NamedAttrMapImpl.cpp:
        (NamedAttrMapImpl::getNamedItem):
        (NamedAttrMapImpl::removeNamedItem):
        (NamedAttrMapImpl::setNamedItem):
        (NamedAttrMapImpl::getValue):
        (NamedAttrMapImpl::setValue):
        (NamedAttrMapImpl::removeAttr):
        (NamedAttrMapImpl::clone):
        (NamedAttrMapImpl::dispatchAttrMutationEvent):
        (NamedAttrMapImpl::dispatchSubtreeModifiedEvent):
        (NamedAttrMapImpl::valueAt):
        (NamedAttrMapImpl::lookupAttribute):
        * kdom/impl/NamedAttrMapImpl.h:
        * kdom/impl/NamedNodeMapImpl.cpp:
        (NamedNodeMapImpl::NamedNodeMapImpl):
        (RONamedNodeMapImpl::RONamedNodeMapImpl):
        (RONamedNodeMapImpl::isReadOnly):
        (RONamedNodeMapImpl::clone):
        (RONamedNodeMapImpl::getNamedItem):
        (RONamedNodeMapImpl::setNamedItem):
        * kdom/impl/NamedNodeMapImpl.h:
        * kdom/impl/NodeImpl.cpp:
        (NodeImpl::NodeImpl):
        (NodeImpl::~NodeImpl):
        (NodeImpl::localName):
        (NodeImpl::nodeName):
        (NodeImpl::nodeValue):
        (NodeImpl::setNodeValue):
        (NodeImpl::namespaceURI):
        (NodeImpl::prefix):
        (NodeImpl::setPrefix):
        (NodeImpl::isSupported):
        (NodeImpl::textContent):
        (NodeImpl::setTextContent):
        (NodeImpl::isReadOnly):
        (NodeImpl::cloneNode):
        (NodeImpl::ownerDocument):
        (NodeImpl::normalize):
        (NodeImpl::toString):
        (NodeImpl::setOwnerDocument):
        (NodeBaseImpl::NodeBaseImpl):
        (NodeBaseImpl::replaceChild):
        (NodeBaseImpl::checkAddChild):
        (NodeBaseImpl::checkDocumentAddChild):
        (NodeBaseImpl::cloneChildNodes):
        (NodeBaseImpl::removeChildren):
        (NodeImpl::isDefaultNamespace):
        (NodeImpl::lookupNamespaceURI):
        (NodeImpl::lookupNamespacePrefix):
        (NodeImpl::lookupPrefix):
        (NodeImpl::dispatchSubtreeModifiedEvent):
        (NodeImpl::dispatchChildRemovalEvents):
        (NodeImpl::dispatchChildInsertedEvents):
        (NodeImpl::baseURI):
        (NodeImpl::baseKURI):
        (NodeImpl::compareDocumentPosition):
        * kdom/impl/NodeImpl.h:
        (KDOM::DocumentPtr::DocumentPtr):
        (KDOM::DocumentPtr::document):
        (KDOM::NodeImpl::docPtr):
        * kdom/impl/NodeListImpl.cpp:
        (NodeListImpl::NodeListImpl):
        (NodeListImpl::~NodeListImpl):
        (NodeListImpl::index):
        * kdom/impl/NodeListImpl.h:
        * kdom/impl/NotationImpl.cpp:
        (NotationImpl::NotationImpl):
        (NotationImpl::nodeName):
        (NotationImpl::textContent):
        (NotationImpl::publicId):
        (NotationImpl::systemId):
        (NotationImpl::cloneNode):
        * kdom/impl/NotationImpl.h:
        * kdom/impl/ProcessingInstructionImpl.cpp:
        (ProcessingInstructionImpl::ProcessingInstructionImpl):
        (ProcessingInstructionImpl::nodeName):
        (ProcessingInstructionImpl::target):
        (ProcessingInstructionImpl::nodeValue):
        (ProcessingInstructionImpl::setNodeValue):
        (ProcessingInstructionImpl::textContent):
        (ProcessingInstructionImpl::data):
        (ProcessingInstructionImpl::setData):
        (ProcessingInstructionImpl::cloneNode):
        (ProcessingInstructionImpl::localHref):
        (ProcessingInstructionImpl::checkStyleSheet):
        (ProcessingInstructionImpl::setStyleSheet):
        * kdom/impl/ProcessingInstructionImpl.h:
        * kdom/impl/TagNodeListImpl.cpp:
        (TagNodeListImpl::TagNodeListImpl):
        (TagNodeListImpl::~TagNodeListImpl):
        (TagNodeListImpl::check):
        * kdom/impl/TagNodeListImpl.h:
        * kdom/impl/TextImpl.cpp:
        (TextImpl::TextImpl):
        (TextImpl::nodeName):
        (TextImpl::cloneNode):
        (TextImpl::splitText):
        (TextImpl::isElementContentWhitespace):
        (TextImpl::wholeText):
        (TextImpl::replaceWholeText):
        (TextImpl::logicallyAdjacentTextNodes):
        * kdom/impl/TextImpl.h:
        * kdom/impl/TypeInfoImpl.cpp:
        (TypeInfoImpl::TypeInfoImpl):
        (TypeInfoImpl::typeName):
        (TypeInfoImpl::typeNamespace):
        (TypeInfoImpl::isDerivedFrom):
        * kdom/impl/TypeInfoImpl.h:
        * kdom/impl/XMLElementImpl.cpp:
        (XMLElementImpl::XMLElementImpl):
        (XMLElementImpl::localName):
        (XMLElementImpl::tagName):
        * kdom/impl/XMLElementImpl.h:
        * kdom/kdom.h:
        (KDOM::):
        * kdom/ls/DOMImplementationLS.cpp: Removed.
        * kdom/ls/DOMImplementationLS.h: Removed.
        * kdom/ls/LSException.cpp: Removed.
        * kdom/ls/LSException.h: Removed.
        * kdom/ls/LSInput.cpp: Removed.
        * kdom/ls/LSInput.h: Removed.
        * kdom/ls/LSOutput.cpp: Removed.
        * kdom/ls/LSOutput.h: Removed.
        * kdom/ls/LSParser.cpp: Removed.
        * kdom/ls/LSParser.h: Removed.
        * kdom/ls/LSParserFilter.cpp: Removed.
        * kdom/ls/LSParserFilter.h: Removed.
        * kdom/ls/LSResourceResolver.cpp: Removed.
        * kdom/ls/LSResourceResolver.h: Removed.
        * kdom/ls/LSSerializer.cpp: Removed.
        * kdom/ls/LSSerializer.h: Removed.
        * kdom/ls/LSSerializerFilter.cpp: Removed.
        * kdom/ls/LSSerializerFilter.h: Removed.
        * kdom/ls/impl/LSExceptionImpl.cpp:
        (LSExceptionImpl::LSExceptionImpl):
        * kdom/ls/impl/LSInputImpl.cpp:
        (LSInputImpl::LSInputImpl):
        (LSInputImpl::byteStream):
        (LSInputImpl::setByteStream):
        (LSInputImpl::stringData):
        (LSInputImpl::setStringData):
        (LSInputImpl::systemId):
        (LSInputImpl::setSystemId):
        (LSInputImpl::publicId):
        (LSInputImpl::setPublicId):
        (LSInputImpl::baseURI):
        (LSInputImpl::setBaseURI):
        (LSInputImpl::encoding):
        (LSInputImpl::setEncoding):
        * kdom/ls/impl/LSInputImpl.h:
        * kdom/ls/impl/LSOutputImpl.cpp:
        (LSOutputImpl::LSOutputImpl):
        (LSOutputImpl::systemId):
        (LSOutputImpl::setSystemId):
        (LSOutputImpl::encoding):
        (LSOutputImpl::setEncoding):
        * kdom/ls/impl/LSOutputImpl.h:
        * kdom/ls/impl/LSParserFilterImpl.cpp:
        (LSParserFilterImpl::LSParserFilterImpl):
        * kdom/ls/impl/LSParserImpl.cpp:
        (hex2int):
        (LSParserImpl::parse):
        (LSParserImpl::abort):
        * kdom/ls/impl/LSResourceResolverImpl.cpp:
        (LSResourceResolverImpl::LSResourceResolverImpl):
        * kdom/ls/impl/LSSerializerImpl.cpp:
        (LSSerializerImpl::LSSerializerImpl):
        (LSSerializerImpl::setNewLine):
        (LSSerializerImpl::serialize):
        (LSSerializerImpl::writeToURI):
        (LSSerializerImpl::PrintInternalSubset):
        (LSSerializerImpl::PrintNode):
        (LSSerializerImpl::escape):
        (LSSerializerImpl::escapeAttribute):
        * kdom/ls/impl/LSSerializerImpl.h:
        * kdom/parser/KDOMDocumentBuilder.cpp:
        (DocumentBuilder::document):
        (DocumentBuilder::startDocument):
        (DocumentBuilder::startElement):
        (DocumentBuilder::endElement):
        (DocumentBuilder::startElementNS):
        (DocumentBuilder::endElementNS):
        (DocumentBuilder::startAttributeNS):
        (DocumentBuilder::startAttribute):
        (DocumentBuilder::characters):
        (DocumentBuilder::comment):
        (DocumentBuilder::startDTD):
        (DocumentBuilder::startPI):
        (DocumentBuilder::internalEntityDecl):
        (DocumentBuilder::internalEntityDeclEnd):
        (DocumentBuilder::externalEntityDecl):
        (DocumentBuilder::unparsedEntityDecl):
        (DocumentBuilder::notationDecl):
        (DocumentBuilder::entityReferenceStart):
        (DocumentBuilder::entityReferenceEnd):
        (DocumentBuilder::currentNode):
        * kdom/parser/KDOMDocumentBuilder.h:
        * kdom/parser/KDOMParser.cpp:
        (Parser::document):
        (Parser::domConfig):
        (Parser::setDocumentBuilder):
        (Parser::syncParse):
        (Parser::asyncParse):
        (Parser::abortWork):
        (Parser::notifyFinished):
        (Parser::handleError):
        (Parser::bufferForUrl):
        (Parser::parsingFinished):
        * kdom/parser/KDOMParser.h:
        (KDOM::Parser::handleIncomingData):
        * kdom/range/DocumentRange.cpp: Removed.
        * kdom/range/DocumentRange.h: Removed.
        * kdom/range/Range.cpp: Removed.
        * kdom/range/Range.h: Removed.
        * kdom/range/RangeException.cpp: Removed.
        * kdom/range/RangeException.h: Removed.
        * kdom/range/impl/DocumentRangeImpl.cpp:
        (DocumentRangeImpl::createRange):
        * kdom/range/impl/RangeExceptionImpl.cpp:
        (RangeExceptionImpl::RangeExceptionImpl):
        * kdom/range/impl/RangeImpl.cpp:
        (RangeImpl::RangeImpl):
        (RangeImpl::isCollapsed):
        (RangeImpl::setStart):
        (RangeImpl::setEnd):
        (RangeImpl::processContents):
        (RangeImpl::checkNodeWOffset):
        (RangeImpl::toString):
        (RangeImpl::setStartAfter):
        (RangeImpl::setEndBefore):
        (RangeImpl::setEndAfter):
        (RangeImpl::setStartBefore):
        * kdom/range/impl/RangeImpl.h:
        * kdom/scripts/OVERVIEW: Removed.
        * kdom/scripts/constants.pl: Removed.
        * kdom/scripts/css.idl: Removed.
        * kdom/scripts/dom2-core.idl: Removed.
        * kdom/scripts/dom2-events.idl: Removed.
        * kdom/scripts/dom2-range.idl: Removed.
        * kdom/scripts/dom2-traversal.idl: Removed.
        * kdom/scripts/dom2-views.idl: Removed.
        * kdom/scripts/dommakeattrs: Removed.
        * kdom/scripts/generate.pl: Removed.
        * kdom/scripts/kalyptusKDOMEcma.pm: Removed.
        * kdom/scripts/stylesheets.idl: Removed.
        * kdom/traversal/DocumentTraversal.cpp: Removed.
        * kdom/traversal/DocumentTraversal.h: Removed.
        * kdom/traversal/NodeFilter.cpp: Removed.
        * kdom/traversal/NodeFilter.h: Removed.
        * kdom/traversal/NodeIterator.cpp: Removed.
        * kdom/traversal/NodeIterator.h: Removed.
        * kdom/traversal/TreeWalker.cpp: Removed.
        * kdom/traversal/TreeWalker.h: Removed.
        * kdom/traversal/impl/NodeFilterImpl.cpp:
        (NodeFilterImpl::NodeFilterImpl):
        (NodeFilterImpl::acceptNode):
        * kdom/traversal/impl/NodeFilterImpl.h:
        (KDOM::NodeFilterCondition::NodeFilterCondition):
        (KDOM::NodeFilterCondition::acceptNode):
        * kdom/traversal/impl/NodeIteratorImpl.cpp:
        * kdom/traversal/impl/NodeIteratorImpl.h:
        * kdom/traversal/impl/TraversalImpl.cpp:
        (TraversalImpl::TraversalImpl):
        * kdom/traversal/impl/TreeWalkerImpl.cpp:
        * kdom/traversal/impl/TreeWalkerImpl.h:
        * kdom/views/AbstractView.cpp: Removed.
        * kdom/views/AbstractView.h: Removed.
        * kdom/views/DocumentView.cpp: Removed.
        * kdom/views/DocumentView.h: Removed.
        * kdom/views/impl/AbstractViewImpl.cpp:
        (AbstractViewImpl::AbstractViewImpl):
        * kdom/views/impl/AbstractViewImpl.h:
        * kdom/views/impl/DocumentViewImpl.cpp:
        * kdom/views/impl/DocumentViewImpl.h:
        * kdom/xpath/XPathEvaluator.cpp: Removed.
        * kdom/xpath/XPathEvaluator.h: Removed.
        * kdom/xpath/XPathEvaluatorImpl.cpp: Added.
        (XPathEvaluatorImpl::createExpression):
        (XPathEvaluatorImpl::createNSResolver):
        (XPathEvaluatorImpl::evaluate):
        * kdom/xpath/XPathEvaluatorImpl.h: Added.
        * kdom/xpath/XPathException.cpp: Removed.
        * kdom/xpath/XPathException.h: Removed.
        * kdom/xpath/XPathExceptionImpl.cpp: Added.
        (XPathExceptionImpl::XPathExceptionImpl):
        (XPathExceptionImpl::code):
        * kdom/xpath/XPathExceptionImpl.h: Added.
        * kdom/xpath/XPathExpression.cpp: Removed.
        * kdom/xpath/XPathExpression.h: Removed.
        * kdom/xpath/XPathExpressionImpl.cpp: Added.
        (XPathExpressionImpl::XPathExpressionImpl):
        (XPathExpressionImpl::evaluate):
        * kdom/xpath/XPathExpressionImpl.h: Added.
        * kdom/xpath/XPathNSResolver.cpp: Removed.
        * kdom/xpath/XPathNSResolver.h: Removed.
        * kdom/xpath/XPathNSResolverImpl.cpp: Added.
        (XPathNSResolverImpl::XPathNSResolverImpl):
        (XPathNSResolverImpl::lookupNamespaceURI):
        * kdom/xpath/XPathNSResolverImpl.h: Added.
        * kdom/xpath/XPathNamespace.cpp: Removed.
        * kdom/xpath/XPathNamespace.h: Removed.
        * kdom/xpath/XPathNamespaceImpl.cpp: Added.
        (XPathNamespaceImpl::XPathNamespaceImpl):
        (XPathNamespaceImpl::ownerElement):
        * kdom/xpath/XPathNamespaceImpl.h: Added.
        * kdom/xpath/XPathResult.cpp: Removed.
        * kdom/xpath/XPathResult.h: Removed.
        * kdom/xpath/XPathResultImpl.cpp: Added.
        (XPathResultImpl::XPathResultImpl):
        (XPathResultImpl::convertTo):
        (XPathResultImpl::resultType):
        (XPathResultImpl::numberValue):
        (XPathResultImpl::stringValue):
        (XPathResultImpl::booleanValue):
        (XPathResultImpl::singleNodeValue):
        (XPathResultImpl::invalidIteratorState):
        (XPathResultImpl::snapshotLength):
        (XPathResultImpl::iterateNext):
        (XPathResultImpl::snapshotItem):
        * kdom/xpath/XPathResultImpl.h: Added.
        * kdom/xpath/impl/AxisImpl.cpp: Removed.
        * kdom/xpath/impl/AxisImpl.h: Removed.
        * kdom/xpath/impl/ContextImpl.cpp: Removed.
        * kdom/xpath/impl/ContextImpl.h: Removed.
        * kdom/xpath/impl/ExprNodeImpl.cpp: Removed.
        * kdom/xpath/impl/ExprNodeImpl.h: Removed.
        * kdom/xpath/impl/FILES: Removed.
        * kdom/xpath/impl/LiteralImpl.cpp: Removed.
        * kdom/xpath/impl/LiteralImpl.h: Removed.
        * kdom/xpath/impl/OperatorImpl.cpp: Removed.
        * kdom/xpath/impl/OperatorImpl.h: Removed.
        * kdom/xpath/impl/ScopeImpl.cpp: Removed.
        * kdom/xpath/impl/ScopeImpl.h: Removed.
        * kdom/xpath/impl/StepImpl.cpp: Removed.
        * kdom/xpath/impl/StepImpl.h: Removed.
        * kdom/xpath/impl/VariableRefImpl.cpp: Removed.
        * kdom/xpath/impl/VariableRefImpl.h: Removed.
        * kdom/xpath/impl/XPathCustomExceptionImpl.cpp: Removed.
        * kdom/xpath/impl/XPathCustomExceptionImpl.h: Removed.
        * kdom/xpath/impl/XPathEvaluatorImpl.cpp: Removed.
        * kdom/xpath/impl/XPathEvaluatorImpl.h: Removed.
        * kdom/xpath/impl/XPathExceptionImpl.cpp: Removed.
        * kdom/xpath/impl/XPathExceptionImpl.h: Removed.
        * kdom/xpath/impl/XPathExpressionFilterImpl.cpp: Removed.
        * kdom/xpath/impl/XPathExpressionFilterImpl.h: Removed.
        * kdom/xpath/impl/XPathExpressionImpl.cpp: Removed.
        * kdom/xpath/impl/XPathExpressionImpl.h: Removed.
        * kdom/xpath/impl/XPathFactory1Impl.cpp: Removed.
        * kdom/xpath/impl/XPathFactory1Impl.h: Removed.
        * kdom/xpath/impl/XPathFactoryBaseImpl.cpp: Removed.
        * kdom/xpath/impl/XPathFactoryBaseImpl.h: Removed.
        * kdom/xpath/impl/XPathHelper.cpp: Removed.
        * kdom/xpath/impl/XPathHelper.h: Removed.
        * kdom/xpath/impl/XPathNSResolverImpl.cpp: Removed.
        * kdom/xpath/impl/XPathNSResolverImpl.h: Removed.
        * kdom/xpath/impl/XPathNamespaceImpl.cpp: Removed.
        * kdom/xpath/impl/XPathNamespaceImpl.h: Removed.
        * kdom/xpath/impl/XPathResultImpl.cpp: Removed.
        * kdom/xpath/impl/XPathResultImpl.h: Removed.
        * kdom/xpath/impl/data/BooleanImpl.cpp: Removed.
        * kdom/xpath/impl/data/BooleanImpl.h: Removed.
        * kdom/xpath/impl/data/NodeSetImpl.cpp: Removed.
        * kdom/xpath/impl/data/NodeSetImpl.h: Removed.
        * kdom/xpath/impl/data/NumberImpl.cpp: Removed.
        * kdom/xpath/impl/data/NumberImpl.h: Removed.
        * kdom/xpath/impl/data/StringImpl.cpp: Removed.
        * kdom/xpath/impl/data/StringImpl.h: Removed.
        * kdom/xpath/impl/data/ValueImpl.cpp: Removed.
        * kdom/xpath/impl/data/ValueImpl.h: Removed.
        * kdom/xpath/impl/expression.cpp: Added.
        (Value::Value):
        (Value::type):
        (Value::isNodeset):
        (Value::isBoolean):
        (Value::isNumber):
        (Value::isString):
        (Value::toNodeset):
        (Value::toBoolean):
        (Value::toNumber):
        (Value::toString):
        (Value::dump):
        (Expression::evaluationContext):
        (Expression::Expression):
        (Expression::~Expression):
        (Expression::evaluate):
        (Expression::addSubExpression):
        (Expression::optimize):
        (Expression::subExprCount):
        (Expression::subExpr):
        (Expression::isConstant):
        * kdom/xpath/impl/expression.h: Added.
        (Value::):
        * kdom/xpath/impl/functions.cpp: Added.
        (Interval::Interval):
        (Interval::contains):
        (Interval::asString):
        (Function::setArguments):
        (Function::setName):
        (Function::dump):
        (Function::arg):
        (Function::argCount):
        (Function::name):
        (FunLast::doEvaluate):
        (FunLast::isConstant):
        (FunPosition::doEvaluate):
        (FunPosition::isConstant):
        (FunLocalName::isConstant):
        (FunLocalName::doEvaluate):
        (FunNamespaceURI::isConstant):
        (FunNamespaceURI::doEvaluate):
        (FunName::isConstant):
        (FunName::doEvaluate):
        (FunCount::doEvaluate):
        (FunCount::isConstant):
        (FunString::doEvaluate):
        (FunConcat::doEvaluate):
        (FunStartsWith::doEvaluate):
        (FunContains::doEvaluate):
        (FunSubstringBefore::doEvaluate):
        (FunSubstringAfter::doEvaluate):
        (FunSubstring::doEvaluate):
        (FunStringLength::doEvaluate):
        (FunNormalizeSpace::doEvaluate):
        (FunTranslate::doEvaluate):
        (FunBoolean::doEvaluate):
        (FunNot::doEvaluate):
        (FunTrue::doEvaluate):
        (FunTrue::isConstant):
        (FunLang::doEvaluate):
        (FunLang::isConstant):
        (FunFalse::doEvaluate):
        (FunFalse::isConstant):
        (FunNumber::doEvaluate):
        (FunSum::doEvaluate):
        (FunFloor::doEvaluate):
        (FunCeiling::doEvaluate):
        (FunRound::doEvaluate):
        (FunctionLibrary::FunctionRec::FunctionRec):
        (FunctionLibrary::self):
        (FunctionLibrary::FunctionLibrary):
        (FunctionLibrary::getFunction):
        (FunctionLibraryDeleter::~FunctionLibraryDeleter):
        * kdom/xpath/impl/functions.h: Added.
        * kdom/xpath/impl/functions1/FunctionCallImpl.cpp: Removed.
        * kdom/xpath/impl/functions1/FunctionCallImpl.h: Removed.
        * kdom/xpath/impl/functions1/README: Removed.
        * kdom/xpath/impl/functions1/boolean_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/boolean_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/ceiling_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/ceiling_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/concat_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/concat_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/contains_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/contains_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/false_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/false_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/floor_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/floor_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/normalize-space_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/normalize-space_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/not_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/not_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/number_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/number_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/round_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/round_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/starts-with_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/starts-with_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/string-length_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/string-length_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/string_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/string_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/substring-after_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/substring-after_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/substring-before_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/substring-before_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/substring_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/substring_fnxp1.h: Removed.
        * kdom/xpath/impl/functions1/true_fnxp1.cpp: Removed.
        * kdom/xpath/impl/functions1/true_fnxp1.h: Removed.
        * kdom/xpath/impl/parsedstatement.cpp: Added.
        (ParsedStatement::ParsedStatement):
        (ParsedStatement::~ParsedStatement):
        (ParsedStatement::parse):
        (ParsedStatement::optimize):
        (ParsedStatement::evaluate):
        (ParsedStatement::dump):
        * kdom/xpath/impl/parsedstatement.h: Added.
        * kdom/xpath/impl/parser/Lexer.cpp: Removed.
        * kdom/xpath/impl/parser/Lexer.h: Removed.
        * kdom/xpath/impl/parser/Lexer.l: Removed.
        * kdom/xpath/impl/parser/ParserState.cpp: Removed.
        * kdom/xpath/impl/parser/ParserState.h: Removed.
        * kdom/xpath/impl/parser/xpath.ypp: Removed.
        * kdom/xpath/impl/path.cpp: Added.
        (Path::Path):
        (Path::~Path):
        (Path::addStep):
        (Path::optimize):
        (Path::doEvaluate):
        (Path::dump):
        * kdom/xpath/impl/path.h: Added.
        * kdom/xpath/impl/predicate.cpp: Added.
        (Number::Number):
        (Number::isConstant):
        (Number::dump):
        (Number::doEvaluate):
        (String::String):
        (String::isConstant):
        (String::dump):
        (String::doEvaluate):
        (Negative::doEvaluate):
        (Negative::dump):
        (BinaryExprBase::dump):
        (NumericOp::NumericOp):
        (NumericOp::doEvaluate):
        (NumericOp::opName):
        (EqTestOp::EqTestOp):
        (EqTestOp::doEvaluate):
        (EqTestOp::opName):
        (LogicalOp::LogicalOp):
        (LogicalOp::shortCircuitOn):
        (LogicalOp::isConstant):
        (LogicalOp::opName):
        (LogicalOp::doEvaluate):
        (Union::opName):
        (Union::doEvaluate):
        (Predicate::Predicate):
        (Predicate::~Predicate):
        (Predicate::evaluate):
        (Predicate::optimize):
        (Predicate::dump):
        * kdom/xpath/impl/predicate.h: Added.
        (NumericOp::):
        (EqTestOp::):
        (LogicalOp::):
        * kdom/xpath/impl/step.cpp: Added.
        (Step::axisAsString):
        (Step::Step):
        (Step::~Step):
        (Step::evaluate):
        (Step::nodesInAxis):
        (Step::nodeTestMatches):
        (Step::optimize):
        (Step::dump):
        * kdom/xpath/impl/step.h: Added.
        (Step::):
        * kdom/xpath/impl/tokenizer.cpp: Added.
        (AxisNameMapping::AxisNameMapping):
        (Tokenizer::self):
        (Tokenizer::charCat):
        (Tokenizer::isAxisName):
        (Tokenizer::isNodeTypeName):
        (Tokenizer::isOperatorContext):
        (Tokenizer::skipWS):
        (Tokenizer::makeTokenAndAdvance):
        (Tokenizer::makeIntTokenAndAdvance):
        (Tokenizer::peekAheadHelper):
        (Tokenizer::peekCurHelper):
        (Tokenizer::lexString):
        (Tokenizer::lexNumber):
        (Tokenizer::lexNCName):
        (Tokenizer::lexQName):
        (Tokenizer::nextTokenInternal):
        (Tokenizer::nextToken):
        (Tokenizer::Tokenizer):
        (Tokenizer::reset):
        (xpathyylex):
        (initTokenizer):
        (xpathyyerror):
        (TokenizerDeleter::~TokenizerDeleter):
        * kdom/xpath/impl/tokenizer.h: Added.
        (Token::Token):
        (Tokenizer::):
        * kdom/xpath/impl/util.cpp: Added.
        (isRootDomNode):
        (stringValue):
        (getChildrenRecursively):
        * kdom/xpath/impl/util.h: Added.
        * kdom/xpath/impl/utils/QNameImpl.cpp: Removed.
        * kdom/xpath/impl/utils/QNameImpl.h: Removed.
        * kdom/xpath/impl/variablereference.cpp: Added.
        (VariableReference::VariableReference):
        (VariableReference::isConstant):
        (VariableReference::dump):
        (VariableReference::doEvaluate):
        * kdom/xpath/impl/variablereference.h: Added.
        * kdom/xpath/impl/xpath.y: Added.
        * kdom/xpath/kdomxpath.h:
        (KDOM::XPath::):
        * kdom/xpointer/XPointerEvaluator.cpp: Removed.
        * kdom/xpointer/XPointerEvaluator.h: Removed.
        * kdom/xpointer/XPointerException.cpp: Removed.
        * kdom/xpointer/XPointerException.h: Removed.
        * kdom/xpointer/XPointerExpression.cpp: Removed.
        * kdom/xpointer/XPointerExpression.h: Removed.
        * kdom/xpointer/XPointerHelper.cpp: Removed.
        * kdom/xpointer/XPointerHelper.h: Removed.
        * kdom/xpointer/XPointerResult.cpp: Removed.
        * kdom/xpointer/XPointerResult.h: Removed.
        * kdom/xpointer/impl/ElementSchemeImpl.cpp:
        (ElementSchemeImpl::ElementSchemeImpl):
        (ElementSchemeImpl::evaluate):
        * kdom/xpointer/impl/ElementSchemeImpl.h:
        * kdom/xpointer/impl/NBCImpl.cpp:
        (NBCImpl::NBCImpl):
        (NBCImpl::addMapping):
        (NBCImpl::lookupNamespaceURI):
        * kdom/xpointer/impl/NBCImpl.h:
        * kdom/xpointer/impl/PointerPartImpl.cpp:
        (PointerPartImpl::PointerPartImpl):
        (PointerPartImpl::~PointerPartImpl):
        (PointerPartImpl::evaluate):
        (PointerPartImpl::name):
        (PointerPartImpl::data):
        * kdom/xpointer/impl/PointerPartImpl.h:
        * kdom/xpointer/impl/ShortHandImpl.cpp:
        (ShortHandImpl::ShortHandImpl):
        (ShortHandImpl::evaluate):
        * kdom/xpointer/impl/ShortHandImpl.h:
        * kdom/xpointer/impl/XMLNSSchemeImpl.cpp:
        (XMLNSSchemeImpl::XMLNSSchemeImpl):
        * kdom/xpointer/impl/XMLNSSchemeImpl.h:
        * kdom/xpointer/impl/XPath1SchemeImpl.cpp:
        (XPath1SchemeImpl::XPath1SchemeImpl):
        (XPath1SchemeImpl::~XPath1SchemeImpl):
        (XPath1SchemeImpl::evaluate):
        * kdom/xpointer/impl/XPath1SchemeImpl.h:
        * kdom/xpointer/impl/XPointerEvaluatorImpl.cpp:
        (XPointerEvaluatorImpl::createXPointer):
        (XPointerEvaluatorImpl::evaluateXPointer):
        * kdom/xpointer/impl/XPointerEvaluatorImpl.h:
        * kdom/xpointer/impl/XPointerExceptionImpl.cpp:
        (XPointerExceptionImpl::XPointerExceptionImpl):
        * kdom/xpointer/impl/XPointerExpressionImpl.cpp:
        (XPointerExpressionImpl::XPointerExpressionImpl):
        (XPointerExpressionImpl::~XPointerExpressionImpl):
        (XPointerExpressionImpl::evaluate):
        (XPointerExpressionImpl::string):
        * kdom/xpointer/impl/XPointerExpressionImpl.h:
        * kdom/xpointer/impl/XPointerHelper.cpp: Added.
        (XPointerHelper::EncodeSchemeData):
        (XPointerHelper::DecodeSchemeData):
        (XPointerHelper::createXPointer):
        * kdom/xpointer/impl/XPointerHelper.h: Added.
        * kdom/xpointer/impl/XPointerResultImpl.cpp:
        (XPointerResultImpl::XPointerResultImpl):
        (XPointerResultImpl::~XPointerResultImpl):
        (XPointerResultImpl::resultType):
        (XPointerResultImpl::setResultType):
        (XPointerResultImpl::singleNodeValue):
        (XPointerResultImpl::setSingleNodeValue):
        * kdom/xpointer/impl/XPointerResultImpl.h:
        (KDOM::XPointer::):
        * kdom/xpointer/impl/XPointerSchemeImpl.cpp:
        (XPointerSchemeImpl::XPointerSchemeImpl):
        (XPointerSchemeImpl::evaluate):
        * kdom/xpointer/impl/XPointerSchemeImpl.h:
        (KDOM::XPointer::):
        * ksvg2/KSVGFactory.cpp:
        (KSVGFactory::createPartObject):
        * ksvg2/KSVGSlotStubs.h: Removed.
        * ksvg2/core/KSVGDocumentBuilder.cpp:
        (DocumentBuilder::startDocument):
        (DocumentBuilder::finishedDocument):
        (DocumentBuilder::endDocument):
        * ksvg2/core/KSVGDocumentBuilder.h:
        * ksvg2/core/KSVGTimeScheduler.cpp:
        (SVGTimer::start):
        (SVGTimer::notifyAll):
        (TimeScheduler::TimeScheduler):
        (TimeScheduler::~TimeScheduler):
        * ksvg2/core/KSVGTimeScheduler.h:
        (KSVG::TimeScheduler::document):
        * ksvg2/css/impl/KSVGCSSParser.cpp:
        (SVGCSSParser::parseValue):
        (SVGCSSParser::parsePaint):
        (SVGCSSParser::parseColor):
        * ksvg2/css/impl/SVGCSSStyleSelector.cpp:
        (SVGCSSStyleSelector::loadDefaultStyle):
        (SVGCSSStyleSelector::applyRule):
        * ksvg2/css/impl/SVGCSSStyleSheetImpl.cpp:
        (SVGCSSStyleSheetImpl::SVGCSSStyleSheetImpl):
        * ksvg2/css/impl/SVGCSSStyleSheetImpl.h:
        * ksvg2/css/impl/SVGRenderStyleDefs.cpp:
        (StyleFillData::StyleFillData):
        (StyleStrokeData::StyleStrokeData):
        (StyleStopData::StyleStopData):
        (StyleClipData::StyleClipData):
        (StyleMarkerData::StyleMarkerData):
        (StyleMiscData::StyleMiscData):
        * ksvg2/data/CSSConstants.h: Removed.
        * ksvg2/data/EcmaConstants.h: Removed.
        * ksvg2/data/EventsConstants.h: Removed.
        * ksvg2/data/SVGConstants.h: Removed.
        * ksvg2/data/generateddata.cpp: Removed.
        * ksvg2/events/impl/SVGEventImpl.cpp:
        (SVGEventImpl::initEvent):
        * ksvg2/events/impl/SVGEventImpl.h:
        * ksvg2/impl/CDFInterface.cpp:
        * ksvg2/impl/CDFInterface.h:
        * ksvg2/impl/SVGAElementImpl.cpp:
        (SVGAElementImpl::SVGAElementImpl):
        (SVGAElementImpl::parseAttribute):
        (SVGAElementImpl::defaultEventHandler):
        * ksvg2/impl/SVGAElementImpl.h:
        * ksvg2/impl/SVGAngleImpl.cpp:
        (SVGAngleImpl::SVGAngleImpl):
        (SVGAngleImpl::setValueAsString):
        (SVGAngleImpl::valueAsString):
        * ksvg2/impl/SVGAngleImpl.h:
        * ksvg2/impl/SVGAnimateColorElementImpl.cpp:
        (SVGAnimateColorElementImpl::SVGAnimateColorElementImpl):
        (SVGAnimateColorElementImpl::handleTimerEvent):
        * ksvg2/impl/SVGAnimateColorElementImpl.h:
        * ksvg2/impl/SVGAnimateElementImpl.cpp:
        (SVGAnimateElementImpl::SVGAnimateElementImpl):
        (SVGAnimateElementImpl::handleTimerEvent):
        * ksvg2/impl/SVGAnimateElementImpl.h:
        * ksvg2/impl/SVGAnimateTransformElementImpl.cpp:
        (SVGAnimateTransformElementImpl::SVGAnimateTransformElementImpl):
        * ksvg2/impl/SVGAnimateTransformElementImpl.h:
        * ksvg2/impl/SVGAnimatedBooleanImpl.cpp:
        (SVGAnimatedBooleanImpl::SVGAnimatedBooleanImpl):
        * ksvg2/impl/SVGAnimatedEnumerationImpl.cpp:
        (SVGAnimatedEnumerationImpl::SVGAnimatedEnumerationImpl):
        * ksvg2/impl/SVGAnimatedEnumerationImpl.h:
        * ksvg2/impl/SVGAnimatedIntegerImpl.cpp:
        (SVGAnimatedIntegerImpl::SVGAnimatedIntegerImpl):
        * ksvg2/impl/SVGAnimatedIntegerImpl.h:
        * ksvg2/impl/SVGAnimatedNumberImpl.cpp:
        (SVGAnimatedNumberImpl::SVGAnimatedNumberImpl):
        (SVGAnimatedNumberImpl::baseVal):
        (SVGAnimatedNumberImpl::setBaseVal):
        (SVGAnimatedNumberImpl::animVal):
        (SVGAnimatedNumberImpl::setAnimVal):
        * ksvg2/impl/SVGAnimatedNumberImpl.h:
        * ksvg2/impl/SVGAnimatedTemplate.h:
        (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
        * ksvg2/impl/SVGAnimationElementImpl.cpp:
        (SVGAnimationElementImpl::SVGAnimationElementImpl):
        (SVGAnimationElementImpl::targetElement):
        (SVGAnimationElementImpl::getEndTime):
        (SVGAnimationElementImpl::getStartTime):
        (SVGAnimationElementImpl::getCurrentTime):
        (SVGAnimationElementImpl::getSimpleDuration):
        (SVGAnimationElementImpl::parseClockValue):
        (SVGAnimationElementImpl::close):
        (SVGAnimationElementImpl::targetAttribute):
        (SVGAnimationElementImpl::setTargetAttribute):
        * ksvg2/impl/SVGAnimationElementImpl.h:
        * ksvg2/impl/SVGCircleElementImpl.cpp:
        (SVGCircleElementImpl::SVGCircleElementImpl):
        (SVGCircleElementImpl::parseAttribute):
        * ksvg2/impl/SVGCircleElementImpl.h:
        * ksvg2/impl/SVGClipPathElementImpl.cpp:
        (SVGClipPathElementImpl::SVGClipPathElementImpl):
        (SVGClipPathElementImpl::close):
        * ksvg2/impl/SVGClipPathElementImpl.h:
        * ksvg2/impl/SVGColorImpl.cpp:
        (SVGColorImpl::setRGBColor):
        (SVGColorImpl::cssText):
        * ksvg2/impl/SVGColorImpl.h:
        * ksvg2/impl/SVGComponentTransferFunctionElementImpl.cpp:
        (SVGComponentTransferFunctionElementImpl::SVGComponentTransferFunctionElementImpl):
        (SVGComponentTransferFunctionElementImpl::parseAttribute):
        * ksvg2/impl/SVGComponentTransferFunctionElementImpl.h:
        * ksvg2/impl/SVGDOMImplementationImpl.cpp:
        (SVGDOMImplementationImpl::hasFeature):
        (SVGDOMImplementationImpl::createDocumentType):
        (SVGDOMImplementationImpl::createDocument):
        (SVGDOMImplementationImpl::createCSSStyleSheet):
        (SVGDOMImplementationImpl::defaultDocumentType):
        (SVGDOMImplementationImpl::typeToId):
        (SVGDOMImplementationImpl::idToType):
        * ksvg2/impl/SVGDOMImplementationImpl.h:
        * ksvg2/impl/SVGDefsElementImpl.cpp:
        (SVGDefsElementImpl::SVGDefsElementImpl):
        * ksvg2/impl/SVGDefsElementImpl.h:
        * ksvg2/impl/SVGDescElementImpl.cpp:
        (SVGDescElementImpl::SVGDescElementImpl):
        (SVGDescElementImpl::description):
        * ksvg2/impl/SVGDescElementImpl.h:
        * ksvg2/impl/SVGDocumentImpl.cpp:
        (SVGDocumentImpl::~SVGDocumentImpl):
        (SVGDocumentImpl::title):
        (SVGDocumentImpl::referrer):
        (SVGDocumentImpl::domain):
        (SVGDocumentImpl::URL):
        (SVGDocumentImpl::createSVGElement):
        (SVGDocumentImpl::createElement):
        (SVGDocumentImpl::createElementNS):
        (SVGDocumentImpl::createEvent):
        (SVGDocumentImpl::dispatchZoomEvent):
        (SVGDocumentImpl::dispatchScrollEvent):
        (SVGDocumentImpl::dispatchKeyEvent):
        (SVGDocumentImpl::defaultNS):
        (SVGDocumentImpl::recalcStyleSelector):
        (SVGDocumentImpl::executeScripts):
        (SVGDocumentImpl::createCSSStyleSheet):
        (SVGDocumentImpl::dispatchUIEvent):
        (SVGDocumentImpl::dispatchMouseEvent):
        * ksvg2/impl/SVGDocumentImpl.h:
        * ksvg2/impl/SVGElementImpl.cpp:
        (SVGElementImpl::SVGElementImpl):
        (SVGElementImpl::isSupported):
        (SVGElementImpl::getId):
        (SVGElementImpl::setGetId):
        (SVGElementImpl::xmlbase):
        (SVGElementImpl::setXmlbase):
        (SVGElementImpl::parseAttribute):
        (SVGElementImpl::addSVGEventListener):
        * ksvg2/impl/SVGElementImpl.h:
        * ksvg2/impl/SVGEllipseElementImpl.cpp:
        (SVGEllipseElementImpl::SVGEllipseElementImpl):
        (SVGEllipseElementImpl::parseAttribute):
        * ksvg2/impl/SVGEllipseElementImpl.h:
        * ksvg2/impl/SVGExceptionImpl.cpp:
        (SVGExceptionImpl::SVGExceptionImpl):
        * ksvg2/impl/SVGFEBlendElementImpl.cpp:
        (SVGFEBlendElementImpl::SVGFEBlendElementImpl):
        (SVGFEBlendElementImpl::parseAttribute):
        * ksvg2/impl/SVGFEBlendElementImpl.h:
        * ksvg2/impl/SVGFEColorMatrixElementImpl.cpp:
        (SVGFEColorMatrixElementImpl::SVGFEColorMatrixElementImpl):
        (SVGFEColorMatrixElementImpl::parseAttribute):
        * ksvg2/impl/SVGFEColorMatrixElementImpl.h:
        * ksvg2/impl/SVGFEComponentTransferElementImpl.cpp:
        (SVGFEComponentTransferElementImpl::SVGFEComponentTransferElementImpl):
        (SVGFEComponentTransferElementImpl::parseAttribute):
        (SVGFEComponentTransferElementImpl::close):
        * ksvg2/impl/SVGFEComponentTransferElementImpl.h:
        * ksvg2/impl/SVGFECompositeElementImpl.cpp:
        (SVGFECompositeElementImpl::SVGFECompositeElementImpl):
        (SVGFECompositeElementImpl::parseAttribute):
        (SVGFECompositeElementImpl::createCanvasItem):
        * ksvg2/impl/SVGFECompositeElementImpl.h:
        * ksvg2/impl/SVGFEFloodElementImpl.cpp:
        (SVGFEFloodElementImpl::SVGFEFloodElementImpl):
        (SVGFEFloodElementImpl::parseAttribute):
        * ksvg2/impl/SVGFEFloodElementImpl.h:
        * ksvg2/impl/SVGFEFuncAElementImpl.cpp:
        (SVGFEFuncAElementImpl::SVGFEFuncAElementImpl):
        * ksvg2/impl/SVGFEFuncAElementImpl.h:
        * ksvg2/impl/SVGFEFuncBElementImpl.cpp:
        (SVGFEFuncBElementImpl::SVGFEFuncBElementImpl):
        * ksvg2/impl/SVGFEFuncBElementImpl.h:
        * ksvg2/impl/SVGFEFuncGElementImpl.cpp:
        (SVGFEFuncGElementImpl::SVGFEFuncGElementImpl):
        * ksvg2/impl/SVGFEFuncGElementImpl.h:
        * ksvg2/impl/SVGFEFuncRElementImpl.cpp:
        (SVGFEFuncRElementImpl::SVGFEFuncRElementImpl):
        * ksvg2/impl/SVGFEFuncRElementImpl.h:
        * ksvg2/impl/SVGFEGaussianBlurElementImpl.cpp:
        (SVGFEGaussianBlurElementImpl::SVGFEGaussianBlurElementImpl):
        (SVGFEGaussianBlurElementImpl::parseAttribute):
        (SVGFEGaussianBlurElementImpl::createCanvasItem):
        * ksvg2/impl/SVGFEGaussianBlurElementImpl.h:
        * ksvg2/impl/SVGFEImageElementImpl.cpp:
        (SVGFEImageElementImpl::SVGFEImageElementImpl):
        (SVGFEImageElementImpl::parseAttribute):
        * ksvg2/impl/SVGFEImageElementImpl.h:
        * ksvg2/impl/SVGFEMergeElementImpl.cpp:
        (SVGFEMergeElementImpl::SVGFEMergeElementImpl):
        * ksvg2/impl/SVGFEMergeElementImpl.h:
        * ksvg2/impl/SVGFEMergeNodeElementImpl.cpp:
        (SVGFEMergeNodeElementImpl::SVGFEMergeNodeElementImpl):
        (SVGFEMergeNodeElementImpl::parseAttribute):
        * ksvg2/impl/SVGFEMergeNodeElementImpl.h:
        * ksvg2/impl/SVGFEOffsetElementImpl.cpp:
        (SVGFEOffsetElementImpl::SVGFEOffsetElementImpl):
        (SVGFEOffsetElementImpl::parseAttribute):
        (SVGFEOffsetElementImpl::createCanvasItem):
        * ksvg2/impl/SVGFEOffsetElementImpl.h:
        * ksvg2/impl/SVGFETileElementImpl.cpp:
        (SVGFETileElementImpl::SVGFETileElementImpl):
        (SVGFETileElementImpl::parseAttribute):
        * ksvg2/impl/SVGFETileElementImpl.h:
        * ksvg2/impl/SVGFETurbulenceElementImpl.cpp:
        (SVGFETurbulenceElementImpl::SVGFETurbulenceElementImpl):
        (SVGFETurbulenceElementImpl::parseAttribute):
        (SVGFETurbulenceElementImpl::createCanvasItem):
        * ksvg2/impl/SVGFETurbulenceElementImpl.h:
        * ksvg2/impl/SVGFilterElementImpl.cpp:
        (SVGFilterElementImpl::SVGFilterElementImpl):
        (SVGFilterElementImpl::x):
        (SVGFilterElementImpl::y):
        (SVGFilterElementImpl::width):
        (SVGFilterElementImpl::height):
        (SVGFilterElementImpl::parseAttribute):
        (SVGFilterElementImpl::close):
        * ksvg2/impl/SVGFilterElementImpl.h:
        * ksvg2/impl/SVGFilterPrimitiveStandardAttributesImpl.cpp:
        (SVGFilterPrimitiveStandardAttributesImpl::SVGFilterPrimitiveStandardAttributesImpl):
        (SVGFilterPrimitiveStandardAttributesImpl::width):
        (SVGFilterPrimitiveStandardAttributesImpl::height):
        (SVGFilterPrimitiveStandardAttributesImpl::parseAttribute):
        * ksvg2/impl/SVGFilterPrimitiveStandardAttributesImpl.h:
        * ksvg2/impl/SVGFitToViewBoxImpl.cpp:
        (SVGFitToViewBoxImpl::parseAttribute):
        * ksvg2/impl/SVGGElementImpl.cpp:
        (SVGGElementImpl::SVGGElementImpl):
        (SVGDummyElementImpl::SVGDummyElementImpl):
        (SVGDummyElementImpl::localName):
        * ksvg2/impl/SVGGElementImpl.h:
        * ksvg2/impl/SVGGradientElementImpl.cpp:
        (SVGGradientElementImpl::SVGGradientElementImpl):
        (SVGGradientElementImpl::notifyAttributeChange):
        * ksvg2/impl/SVGGradientElementImpl.h:
        * ksvg2/impl/SVGHelper.cpp:
        (SVGHelper::PercentageOfViewport):
        * ksvg2/impl/SVGImageElementImpl.cpp:
        (SVGImageElementImpl::SVGImageElementImpl):
        (SVGImageElementImpl::parseAttribute):
        (SVGImageElementImpl::createCanvasItem):
        (SVGImageElementImpl::notifyFinished):
        * ksvg2/impl/SVGImageElementImpl.h:
        * ksvg2/impl/SVGLangSpaceImpl.cpp:
        (SVGLangSpaceImpl::xmllang):
        (SVGLangSpaceImpl::setXmllang):
        (SVGLangSpaceImpl::xmlspace):
        (SVGLangSpaceImpl::setXmlspace):
        (SVGLangSpaceImpl::parseAttribute):
        * ksvg2/impl/SVGLangSpaceImpl.h:
        * ksvg2/impl/SVGLengthImpl.cpp:
        (SVGLengthImpl::SVGLengthImpl):
        (SVGLengthImpl::value):
        (SVGLengthImpl::setValueAsString):
        (SVGLengthImpl::valueAsString):
        * ksvg2/impl/SVGLengthImpl.h:
        * ksvg2/impl/SVGLengthListImpl.cpp:
        (SVGLengthListImpl::parse):
        * ksvg2/impl/SVGLineElementImpl.cpp:
        (SVGLineElementImpl::SVGLineElementImpl):
        (SVGLineElementImpl::parseAttribute):
        * ksvg2/impl/SVGLineElementImpl.h:
        * ksvg2/impl/SVGLinearGradientElementImpl.cpp:
        (SVGLinearGradientElementImpl::SVGLinearGradientElementImpl):
        (SVGLinearGradientElementImpl::parseAttribute):
        (SVGLinearGradientElementImpl::buildGradient):
        (SVGLinearGradientElementImpl::createCanvasItem):
        (SVGLinearGradientElementImpl::resourceNotification):
        * ksvg2/impl/SVGLinearGradientElementImpl.h:
        * ksvg2/impl/SVGLocatableImpl.cpp:
        * ksvg2/impl/SVGMarkerElementImpl.cpp:
        (SVGMarkerElementImpl::SVGMarkerElementImpl):
        (SVGMarkerElementImpl::parseAttribute):
        (SVGMarkerElementImpl::close):
        * ksvg2/impl/SVGMarkerElementImpl.h:
        * ksvg2/impl/SVGMatrixImpl.cpp:
        (SVGMatrixImpl::SVGMatrixImpl):
        * ksvg2/impl/SVGNumberImpl.cpp:
        (SVGNumberImpl::SVGNumberImpl):
        * ksvg2/impl/SVGPaintImpl.cpp:
        (SVGPaintImpl::cssText):
        * ksvg2/impl/SVGPaintImpl.h:
        * ksvg2/impl/SVGPathElementImpl.cpp:
        (SVGPathElementImpl::SVGPathElementImpl):
        (SVGPathElementImpl::~SVGPathElementImpl):
        * ksvg2/impl/SVGPathElementImpl.h:
        * ksvg2/impl/SVGPathSegArcImpl.h:
        (KSVG::SVGPathSegArcAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegArcRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegClosePathImpl.h:
        (KSVG::SVGPathSegClosePathImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegCurvetoCubicImpl.h:
        (KSVG::SVGPathSegCurvetoCubicAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegCurvetoCubicRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegCurvetoCubicSmoothImpl.h:
        (KSVG::SVGPathSegCurvetoCubicSmoothAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegCurvetoCubicSmoothRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegCurvetoQuadraticImpl.h:
        (KSVG::SVGPathSegCurvetoQuadraticAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegCurvetoQuadraticRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegCurvetoQuadraticSmoothImpl.h:
        (KSVG::SVGPathSegCurvetoQuadraticSmoothAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegCurvetoQuadraticSmoothRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegImpl.cpp:
        (SVGPathSegImpl::SVGPathSegImpl):
        * ksvg2/impl/SVGPathSegImpl.h:
        (KSVG::SVGPathSegImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegLinetoHorizontalImpl.h:
        (KSVG::SVGPathSegLinetoHorizontalAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegLinetoHorizontalRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegLinetoImpl.h:
        (KSVG::SVGPathSegLinetoAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegLinetoRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegLinetoVerticalImpl.h:
        (KSVG::SVGPathSegLinetoVerticalAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegLinetoVerticalRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPathSegMovetoImpl.h:
        (KSVG::SVGPathSegMovetoAbsImpl::pathSegTypeAsLetter):
        (KSVG::SVGPathSegMovetoRelImpl::pathSegTypeAsLetter):
        * ksvg2/impl/SVGPatternElementImpl.cpp:
        (SVGPatternElementImpl::SVGPatternElementImpl):
        (SVGPatternElementImpl::parseAttribute):
        (SVGPatternElementImpl::notifyAttributeChange):
        (SVGPatternElementImpl::createCanvasItem):
        * ksvg2/impl/SVGPatternElementImpl.h:
        * ksvg2/impl/SVGPointImpl.cpp:
        (SVGPointImpl::SVGPointImpl):
        * ksvg2/impl/SVGPolyElementImpl.cpp:
        (SVGPolyElementImpl::SVGPolyElementImpl):
        (SVGPolyElementImpl::notifyAttributeChange):
        * ksvg2/impl/SVGPolyElementImpl.h:
        * ksvg2/impl/SVGPolygonElementImpl.cpp:
        (SVGPolygonElementImpl::SVGPolygonElementImpl):
        * ksvg2/impl/SVGPolygonElementImpl.h:
        * ksvg2/impl/SVGPolylineElementImpl.cpp:
        (SVGPolylineElementImpl::SVGPolylineElementImpl):
        * ksvg2/impl/SVGPolylineElementImpl.h:
        * ksvg2/impl/SVGPreserveAspectRatioImpl.cpp:
        (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
        * ksvg2/impl/SVGRadialGradientElementImpl.cpp:
        (SVGRadialGradientElementImpl::SVGRadialGradientElementImpl):
        (SVGRadialGradientElementImpl::parseAttribute):
        (SVGRadialGradientElementImpl::buildGradient):
        (SVGRadialGradientElementImpl::createCanvasItem):
        (SVGRadialGradientElementImpl::resourceNotification):
        * ksvg2/impl/SVGRadialGradientElementImpl.h:
        * ksvg2/impl/SVGRectElementImpl.cpp:
        (SVGRectElementImpl::SVGRectElementImpl):
        (SVGRectElementImpl::parseAttribute):
        (SVGRectElementImpl::toPathData):
        * ksvg2/impl/SVGRectElementImpl.h:
        * ksvg2/impl/SVGRectImpl.cpp:
        (SVGRectImpl::SVGRectImpl):
        * ksvg2/impl/SVGSVGElementImpl.cpp:
        (SVGSVGElementImpl::SVGSVGElementImpl):
        (SVGSVGElementImpl::width):
        (SVGSVGElementImpl::height):
        (SVGSVGElementImpl::contentScriptType):
        (SVGSVGElementImpl::setContentScriptType):
        (SVGSVGElementImpl::contentStyleType):
        (SVGSVGElementImpl::setContentStyleType):
        (SVGSVGElementImpl::createEvent):
        (SVGSVGElementImpl::parseAttribute):
        (SVGSVGElementImpl::createCanvasItem):
        * ksvg2/impl/SVGSVGElementImpl.h:
        * ksvg2/impl/SVGScriptElementImpl.cpp:
        (SVGScriptElementImpl::SVGScriptElementImpl):
        (SVGScriptElementImpl::parseAttribute):
        (SVGScriptElementImpl::executeScript):
        * ksvg2/impl/SVGScriptElementImpl.h:
        * ksvg2/impl/SVGSetElementImpl.cpp:
        (SVGSetElementImpl::SVGSetElementImpl):
        * ksvg2/impl/SVGSetElementImpl.h:
        * ksvg2/impl/SVGStopElementImpl.cpp:
        (SVGStopElementImpl::SVGStopElementImpl):
        (SVGStopElementImpl::parseAttribute):
        (SVGStopElementImpl::createCanvasItem):
        * ksvg2/impl/SVGStopElementImpl.h:
        * ksvg2/impl/SVGStylableImpl.h:
        * ksvg2/impl/SVGStyleElementImpl.cpp:
        (SVGStyleElementImpl::SVGStyleElementImpl):
        (SVGStyleElementImpl::xmlspace):
        (SVGStyleElementImpl::type):
        (SVGStyleElementImpl::media):
        (SVGStyleElementImpl::title):
        (SVGStyleElementImpl::childrenChanged):
        * ksvg2/impl/SVGStyleElementImpl.h:
        * ksvg2/impl/SVGStyledElementImpl.cpp:
        (SVGStyledElementImpl::SVGStyledElementImpl):
        (SVGStyledElementImpl::getPresentationAttribute):
        (SVGStyledElementImpl::parseAttribute):
        (SVGStyledElementImpl::renderStyle):
        (SVGStyledElementImpl::attach):
        (SVGStyledElementImpl::detach):
        * ksvg2/impl/SVGStyledElementImpl.h:
        * ksvg2/impl/SVGSwitchElementImpl.cpp:
        (SVGSwitchElementImpl::SVGSwitchElementImpl):
        * ksvg2/impl/SVGSwitchElementImpl.h:
        * ksvg2/impl/SVGSymbolElementImpl.cpp:
        (SVGSymbolElementImpl::SVGSymbolElementImpl):
        * ksvg2/impl/SVGSymbolElementImpl.h:
        * ksvg2/impl/SVGTSpanElementImpl.cpp:
        (SVGTSpanElementImpl::SVGTSpanElementImpl):
        * ksvg2/impl/SVGTSpanElementImpl.h:
        * ksvg2/impl/SVGTestsImpl.cpp:
        (SVGTestsImpl::hasExtension):
        (SVGTestsImpl::isValid):
        * ksvg2/impl/SVGTestsImpl.h:
        * ksvg2/impl/SVGTextContentElementImpl.cpp:
        (SVGTextContentElementImpl::SVGTextContentElementImpl):
        * ksvg2/impl/SVGTextContentElementImpl.h:
        * ksvg2/impl/SVGTextElementImpl.cpp:
        (SVGTextElementImpl::SVGTextElementImpl):
        * ksvg2/impl/SVGTextElementImpl.h:
        * ksvg2/impl/SVGTextPositioningElementImpl.cpp:
        (SVGTextPositioningElementImpl::SVGTextPositioningElementImpl):
        * ksvg2/impl/SVGTextPositioningElementImpl.h:
        * ksvg2/impl/SVGTitleElementImpl.cpp:
        (SVGTitleElementImpl::SVGTitleElementImpl):
        (SVGTitleElementImpl::title):
        * ksvg2/impl/SVGTitleElementImpl.h:
        * ksvg2/impl/SVGTransformImpl.cpp:
        (SVGTransformImpl::SVGTransformImpl):
        * ksvg2/impl/SVGTransformableImpl.cpp:
        (SVGTransformableImpl::updateSubtreeMatrices):
        * ksvg2/impl/SVGTransformableImpl.h:
        * ksvg2/impl/SVGURIReferenceImpl.cpp:
        (SVGURIReferenceImpl::parseAttribute):
        * ksvg2/impl/SVGUseElementImpl.cpp:
        (SVGUseElementImpl::SVGUseElementImpl):
        (SVGUseElementImpl::parseAttribute):
        (SVGUseElementImpl::close):
        * ksvg2/impl/SVGUseElementImpl.h:
        * ksvg2/impl/SVGViewElementImpl.cpp:
        (SVGViewElementImpl::SVGViewElementImpl):
        * ksvg2/impl/SVGViewElementImpl.h:
        * ksvg2/scripts/generate.pl: Removed.
        * ksvg2/scripts/kalyptusKDOMEcma.pm: Removed.
        * ksvg2/scripts/svg.idl: Removed.
        * kwq/KWQSlot.mm: SVG slot support
        (KWQSlot::KWQSlot): slotTimerNotify
        (KWQSlot::call): TimeScheduler::timerNotify()

2005-08-24  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin/Maciej

        Test cases added: (NONE -- doesn't affect layout)

	- fixed <rdar://problem/4228818> leak of RenderLayer loading the Dictionary, 
	Flight Tracker, and Translation widget (maybe others) in Safari.


        * khtml/rendering/render_box.cpp:
        (RenderBox::setStyle): added assert to avoid potential problems.
        (RenderBox::detach): Added comment.
        * khtml/rendering/render_object.cpp:
        (RenderObject::detach): Added comment.
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::detach): Added code from RenderBox::deatch() that frees the layer used
				in setStyle()

2005-08-23  Vicki Murley  <vicki@apple.com>

        Reviewed by Adele.

	- fixed <rdar://problem/4229177> REGRESSION (Denver): crash dispatching mouse events (4608)
 
        Test cases added:
        * manual-tests/mouseevent-on-closeddoc.html: Added.
        * manual-tests/resources/mouseevent-on-closeddoc.html: Added.

        * khtml/khtmlview.cpp:
        (KHTMLView::dispatchMouseEvent): add nil check 

2005-08-20  Darin Adler  <darin@apple.com>

        Reviewed by John.

        - fixed http://bugs.webkit.org/show_bug.cgi?id=4545
          REGRESSION: content inside <nolayer> does not get in the DOM tree, but should

        * khtml/html/htmlparser.cpp: (HTMLParser::getNode): Remove code to omit children of <nolayer>.

        * layout-tests/fast/dom/no-elements.html: Update test for new behavior.
        * layout-tests/fast/dom/no-elements-expected.txt: Updated test results.

2005-08-23  Darin Adler  <darin@apple.com>

        - fixed test that was accessing a remote resource by accident

        * layout-tests/fast/lists/009.html: Correct URL to be relative.

== Rolled over to ChangeLog-2005-08-23 ==
