WebKit-https.git
14 years ago This patch makes drawHighlightForText a completely cross-platform method
hyatt [Thu, 11 May 2006 21:56:29 +0000 (21:56 +0000)]
    This patch makes drawHighlightForText a completely cross-platform method
        implemented by the GraphicsContext.  The platform-specific implementations
        of the method in the Font class have been eliminated.

        Reviewed by andersca

        * platform/Font.h:
        * platform/FontData.h:
        Remove the drawHighlight methods.  Change the selectionRect method in
        Font to return a FloatRect so that the GraphicsContext can do an accurate
        fill.

        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawHighlightForText):
        Implement the drawHighlightFunction in terms of the cross-platform
        Font selectionRect functions and a new float-based fillRect graphics context
        function.

        * platform/GraphicsContext.h:
        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillRect):
        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRect):
        Add the new float-based fillRect function for Cairo and CG.

        * platform/mac/FontData.mm:
        (WebCore::CG_draw):
        (WebCore::ATSU_draw):
        Removed the CG and ATSU drawHighlight methods.  Remove the drawing of
        the background from the deprecated draw methods (they'll be removed
        soon).

        * platform/mac/FontMac.mm:
        (WebCore::Font::selectionRectForText):
        * platform/win/FontWin.cpp:
        (WebCore::Font::selectionRectForText):
        Change selectionRectForText to return a FloatRect instead of an IntRect,
        so that the GraphicsContext can do a precise fill.

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::positionForOffset):
        Modify the callers who expect an int-based selection rect so that they call
        enclosingIntRect.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14304 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Anders.
thatcher [Thu, 11 May 2006 19:05:25 +0000 (19:05 +0000)]
    Reviewed by Anders.

        Fixes <rdar://problem/4411845> lots of SPOD trying to scroll through
        Markup & Content inspecting body at apple.com (6614)
        http://bugzilla.opendarwin.org/show_bug.cgi?id=6614

        Removed the Markup & Content pane when viewing a element.
        This pane was not that useful and made the inspector really slow
        when the markup was large. Only show this pane for text nodes.

        * WebInspector/webInspector/inspector.css: use -webkit prefix
        * WebInspector/webInspector/inspector.html:
        * WebInspector/webInspector/inspector.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14303 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Timothy.
thatcher [Thu, 11 May 2006 18:34:31 +0000 (18:34 +0000)]
    Reviewed by Timothy.

        Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8810>
        Bug 8810: Scrollbars in WebInspector rendered incorrectly

        * WebInspector/webInspector/inspector.css:
        Make scroll bars absolutely positioned.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14302 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
darin [Thu, 11 May 2006 17:47:02 +0000 (17:47 +0000)]
LayoutTests:

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8743
          REGRESSION: focus() on input field selects all text within it (was: cannot select cities on British Rail reservation site)

        * fast/forms/double-focus-expected.txt: Added.
        * fast/forms/double-focus.html: Added.

WebCore:

        Reviewed by Adele.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8743
          REGRESSION: focus() on input field selects all text within it
          (was: cannot select cities on British Rail reservation site)

        Test: fast/forms/double-focus.html

        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::focus):
        Changed to only call setFocusNode, select, and revealSelection
        if the element is not already focused. Also changed to use return
        a bit more rather than else.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14301 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Hatcher (earlier version).
darin [Thu, 11 May 2006 17:23:50 +0000 (17:23 +0000)]
    Reviewed by Tim Hatcher (earlier version).

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8821
          use the preprocessor for IDL files

        * bindings/scripts/IDLParser.pm: Invoke the preprocessor via the "gcc"
        driver script, passing "-E" so we only preprocess, "-P" so we don't get
        "#line" directives, and "-x c++" so we handle both C and C++ comments.
        Removed the code to eliminate comments since the preprocessor handles that.
        * css/make-css-file-arrays.pl: This already invoked the preprocessor, but
        updated it to do the same way as above.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14299 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
andersca [Thu, 11 May 2006 11:38:55 +0000 (11:38 +0000)]
WebCore:

2006-05-11  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=7838
        Add support for mozilla-style node constructors as properties of the window object

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        Add new generated files.

        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSWrapper):
        Specify the KJS namespace for JSHTMLElmement.

        * bindings/js/kjs_dom.cpp:
        (KJS::toJS):
        Create a WebCore::JSHTMLDocument for document nodes. Also, create
        JSDocumentFragments for document fragments (instead of plain node objects).

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocumentProtoFunc::callAsFunction):
        (KJS::JSHTMLDocument::JSHTMLDocument):
        (KJS::JSHTMLDocument::getOwnPropertySlot):
        Add a prototype for JSHTMLDocument and move all functions there.

        (KJS::JSHTMLElement::JSHTMLElement):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        Update since JSHTMLElement now inherits from WebCore::JSHTMLElement.

        (KJS::JSHTMLElement::getValueProperty):
        (KJS::JSHTMLElement::putValueProperty):
        Remove title setter and getter. Those are autogenerated now.

        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        Inherit from WebCore::JSHTMLElement. Clarify the inheritance chain.

        * bindings/scripts/CodeGeneratorJS.pm:
        Always generate a prototype object, regardless of whether the object has any functions or
        constants.

        Use the type of generator attributes to determine what constructor to use. This is useful for
        the XMLDocument property in DOMWindow.idl, since that's just an alias for the Document constructor.

        * dom/DocumentFragment.idl: Added.
        * html/HTMLDocument.idl: Added.
        * html/HTMLElement.idl: Added.

        * page/DOMWindow.idl:
        Add constructors for DocumentFragment, HTMLElement, HTMLDocument and XMLDocument. XMLDocument is just
        an alias for the Document constructor.

LayoutTests:

2006-05-11  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=7838
        Add support for mozilla-style node constructors as properties of the window object

        * fast/dom/prototype-chain-expected.txt:
        Update prototype chains.

        * fast/dom/global-constructors-expected.txt:
        * fast/dom/global-constructors.html:
        Test new constructor objects.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14298 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Bug 8845. Define a TextRun (similar to the old WebCoreTextRun) and
hyatt [Thu, 11 May 2006 10:19:34 +0000 (10:19 +0000)]
    Bug 8845.  Define a TextRun (similar to the old WebCoreTextRun) and
        make it the new API for Font and GraphicsContext when drawing/measuring
        text.

        Reviewed by andersca

        * platform/Font.cpp:
        (WebCore::m_finalRoundingWidth):
        (WebCore::WidthIterator::advance):
        (WebCore::WidthIterator::normalizeVoicingMarks):
        (WebCore::Font::width):
        (WebCore::Font::canUseGlyphCache):
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawText):
        (WebCore::Font::floatWidth):
        (WebCore::Font::floatWidthForSimpleText):
        * platform/Font.h:
        (WebCore::TextRun::m_to):
        (WebCore::TextRun::operator[]):
        (WebCore::TextRun::data):
        (WebCore::TextRun::adjustFrom):
        (WebCore::TextRun::adjustTo):
        (WebCore::TextRun::characters):
        (WebCore::TextRun::length):
        (WebCore::TextRun::from):
        (WebCore::TextRun::to):
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawText):
        (WebCore::GraphicsContext::drawHighlightForText):
        * platform/GraphicsContext.h:
        * platform/mac/FontMac.mm:
        (WebCore::addDirectionalOverride):
        (WebCore::overrideLayoutOperation):
        (WebCore::ATSULayoutParameters::initialize):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::checkSelectionPoint):
        * platform/win/FontWin.cpp:
        (WebCore::hackishExtentForString):
        (WebCore::Font::floatWidth):
        (WebCore::Font::drawText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::checkSelectionPoint):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintMarkedTextBackground):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/RenderBlock.cpp:
        (WebCore::stripTrailingSpace):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged):
        (WebCore::RenderImage::paint):
        * rendering/RenderText.cpp:
        (WebCore::RenderText::cacheWidths):
        (WebCore::RenderText::widthFromCache):
        (WebCore::RenderText::trimmedMinMaxWidth):
        (WebCore::RenderText::calcMinMaxWidth):
        (WebCore::RenderText::width):
        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::calcMinMaxWidth):
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::tabWidth):
        (WebCore::RenderBlock::checkLinesForTextOverflow):
        * rendering/render_line.cpp:
        (WebCore::EllipsisBox::paint):
        * rendering/render_list.cpp:
        (WebCore::RenderListMarker::paint):
        (WebCore::RenderListMarker::calcMinMaxWidth):
        (WebCore::RenderListMarker::getRelativeMarkerRect):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14297 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFixed my incorrect wording.
justing [Thu, 11 May 2006 02:52:19 +0000 (02:52 +0000)]
Fixed my incorrect wording.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14295 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Thu, 11 May 2006 01:26:20 +0000 (01:26 +0000)]
LayoutTests:

        Reviewed by darin

        Fixed a select-after-replacement problem:
        * editing/pasteboard/drag-drop-modifies-page-expected.checksum:
        * editing/pasteboard/drag-drop-modifies-page-expected.png:
        * editing/pasteboard/drag-drop-modifies-page-expected.txt:

        The trailing interchange newline used to be lost:
        * editing/pasteboard/paste-text-012-expected.checksum:
        * editing/pasteboard/paste-text-012-expected.png:
        * editing/pasteboard/paste-text-012-expected.txt:
        * editing/pasteboard/paste-text-012.html:
        * editing/pasteboard/paste-text-016-expected.checksum:
        * editing/pasteboard/paste-text-016-expected.png:
        * editing/pasteboard/paste-text-016-expected.txt:
        * editing/pasteboard/paste-text-017-expected.checksum:
        * editing/pasteboard/paste-text-017-expected.png:
        * editing/pasteboard/paste-text-017-expected.txt:

        Illustrates the bug fixed in smart replace whitespace handling:
        * editing/pasteboard/smart-paste-008.html
        * editing/pasteboard/smart-paste-008-expected.txt
        * editing/pasteboard/smart-paste-008-expected.png
        * editing/pasteboard/smart-paste-008-expected.checksum

WebCore:

        Reviewed by darin

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply):
        Removed the code to find out if we must later add smart replace whitespace.  We can
        wait until we've done the insertion to figure it out, and the position sampled (startPos)
        to make the decision about trailing whitespace was wrong.
        Changed the order that work is done during a paste: 1) Insert everything 2) Do one of
        the following: a) handle a trailing interchange newline, b) uncollapse the last incoming
        br if it has been collapsed because of quirks mode, c) do an end merge 3) Add smart replace
        whitespace (2 and 3 were reversed because the end merge must happen before we can know
        whether or not we need to add a trailing space).
        Don't do an end merge if the last node inserted was a br because the end merge will
        clobber it.

        (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
        brs that are at the end of a block and not at the start of a block are not the one brs
        that are collapsed because of quirks mode.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14294 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
tomernic [Thu, 11 May 2006 01:04:45 +0000 (01:04 +0000)]
    Reviewed by Darin.

        <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
        <http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>

        * Misc/WebNSWindowExtras.h:
        * Misc/WebNSWindowExtras.m:
        (+[NSWindow _webkit_enableWindowDisplayThrottle]):
        Overrides certain NSWindow methods so that window autodisplay can be throttled to 60Hz.

        (disableWindowDisplayThrottleApplierFunction):
        CFDictionary applier function for when the throttle is disabled.  Cancels all pending window displays,
        and calls -displayIfNeeded on each window with a pending display.

        (+[NSWindow _webkit_disableWindowDisplayThrottle]):
        Restores default NSWindow method implementations and clears pending window displays.

        (swizzleInstanceMethod):
        Helper function to swizzle ObjC method implementations.

        (replacementPostWindowNeedsDisplay):
        Don't call into -[NSWindow _postWindowNeedsDisplay] if requestWindowDisplay() returns NO (this is the
        function that throttles display).

        (replacementClose):
        Clean up the WindowDisplayInfo struct for the window, since it's about to go away.

        (getWindowDisplayInfo):
        Gets the WindowDisplayInfo struct for the window, or creates it if absent.

        (requestWindowDisplay):
        Returns YES if a display is allowed right now.  Returns NO otherwise, and schedules a timer to try the
        display again.

        (cancelPendingWindowDisplay):
        Cancels the pending display for the window, if any.

        (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
        Try to call _postWindowNeedsDisplay again.

        * WebView/WebFrameView.m:
        (-[WebFrameView initWithFrame:]):
        If the secret "WebKitThrottleWindowDisplay" default is set, then enable the NSWindow throttle.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14293 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Rename isSpace to treatAsSpace. Move it and the rounding hack function into
hyatt [Wed, 10 May 2006 21:08:31 +0000 (21:08 +0000)]
    Rename isSpace to treatAsSpace.  Move it and the rounding hack function into
        Font and make them static methods (inlined in the header).  Make the rounding
        hack character table a static member as well.  Remove the redundant space/rounding
        functions from FontData.mm.

        Reviewed by darin

        * platform/Font.cpp:
        (WebCore::):
        (WebCore::m_finalRoundingWidth):
        (WebCore::WidthIterator::advance):
        * platform/Font.h:
        (WebCore::Font::treatAsSpace):
        (WebCore::Font::isRoundingHackCharacter):
        * platform/mac/FontData.mm:
        (WebCore::overrideLayoutOperation):
        (WebCore::createATSULayoutParameters):
        (WebCore::initializeWidthIterator):
        (WebCore::advanceWidthIterator):
        * platform/mac/FontMac.mm:
        (WebCore::overrideLayoutOperation):
        (WebCore::ATSULayoutParameters::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14292 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago * WebCore: Removed an extra WebCore subtree that somehow got checked in.
darin [Wed, 10 May 2006 20:49:55 +0000 (20:49 +0000)]
    * WebCore: Removed an extra WebCore subtree that somehow got checked in.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14291 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFix typo from the removal of the inline keyword from some functions.
hyatt [Wed, 10 May 2006 20:27:50 +0000 (20:27 +0000)]
Fix typo from the removal of the inline keyword from some functions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14290 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - Fix for bug 8833. Removed inline keyword from functions declared
thatcher [Wed, 10 May 2006 18:09:03 +0000 (18:09 +0000)]
    - Fix for bug 8833. Removed inline keyword from functions declared
        in .mm and .cpp files. inline function code needs to reside in the
        header file for the linker to find the code.
        http://www.parashift.com/c++-faq-lite/inline-functions.html#faq-9.7

        Reviewed by Darin, landed by Timothy.

        * platform/Font.cpp:
        (WebCore::isSpace):
        * platform/mac/FontData.mm:
        (WebCore::widthForGlyph):
        (WebCore::isRoundingHackCharacter):
        (WebCore::glyphForCharacter):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14286 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Anders.
ap [Wed, 10 May 2006 17:28:31 +0000 (17:28 +0000)]
    Reviewed by Anders.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6621
          Blank page in Safari; http://www.capitalone.co.uk/web/MenuUrl?z=null&c=null% (Works in Firefox & IE)

        The problem itself was fixed by Anders in bug 8808 (WebCore should handle text files).

        * http/tests/misc/resources: Added.
        * http/tests/misc/resources/200.html: Added.
        * http/tests/misc/resources/text-refresh.pl: Added.
        * http/tests/misc/text-refresh-expected.txt: Added.
        * http/tests/misc/text-refresh.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14285 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
andersca [Wed, 10 May 2006 15:11:47 +0000 (15:11 +0000)]
2006-05-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>

        Reviewed and landed by Anders.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8830
          REGRESSION: Words render on top of each other when fallback font is used

        Already covered by several pixel tests in fast/text

        * platform/Font.cpp:
        (WebCore::Font::drawSimpleText):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Fix for bug 8809, lift the Mac-specific WebTextRenderer code for
hyatt [Wed, 10 May 2006 08:49:41 +0000 (08:49 +0000)]
    Fix for bug 8809, lift the Mac-specific WebTextRenderer code for
        drawing and measuring of runs up into the Font class.  The fast code
        path is in Font.cpp and is designed to be mostly cross-platform.  The
        slow code path is in FontMac.cpp and is Mac-specific.

        Reviewed by darin

        * WebCore.xcodeproj/project.pbxproj:
        * platform/Font.cpp:
        (WebCore::isSpace):
        (WebCore::):
        (WebCore::isRoundingHackCharacter):
        (WebCore::m_finalRoundingWidth):
        (WebCore::WidthIterator::advance):
        (WebCore::WidthIterator::normalizeVoicingMarks):
        (WebCore::Font::primaryFont):
        (WebCore::Font::setAlwaysUseComplexPath):
        (WebCore::Font::canUseGlyphCache):
        (WebCore::Font::drawSimpleText):
        (WebCore::Font::drawText):
        (WebCore::Font::floatWidth):
        (WebCore::Font::floatWidthForSimpleText):
        * platform/Font.h:
        * platform/FontData.h:
        (WebCore::FontData::platformData):
        * platform/GlyphBuffer.h: Added.
        (WebCore::GlyphBuffer::GlyphBuffer):
        (WebCore::GlyphBuffer::isEmpty):
        (WebCore::GlyphBuffer::size):
        (WebCore::GlyphBuffer::glyphs):
        (WebCore::GlyphBuffer::advances):
        (WebCore::GlyphBuffer::fontDataAt):
        (WebCore::GlyphBuffer::swap):
        (WebCore::GlyphBuffer::glyphAt):
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::add):
        * platform/mac/FontData.mm:
        (WebCore::isSpace):
        (WebCore::isRoundingHackCharacter):
        (WebCore::FontData::widthForGlyph):
        (WebCore::m_ATSUMirrors):
        (WebCore::FontData::xHeight):
        (WebCore::FontData::smallCapsFontData):
        (WebCore::findSubstituteFont):
        (WebCore::rendererForAlternateFont):
        (WebCore::findSubstituteRenderer):
        (WebCore::FontData::findSubstituteFontData):
        (WebCore::computeWidthForSpace):
        (WebCore::FontData::updateGlyphMapEntry):
        (WebCore::extendGlyphMap):
        (WebCore::extendWidthMap):
        (WebCore::createATSULayoutParameters):
        (WebCore::FontData::glyphForCharacter):
        (WebCore::advanceWidthIterator):
        (WebCore::shouldUseATSU):
        * platform/mac/FontMac.mm:
        (WebCore::ATSULayoutParameters::m_padPerSpace):
        (WebCore::addDirectionalOverride):
        (WebCore::initializeATSUStyle):
        (WebCore::overrideLayoutOperation):
        (WebCore::ATSULayoutParameters::initialize):
        (WebCore::disposeATSULayoutParameters):
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::Font::drawGlyphs):
        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreSetAlwaysUseATSU):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14283 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-10 Anders Carlsson <acarlsson@apple.com>
andersca [Wed, 10 May 2006 08:18:00 +0000 (08:18 +0000)]
2006-05-10  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        * WebView/WebHTMLView.m:
        (+[WebHTMLView unsupportedTextMIMETypes]):
        Add text/rtf

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - another try at fixing the Windows build
darin [Wed, 10 May 2006 07:20:02 +0000 (07:20 +0000)]
    - another try at fixing the Windows build

        * platform/win/FontWin.cpp: (WebCore::getFontData): Use characters()
        instead of unicode().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14281 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoCut change log.
darin [Wed, 10 May 2006 07:19:19 +0000 (07:19 +0000)]
Cut change log.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14280 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed, tweaked, and landed by Darin.
darin [Wed, 10 May 2006 07:12:56 +0000 (07:12 +0000)]
    Reviewed, tweaked, and landed by Darin.

        Optimization of [DOMNode _nodeWith:] to look up the obj-c wrapperClass
        for each HTMLElement using a HashMap instead of by repeated calls to
        htmlElt->hasLocalName(someTag).

        * bindings/objc/DOM.mm:
        (addElementClass): Added.
        (createHTMLElementClassMap):
        (elementClass):
        (+[DOMNode _nodeWith:]): Added code to call elementClass.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14279 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Hyatt.
darin [Wed, 10 May 2006 06:56:13 +0000 (06:56 +0000)]
    Reviewed by Hyatt.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8760
          crash (hang?) on subtlegradient.com article page

        * manual-tests/first-line-style-crash.html: Added.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::createStyleForElement): Changed to not return the
        shared styleNotYetAvailable if allowSharing is off.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::getPseudoStyle): In the FIRST_LINE_INHERITED case,
        set the styleType on the style returned from createStyleForElement().
        * rendering/render_style.h:
        (WebCore::RenderStyle::setStyleType): Added. Called from RenderObject::getPseudoStyle().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Hyatt.
darin [Wed, 10 May 2006 06:42:30 +0000 (06:42 +0000)]
    Reviewed by Hyatt.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8789
          RenderStyle::getPseudoStyle() always returns 0

        No test possible (no functionality change).

        * dom/Node.cpp:
        (WebCore::Node::diff): When checking if :before or :after has changed,
        return NoInherit unless both pseudoStyles are known and equal.
        * rendering/render_style.cpp:
        (WebCore::RenderStyle::getPseudoStyle): Fixed to match the requested
        type against the pseudoStyle's styleType instead of our own.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - another attempt to fix the Windows build
darin [Wed, 10 May 2006 06:04:29 +0000 (06:04 +0000)]
    - another attempt to fix the Windows build

        * bindings/js/kjs_window.cpp: (KJS::isSeparator): Take a UChar, not a KJS::UChar.
        * bridge/win/FrameWin.cpp:
        (WebCore::FrameWin::runJavaScriptAlert): Use UChar instead of QChar.
        (WebCore::FrameWin::runJavaScriptConfirm): Ditto.
        * editing/TextIterator.h: Include DeprecatedString.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14276 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
darin [Wed, 10 May 2006 05:43:14 +0000 (05:43 +0000)]
LayoutTests:

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8781
          REGRESSION: image maps with "poly" areas, including one at lisp.geek.nz, don't work

        * fast/replaced/image-map.html: Added.
        * fast/replaced/image-map-expected.txt: Added.

WebCore:

        Reviewed by Hyatt.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8781
          REGRESSION: image maps with "poly" areas, including one at lisp.geek.nz, don't work

        * html/html_imageimpl.cpp: (WebCore::HTMLAreaElement::getRegion): Remove extra Path
        definition that was shadowing the real one.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14275 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
darin [Wed, 10 May 2006 05:26:26 +0000 (05:26 +0000)]
WebCore:

        - fix build

        * rendering/render_style.cpp: (WebCore::RenderStyle::getPseudoStyle):
        Fix a typo.

        - attempt to fix Windows build

        * css/maketokenizer: Use UChar instead of unsigned short.
        * platform/win/FontWin.cpp:
        (WebCore::getFontData): Removed cast to QChar.
        (WebCore::hackishExtentForString): Use UChar.
        (WebCore::Font::floatWidth): Use UChar.
        (WebCore::Font::drawText): Use UChar.
        (WebCore::Font::drawHighlightForText): Use UChar.
        (WebCore::Font::selectionRectForText): Use UChar.
        (WebCore::Font::checkSelectionPoint): Use UChar.
        * platform/win/KeyEventWin.cpp:
        (WebCore::singleCharacterString): Added.
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Use above function.
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::findNextSentenceFromIndex): Use UChar.
        (WebCore::findSentenceBoundary): Use UChar.
        (WebCore::findNextWordFromIndex): Use UChar.
        (WebCore::findWordBoundary): Use UChar.
        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJob::start): Use a different String constructor.
        * rendering/RenderTable.h: Added an include of DeprecatedArray.h.
        * rendering/RenderText.cpp: Added an include of DeprecatedString.h.
        * rendering/render_list.h: Ditto.

WebKitWin:

        - attempt to fix the Windows build

        * WebView.cpp: (WebKit::WebViewWndProc): Convert to String explicitly via UChar instead of
        implicitly via QChar.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14274 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
darin [Wed, 10 May 2006 04:59:57 +0000 (04:59 +0000)]
LayoutTests:

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6310
          text-transform: uppercase/lowercase don't handle cases one character becomes two

        * fast/css/case-transform.html: Added.
        * fast/css/case-transform-expected.txt: Added.

WebCore:

        Rubber stamped by Hyatt.

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8782
          use ICU and UChar more, QChar less

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6310
          text-transform: uppercase/lowercase don't handle cases one character becomes two

        Test: fast/css/case-transform.html

        By using ICU more, this fixes some bugs in a few places.

        * bindings/js/JSXMLSerializer.cpp:
        * css/css_valueimpl.h:
        * kwq/KWQTextStream.cpp:
        * loader/CachedObject.h:
        * platform/Color.cpp:
        Add includes of DeprecatedString.h as needed, now that StringImpl.h no longer
        includes it.

        * bindings/js/kjs_css.cpp: (KJS::cssPropertyName):
        Eliminate use of QChar::latin1() in a case where it's not helpful.

        * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate):
        Use characters() function instead of the old unicode() function.

        * bindings/js/kjs_window.cpp: (KJS::isSeparator):
        Use UChar instead of QChar.

        * bindings/objc/DOMInternal.mm:
        (StringImpl::operator NSString*): Remove typecast that's no longer needed.
        (String::String): Ditto. Also use Vector for local buffer to make code read simpler.

        * bridge/mac/FrameMac.mm:
        (WebCore::selectorForKeyEvent): Remove call to unicode() function, no longer needed.
        (WebCore::FrameMac::setTitle): Remove QChar cast, no longer needed.
        (WebCore::FrameMac::setStatusBarText): Ditto.
        (WebCore::FrameMac::advanceToNextMisspelling): Use UChar instead of QChar.
        (WebCore::FrameMac::runJavaScriptAlert): Remove QChar cast, no longer needed.
        (WebCore::FrameMac::runJavaScriptConfirm): Ditto.
        (WebCore::FrameMac::runJavaScriptPrompt): Ditto.
        (WebCore::FrameMac::attributedString): Replaces calls of QChar::direction() with
        calls to u_charDirection and use ICU constants instead of QChar ones.
        (WebCore::FrameMac::markMisspellings): Remove QChar cast, no longer needed. Added a
        QChar cast so we can call isSpace -- slated to be removed later.
        (WebCore::FrameMac::shouldClose): Remove QChar cast, no longer needed.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge selectedString]): Remove QChar cast, no longer needed.
        (-[WebCoreFrameBridge stringForRange:]): Ditto.

        * css/CSSGrammar.y: Update for field name change from string to characters.
        Use UChar instead of unsigned short.

        * css/css_valueimpl.cpp:
        (WebCore::propertyID): Use UChar instead of unsigned short and get rid of call to
        unicode() function, no longer needed.
        (WebCore::quoteStringIfNeeded): Use strings when building up a resulting string,
        instead of depending on the feature where you can append characters to a string.

        * css/csshelper.cpp: (WebCore::parseURL): Remove calls to unicode() function and
        rewrite to obviate the need to call lower() just to check for a few constant
        character values. Also remove a now-unneeded type cast.

        * css/cssparser.h: Changed ParseString field to use UChar and to be named characters
        instead of string. Changed many other fields to be UChar instead of unsigned short.
        (WebCore::domString): Update for that.
        (WebCore::atomicString): Ditto.
        * css/cssparser.cpp:
        (WebCore::ParseString::lower): Use u_tolower instead of QChar::lower(). Also change
        name to characters from string.
        (WebCore::CSSParser::setupParser): Use UChar instead of unsigned short.
        (WebCore::CSSParser::lex): Ditto. Also update for characters name change.
        (WebCore::CSSParser::text): Use UChar instead of unsigned short. Also tweak some
        of the code a little bit to handle a couple of overflow cases better and reduce
        type casting.
        (WebCore::deprecatedString): Moved here so we don't have to include DeprecatedString.h
        in the header file.

        * css/cssstyleselector.cpp: (WebCore::checkPseudoState): Added a type cast since this
        code now bridges the world between modern code and QChar/DeprecatedString.

        * dom/CharacterData.cpp: (WebCore::CharacterData::CharacterData): Changed QChar to UChar.

        * dom/Document.h:
        * dom/Document.cpp:
        (WebCore::Document::isValidName): Updated for name change from unicode to characters.
        (WebCore::Document::parseQualifiedName): Ditto.
        (WebCore::Document::backslashAsCurrencySymbol): Changed return type to UChar.

        * dom/NamedMappedAttrMap.cpp:
        (WebCore::isClassWhitespace): Changed parameter to UChar from QChar.
        (WebCore::NamedMappedAttrMap::parseClassAttribute): Changed from UChar to QChar and
        from unicode to characters.

        * dom/Position.cpp:
        (WebCore::Position::leadingWhitespacePosition): Changed from QChar to UChar.
        (WebCore::Position::trailingWhitespacePosition): Ditto.

        * dom/StyledElement.cpp:
        (WebCore::isClassWhitespace): Changed from QChar to UChar.
        (WebCore::StyledElement::addCSSLength): Changed from QChar to UChar, and remove one
        case where latin1() was used and was not helpful.
        (WebCore::StyledElement::addCSSColor): Removed unicode() function call, no longer needed.

        * dom/dom2_eventsimpl.cpp: (WebCore::KeyboardEvent::charCode):
        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue):
        Removed unicode() function call, no longer needed.

        * dom/xml_tokenizer.h: Removed default parameter for xmlDocPtrForString so we don't have
        to include the DeprecatedString.h header in this file (and since no one uses it).

        * editing/HTMLInterchange.cpp: (convertHTMLTextToInterchangeFormat): Added a couple calls
        to the unicode() function to bridge the gap from QChar/DeprecatedString back to modern
        code.

        * editing/InsertTextCommand.cpp: Removed unused function.

        * editing/TextIterator.h: Changed from QChar to UChar.
        * editing/TextIterator.cpp:
        (WebCore::TextIterator::TextIterator): Initialize m_lastCharacter since it's now a UChar
        (which is just a typedef) rather than a QChar (which was a class with a default value of 0).
        (WebCore::TextIterator::handleTextNode): Updated to use characters() instead of unicode().
        (WebCore::TextIterator::handleTextBox): Removed unicode() call since it's now a UChar instead
        of a QChar.
        (WebCore::TextIterator::emitCharacter): More of the same.
        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
        (WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
        (WebCore::CharacterIterator::string): Ditto.
        (WebCore::WordAwareIterator::advance): Ditto.
        (WebCore::WordAwareIterator::length): Ditto.
        (WebCore::WordAwareIterator::characters): Ditto.
        (WebCore::CircularSearchBuffer::CircularSearchBuffer): Changed to use UChar
        instead of QChar, but also to use foldCase() instead of lower(), because
        we want case folding here, not lowercasing.
        (WebCore::CircularSearchBuffer::append): Ditto, with u_foldCase.
        (WebCore::CircularSearchBuffer::isMatch): Ditto.
        (WebCore::plainText): Added type cast since this bridges the gap from the modern stuff
        to QChar/DeprecatedString.

        * editing/VisiblePosition.h: Changed from QChar to UChar.
        * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::characterAfter): Ditto.

        * editing/markup.cpp: (WebCore::escapeTextForMarkup): Changed code that used latin1()
        for no good reason to use unicode() instead.

        * html/HTMLTokenizer.h: Changed from QChar to UChar.
        * html/HTMLTokenizer.cpp: Changed from QChar to UChar, including removing the
        KHTML_ALLOC_QCHAR_VEC and KHTML_DELETE_QCHAR_VEC macros, which weren't being
        used consistently anyway.
        (WebCore::fixUpChar): More of the same.
        (WebCore::tagMatch): Ditto.
        (WebCore::HTMLTokenizer::reset): Ditto.
        (WebCore::HTMLTokenizer::begin): Ditto. Also corrected anomaly where buffer
        size was not the same as the size value -- this was only true in the initial
        allocation, so I believe there was no value in it.
        (WebCore::HTMLTokenizer::parseSpecial): Ditto. Also removed a use of latin1()
        that was unnnecessary extra work.
        (WebCore::HTMLTokenizer::scriptHandler): More of the same.
        (WebCore::HTMLTokenizer::parseComment): Ditto.
        (WebCore::HTMLTokenizer::parseServer): Ditto.
        (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. Another unnecessary
        use of latin1() removed.
        (WebCore::HTMLTokenizer::parseText): Ditto.
        (WebCore::HTMLTokenizer::parseEntity): Ditto. Changed hex-parsing code to handle
        uppercase hex a more-efficient way than calling QChar::lower() on each character.
        Also changed surrogate code logic to fix a couple things -- reject character codes
        > 0x10FFFF as it should and use U16_LEAD and U16_TRAIL instead of writing our
        own versions of these.
        (WebCore::HTMLTokenizer::parseTag): Ditto.
        (WebCore::HTMLTokenizer::write): Ditto.
        (WebCore::HTMLTokenizer::end): Ditto.
        (WebCore::HTMLTokenizer::finish): Ditto.
        (WebCore::HTMLTokenizer::enlargeBuffer): Ditto.
        (WebCore::HTMLTokenizer::enlargeScriptBuffer): Ditto.
        (WebCore::HTMLTokenizer::notifyFinished):
        (WebCore::decodeNamedEntity): Ditto.

        * html/html_inlineimpl.cpp: (WebCore::parseFontSizeNumber): Changed from QChar
        to UChar, including using u_isdigit and u_charDigitValue instead of QChar::isNumber
        and QChar::digitValue. Also removed unneeded range checking that's already done
        by WebCore::String.

        * kwq/KWQLoader.mm: (KWQIsResponseURLEqualToURL): Rewrote to use Vector and UChar,
        removing all the type casts and making the whole function much shorter.

        * kwq/WebCoreAXObject.mm:
        (AXAttributedStringAppendText): Use UChar instead of QChar.
        (-[WebCoreAXObject doAXAttributedStringForTextMarkerRange:]): More of the same.

        * loader/Cache.h: Remove unnecessary default parameters, preventing the need to
        include the DeprecatedString.h header in this header. Cleaned up the header
        structure a bit, removing some obsolete and redundant comments and fixing typos.
        * loader/Cache.cpp: Removed unused preload functions.

        * page/Frame.h:
        * page/Frame.cpp:
        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): Added explicit arguments.
        This was the only caller anywhere that took advantage of the default parameter
        values in one of the Cache class request functions.
        (WebCore::Frame::backslashAsCurrencySymbol): Changed QChar to UChar.

        * platform/AtomicString.h: Changed QChar to UChar. Removed constructor that makes
        an AtomicString from a single character. Renamed unicode() function to characters().
        Renamed KHTML_ATOMICSTRING_HIDE_GLOBALS to ATOMICSTRING_HIDE_GLOBALS.
        * platform/AtomicString.cpp:
        (WebCore::CStringTranslator::equal): Changed QChar to UChar.
        (WebCore::operator==): Changed unicode() to characters().
        (WebCore::UCharBufferTranslator::hash): More of the same.
        (WebCore::UCharBufferTranslator::equal): Ditto.
        (WebCore::UCharBufferTranslator::translate): Ditto.
        (WebCore::AtomicString::add): Ditto.
        (WebCore::AtomicString::operator Identifier): Ditto.
        (WebCore::AtomicString::operator UString): Ditto.
        (WebCore::AtomicString::AtomicString): Moved here so we don't need DeprecatedString.h
        in the header.
        (WebCore::AtomicString::deprecatedString): Ditto.

        * platform/DeprecatedString.h: Removed QChar::Direction enum and all the DirXXX values,
        isDigit, isLetter, isNumber, isLetterOrNumber, isPunct, digitValue, and direction functions.
        (QChar::isSpace): Changed to use u_charDirection instead of QChar::direction.

        * platform/Font.h: (WebCore::Font::width): Changed QChar to UChar.
        * platform/Font.cpp: (WebCore::Font::width): Ditto.

        * platform/GraphicsContext.h:
        * platform/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawText): Changed QChar to UChar. Removed horizontalAlignment
        parameter from simplified string drawing entry point, since it's not used.
        (WebCore::GraphicsContext::drawHighlightForText): Changed QChar to UChar.

        * platform/PlatformString.h: Changed QChar to UChar. Removed constructor that makes
        a String from a single character. Renamed unicode() function to characters(). Added
        an append function and changed += operator to just call that. Added a foldCase() function.
        Removed the concatenation operators that add individual strings before or after.
        * platform/String.cpp:
        (WebCore::String::String): Changed QChar to UChar.
        (WebCore::String::append): Renamed from operator+= and removed the return value.
        (WebCore::String::operator[]): Changed QChar to UChar.
        (WebCore::String::foldCase): Added.
        (WebCore::String::percentage): More of the same.
        (WebCore::String::characters): Renamed from unicode().
        (WebCore::String::deprecatedString): More of the same.
        (WebCore::String::sprintf): Fixed mistakes in the comments.
        (WebCore::String::isEmpty): Tweaked a bit.
        (WebCore::operator==): More of the same.
        (WebCore::String::operator Identifier): Ditto.
        (WebCore::String::operator UString): Ditto.

        * platform/SegmentedString.h: Changed from QChar to UChar. Had to initialize
        data members that are now UChar.
        * platform/SegmentedString.cpp:
        (WebCore::SegmentedString::length): Updated for change from QChar to UChar.
        (WebCore::SegmentedString::append): Ditto.
        (WebCore::SegmentedString::prepend): Ditto.
        (WebCore::SegmentedString::toString): Ditto.

        * platform/StringHash.h: Updated to use UChar instead of QChar and for name changes.
        Also changed to use case folding intead of lowercasing for case insensitive hashing.

        * platform/StringImpl.h:
        * platform/StringImpl.cpp:
        (WebCore::newUCharVector): Changed to UChar from QChar.
        (WebCore::deleteUCharVector): Ditto.
        (WebCore::StringImpl::StringImpl): Ditto.
        (WebCore::StringImpl::init): Ditto. Also renamed from initWithChar and initWithQChar.
        (WebCore::StringImpl::~StringImpl): Ditto.
        (WebCore::StringImpl::append): Ditto.
        (WebCore::StringImpl::insert): Ditto.
        (WebCore::StringImpl::truncate): Ditto.
        (WebCore::StringImpl::remove): Ditto.
        (WebCore::StringImpl::split): Ditto.
        (WebCore::StringImpl::containsOnlyWhitespace): Ditto. Also added comment because this
        function seems a little broken.
        (WebCore::parseLength): More of the same.
        (WebCore::StringImpl::toCoordsArray): Ditto.
        (WebCore::StringImpl::toLengthArray): Ditto.
        (WebCore::StringImpl::isLower): Ditto.
        (WebCore::StringImpl::lower): Rewrote to use u_strToLower.
        (WebCore::StringImpl::upper): Rewrote to use u_strToUpper.
        (WebCore::StringImpl::foldCase): Added. Uses u_strFoldCase.
        (WebCore::getWordBreakIterator): Changed to use U_FAILURE instead of accepting only
        U_ZERO_ERROR as a success code.
        (WebCore::StringImpl::capitalize): More QChar to UChar changes.
        (WebCore::StringImpl::toInt): Ditto.
        (WebCore::equal): Changed from QChar to UChar and was careful to preserve the old
        semantics where "high ASCII" is treated as U+0080-U+00FF even though I don't know
        if this feature is important.
        (WebCore::equalIgnoringCase): Ditto, but used case folding instead of lowercasing
        by using the u_foldCase and u_memcasecmp functions. Also renamed from
        equalCaseInsensitive for more-consistent naming.
        (WebCore::StringImpl::find): Ditto. Use case folding for the case insensitive branch.
        (WebCore::StringImpl::replace): More of the same.
        (WebCore::StringImpl::computeHash): Ditto.
        (WebCore::StringImpl::ascii): Ditto.

        * platform/TextBoundaries.h: Changed from QChar to UChar.
        * platform/mac/TextBoundaries.mm:
        (WebCore::findWordBoundary): Made the change to UChar and removed some type casts.
        (WebCore::findNextWordFromIndex): Ditto.
        (WebCore::findSentenceBoundary): Ditto.
        (WebCore::findNextSentenceFromIndex): Ditto.

        * platform/TextEncoding.h:
        * platform/TextEncoding.cpp:
        (WebCore::TextEncoding::backslashAsCurrencySymbol): Changed from QChar to UChar.
        (WebCore::TextEncoding::fromUnicode): More of the same.
        * platform/mac/TextEncodingMac.cpp: (WebCore::TextEncoding::fromUnicode): More
        of the same.

        * platform/mac/FontFamilyMac.mm: (WebCore::FontFamily::getNSFamily): Removed a
        now-unneeded type cast.

        * platform/mac/FontMac.mm:
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::drawText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::floatWidth):
        (WebCore::Font::checkSelectionPoint):
        Changed QChar to UChar and removed some now-unneeded type casts.

        * editing/RebalanceWhitespaceCommand.cpp: (WebCore::isWhitespace):
        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):
        (WebCore::nextBoundary):
        (WebCore::startWordBoundary):
        (WebCore::endWordBoundary):
        (WebCore::previousWordPositionBoundary):
        (WebCore::nextWordPositionBoundary):
        (WebCore::startSentenceBoundary):
        (WebCore::endSentenceBoundary):
        (WebCore::previousSentencePositionBoundary):
        (WebCore::nextSentencePositionBoundary):
        (WebCore::startOfParagraph):
        (WebCore::endOfParagraph):
        * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError):
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::selectionRect):
        (WebCore::InlineTextBox::paint):
        (WebCore::InlineTextBox::paintSelection):
        (WebCore::InlineTextBox::paintMarkedTextBackground):
        (WebCore::InlineTextBox::paintTextMatchMarker):
        (WebCore::InlineTextBox::offsetForPosition):
        (WebCore::InlineTextBox::positionForOffset):
        * rendering/RenderBlock.cpp:
        (WebCore::stripTrailingSpace):
        (WebCore::RenderBlock::updateFirstLetter):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutVerticalBox):
        * rendering/RenderObject.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::backslashAsCurrencySymbol):
        * rendering/RenderTreeAsText.cpp: (quoteAndEscapeNonPrintables):
        * rendering/break_lines.cpp: (WebCore::nextBreakablePosition):
        * rendering/break_lines.h: (WebCore::isBreakable):
        * rendering/render_style.h: (WebCore::RenderStyle::isCollapsibleWhiteSpace):
        * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString):
        * xml/xmlhttprequest.cpp:
        (WebCore::getMIMEType):
        (WebCore::getCharset):
        Changed QChar to UChar.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageChanged): Changed QChar to UChar.
        (WebCore::RenderImage::paint): Changed callers of drawText to no-longer pass 0
        for the horizontal alignment, since I removed that parameters.

        * rendering/RenderText.h: Changed QChar to UChar.
        * rendering/RenderText.cpp:
        (WebCore::characterBreakIterator): Update for name change.
        (WebCore::RenderText::RenderText): Ditto.
        (WebCore::RenderText::allAscii): Remove uneeded unicode() and allow the value
        U+007F to count as ASCII.
        (WebCore::RenderText::cacheWidths): Changed QChar to UChar.
        (WebCore::RenderText::widthFromCache): Changed code that deals with direction to
        use the ICU direction calls.
        (WebCore::RenderText::trimmedMinMaxWidth): Changed QChar to UChar.
        (WebCore::RenderText::calcMinMaxWidth): Ditto.
        (WebCore::RenderText::containsOnlyWhitespace): Ditto.
        (WebCore::RenderText::setText): Ditto.
        (WebCore::RenderText::width): Ditto.

        * rendering/RenderTextField.cpp:
        (WebCore::RenderTextField::updateFromElement): Removed unneeded QChar cast.
        (WebCore::RenderTextField::calcMinMaxWidth): Changed from QChar to UChar.

        * rendering/bidi.h:
        * rendering/bidi.cpp:
        (WebCore::BidiIterator::BidiIterator):
        (WebCore::BidiState::BidiState):
        (WebCore::BidiContext::BidiContext):
        (WebCore::bidiNext):
        (WebCore::bidiFirst):
        (WebCore::BidiIterator::current):
        (WebCore::BidiIterator::direction):
        (WebCore::addRun):
        (WebCore::checkMidpoints):
        (WebCore::appendRun):
        (WebCore::embed):
        (WebCore::RenderBlock::tabWidth):
        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
        (WebCore::RenderBlock::bidiReorderLine):
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::skipNonBreakingSpace):
        (WebCore::RenderBlock::skipWhitespace):
        (WebCore::RenderBlock::findNextLineBreak):
        (WebCore::RenderBlock::checkLinesForTextOverflow):
        Changed from QChar to UChar and all direction from QChar constants to the
        ones from ICU.

        * rendering/render_form.cpp:
        (WebCore::RenderLineEdit::updateFromElement):
        (WebCore::RenderSelect::updateFromElement):
        (WebCore::RenderTextArea::updateFromElement):
        (WebCore::RenderTextArea::text):
        (WebCore::RenderTextArea::textWithHardLineBreaks):
        Got rid of now-unneeded QChar type casts.

        * rendering/render_line.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally): Updated for change from QChar
        to UChar.
        (WebCore::EllipsisBox::paint): Updated for unicode() -> characters() name change.

        * rendering/render_list.cpp:
        (WebCore::toRoman): Updated from QChar to UChar.
        (WebCore::toLetterString): Ditto.
        (WebCore::toHebrew): More of the same, also cleaned up the logic a bit.
        (WebCore::RenderListMarker::paint): Removed the alignment parameters from the
        various functions. Also removed all reliance on the width-measuring functions
        that take a string.
        (WebCore::RenderListMarker::calcMinMaxWidth): More of the same.
        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14273 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-10 Steve Falkenburg <sfalken@apple.com>
sfalken [Wed, 10 May 2006 04:08:51 +0000 (04:08 +0000)]
2006-05-10  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Maciej.

        Fix registry usage from perl script.  Turns out libwin32's
        SetRegValueEx, even for REG_DWORD, always takes its value as a string!

        * Scripts/install-win-extras:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14272 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by/co-written by Darin.
tomernic [Wed, 10 May 2006 03:00:34 +0000 (03:00 +0000)]
    Reviewed by/co-written by Darin.

        Performance improvement when drawing large numbers of animated images.

        Instead of removing the "first" object from a set on each next(),
        copy the clients into a vector once and keep track of the current index.

        * loader/CachedObjectClientWalker.h:
        * loader/CachedObjectClientWalker.cpp:
        (WebCore::CachedObjectClientWalker::CachedObjectClientWalker):
        (WebCore::CachedObjectClientWalker::next):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14271 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
lweintraub [Wed, 10 May 2006 01:10:43 +0000 (01:10 +0000)]
LayoutTests:

        Reviewed by justin.

        <rdar:/problem/4442395>
        Tiny MCE: Link isn't inserted after dragging into textarea field
        Created tests to test drag-and-dropped links.

        * editing/pasteboard/drop-link-expected.checksum: Added.
        * editing/pasteboard/drop-link-expected.png: Added.
        * editing/pasteboard/drop-link-expected.txt: Added.
        * editing/pasteboard/drop-link.html: Added.

WebKit:

        Reviewed by justin.

        <rdar://problem/4442395>
        Tiny MCE: Link isn't inserted after dragging into textarea field

        * WebView/WebHTMLView.m:
        (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
        Modified to create an anchor object with a title as opposed to just the URL as text.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14270 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-09 Steve Falkenburg <sfalken@apple.com>
sfalken [Tue, 9 May 2006 23:29:34 +0000 (23:29 +0000)]
2006-05-09  Steve Falkenburg  <sfalken@apple.com>

        Fix Windows build.  Added TextDocument.cpp to vcproj.

        Reviewed by adele.

        * WebCore.vcproj/WebCore/WebCore.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14269 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoMissed a dir.
hyatt [Tue, 9 May 2006 22:53:23 +0000 (22:53 +0000)]
Missed a dir.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14267 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-09 Steve Falkenburg <sfalken@apple.com>
sfalken [Tue, 9 May 2006 21:57:24 +0000 (21:57 +0000)]
2006-05-09  Steve Falkenburg  <sfalken@apple.com>

        Fix Windows build.
        Add load ended callback.

        Reviewed by kevin.

        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj: Fix include paths
        * Scripts/build-webkit: Build WebKitWin instead of WebCore/JavaScriptCore (WebKitWin builds those indirectly).
        * Spinneret/Spinneret/Spinneret.cpp:
        (SpinneretWebHost::loadEnd): Add callback for loadEnd() to determine success/failure of page load.
        (_tWinMain): Load built-in test content here instead of in lower-level code.
        * Spinneret/Spinneret/Spinneret.h: Add loadEnd() callback.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14266 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-09 Steve Falkenburg <sfalken@apple.com>
sfalken [Tue, 9 May 2006 21:56:26 +0000 (21:56 +0000)]
2006-05-09  Steve Falkenburg  <sfalken@apple.com>

        Add host calback so caller can determine success/failure of a page load.

        Reviewed by kevin.

        * WebFramePrivate.cpp:
        (WebKit::WebFramePrivate::loadFilePath): Style fix.
        (WebKit::WebFramePrivate::loadHTMLString): Style fix.
        (WebKit::WebFramePrivate::receivedAllData): Call host->loadEnd() with data indicating success/failure of load.
        * WebKitWin.vcproj/WebKitWin/WebKitWin.vcproj: Fix include paths.
        * WebView.cpp:
        (WebKit::WebView::WebView): Don't load boilerplate test HTML from core code.
        * public/WebHost.h: Add host callback for loadEnd().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14265 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-09 Steve Falkenburg <sfalken@apple.com>
sfalken [Tue, 9 May 2006 21:54:53 +0000 (21:54 +0000)]
2006-05-09  Steve Falkenburg  <sfalken@apple.com>

        Fix Windows build.
        Add host calback so caller can determine success/failure of a page load.

        Reviewed by kevin.

        * WebCore.vcproj/WebCore/WebCore.vcproj: Fix paths, add missing files
        * loader/CachedResource.h: Fix include path.
        * loader/CachedResourceClientWalker.h: Fix include path.
        * platform/FontPlatformData.h: Fix include path.
        * platform/TransferJobClient.h: Make PlatformData, PlatformResponse an opaque struct.
        * platform/image-decoders/ImageDecoder.h: Fix include path.
        * platform/win/SharedTimerWin.cpp: Fix include path.
        * platform/win/TransferJobWin.cpp:
        (WebCore::TransferJobWndProc): Add host callback for success/failure of load.
        * platform/win/TransferJobWin.h: Added. Windows version of PlatformData/PlatformResponse.
        * xpath/impl/XPathFunctions.cpp: Work around missing math functions in MSVC.
        (round): Work around missing math functions in MSVC.
        * xpath/impl/XPathPredicate.cpp: Work around missing math functions in MSVC.
        * xpath/impl/XPathValue.cpp: Work around missing math functions in MSVC.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14264 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-09 Steve Falkenburg <sfalken@apple.com>
sfalken [Tue, 9 May 2006 21:50:12 +0000 (21:50 +0000)]
2006-05-09  Steve Falkenburg  <sfalken@apple.com>

        Fix Windows build.
        Minor fixes to WTF headers.

        Reviewed by kevin.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Fix include dirs, paths to files.
        * JavaScriptCore.vcproj/testkjs/testkjs.vcproj: Fix include dirs.
        * wtf/Assertions.h: include Platform.h to get definition for COMPILER()
        * wtf/Vector.h: include FastMalloc.h for definition of fastMalloc, fastFree

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14263 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Dave Harrison.
tomernic [Tue, 9 May 2006 21:49:31 +0000 (21:49 +0000)]
    Reviewed by Dave Harrison.

        <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or
        other WebPreferences changes)

        * Plugins/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
        When the plugin view is removed from both its window and its hostWindow, stop observing
        WebPreferences.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Revert styleForElement, pseudoStyleForElement, styleForRenderer back to
hyatt [Tue, 9 May 2006 21:44:50 +0000 (21:44 +0000)]
    Revert styleForElement, pseudoStyleForElement, styleForRenderer back to
        their old names, since the term "create" is not accurate.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        * css/cssstyleselector.h:
        * dom/Element.cpp:
        (WebCore::Element::styleForRenderer):
        (WebCore::Element::recalcStyle):
        * dom/Element.h:
        * dom/Node.cpp:
        (WebCore::Node::createRendererIfNeeded):
        (WebCore::Node::styleForRenderer):
        * dom/Node.h:
        * ksvg2/svg/SVGClipPathElement.cpp:
        (SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGGradientElement.cpp:
        (SVGGradientElement::rebuildStops):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14261 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-09 Anders Carlsson <acarlsson@apple.com>
andersca [Tue, 9 May 2006 21:15:38 +0000 (21:15 +0000)]
2006-05-09  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Hyatt.

        * http/tests/incremental/slow-utf8-text-expected.checksum:
        * http/tests/incremental/slow-utf8-text-expected.png:
        * http/tests/incremental/slow-utf8-text-expected.txt:
        Update tests now that we wrap plain text differently.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14260 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-09 Anders Carlsson <acarlsson@apple.com>
andersca [Tue, 9 May 2006 21:09:10 +0000 (21:09 +0000)]
2006-05-09  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::write):
        Use the correct variable to prevent crashes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14259 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
andersca [Tue, 9 May 2006 19:03:20 +0000 (19:03 +0000)]
WebCore:

2006-05-09  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8808
        WebCore should handle text files

        * WebCore.xcodeproj/project.pbxproj:
        Add TextDocument.cpp and TextDocument.h

        * bridge/mac/WebCoreFrameBridge.mm:
        (+[WebCoreFrameBridge supportedMIMETypes]):
        Add text types here.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createTextDocument):
        (WebCore::DOMImplementation::isTextMIMEType):
        * dom/DOMImplementation.h:
        New functions for creating a TextDocument and determining if a
        mime type is a text MIME type.

        * loader/TextDocument.cpp: Added.
        (WebCore::TextTokenizer::TextTokenizer):
        (WebCore::TextTokenizer::write):
        (WebCore::TextTokenizer::finish):
        (WebCore::TextTokenizer::isWaitingForScripts):
        Special tokenizer which will put text inside a <pre> tag
        in a document.

        (WebCore::TextDocument::TextDocument):
        (WebCore::TextDocument::createTokenizer):
        Create a TextTokenizer.

        * loader/TextDocument.h: Added.

        * page/Frame.cpp:
        (WebCore::Frame::begin):
        Create a TextDocument if the MIME type is of type text.

WebKit:

2006-05-09  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8808
        WebCore should handle text files

        * WebKit.exp:
        Remove WebTextView.

        * WebKit.xcodeproj/project.pbxproj:
        Get rid of WebTextView and WebTextRepresentation.

        * WebView/WebDataSource.m:
        (+[WebDataSource _repTypesAllowImageTypeOmission:]):
        * WebView/WebFrameView.m:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        * WebView/WebHTMLView.m:
        The text MIME types are now handled by WebHTMLView.

        (+[WebHTMLView unsupportedTextMIMETypes]):
        New function, moved here from WebTextView.

        * WebView/WebHTMLViewPrivate.h:
        * WebView/WebTextRepresentation.h: Removed.
        * WebView/WebTextRepresentation.m: Removed.
        * WebView/WebTextView.h: Removed.
        * WebView/WebTextView.m: Removed.

        * WebView/WebView.m:
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
        Now special-case WebHTMLView instead of WebTextView for MIME types
        that shouldn't be shown.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14258 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFixed ChangeLog comments.
mjs [Tue, 9 May 2006 09:32:17 +0000 (09:32 +0000)]
Fixed ChangeLog comments.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14257 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoJavaScriptCore:
mjs [Tue, 9 May 2006 09:27:55 +0000 (09:27 +0000)]
JavaScriptCore:

        Rubber stamped by Anders.

        - renamed kxmlcore to wtf

        kxmlcore --> wtf
        KXMLCore --> WTF
        WKC --> WTF

        * JavaScriptCore.xcodeproj/project.pbxproj:
        * bindings/c/c_instance.cpp:
        * bindings/objc/WebScriptObject.mm:
        * kjs/JSImmediate.h:
        * kjs/Parser.cpp:
        * kjs/Parser.h:
        * kjs/array_object.cpp:
        * kjs/collector.cpp:
        (KJS::Collector::registerThread):
        * kjs/collector.h:
        * kjs/config.h:
        * kjs/function.cpp:
        (KJS::isStrWhiteSpace):
        * kjs/function.h:
        * kjs/identifier.cpp:
        * kjs/internal.cpp:
        * kjs/internal.h:
        * kjs/lexer.cpp:
        (Lexer::shift):
        (Lexer::isWhiteSpace):
        (Lexer::isIdentStart):
        (Lexer::isIdentPart):
        * kjs/lookup.cpp:
        * kjs/nodes.cpp:
        * kjs/nodes.h:
        * kjs/number_object.cpp:
        * kjs/object.h:
        * kjs/property_map.cpp:
        * kjs/property_map.h:
        * kjs/string_object.cpp:
        (StringProtoFunc::callAsFunction):
        * kjs/testkjs.cpp:
        (testIsInteger):
        * kjs/ustring.cpp:
        * kjs/ustring.h:
        * kxmlcore: Removed.
        * kxmlcore/AlwaysInline.h: Removed.
        * kxmlcore/Assertions.cpp: Removed.
        * kxmlcore/Assertions.h: Removed.
        * kxmlcore/FastMalloc.cpp: Removed.
        * kxmlcore/FastMalloc.h: Removed.
        * kxmlcore/FastMallocInternal.h: Removed.
        * kxmlcore/Forward.h: Removed.
        * kxmlcore/HashCountedSet.h: Removed.
        * kxmlcore/HashFunctions.h: Removed.
        * kxmlcore/HashMap.h: Removed.
        * kxmlcore/HashSet.h: Removed.
        * kxmlcore/HashTable.cpp: Removed.
        * kxmlcore/HashTable.h: Removed.
        * kxmlcore/HashTraits.h: Removed.
        * kxmlcore/ListRefPtr.h: Removed.
        * kxmlcore/Noncopyable.h: Removed.
        * kxmlcore/OwnArrayPtr.h: Removed.
        * kxmlcore/OwnPtr.h: Removed.
        * kxmlcore/PassRefPtr.h: Removed.
        * kxmlcore/Platform.h: Removed.
        * kxmlcore/RefPtr.h: Removed.
        * kxmlcore/TCPageMap.h: Removed.
        * kxmlcore/TCSpinLock.h: Removed.
        * kxmlcore/TCSystemAlloc.cpp: Removed.
        * kxmlcore/TCSystemAlloc.h: Removed.
        * kxmlcore/UnusedParam.h: Removed.
        * kxmlcore/Vector.h: Removed.
        * kxmlcore/VectorTraits.h: Removed.
        * kxmlcore/unicode: Removed.
        * kxmlcore/unicode/Unicode.h: Removed.
        * kxmlcore/unicode/UnicodeCategory.h: Removed.
        * kxmlcore/unicode/icu: Removed.
        * kxmlcore/unicode/icu/UnicodeIcu.h: Removed.
        * kxmlcore/unicode/posix: Removed.
        * kxmlcore/unicode/qt3: Removed.
        * kxmlcore/unicode/qt4: Removed.
        * kxmlcore/unicode/qt4/UnicodeQt4.h: Removed.
        * pcre/pcre_get.c:
        * wtf: Added.
        * wtf/Assertions.cpp:
        * wtf/Assertions.h:
        * wtf/FastMalloc.cpp:
        (WTF::TCMalloc_ThreadCache::Scavenge):
        (WTF::do_malloc):
        (WTF::do_free):
        (WTF::TCMallocGuard::TCMallocGuard):
        (WTF::malloc):
        (WTF::free):
        (WTF::calloc):
        (WTF::cfree):
        (WTF::realloc):
        * wtf/FastMalloc.h:
        * wtf/FastMallocInternal.h:
        * wtf/Forward.h:
        * wtf/HashCountedSet.h:
        * wtf/HashFunctions.h:
        * wtf/HashMap.h:
        * wtf/HashSet.h:
        * wtf/HashTable.cpp:
        * wtf/HashTable.h:
        * wtf/HashTraits.h:
        * wtf/ListRefPtr.h:
        * wtf/Noncopyable.h:
        * wtf/OwnArrayPtr.h:
        * wtf/OwnPtr.h:
        * wtf/PassRefPtr.h:
        * wtf/RefPtr.h:
        * wtf/TCSystemAlloc.cpp:
        (TCMalloc_SystemAlloc):
        * wtf/Vector.h:
        * wtf/VectorTraits.h:
        * wtf/unicode/UnicodeCategory.h:
        * wtf/unicode/icu/UnicodeIcu.h:

JavaScriptGlue:

        Rubber stamped by Anders.

        - renamed kxmlcore to wtf

        kxmlcore --> wtf
        KXMLCore --> WTF
        WKC --> WTF

        * config.h:
        * kxmlcore: Removed.
        * kxmlcore/AlwaysInline.h: Removed.
        * kxmlcore/Assertions.h: Removed.
        * kxmlcore/FastMalloc.h: Removed.
        * kxmlcore/Forward.h: Removed.
        * kxmlcore/HashCountedSet.h: Removed.
        * kxmlcore/HashSet.h: Removed.
        * kxmlcore/Noncopyable.h: Removed.
        * kxmlcore/OwnArrayPtr.h: Removed.
        * kxmlcore/OwnPtr.h: Removed.
        * kxmlcore/PassRefPtr.h: Removed.
        * kxmlcore/Platform.h: Removed.
        * kxmlcore/RefPtr.h: Removed.
        * kxmlcore/Vector.h: Removed.
        * wtf: Added.

WebCore:

        Rubber stamped by Anders.

        - renamed kxmlcore to wtf

        kxmlcore --> wtf
        KXMLCore --> WTF
        WKC --> WTF

        * ForwardingHeaders/kxmlcore: Removed.
        * ForwardingHeaders/kxmlcore/AlwaysInline.h: Removed.
        * ForwardingHeaders/kxmlcore/Assertions.h: Removed.
        * ForwardingHeaders/kxmlcore/FastMalloc.h: Removed.
        * ForwardingHeaders/kxmlcore/Forward.h: Removed.
        * ForwardingHeaders/kxmlcore/HashCountedSet.h: Removed.
        * ForwardingHeaders/kxmlcore/HashMap.h: Removed.
        * ForwardingHeaders/kxmlcore/HashSet.h: Removed.
        * ForwardingHeaders/kxmlcore/HashTraits.h: Removed.
        * ForwardingHeaders/kxmlcore/Noncopyable.h: Removed.
        * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Removed.
        * ForwardingHeaders/kxmlcore/OwnPtr.h: Removed.
        * ForwardingHeaders/kxmlcore/PassRefPtr.h: Removed.
        * ForwardingHeaders/kxmlcore/Platform.h: Removed.
        * ForwardingHeaders/kxmlcore/RefPtr.h: Removed.
        * ForwardingHeaders/kxmlcore/Vector.h: Removed.
        * ForwardingHeaders/wtf: Added.
        * bindings/js/JSHTMLElementWrapperFactory.h:
        * bindings/js/kjs_binding.cpp:
        * bindings/js/kjs_window.h:
        * bindings/objc/DOMImplementationFront.h:
        * bridge/JavaAppletWidget.h:
        * bridge/mac/WebCoreFrameNamespaces.mm:
        * bridge/mac/WebCorePageBridge.mm:
        (initializeLogChannel):
        * bridge/mac/WebCoreStringTruncator.mm:
        * bridge/mac/WebCoreViewFactory.m:
        * config.h:
        * css/css_base.h:
        * css/css_valueimpl.h:
        * css/csshelper.cpp:
        * css/cssparser.h:
        * dom/DOMImplementation.h:
        * dom/Document.h:
        * dom/NamedNodeMap.h:
        * dom/Node.h:
        * dom/NodeList.h:
        * dom/QualifiedName.cpp:
        * dom/Range.h:
        * dom/StyledElement.cpp:
        * dom/dom2_traversalimpl.h:
        * dom/xml_tokenizer.h:
        * editing/RebalanceWhitespaceCommand.cpp:
        * editing/RemoveCSSPropertyCommand.cpp:
        * editing/RemoveNodeAttributeCommand.cpp:
        * editing/RemoveNodeCommand.cpp:
        * editing/RemoveNodePreservingChildrenCommand.cpp:
        * editing/ReplaceSelectionCommand.h:
        * editing/Selection.cpp:
        * editing/SetNodeAttributeCommand.cpp:
        * editing/SplitElementCommand.cpp:
        * editing/SplitTextNodeCommand.cpp:
        * editing/SplitTextNodeContainingElementCommand.cpp:
        * editing/TextIterator.h:
        * editing/htmlediting.h:
        * editing/markup.h:
        * html/CanvasGradient.h:
        * html/CanvasRenderingContext2D.h:
        * html/CanvasStyle.cpp:
        * html/HTMLCollection.h:
        * html/HTMLElementFactory.h:
        * kcanvas/KCanvasFilters.cpp:
        * kcanvas/KCanvasPath.h:
        * kcanvas/RenderPath.cpp:
        * kcanvas/RenderSVGImage.cpp:
        * kcanvas/RenderSVGText.cpp:
        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
        * kcanvas/device/quartz/QuartzSupport.mm:
        * ksvg2/misc/KSVGTimeScheduler.h:
        * ksvg2/misc/SVGDocumentExtensions.h:
        * ksvg2/scripts/make_names.pl:
        * ksvg2/svg/SVGDOMImplementation.cpp:
        * ksvg2/svg/SVGExternalResourcesRequired.h:
        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * ksvg2/svg/SVGForeignObjectElement.cpp:
        * ksvg2/svg/SVGImageElement.cpp:
        * ksvg2/svg/SVGMaskElement.cpp:
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGTests.h:
        * ksvg2/svg/SVGTransform.h:
        * ksvg2/svg/SVGTransformable.cpp:
        * kwq/AccessibilityObjectCache.h:
        * kwq/KWQCString.cpp:
        * kwq/KWQFormData.mm:
        * kwq/KWQListBox.mm:
        * kwq/KWQResourceLoader.mm:
        * kwq/KWQTextEdit.mm:
        * loader/Cache.h:
        * loader/CachedObject.h:
        * loader/CachedObjectClientWalker.h:
        * loader/Decoder.h:
        * loader/DocLoader.h:
        * loader/loader.cpp:
        * loader/loader.h:
        * page/DOMWindow.h:
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameTree.cpp:
        * page/Page.cpp:
        * page/Page.h:
        * page/Plugin.h:
        * platform/Arena.cpp:
        * platform/ArrayImpl.h:
        * platform/AtomicString.cpp:
        * platform/CharsetNames.cpp:
        * platform/Color.cpp:
        * platform/DeprecatedPtrListImpl.cpp:
        * platform/DeprecatedValueListImpl.h:
        * platform/FontFallbackList.h:
        * platform/GraphicsContext.h:
        * platform/GraphicsTypes.cpp:
        * platform/Image.h:
        * platform/KURL.cpp:
        * platform/Logging.cpp:
        * platform/Logging.h:
        * platform/PlatformString.h:
        * platform/PlugInInfoStore.h:
        * platform/StreamingTextDecoder.cpp:
        * platform/StreamingTextDecoder.h:
        * platform/String.cpp:
        * platform/StringHash.h:
        * platform/StringImpl.cpp:
        * platform/StringImpl.h:
        * platform/TextEncoding.cpp:
        * platform/Timer.cpp:
        * platform/Timer.h:
        * platform/TransferJob.h:
        * platform/TransferJobInternal.h:
        * platform/mac/BlockExceptions.mm:
        * platform/mac/ColorMac.mm:
        * platform/mac/FontData.mm:
        * platform/mac/KURLMac.mm:
        * platform/mac/QStringMac.mm:
        * platform/mac/SharedTimerMac.cpp:
        * platform/mac/TextEncodingMac.cpp:
        * platform/mac/WebCoreImageRendererFactory.m:
        * platform/mac/WebCoreKeyGenerator.m:
        * platform/mac/WebCoreTextArea.mm:
        * platform/mac/WebCoreTextField.mm:
        * platform/mac/WebTextRendererFactory.h:
        * platform/mac/WebTextRendererFactory.mm:
        * platform/win/TemporaryLinkStubs.cpp:
        (JavaAppletWidget::JavaAppletWidget):
        * rendering/InlineTextBox.cpp:
        * rendering/RenderText.cpp:
        * rendering/RenderTreeAsText.cpp:
        * rendering/bidi.cpp:
        * xml/XSLTProcessor.h:
        * xpath/impl/XPathExpressionNode.h:
        * xpath/impl/XPathParser.h:
        * xpath/impl/XPathPath.h:
        * xpath/impl/XPathUtil.h:

WebKit:

        Rubber stamped by Anders.

        - renamed kxmlcore to wtf

        kxmlcore --> wtf
        KXMLCore --> WTF
        WKC --> WTF

        * Misc/WebKitLogging.h:
        * Misc/WebKitLogging.m:
        (initializeLogChannel):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14256 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Anders.
mjs [Tue, 9 May 2006 08:35:17 +0000 (08:35 +0000)]
    Reviewed by Anders.

        * Scripts/extract-localizable-strings: Update for correct names of log macros.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14255 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
andersca [Tue, 9 May 2006 08:19:44 +0000 (08:19 +0000)]
WebCore:

2006-05-09  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8803
        XPath query for empty attributes crashes in XPath::StringExpression::StringExpression

        * xpath/impl/XPathParser.cpp:
        (WebCore::XPath::Parser::lexString):
        Make sure an empty string is returned instead of a null string.

        (WebCore::XPath::Parser::lex):
        Only assign the string if it isn't null.

LayoutTests:

2006-05-09  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8803
        XPath query for empty attributes crashes in XPath::StringExpression::StringExpression

        * xpath/impl/XPathParser.cpp:
        (WebCore::XPath::Parser::lexString):
        Make sure an empty string is returned instead of a null string.

        (WebCore::XPath::Parser::lex):
        Only assign the string if it isn't null.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
ap [Tue, 9 May 2006 08:03:30 +0000 (08:03 +0000)]
    Reviewed by Darin.

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8769
          TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC

        Fix the ICU code path, too (currently unused on the Mac).

        * platform/TextEncoding.cpp:
        (WebCore::TextEncoding::fromUnicode): Normalize the string.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14253 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Anders.
thatcher [Tue, 9 May 2006 07:47:59 +0000 (07:47 +0000)]
    Reviewed by Anders.

        Bug 8804: Inspector should support searching by Xpath query
        http://bugzilla.opendarwin.org/show_bug.cgi?id=8804

        * WebInspector/WebInspector.m:
        (-[WebInspector _refreshSearch]):
        * WebInspector/webInspector/inspector.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14252 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
mjs [Tue, 9 May 2006 07:23:24 +0000 (07:23 +0000)]
WebCore:

        Reviewed by Tim Hatcher.

        - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
        but rather retrieves the data from the WebCore cache as needed.
        http://bugzilla.opendarwin.org/show_bug.cgi?id=8802

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge getData:andResponse:forURL:]):
        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
        * loader/Cache.cpp:
        (WebCore::Cache::updateCacheStatus):
        (WebCore::Cache::requestImage):
        (WebCore::Cache::requestStyleSheet):
        (WebCore::Cache::requestScript):
        (WebCore::Cache::requestXSLStyleSheet):
        (WebCore::Cache::requestXBLDocument):
        * loader/Cache.h:
        * loader/CachedResource.cpp: Added.
        * loader/CachedResource.h: Added.
        * loader/CachedResourceClient.h: Added.
        * loader/CachedResourceClientWalker.cpp: Added.
        * loader/CachedResourceClientWalker.h: Added.
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::setAutoloadImages):
        (WebCore::DocLoader::removeCachedObject):
        * loader/DocLoader.h:
        (WebCore::DocLoader::cachedObject):
        (WebCore::DocLoader::allCachedObjects):

WebKit:

        Reviewed by Tim Hatcher.

        - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
        but rather retrieves the data from the WebCore cache as needed.
        http://bugzilla.opendarwin.org/show_bug.cgi?id=8802

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
        (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        * WebCoreSupport/WebSubresourceLoader.m:
        (-[WebSubresourceLoader didReceiveResponse:]):
        * WebView/WebDataSource.m:
        (-[WebDataSourcePrivate dealloc]):
        (-[WebDataSource _setupForReplaceByMIMEType:]):
        (-[WebDataSource _archivedSubresourceForURL:]):
        (-[WebDataSource initWithRequest:]):
        (-[WebDataSource subresources]):
        (-[WebDataSource subresourceForURL:]):
        (-[WebDataSource addSubresource:]):
        * WebView/WebDataSourcePrivate.h:
        * WebView/WebFrame.m:
        * WebView/WebFrameInternal.h:
        * WebView/WebHTMLView.m:
        * WebView/WebLoader.h:
        * WebView/WebLoader.m:
        (-[NSURLProtocol loadWithRequest:]):
        (-[NSURLProtocol didFinishLoading]):
        * WebView/WebUnarchivingState.h:
        * WebView/WebUnarchivingState.m:
        (-[WebUnarchivingState addResource:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14251 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-09 Anders Carlsson <acarlsson@apple.com>
andersca [Tue, 9 May 2006 06:52:00 +0000 (06:52 +0000)]
2006-05-09  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Maciej.

        * Scripts/check-dom-results:
        Add XPath to the list of results.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14250 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by justin.
lweintraub [Tue, 9 May 2006 01:27:00 +0000 (01:27 +0000)]
    Reviewed by justin.

        REGRESSION: two editing layout tests show incorrect spell checking in pixel test mode
        http://bugzilla.opendarwin.org/show_bug.cgi?id=8350
        Forgot to update expected results.

        * fast/dom/inner-text-001-expected.txt

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14249 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
lweintraub [Tue, 9 May 2006 00:53:53 +0000 (00:53 +0000)]
LayoutTests:

        Reviewed by justin.

        REGRESSION: two editing layout tests show incorrect spell checking in pixel test mode
        http://bugzilla.opendarwin.org/show_bug.cgi?id=8350

        * editing/pasteboard/innerText-inline-table-expected.checksum: Added.
        * editing/pasteboard/innerText-inline-table-expected.png: Added.
        * editing/pasteboard/innerText-inline-table-expected.txt: Added.
        * editing/pasteboard/innerText-inline-table.html: Added.

WebCore:

        Reviewed by justin.

        * editing/TextIterator.cpp:
        (WebCore::shouldEmitSpaceBeforeAndAfterNode):
        Returns true when the node should have a leading and trailing space. Currently only
        used for inline tables. The function shouldEmitNewlinesBeforeAndAfterNode has a
        fallback for nodes with no RenderObject, but the inline property doesn't really
        have a meaning without one.
        (WebCore::TextIterator::handleNonTextNode):
        Checks shouldEmitSpaceBeforeAndAfterNode and inserts a space if necessary.
        (WebCore::TextIterator::exitNode):
        Checks shouldEmitSpaceBeforeAndAfterNode and inserts a space if necessary.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14248 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago * Scripts/do-webcore-rename: Add another rename.
darin [Tue, 9 May 2006 00:49:26 +0000 (00:49 +0000)]
    * Scripts/do-webcore-rename: Add another rename.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14247 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim O.
thatcher [Tue, 9 May 2006 00:36:33 +0000 (00:36 +0000)]
    Reviewed by Tim O.

        * bindings/npapi.h: do not define #pragma options align=mac68k if we are 64-bit

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14246 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdding a ARGS variable that can be used to pass arguments to xcodebuild. This is...
thatcher [Tue, 9 May 2006 00:13:01 +0000 (00:13 +0000)]
Adding a ARGS variable that can be used to pass arguments to xcodebuild. This is handy when you want to temporary overide a build setting, like ARCHS. Use: make r ARGS='ARCHS=ppc64'

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14245 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoRemove \impl from files who aren't actually in the \impl directory...let's hope this...
andersca [Mon, 8 May 2006 22:20:30 +0000 (22:20 +0000)]
Remove \impl from files who aren't actually in the \impl directory...let's hope this does it

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14244 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdd xpath\impl to include path as well.
andersca [Mon, 8 May 2006 22:11:57 +0000 (22:11 +0000)]
Add xpath\impl to include path as well.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdd XPATH_SUPPORT define. This is getting old...
andersca [Mon, 8 May 2006 22:06:20 +0000 (22:06 +0000)]
Add XPATH_SUPPORT define. This is getting old...

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14242 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdd xpath in _both_ places
andersca [Mon, 8 May 2006 22:01:37 +0000 (22:01 +0000)]
Add xpath in _both_ places

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14241 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAnother try, now add xpath to the include path
andersca [Mon, 8 May 2006 21:56:44 +0000 (21:56 +0000)]
Another try, now add xpath to the include path

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14240 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-08 Anders Carlsson <acarlsson@apple.com>
andersca [Mon, 8 May 2006 21:50:11 +0000 (21:50 +0000)]
2006-05-08  Anders Carlsson  <acarlsson@apple.com>

        Try fixing the Win32 build

        * WebCore.vcproj/WebCore/WebCore.vcproj:
        Add XPath files to project.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14239 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-04 Anders Carlsson <acarlsson@apple.com>
andersca [Mon, 8 May 2006 21:30:14 +0000 (21:30 +0000)]
2006-05-04  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        Add DOM3 xpath tests as self-contained SVG files.

        * dom/svg: Added.
        * dom/svg/level3: Added.
        * dom/svg/level3/xpath: Added.
        * dom/svg/level3/xpath/Attribute_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Attribute_Nodes.js: Added.
        * dom/svg/level3/xpath/Attribute_Nodes.svg: Added.
        * dom/svg/level3/xpath/Attribute_Nodes_xmlns-expected.txt: Added.
        * dom/svg/level3/xpath/Attribute_Nodes_xmlns.js: Added.
        * dom/svg/level3/xpath/Attribute_Nodes_xmlns.svg: Added.
        * dom/svg/level3/xpath/Comment_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Comment_Nodes.js: Added.
        * dom/svg/level3/xpath/Comment_Nodes.svg: Added.
        * dom/svg/level3/xpath/Conformance_Expressions-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_Expressions.js: Added.
        * dom/svg/level3/xpath/Conformance_Expressions.svg: Added.
        * dom/svg/level3/xpath/Conformance_ID-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_ID.js: Added.
        * dom/svg/level3/xpath/Conformance_ID.svg: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_3-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_3.js: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_3.svg: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_empty-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_empty.js: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_empty.svg: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_null-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_null.js: Added.
        * dom/svg/level3/xpath/Conformance_hasFeature_null.svg: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_3-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_3.js: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_3.svg: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_empty-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_empty.js: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_empty.svg: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_null-expected.txt: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_null.js: Added.
        * dom/svg/level3/xpath/Conformance_isSupported_null.svg: Added.
        * dom/svg/level3/xpath/Element_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Element_Nodes.js: Added.
        * dom/svg/level3/xpath/Element_Nodes.svg: Added.
        * dom/svg/level3/xpath/Processing_Instruction_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Processing_Instruction_Nodes.js: Added.
        * dom/svg/level3/xpath/Processing_Instruction_Nodes.svg: Added.
        * dom/svg/level3/xpath/Text_Nodes-expected.txt: Added.
        * dom/svg/level3/xpath/Text_Nodes.js: Added.
        * dom/svg/level3/xpath/Text_Nodes.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluatorCast01-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluatorCast01.js: Added.
        * dom/svg/level3/xpath/XPathEvaluatorCast01.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_INVALID_EXPRESSION_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_01.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NAMESPACE_ERR_02.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NS-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NS.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_NS.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createExpression_no_NS.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_all.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_document.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_createNSResolver_documentElement.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_INVALID_EXPRESSION_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NAMESPACE_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_NOT_SUPPORTED_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_WRONG_DOCUMENT_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_document-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_document.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_document.svg: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement-expected.txt: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement.js: Added.
        * dom/svg/level3/xpath/XPathEvaluator_evaluate_documentElement.svg: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR.js: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_NOT_SUPPORTED_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR.js: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_WRONG_DOCUMENT_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_document-expected.txt: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_document.js: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_document.svg: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_documentElement-expected.txt: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_documentElement.js: Added.
        * dom/svg/level3/xpath/XPathExpression_evaluate_documentElement.svg: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc-expected.txt: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc.js: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_nist_dmstc.svg: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null-expected.txt: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null.js: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_null.svg: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix-expected.txt: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix.js: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_prefix.svg: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml-expected.txt: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml.js: Added.
        * dom/svg/level3/xpath/XPathNSResolver_lookupNamespaceURI_xml.svg: Added.
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR.js: Added.
        * dom/svg/level3/xpath/XPathResult_TYPE_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_false-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_false.js: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_false.svg: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_true-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_true.js: Added.
        * dom/svg/level3/xpath/XPathResult_booleanValue_true.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_UNORDERED_NODE_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_BOOLEAN_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_FIRST_ORDERED_NODE_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_NUMBER_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_STRING_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR.js: Added.
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR.svg: Added.
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_iteratorNext_ORDERED_NODE_ITERATOR_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_iteratorNext_UNORDERED_NODE_ITERATOR_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_numberValue-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_numberValue.js: Added.
        * dom/svg/level3/xpath/XPathResult_numberValue.svg: Added.
        * dom/svg/level3/xpath/XPathResult_resultType-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_resultType.js: Added.
        * dom/svg/level3/xpath/XPathResult_resultType.svg: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_ANY_UNORDERED_NODE_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_singleNodeValue_FIRST_ORDERED_NODE_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_null.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_ORDERED_NODE_SNAPSHOT_TYPE_order.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_count.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotItem_UNORDERED_NODE_SNAPSHOT_TYPE_null.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_ORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE.js: Added.
        * dom/svg/level3/xpath/XPathResult_snapshotLength_UNORDERED_NODE_SNAPSHOT_TYPE.svg: Added.
        * dom/svg/level3/xpath/XPathResult_stringValue-expected.txt: Added.
        * dom/svg/level3/xpath/XPathResult_stringValue.js: Added.
        * dom/svg/level3/xpath/XPathResult_stringValue.svg: Added.
        * dom/svg/level3/xpath/svgunit.js: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14235 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-08 Anders Carlsson <acarlsson@apple.com>
andersca [Mon, 8 May 2006 21:27:25 +0000 (21:27 +0000)]
2006-05-08  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin, Eric and Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=6638
        Support Mozilla's XPathEvaluator object.

        * DerivedSources.make:
        Generate XPath grammar, and JavaScript wrappers.

        * WebCore.xcodeproj/project.pbxproj:
        Add new files to project

        * bindings/js/kjs_binding.cpp:
        (KJS::):
        (KJS::setDOMException):
        Handle setting XPath exceptions.

        * bindings/objc/DOM.mm:
        Just return nil for now when trying to create a wrapper for
        XPath namespace nodes.

        * bindings/scripts/CodeGeneratorJS.pm:
        Add XPath types. Also add a "CanBeConstructed" extended attribute
        for interfaces that can be constructed directly.

        * bridge/mac/WebCorePageBridge.mm:
        (initializeLoggingChannelsIfNecessary):
        Initialize LogXPath channel.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::hasFeature):
        Support "xpath" version "3.0".

        * dom/Document.cpp:
        (WebCore::Document::Document):

        (WebCore::Document::importNode):
        Ignore XPath namespace nodes.

        (WebCore::Document::createExpression):
        (WebCore::Document::createNSResolver):
        (WebCore::Document::evaluate):
        New functions which call down to a lazily created XPathEvaluator.

        * dom/Document.h:
        Add function declarations.

        * dom/Document.idl:
        Add XPath methods.

        * dom/Node.h:
        (WebCore::Node::):
        Add XPATH_NAMESPACE_NODE type.

        * editing/markup.cpp:
        (WebCore::startMarkup):
        Ignore XPath namespace nodes.

        * page/DOMWindow.idl:
        Add constructors for XPathEvaluator and XPathResult.

        * platform/Logging.cpp:
        * platform/Logging.h:
        Add XPath log channel

        * xpath: Added.
        * xpath/XPathEvaluator.cpp: Added.
        (WebCore::XPathEvaluator::createExpression):
        (WebCore::XPathEvaluator::createNSResolver):
        (WebCore::XPathEvaluator::evaluate):
        * xpath/XPathEvaluator.h: Added.
        (WebCore::):
        * xpath/XPathEvaluator.idl: Added.
        * xpath/XPathExpression.cpp: Added.
        (WebCore::XPathExpression::createExpression):
        (WebCore::XPathExpression::~XPathExpression):
        (WebCore::XPathExpression::evaluate):
        * xpath/XPathExpression.h: Added.
        * xpath/XPathExpression.idl: Added.
        * xpath/XPathNSResolver.cpp: Added.
        (WebCore::XPathNSResolver::XPathNSResolver):
        (WebCore::XPathNSResolver::lookupNamespaceURI):
        * xpath/XPathNSResolver.h: Added.
        * xpath/XPathNSResolver.idl: Added.
        * xpath/XPathNamespace.cpp: Added.
        (WebCore::XPathNamespace::XPathNamespace):
        (WebCore::XPathNamespace::~XPathNamespace):
        (WebCore::XPathNamespace::ownerDocument):
        (WebCore::XPathNamespace::ownerElement):
        (WebCore::XPathNamespace::prefix):
        (WebCore::XPathNamespace::nodeName):
        (WebCore::XPathNamespace::nodeValue):
        (WebCore::XPathNamespace::namespaceURI):
        (WebCore::XPathNamespace::nodeType):
        * xpath/XPathNamespace.h: Added.
        * xpath/XPathResult.cpp: Added.
        (WebCore::InvalidatingEventListener::InvalidatingEventListener):
        (WebCore::InvalidatingEventListener::handleEvent):
        (WebCore::XPathResult::XPathResult):
        (WebCore::XPathResult::~XPathResult):
        (WebCore::XPathResult::convertTo):
        (WebCore::XPathResult::resultType):
        (WebCore::XPathResult::numberValue):
        (WebCore::XPathResult::stringValue):
        (WebCore::XPathResult::booleanValue):
        (WebCore::XPathResult::singleNodeValue):
        (WebCore::XPathResult::invalidateIteratorState):
        (WebCore::XPathResult::invalidIteratorState):
        (WebCore::XPathResult::snapshotLength):
        (WebCore::XPathResult::iterateNext):
        (WebCore::XPathResult::snapshotItem):
        * xpath/XPathResult.h: Added.
        (WebCore::XPathResult::):
        * xpath/XPathResult.idl: Added.
        * xpath/impl: Added.
        * xpath/impl/XPathExpressionNode.cpp: Added.
        (WebCore::XPath::Expression::evaluationContext):
        (WebCore::XPath::Expression::Expression):
        (WebCore::XPath::Expression::~Expression):
        (WebCore::XPath::Expression::evaluate):
        (WebCore::XPath::Expression::addSubExpression):
        (WebCore::XPath::Expression::optimize):
        (WebCore::XPath::Expression::subExprCount):
        (WebCore::XPath::Expression::subExpr):
        (WebCore::XPath::Expression::isConstant):
        * xpath/impl/XPathExpressionNode.h: Added.
        (WebCore::XPath::EvaluationContext::EvaluationContext):
        * xpath/impl/XPathFunctions.cpp: Added.
        (WebCore::XPath::Interval::Interval):
        (WebCore::XPath::Interval::contains):
        (WebCore::XPath::Interval::asString):
        (WebCore::XPath::Function::setArguments):
        (WebCore::XPath::Function::setName):
        (WebCore::XPath::Function::arg):
        (WebCore::XPath::Function::argCount):
        (WebCore::XPath::Function::name):
        (WebCore::XPath::FunLast::doEvaluate):
        (WebCore::XPath::FunLast::isConstant):
        (WebCore::XPath::FunPosition::doEvaluate):
        (WebCore::XPath::FunPosition::isConstant):
        (WebCore::XPath::FunLocalName::isConstant):
        (WebCore::XPath::FunLocalName::doEvaluate):
        (WebCore::XPath::FunNamespaceURI::isConstant):
        (WebCore::XPath::FunNamespaceURI::doEvaluate):
        (WebCore::XPath::FunName::isConstant):
        (WebCore::XPath::FunName::doEvaluate):
        (WebCore::XPath::FunCount::doEvaluate):
        (WebCore::XPath::FunCount::isConstant):
        (WebCore::XPath::FunString::doEvaluate):
        (WebCore::XPath::FunConcat::doEvaluate):
        (WebCore::XPath::FunStartsWith::doEvaluate):
        (WebCore::XPath::FunContains::doEvaluate):
        (WebCore::XPath::FunSubstringBefore::doEvaluate):
        (WebCore::XPath::FunSubstringAfter::doEvaluate):
        (WebCore::XPath::FunSubstring::doEvaluate):
        (WebCore::XPath::FunStringLength::doEvaluate):
        (WebCore::XPath::FunNormalizeSpace::doEvaluate):
        (WebCore::XPath::FunTranslate::doEvaluate):
        (WebCore::XPath::FunBoolean::doEvaluate):
        (WebCore::XPath::FunNot::doEvaluate):
        (WebCore::XPath::FunTrue::doEvaluate):
        (WebCore::XPath::FunTrue::isConstant):
        (WebCore::XPath::FunLang::doEvaluate):
        (WebCore::XPath::FunLang::isConstant):
        (WebCore::XPath::FunFalse::doEvaluate):
        (WebCore::XPath::FunFalse::isConstant):
        (WebCore::XPath::FunNumber::doEvaluate):
        (WebCore::XPath::FunSum::doEvaluate):
        (WebCore::XPath::FunFloor::doEvaluate):
        (WebCore::XPath::FunCeiling::doEvaluate):
        (WebCore::XPath::FunRound::doEvaluate):
        (WebCore::XPath::FunctionLibrary::self):
        (WebCore::XPath::FunctionLibrary::FunctionLibrary):
        (WebCore::XPath::FunctionLibrary::createFunction):
        * xpath/impl/XPathFunctions.h: Added.
        * xpath/impl/XPathGrammar.y: Added.
        * xpath/impl/XPathParser.cpp: Added.
        (WebCore::XPath::):
        (WebCore::XPath::Parser::charCat):
        (WebCore::XPath::Parser::isAxisName):
        (WebCore::XPath::Parser::isNodeTypeName):
        (WebCore::XPath::Parser::isOperatorContext):
        (WebCore::XPath::Parser::skipWS):
        (WebCore::XPath::Parser::makeTokenAndAdvance):
        (WebCore::XPath::Parser::makeIntTokenAndAdvance):
        (WebCore::XPath::Parser::peekAheadHelper):
        (WebCore::XPath::Parser::peekCurHelper):
        (WebCore::XPath::Parser::lexString):
        (WebCore::XPath::Parser::lexNumber):
        (WebCore::XPath::Parser::lexNCName):
        (WebCore::XPath::Parser::lexQName):
        (WebCore::XPath::Parser::nextTokenInternal):
        (WebCore::XPath::Parser::nextToken):
        (WebCore::XPath::Parser::Parser):
        (WebCore::XPath::Parser::reset):
        (WebCore::XPath::Parser::lex):
        (WebCore::XPath::Parser::parseStatement):
        (WebCore::XPath::Parser::registerParseNode):
        (WebCore::XPath::Parser::unregisterParseNode):
        (WebCore::XPath::Parser::registerPredicateVector):
        (WebCore::XPath::Parser::unregisterPredicateVector):
        (WebCore::XPath::Parser::registerExpressionVector):
        (WebCore::XPath::Parser::unregisterExpressionVector):
        (WebCore::XPath::Parser::registerString):
        (WebCore::XPath::Parser::unregisterString):
        * xpath/impl/XPathParser.h: Added.
        (WebCore::XPath::Token::Token):
        (WebCore::XPath::Parser::):
        (WebCore::XPath::Parser::current):
        * xpath/impl/XPathPath.cpp: Added.
        (WebCore::XPath::Filter::Filter):
        (WebCore::XPath::Filter::~Filter):
        (WebCore::XPath::Filter::doEvaluate):
        (WebCore::XPath::LocationPath::LocationPath):
        (WebCore::XPath::LocationPath::~LocationPath):
        (WebCore::XPath::LocationPath::optimize):
        (WebCore::XPath::LocationPath::doEvaluate):
        (WebCore::XPath::Path::Path):
        (WebCore::XPath::Path::~Path):
        (WebCore::XPath::Path::doEvaluate):
        * xpath/impl/XPathPath.h: Added.
        * xpath/impl/XPathPredicate.cpp: Added.
        (WebCore::XPath::Number::Number):
        (WebCore::XPath::Number::isConstant):
        (WebCore::XPath::Number::doEvaluate):
        (WebCore::XPath::StringExpression::StringExpression):
        (WebCore::XPath::StringExpression::isConstant):
        (WebCore::XPath::StringExpression::doEvaluate):
        (WebCore::XPath::Negative::doEvaluate):
        (WebCore::XPath::NumericOp::NumericOp):
        (WebCore::XPath::NumericOp::doEvaluate):
        (WebCore::XPath::EqTestOp::EqTestOp):
        (WebCore::XPath::EqTestOp::doEvaluate):
        (WebCore::XPath::LogicalOp::LogicalOp):
        (WebCore::XPath::LogicalOp::shortCircuitOn):
        (WebCore::XPath::LogicalOp::isConstant):
        (WebCore::XPath::LogicalOp::doEvaluate):
        (WebCore::XPath::Union::doEvaluate):
        (WebCore::XPath::Predicate::Predicate):
        (WebCore::XPath::Predicate::~Predicate):
        (WebCore::XPath::Predicate::evaluate):
        (WebCore::XPath::Predicate::optimize):
        * xpath/impl/XPathPredicate.h: Added.
        (WebCore::XPath::NumericOp::):
        (WebCore::XPath::EqTestOp::):
        (WebCore::XPath::LogicalOp::):
        * xpath/impl/XPathStep.cpp: Added.
        (WebCore::XPath::Step::axisAsString):
        (WebCore::XPath::Step::Step):
        (WebCore::XPath::Step::~Step):
        (WebCore::XPath::Step::evaluate):
        (WebCore::XPath::Step::nodesInAxis):
        (WebCore::XPath::Step::nodeTestMatches):
        (WebCore::XPath::Step::optimize):
        (WebCore::XPath::Step::namespaceFromNodetest):
        (WebCore::XPath::Step::primaryNodeType):
        * xpath/impl/XPathStep.h: Added.
        (WebCore::XPath::Step::):
        * xpath/impl/XPathUtil.cpp: Added.
        (WebCore::XPath::isRootDomNode):
        (WebCore::XPath::stringValue):
        (WebCore::XPath::isValidContextNode):
        * xpath/impl/XPathUtil.h: Added.
        * xpath/impl/XPathValue.cpp: Added.
        (WebCore::XPath::Value::Value):
        (WebCore::XPath::Value::type):
        (WebCore::XPath::Value::isNodeVector):
        (WebCore::XPath::Value::isBoolean):
        (WebCore::XPath::Value::isNumber):
        (WebCore::XPath::Value::isString):
        (WebCore::XPath::Value::toNodeVector):
        (WebCore::XPath::Value::toBoolean):
        (WebCore::XPath::Value::toNumber):
        (WebCore::XPath::Value::toString):
        * xpath/impl/XPathValue.h: Added.
        (WebCore::XPath::Value::):
        * xpath/impl/XPathVariableReference.cpp: Added.
        (WebCore::XPath::VariableReference::VariableReference):
        (WebCore::XPath::VariableReference::isConstant):
        (WebCore::XPath::VariableReference::doEvaluate):
        * xpath/impl/XPathVariableReference.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14234 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoRemove an outdated comment from RenderBox.
hyatt [Mon, 8 May 2006 18:01:26 +0000 (18:01 +0000)]
Remove an outdated comment from RenderBox.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14232 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoUpdate layout test results.
hyatt [Mon, 8 May 2006 17:49:34 +0000 (17:49 +0000)]
Update layout test results.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14231 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFix typo in variable name.
hyatt [Mon, 8 May 2006 17:31:37 +0000 (17:31 +0000)]
Fix typo in variable name.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14230 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agochanged checkout guide to point to universal binary.
jdevalk [Mon, 8 May 2006 12:55:57 +0000 (12:55 +0000)]
changed checkout guide to point to universal binary.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14229 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoBacking out caption box-sizing change. I want to do table stuff separately.
hyatt [Mon, 8 May 2006 08:19:53 +0000 (08:19 +0000)]
Backing out caption box-sizing change.  I want to do table stuff separately.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14228 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Comprehensive box-sizing fix. This patch changes all form controls to
hyatt [Mon, 8 May 2006 08:17:07 +0000 (08:17 +0000)]
    Comprehensive box-sizing fix.  This patch changes all form controls to
        have the right box-sizing values (text fields and text areas actually only
        use border-box in quirks mode now, and image buttons never use border-box).

        Tables are supposed to use border-box box-sizing as well, but that's a scary
        enough change that I'm saving it for a separate patch.

        Reviewed by mjs

        * css/html4.css:
        * css/quirks.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
ap [Mon, 8 May 2006 07:11:23 +0000 (07:11 +0000)]
    Reviewed by Darin.

        Updated a test case affected by the previous checkin. &rang; and &lang; are
        replaced with their canonical equivalents during normalization.

        * fast/parser/entities-in-xhtml-expected.checksum:
        * fast/parser/entities-in-xhtml-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14226 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoTweak change log.
darin [Mon, 8 May 2006 06:00:51 +0000 (06:00 +0000)]
Tweak change log.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14225 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLand changes to mozilla table tests for bug 8060.
hyatt [Mon, 8 May 2006 05:31:50 +0000 (05:31 +0000)]
Land changes to mozilla table tests for bug 8060.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14224 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLand changes to mozilla table tests for bug 8060.
hyatt [Mon, 8 May 2006 05:24:45 +0000 (05:24 +0000)]
Land changes to mozilla table tests for bug 8060.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14223 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLand changes to mozilla table tests for bug 8060.
hyatt [Mon, 8 May 2006 05:21:27 +0000 (05:21 +0000)]
Land changes to mozilla table tests for bug 8060.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14222 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoJavaScriptCore:
mjs [Mon, 8 May 2006 04:59:28 +0000 (04:59 +0000)]
JavaScriptCore:

        Reviewed and landed by Maciej.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8765
        Random crashes on TOT since the form state change

        I haven't figured out how to construct a test for this, but this does seem to fix the
        problem; Mitz mentioned that a double-destroy was occurring in these functions.

        * kxmlcore/HashMap.h: (KXMLCore::HashMap::remove): Use RefCounter::deref instead of calling
        ~ValueType, because ~ValueType often results in a double-destroy, since the HashTable also
        destroys the element based on the storage type. The RefCounter template correctly does work
        only in cases where ValueType and ValueStorageType differe and this class is what's used
        elsewhere for the same purpose; I somehow missed this case when optimizing HashMap.
        * kxmlcore/HashSet.h: (KXMLCore::HashSet::remove): Ditto.

WebCore:

        Suggested by Mitz. Reviewed and landed by Maciej.

        * dom/Document.cpp: (WebCore::Document::formElementsState): Fixed mistake where the
        vector has an initial size and instead should have an initial capacity. Harmless in
        a way, but hurts performance.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14221 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLand new results for fast/table to account for bug 8060.
hyatt [Mon, 8 May 2006 04:18:34 +0000 (04:18 +0000)]
Land new results for fast/table to account for bug 8060.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Fix for bugzilla bug 8060.
hyatt [Mon, 8 May 2006 04:14:27 +0000 (04:14 +0000)]
    Fix for bugzilla bug 8060.

        Fixed width table cells weren't having their border widths
        included in the effective width of the column (and thus could end up being
        too small).

        Reviewed by darin

        Added fast/tables/fixed-cell-growth.html

        * rendering/table_layout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14219 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoFix a typo in te ChangeLog.
ap [Sun, 7 May 2006 18:07:41 +0000 (18:07 +0000)]
Fix a typo in te ChangeLog.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14218 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
ap [Sun, 7 May 2006 18:01:59 +0000 (18:01 +0000)]
    Reviewed by Darin.

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8769
          TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC

        Tests:
        * fast/forms/form-data-encoding.html
        * fast/forms/form-data-encoding-2.html

        * platform/mac/TextEncodingMac.cpp:
        (WebCore::TextEncoding::fromUnicode): Normalize the string; handle surrogate pairs.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14217 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Rename WebCoreFont to FontPlatformData and WebTextRenderer to FontData. ...
hyatt [Sat, 6 May 2006 08:40:28 +0000 (08:40 +0000)]
    Rename WebCoreFont to FontPlatformData and WebTextRenderer to FontData.  Merge them into the
        headers (uncleanly with ifdefs at the moment, so I can see what I'm working towards).

        Reviewed by mjs

        * ChangeLog:
        * WebCore.vcproj/WebCore/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreStringTruncator.mm:
        (stringWidth):
        (truncateString):
        (+[WebCoreStringTruncator widthOfString:font:]):
        * kwq/KWQComboBox.mm:
        (QComboBox::sizeHint):
        * kwq/KWQLineEdit.mm:
        (QLineEdit::sizeForCharacterWidth):
        * kwq/KWQListBox.mm:
        (itemTextRenderer):
        (groupLabelTextRenderer):
        (QListBox::sizeForNumberOfLines):
        (-[KWQTableView drawRow:clipRect:]):
        * platform/Font.cpp:
        (WebCore::m_wordSpacing):
        (WebCore::Font::Font):
        (WebCore::Font::operator=):
        (WebCore::Font::update):
        (WebCore::Font::ascent):
        (WebCore::Font::descent):
        (WebCore::Font::lineSpacing):
        (WebCore::Font::xHeight):
        (WebCore::Font::isFixedPitch):
        * platform/Font.h:
        (WebCore::Font::getNSFont):
        * platform/FontData.h:
        (WebCore::FontData::ascent):
        (WebCore::FontData::descent):
        (WebCore::FontData::lineSpacing):
        (WebCore::FontData::lineGap):
        (WebCore::FontData::misspellingLineThickness):
        (WebCore::FontData::misspellingLinePatternWidth):
        (WebCore::FontData::misspellingLinePatternGapWidth):
        * platform/FontDataSet.h: Removed.
        * platform/FontFallbackList.h: Added.
        * platform/FontPlatformData.h:
        * platform/mac/FontData.mm: Added.
        (WebCore::WebCoreInitializeFont):
        (WebCore::WebCoreInitializeEmptyTextGeometry):
        (WebCore::widthForGlyph):
        (WebCore::overrideLayoutOperation):
        (WebCore::FontData::~FontData):
        (WebCore::FontData::xHeight):
        (WebCore::FontData::drawRun):
        (WebCore::FontData::floatWidthForRun):
        (WebCore::FontData::drawLineForCharacters):
        (WebCore::FontData::selectionRectForRun):
        (WebCore::FontData::drawHighlightForRun):
        (WebCore::FontData::drawLineForMisspelling):
        (WebCore::FontData::pointToOffset):
        (WebCore::FontData::setAlwaysUseATSU):
        (WebCore::getSmallCapsRenderer):
        (WebCore::findSubstituteFont):
        (WebCore::rendererForAlternateFont):
        (WebCore::findSubstituteRenderer):
        (WebCore::computeWidthForSpace):
        (WebCore::setUpFont):
        (WebCore::CG_drawHighlight):
        (WebCore::CG_selectionRect):
        (WebCore::CG_draw):
        (WebCore::CG_floatWidthForRun):
        (WebCore::updateGlyphMapEntry):
        (WebCore::extendGlyphMap):
        (WebCore::extendWidthMap):
        (WebCore::initializeATSUStyle):
        (WebCore::createATSULayoutParameters):
        (WebCore::getTextBounds):
        (WebCore::ATSU_floatWidthForRun):
        (WebCore::ATSU_drawHighlight):
        (WebCore::ATSU_selectionRect):
        (WebCore::ATSU_draw):
        (WebCore::ATSU_pointToOffset):
        (WebCore::advanceWidthIteratorOneCharacter):
        (WebCore::CG_pointToOffset):
        (WebCore::glyphForCharacter):
        (WebCore::initializeWidthIterator):
        (WebCore::advanceWidthIterator):
        * platform/mac/FontMac.mm:
        (WebCore::m_font):
        (WebCore::FontFallbackList::~FontFallbackList):
        (WebCore::FontFallbackList::platformFont):
        (WebCore::FontFallbackList::primaryFont):
        (WebCore::FontFallbackList::determinePitch):
        (WebCore::FontFallbackList::invalidate):
        (WebCore::Font::platformFont):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::drawText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::drawLineForText):
        (WebCore::Font::drawLineForMisspelling):
        (WebCore::Font::misspellingLineThickness):
        (WebCore::Font::floatWidth):
        (WebCore::Font::checkSelectionPoint):
        * platform/mac/WebCoreTextRenderer.mm:
        (WebCoreDrawTextAtPoint):
        (WebCoreTextFloatWidth):
        (WebCoreSetAlwaysUseATSU):
        * platform/mac/WebTextRenderer.h: Removed.
        * platform/mac/WebTextRenderer.mm: Removed.
        * platform/mac/WebTextRendererFactory.h:
        * platform/mac/WebTextRendererFactory.mm:
        (-[WebTextRendererFactory isFontFixedPitch:]):
        (-[WebTextRendererFactory init]):
        (-[WebTextRendererFactory rendererWithFont:]):
        (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
        * platform/win/FontWin.cpp:
        (WebCore::FontFallbackList::~FontFallbackList):
        (WebCore::FontFallbackList::determinePitch):
        (WebCore::FontFallbackList::invalidate):
        (WebCore::FontFallbackList::primaryFont):
        (WebCore::Font::floatWidth):
        (WebCore::Font::drawText):
        (WebCore::Font::drawHighlightForText):
        (WebCore::Font::selectionRectForText):
        (WebCore::Font::checkSelectionPoint):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14216 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - fix the Windows build
darin [Fri, 5 May 2006 23:48:24 +0000 (23:48 +0000)]
    - fix the Windows build

        * platform/win/FontWin.cpp: (WebCore::getFontData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14215 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Oops!
darin [Fri, 5 May 2006 22:56:35 +0000 (22:56 +0000)]
    * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Oops!
        Removed an extra ! that was causing everything to fail.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14213 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Hatcher.
darin [Fri, 5 May 2006 22:50:28 +0000 (22:50 +0000)]
    Reviewed by Tim Hatcher.

        - remove a few of the stranger features of QChar on the road to
          eventually replacing it with an integer type (probably ICU's UChar)

        * platform/DeprecatedString.h: Remove SpecialCharacter, byteOrderMark, null,
        cell, row, isNull, mirrored, mirroredChar, operator char, >, >=, <, and <=
        from QChar. Also removed the many unneeded friend declarations. Remove findArg
        and arg from DeprecatedString.

        * dom/Document.cpp: (WebCore::Document::parseQualifiedName): Cast the type of the
        buffer before invoking the U16_NEXT function. Turns out this was converting each
        QChar to a char and back to a UChar, which means it caused a bug with characters
        that are U+0100 or greater.

        * css/csshelper.cpp: (WebCore::parseURL):
        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue):
        * platform/StringImpl.cpp: (WebCore::StringImpl::toCoordsArray):
        * xml/xmlhttprequest.cpp: (WebCore::getCharset):
        Add some calls to unicode() since we don't have comparison operators any more.

        * dom/StyledElement.cpp:
        (WebCore::toHex): Rewrote to just take a UChar parameter.
        (WebCore::StyledElement::addCSSColor): Call toHex on the character code.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
        * editing/TextIterator.cpp: (WebCore::TextIterator::handleTextBox):
        * platform/SegmentedString.h:
        (WebCore::SegmentedString::push):
        (WebCore::SegmentedString::advance):
        (WebCore::SegmentedString::escaped):
        * platform/SegmentedString.cpp:
        (WebCore::SegmentedString::length):
        (WebCore::SegmentedString::append):
        (WebCore::SegmentedString::prepend):
        (WebCore::SegmentedString::toString):
        Changed calls to isNull() to instead just use unicode() and check for 0.

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseEntity): Change callers that used cell and row to
        just use unicode() instead.
        (WebCore::HTMLTokenizer::parseTag): Ditto.

        * loader/Decoder.cpp: (Decoder::decode): Changed code that did a type cast to
        unsigned char to instead call unicode().

        * platform/DeprecatedString.cpp:
        (KWQStringData::makeAscii): Call latin1() instead of relying on the conversion operator.
        (DeprecatedString::DeprecatedString): Call unicode() instead of relying on the conversion
        operator (the character has been tested and is known to be ASCII).
        (DeprecatedString::at): Use 0 instead of QChar::null.
        (DeprecatedString::compare): Use unicode() so we can do comparison since we don't have
        comparison operators any more.
        (DeprecatedString::find): Call unicode() instead of relying on the conversion
        operator (the character has been tested and is known to be ASCII).
        (DeprecatedString::findRev): Ditto.
        (DeprecatedString::copyLatin1): Call latin1() instead of relying on the conversion operator.
        (DeprecatedString::lower): Call unicode() instead of relying on the conversion
        operator (the character has been tested and is known to be ASCII).
        (DeprecatedString::insert): Ditto.
        (DeprecatedString::replace): Ditto.
        (DeprecatedString::fill): Ditto.
        (DeprecatedString::append): Ditto.

        * html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
        Eliminate the one use of DeprecatedString::arg.

        - other cleanup

        * kwq/KWQCString.cpp: Remove unneeded "using" directive.

        * html/HTMLElementFactory.cpp:
        (WebCore::htmlConstructor):
        (WebCore::headConstructor):
        (WebCore::bodyConstructor):
        (WebCore::baseConstructor):
        (WebCore::linkConstructor):
        (WebCore::metaConstructor):
        (WebCore::styleConstructor):
        (WebCore::titleConstructor):
        (WebCore::frameConstructor):
        (WebCore::framesetConstructor):
        (WebCore::iframeConstructor):
        (WebCore::formConstructor):
        (WebCore::buttonConstructor):
        (WebCore::inputConstructor):
        (WebCore::isindexConstructor):
        (WebCore::fieldsetConstructor):
        (WebCore::labelConstructor):
        (WebCore::legendConstructor):
        (WebCore::optgroupConstructor):
        (WebCore::optionConstructor):
        (WebCore::selectConstructor):
        (WebCore::textareaConstructor):
        (WebCore::dlConstructor):
        (WebCore::ulConstructor):
        (WebCore::olConstructor):
        (WebCore::dirConstructor):
        (WebCore::menuConstructor):
        (WebCore::liConstructor):
        (WebCore::blockquoteConstructor):
        (WebCore::divConstructor):
        (WebCore::headingConstructor):
        (WebCore::hrConstructor):
        (WebCore::paragraphConstructor):
        (WebCore::preConstructor):
        (WebCore::basefontConstructor):
        (WebCore::fontConstructor):
        (WebCore::modConstructor):
        (WebCore::anchorConstructor):
        (WebCore::imageConstructor):
        (WebCore::mapConstructor):
        (WebCore::areaConstructor):
        (WebCore::canvasConstructor):
        (WebCore::appletConstructor):
        (WebCore::embedConstructor):
        (WebCore::objectConstructor):
        (WebCore::paramConstructor):
        (WebCore::scriptConstructor):
        (WebCore::tableConstructor):
        (WebCore::tableCaptionConstructor):
        (WebCore::tableColConstructor):
        (WebCore::tableRowConstructor):
        (WebCore::tableCellConstructor):
        (WebCore::tableSectionConstructor):
        (WebCore::brConstructor):
        (WebCore::quoteConstructor):
        (WebCore::marqueeConstructor):
        Mark functions static, remove unused parameters, change from docPtr to doc.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14212 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Maciej.
ap [Fri, 5 May 2006 20:35:57 +0000 (20:35 +0000)]
    Reviewed by Maciej.

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8626
          Strict mode erroneously triggered by a broken comment

        Test: fast/parser/broken-comments-vs-parsing-mode.html

        * page/Frame.cpp:
        (WebCore::Frame::endIfNotLoading): Call determineParseMode() if needed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14211 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - fix the Windows build (this time for sure)
darin [Fri, 5 May 2006 20:30:56 +0000 (20:30 +0000)]
    - fix the Windows build (this time for sure)

        * platform/win/TemporaryLinkStubs.cpp:
        (GraphicsContext::translate): Added.
        (GraphicsContext::rotate): Ditto.
        (GraphicsContext::scale): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14210 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - fix the Windows build
darin [Fri, 5 May 2006 16:53:51 +0000 (16:53 +0000)]
    - fix the Windows build

        * bridge/win/FrameWin.h: Add Element* parameter to createPlugin.
        * platform/win/TemporaryLinkStubs.cpp: (FrameWin::createPlugin): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14209 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago - get the Window build a little closer to building again
darin [Fri, 5 May 2006 16:37:53 +0000 (16:37 +0000)]
    - get the Window build a little closer to building again

        * platform/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::drawRect): Call alpha to check if the color is transparent.
        Call setColor directly instead of setColorFromPen.
        (WebCore::GraphicsContext::drawLine): Ditto.
        (WebCore::GraphicsContext::drawEllipse): Ditto.
        (WebCore::GraphicsContext::drawArc): Ditto.
        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
        * platform/win/TemporaryLinkStubs.cpp: (JavaAppletWidget::JavaAppletWidget): Updated parameter types.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14208 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Adele.
darin [Fri, 5 May 2006 15:22:33 +0000 (15:22 +0000)]
    Reviewed by Adele.

        - fixed data structure used to save/restore form element state to remove the
          O(n^2) algorithm and remove anomalies in how it works
        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8683
          REGRESSION: imdb search button has "Submit" overload after going back

        * manual-tests/form-value-restore.html: Added.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge saveDocumentState]): Rewrote to call the new formElementsState
        function on the document and also to convert null strings to NSNull instead of empty
        NSString objects.
        (-[WebCoreFrameBridge restoreDocumentState]): Ditto, with the setStateForNewFormElements
        function.

        * dom/Document.h: Added FormElementKey, FormElementKeyHash, and FormElementKeyHashTraits
        for use in the hash map. Made readyState, inputEncoding, defaultCharset, charset,
        characterSet, getElementByAccessKey, haveStylesheetsLoaded, usesDescendantRules,
        usesSiblingRules, inCompatMode, inAlmostStrictMode, inStrictMode, preferredStylesheetSet,
        selectedStylesheetSet, and getCSSTarget all const member functions. Removed the unused
        nextState function. Renamed registerMaintainsState and deregisterMaintainsState to
        registerFormElementWithState and HTMLGenericFormElement and changed them to use form
        elements rather than arbitrary DOM nodes. Replaced docState with formElementsState and
        setRestoreState and restoreState with setStateForNewFormElements, hasStateForNewFormElements,
        and takeStateForFormElement. Replaced m_maintainsState with m_formElementsWithState,
        m_state with m_stateForNewFormElements. Made m_elementsByAccessKey and m_accessKeyMapValid
        mutable. Removed unused m_elementNames, m_elementNameAlloc, m_elementNameCount, m_attrNames,
        m_attrNameAlloc, m_attrNameCount, m_namespaceURIs, m_namespaceURIAlloc, m_namespaceURICount.

        * dom/Document.cpp:
        (WebCore::Document::Document): Remove initialization of long-obsolete m_elementNames and
        m_attrNames.
        (WebCore::Document::~Document): Remove destruction of same.
        (WebCore::Document::readyState): Made const.
        (WebCore::Document::inputEncoding): Ditto.
        (WebCore::Document::defaultCharset): Ditto.
        (WebCore::Document::getElementByAccessKey): Ditto.
        (WebCore::Document::preferredStylesheetSet): Ditto.
        (WebCore::Document::selectedStylesheetSet): Ditto.
        (WebCore::Document::getCSSTarget): Ditto.
        (WebCore::Document::formElementsState): Added. Replaces the old docState function.
        Builds a vector of strings, with 3 strings for each form element containing the
        name, type, and state value.
        (WebCore::Document::setStateForNewFormElements): Added. Converts the state vector
        into a hash map, considering the scheme with 3 strings for form element used above.
        (WebCore::Document::hasStateForNewFormElements): Added.
        (WebCore::Document::takeStateForFormElement): Added. Given a name and type, looks
        up the values in the hash map and "peels off" the last one.
        (WebCore::FormElementKey::FormElementKey): Added.
        (WebCore::FormElementKey::~FormElementKey): Added.
        (WebCore::FormElementKey::operator=): Added.
        (WebCore::FormElementKey::ref): Added.
        (WebCore::FormElementKey::deref): Added.
        (WebCore::FormElementKeyHash::hash): Added.
        (WebCore::FormElementKeyHashTraits::deletedValue): Added.

        * dom/Element.h: Removed state function.
        * dom/Node.h: Removed maintainsState, state, and restoreState functions.
        * dom/Node.cpp: Ditto.

        * dom/QualifiedName.cpp: Reformatted.
        (WebCore::hashComponents): Removed code to handle buffers that are not multiples
        of 4 bytes, since a QualifiedName is guaranteed to be; also asserted that fact.

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::insertNode): Remove code to restore state; that's now handled
        by closeRenderer.
        (WebCore::HTMLParser::popOneBlock): Ditto.

        * html/HTMLFormElement.cpp: Added include of HTMLInputElement.h.

        * html/HTMLGenericFormElement.h: Changed form to be a const member function.
        Changed type function to return a const AtomicString& instead of a String.
        Added an override of closeRenderer. Removed state and findMatchingState functions.
        Added stateValue and restoreState functions. Made m_form, m_disabled, and m_readOnly
        be private instead of protected. Removed m_inited. Changed booleans to not use bit
        fields since there are only two of them.
        * html/HTMLGenericFormElement.cpp: Removed encodedElementName, state, and
        findMatchingState functions.
        (WebCore::HTMLGenericFormElement::stateValue): Added. No implementation. This will only be
        called for subclasses that call registerFormElementWithState, and those will override and
        implement it.
        (WebCore::HTMLGenericFormElement::restoreState): Ditto.
        (WebCore::HTMLGenericFormElement::closeRenderer): Added. Replaces code that was in the
        HTML parser. Calls takeStateForFormElement, passing in the name and type, and if a
        state is found, calls restoreState.

        * html/HTMLButtonElement.h: Changed type to return a const AtomicString& instead
        of a String.
        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::type): Return a const AtomicString& instead of a
        String.
        (WebCore::HTMLButtonElement::defaultEventHandler): Use form() instead of m_form.
        (WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Use disabled() instead of
        m_disabled.

        * html/HTMLInputElement.h: Changed type to return a const AtomicString& instead
        of a String. Removed maintainsState, state, and restoreState functions, and added
        new stateValue and restoreState functions. Added m_inited (moved here from the generic
        form element base class).
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::init): Call registerFormElementWithState. This was
        formerly done by the HTML parser.
        (WebCore::HTMLInputElement::~HTMLInputElement): Call deregisterFormElementWithState
        by its new name.
        (WebCore::HTMLInputElement::isKeyboardFocusable): Use form() instead of m_form.
        (WebCore::HTMLInputElement::setType): Ditto.
        (WebCore::HTMLInputElement::setInputType): Ditto. Also call inputType() != PASSWORD
        instead of maintainsState(), since this is the only function that needs to know
        the rule and it's no longer a function in the base class. Also call register and
        deregister functions by their new names.
        (WebCore::HTMLInputElement::type): Changed to return const AtomicString& instead
        of String.
        (WebCore::HTMLInputElement::stateValue): Renamed from state and changed to no
        longer include the name and type, formerly obtained by calling the base class's
        HTMLGenericFormElement::state, and to no longer modify the value() string by
        adding a ".", which gets in the way of distinguishing null and empty values
        and is slower and unnecessary.
        (WebCore::HTMLInputElement::restoreState):  Changed because it takes a single
        state and doesn't need to call findMatchingState, and also to no longer remove the last
        character from the value when restoring state.
        (WebCore::HTMLInputElement::parseMappedAttribute): Use form() instead of m_form.
        (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use disabled() instead of
        m_disabled.
        (WebCore::HTMLInputElement::setChecked): Use form() instead of m_form.
        (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
        (WebCore::HTMLInputElement::defaultEventHandler): Ditto.

        * html/HTMLSelectElement.h: Changed type to return a const AtomicString& instead
        of a String.
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::HTMLSelectElement): Call registerFormElementWithState.
        This was formerly done by the HTML parser.
        (WebCore::HTMLSelectElement::~HTMLSelectElement): Call deregisterFormElementWithState
        by its new name.
        (WebCore::HTMLSelectElement::type): Changed to return const AtomicString& instead
        of String.
        (WebCore::HTMLSelectElement::stateValue): Renamed from state and changed to no
        longer include the name and type, formerly obtained by calling the base class's
        HTMLGenericFormElement::state, and to build the string in a Vector<char> instead of
        appending characters one at a time to a string.
        (WebCore::HTMLSelectElement::restoreState):  Changed because it takes a single
        state and doesn't need to call findMatchingState.
        (WebCore::HTMLSelectElement::defaultEventHandler): Use form() instead of m_form.

        * html/HTMLTextAreaElement.h: Changed type to return a const AtomicString& instead
        of a String. Removed maintainsState, state, and restoreState functions, and added
        new stateValue and restoreState functions.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Call registerFormElementWithState.
        This was formerly done by the HTML parser. Also use member initialization instead of
        assignment.
        (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Call deregisterFormElementWithState
        by its new name.
        (WebCore::HTMLTextAreaElement::type): Changed to return const AtomicString& instead
        of String.
        (WebCore::HTMLTextAreaElement::stateValue): Renamed from state and changed to no
        longer include the name and type, formerly obtained by calling the base class's
        HTMLGenericFormElement::state, and to no longer modify the value() string by
        adding a ".", which is unnecessary.
        (WebCore::HTMLTextAreaElement::restoreState): Changed because it takes a single
        state and doesn't need to call findMatchingState, and also to no longer remove the last
        character from the value when restoring state.
        (WebCore::HTMLTextAreaElement::updateValue): Changed to const.
        (WebCore::HTMLTextAreaElement::value): Ditto.
        (WebCore::HTMLTextAreaElement::defaultValue): Ditto.

        * html/HTMLFieldSetElement.h: Changed type to return a const AtomicString& instead
        of a String.
        * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::type): Ditto.
        * html/HTMLKeygenElement.h: Ditto.
        * html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::type): Ditto.
        * html/HTMLLegendElement.h: Ditto.
        * html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::type):
        * html/HTMLOptGroupElement.h: Ditto.
        * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::type): Ditto.
        * html/HTMLOptionElement.h: Ditto.
        * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::type): Ditto.

        * ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::closeRenderer):
        Added missing call to base class.

        * rendering/render_form.h: Removed element() functions that cast to the
        appropriate derived element class. They do make some bits of code slightly
        more readable, but they also require including too many headers. Removed
        the includes of HTMLInputElement.h, HTMLSelectElement.h, HTMLTextAreaElement.h,
        and KWQLineEdit.h, and added an include of GraphicsTypes.h.
        * rendering/render_form.cpp:
        (WebCore::RenderFormElement::updateFromElement): Changed use of element()
        to instead use node() and cast.
        (WebCore::RenderFormElement::clicked): Ditto.
        (WebCore::RenderLineEdit::selectionChanged): Ditto.
        (WebCore::RenderLineEdit::returnPressed): Ditto.
        (WebCore::RenderLineEdit::performSearch): Ditto.
        (WebCore::RenderLineEdit::addSearchResult): Ditto.
        (WebCore::RenderLineEdit::calcMinMaxWidth): Ditto.
        (WebCore::RenderLineEdit::setStyle): Ditto.
        (WebCore::RenderLineEdit::updateFromElement): Ditto.
        (WebCore::RenderLineEdit::valueChanged): Ditto.
        (WebCore::RenderFileButton::calcMinMaxWidth): Ditto.
        (WebCore::RenderFileButton::updateFromElement): Ditto.
        (WebCore::RenderFileButton::returnPressed): Ditto.
        (WebCore::RenderFileButton::valueChanged): Ditto.
        (WebCore::RenderSelect::updateFromElement): Ditto.
        (WebCore::RenderSelect::layout): Ditto.
        (WebCore::RenderSelect::valueChanged): Ditto.
        (WebCore::RenderSelect::selectionChanged): Ditto.
        (WebCore::RenderSelect::updateSelection): Ditto.
        (WebCore::RenderTextArea::destroy): Ditto.
        (WebCore::RenderTextArea::calcMinMaxWidth): Ditto.
        (WebCore::RenderTextArea::setStyle): Ditto.
        (WebCore::RenderTextArea::updateFromElement): Ditto.
        (WebCore::RenderTextArea::valueChanged): Ditto.
        (WebCore::RenderTextArea::selectionChanged): Ditto.
        (WebCore::RenderSlider::updateFromElement): Ditto.
        (WebCore::RenderSlider::valueChanged): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14207 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoJavaScriptCore:
darin [Fri, 5 May 2006 15:09:59 +0000 (15:09 +0000)]
JavaScriptCore:

        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8722
          IE compatibility fix in date parsing

        * kjs/date_object.cpp: (KJS::parseDate): Merged change that George Staikos provided
        from KDE 3.4.3 branch that allows day values of 0 and values that are > 1000.

LayoutTests:

        - test update for http://bugzilla.opendarwin.org/show_bug.cgi?id=8722
          IE compatibility fix in date parsing

        * fast/js/kde/resources/Date.js: Added test cases that George Staikos provided
        that test dates with day values of 0, 55, and 452.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14206 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoAdded name of test.
darin [Fri, 5 May 2006 15:08:08 +0000 (15:08 +0000)]
Added name of test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14205 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
darin [Fri, 5 May 2006 14:59:18 +0000 (14:59 +0000)]
LayoutTests:

        Reviewed by Darin.

        <http://bugzilla.opendarwin.org/show_bug.cgi?id=8563>

        Tests that the name, publicID and systemID are all read correctly
        and that the doctype object preserves the case of the
        components from the source html:
        * fast/doctypes/005-case-preserving.html: Added.
        * fast/doctypes/005-case-preserving-expected.txt: Added.

WebCore:

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8563

        The doctype object in the DOM is now usable by client code
        as opposed to always being exposed as nil. Now also ensures that
        the 'name' of the component preserves the case of the original html source.
        (i.e HtMl -> HtMl not HTML)

        * dom/Document.h:
        Changes comment by docType() to say it may return 0 for html
        * html/HTMLDocument.cpp:
        (WebCore::parseDocTypeDeclaration):
        (WebCore::HTMLDocument::determineParseMode):
        Preserves the case of the name component
        (WebCore::HTMLDocument::doctype):removed
        * html/HTMLDocument.h:
        (WebCore::HTMLDocument::doctype):removed

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14204 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Darin.
darin [Fri, 5 May 2006 14:49:27 +0000 (14:49 +0000)]
    Reviewed by Darin.

        Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8651:
        [DOMHTMLSelectElement multiple] returns no when the select element is multiple

        Correct the logic errors, which are clearly indicated by the changeset given
        in the bug report.

        * bindings/objc/DOMHTML.mm:
        (-[DOMHTMLLinkElement disabled]):
        (-[DOMHTMLSelectElement disabled]):
        (-[DOMHTMLSelectElement multiple]):
        (-[DOMHTMLOptGroupElement disabled]):
        (-[DOMHTMLOptionElement defaultSelected]):
        (-[DOMHTMLOptionElement disabled]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14203 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago Reviewed by Tim Omernick.
darin [Fri, 5 May 2006 04:30:51 +0000 (04:30 +0000)]
    Reviewed by Tim Omernick.

        - fix storage leak I introduced yesterday

        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::setCGFillColor): Added.
        (WebCore::setCGStrokeColor): Added.
        (WebCore::GraphicsContext::drawRect): Use setCGFillColor to avoid allocating
        a CGColorRef object.
        (WebCore::GraphicsContext::drawLine): Use setCGStrokeColor and setCGFillColor
        to avoid allocating a CGColorRef object.
        (WebCore::GraphicsContext::drawEllipse): Ditto.
        (WebCore::GraphicsContext::drawArc): Ditto.
        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
        (WebCore::GraphicsContext::fillRect): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14202 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
darin [Fri, 5 May 2006 04:29:22 +0000 (04:29 +0000)]
LayoutTests:

        Reviewed by Darin.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
          REGRESSION: Exception on closing a page containing (just) an mp3

        * plugins/pluginDocumentView-deallocated-dataSource-expected.txt: Added.
        * plugins/pluginDocumentView-deallocated-dataSource.html: Added.
        * plugins/resources: Added.
        * plugins/resources/orange.mov: Added.

WebKit:

        Reviewed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
          REGRESSION: Exception on closing a page containing (just) an mp3

        Test: plugins/pluginDocumentView-deallocated-dataSource.html

        * Plugins/WebPluginDocumentView.m:
        (-[WebPluginDocumentView dealloc]): Release the dataSource.
        (-[WebPluginDocumentView setDataSource:]): Retain the dataSource.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14201 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoBuild fix, warning: 'return' with a value, in function returning void.
thatcher [Fri, 5 May 2006 04:19:11 +0000 (04:19 +0000)]
Build fix, warning: 'return' with a value, in function returning void.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14196 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoLayoutTests:
justing [Fri, 5 May 2006 01:43:26 +0000 (01:43 +0000)]
LayoutTests:

        Reviewed by harrison

        Pasted content would end up inside the block that contained the end of
        the selection that was pasted into and not the block that contained
        the start of the selection that was pasted into:
        * editing/pasteboard/merge-end-5-expected.checksum: Added.
        * editing/pasteboard/merge-end-5-expected.png: Added.
        * editing/pasteboard/merge-end-5-expected.txt: Added.
        * editing/pasteboard/merge-end-5.html: Added.

        Inserting a paragraph separator was splitting and cloning the body element
        if the html element was editable:
        * editing/inserting/editable-html-element-expected.checksum: Added.
        * editing/inserting/editable-html-element-expected.png: Added.
        * editing/inserting/editable-html-element-expected.txt: Added.
        * editing/inserting/editable-html-element.html: Added.

        Since we now sometimes merge backward (from content already in the
        document to just inserted content) during the end merge, the node that
        contains the old caret is removed more often during paste.  The editing
        delegate notifications in these tests reflect this:
        * editing/pasteboard/paste-line-endings-007-expected.txt:
        * editing/pasteboard/paste-line-endings-008-expected.txt:
        * editing/pasteboard/paste-line-endings-009-expected.txt:

        Now demonstrates a bug where the html element is focused, but its contents
        aren't selected:
        * editing/selection/focus_editable_html-expected.checksum:
        * editing/selection/focus_editable_html-expected.png:
        * editing/selection/focus_editable_html-expected.txt:
        * editing/selection/focus_editable_html.html:

WebCore:

        Reviewed by harrison

        * dom/Node.cpp:
        (WebCore::Node::rootEditableElement):
        Restored code to stop at the body tag.  Editing shouldn't be allowed to
        happen outside the body, so it needs to be the editable root even if the
        html element is contentEditable.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
        Now takes in more information so it can be "the decider".
        (WebCore::ReplaceSelectionCommand::doApply):
        Merging two paragraphs will destroy the moved one's block styles. Perform
        the end merge backward (from content already in the document to just inserted
        content) if moving forward would move the paragraph that contained the start of
        the selection being pasted into, since we always want to preserve that paragraph's
        block style.
        Moving backward in this case is also helpful because otherwise it would be
        difficult to remember the position where inserted content began (since merging
        would remove m_firstNodeInserted).  That position is needed in order to select
        the replacement and to add smart replace whitespace.
        (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
        If [br, 0] is at the end of a block, the br is not necessarily collapsed
        in quirks mode.  [br, 0] needs to also not be at the start of a block.

        * editing/ReplaceSelectionCommand.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14195 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
tomernic [Fri, 5 May 2006 00:58:50 +0000 (00:58 +0000)]
WebCore:

        Reviewed by Darin.

        <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element

        * bridge/mac/WebCoreFrameBridge.h:
        Added DOMElement parameter to -viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:.

        * bridge/JavaAppletWidget.h:
        Constructor now takes the applet's element instead of its containing frame.

        * bridge/mac/JavaAppletWidget.mm:
        (JavaAppletWidget::JavaAppletWidget):
        Pass the applet's element to viewForJavaAppletWithFrame:.

        * rendering/RenderApplet.cpp:
        (WebCore::RenderApplet::createWidgetIfNecessary):
        Pass the element along to JavaAppletWidget.

WebKit:

        Reviewed by Darin.

        <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
        Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
        differently).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14194 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years agoWebCore:
tomernic [Thu, 4 May 2006 23:03:42 +0000 (23:03 +0000)]
WebCore:

        Reviewed by John Sullivan.

        <rdar://problem/4480186> Give WebKit plugins access to their own DOM element

        * bridge/mac/WebCoreFrameBridge.h:
        Added DOMElement: parameter to -viewForPluginWithURL:attributeNames:attributueValues:MIMEType:

        * bridge/mac/FrameMac.h:
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::createPlugin):
        Added "element" parameter; wrap element in DOMElement and pass up to the bridge.

        * page/Frame.h:
        Added "element" parameter to createPlugin().
        * page/Frame.cpp:
        (WebCore::Frame::loadPlugin):
        Get the plugin's DOM element and pass to createPlugin().

WebKit:

        Reviewed by John Sullivan.

        <rdar://problem/4480186> Give WebKit plugins access to their own DOM element

        This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
        we're not going to use the ObjC DOM API for that, but rather the NP bindings API.

        * Plugins/WebPluginPackage.m:
        Declared WebPlugInContainingElementKey.  This is not a new plugin argument -- it's been in our public
        headers since all along, but has never been concretely declared -- plugins that referenced it would not
        link.

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
        Added DOMElement parameter, which is now included in the plugin arguments dictionary.
        (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
        ditto

        * WebKit.exp:
        Export WebPlugInContainingElementKey.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14185 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-04 Anders Carlsson <andersca@mac.com>
andersca [Thu, 4 May 2006 20:37:09 +0000 (20:37 +0000)]
2006-05-04  Anders Carlsson  <andersca@mac.com>

        Reviewed by Maciej.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=8734
        Would like a Vector::append that takes another Vector

        * kxmlcore/Vector.h:
        (KXMLCore::::append):
        New function that takes another array.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14184 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago2006-05-04 Eric Seidel <eseidel@apple.com>
eseidel [Thu, 4 May 2006 18:26:27 +0000 (18:26 +0000)]
2006-05-04  Eric Seidel  <eseidel@apple.com>

        Reviewed by timo.

        Add drag & drop support to <input type="file">
        http://bugzilla.opendarwin.org/show_bug.cgi?id=8733

        Test: manual/input-type-file-drag-drop.html

        * kwq/KWQFileButton.mm:
        (-[WebFileChooserButton initWithWidget::]):
        (-[WebCoreFileButton initWithWidget:]):
        (-[WebCoreFileButton drawRect:]):
        (-[WebCoreFileButton updateLabel]):
        (-[WebCoreFileButton setFilename:]):
        (-[WebCoreFileButton changeFilename:]):
        (-[WebCoreFileButton chooseFilename:]):
        (validFilenameFromPasteboard):
        (-[WebCoreFileButton draggingEntered:]):
        (-[WebCoreFileButton draggingExited:]):
        (-[WebCoreFileButton performDragOperation:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14182 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 years ago--This
bdakin [Thu, 4 May 2006 18:20:56 +0000 (18:20 +0000)]
--This
       Reviewed by Hyatt.

        Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8732
        Backgrounds with background-size and background-origin do not
        always lay out correctly

        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::drawTiled): We no longer need to scale the source
        point since it will now come in with the scale already taken into
        account.
        * platform/mac/ImageMac.mm:
        (WebCore::Image::drawTiled): Same as above.
        * rendering/RenderBox.cpp:
        (WebCore::cacluateBackgroundSize): Now calculate the background
        size in a helper method.
        (WebCore::RenderBox::paintBackgroundExtended): Calculate the
        background size before calculating cx, cy, cw, ch, sx, and sy so
        that they can all be calculated with the scaled image size taken
        into account.

M    LayoutTests/ChangeLog
M    LayoutTests/fast/backgrounds/size/backgroundSize18-expected.checksum
M    LayoutTests/fast/backgrounds/size/backgroundSize12-expected.png
M    LayoutTests/fast/backgrounds/size/backgroundSize19-expected.checksum
M    LayoutTests/fast/backgrounds/size/backgroundSize10-expected.png
M    LayoutTests/fast/backgrounds/size/backgroundSize18-expected.png
M    LayoutTests/fast/backgrounds/size/backgroundSize19-expected.png
M    LayoutTests/fast/backgrounds/size/backgroundSize10-expected.checksum
M    LayoutTests/fast/backgrounds/size/backgroundSize12-expected.checksum
M    WebCore/platform/mac/ImageMac.mm
M    WebCore/platform/cairo/ImageCairo.cpp
M    WebCore/rendering/RenderBox.cpp
M    WebCore/ChangeLog

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14181 268f45cc-cd09-0410-ab3c-d52691b4dbfc